日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化

發布時間:2023/12/18 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本篇筆記緊接著VINS-Mono代碼閱讀筆記(十二):將關鍵幀加入位姿圖當中,來學習pose_graph當中的緊耦合優化部分。

在重定位完成之后,進行位姿圖優化是為了將已經產生的所有位姿統一到一個全局一致的配置當中。如論文中展示的下圖所示,參考幀處于世界坐標系下,當相機運動的時候會相對于參考幀發生變化。而由于重力向量始終不會發生變化,所以從重力方向得到的水平面也不會發生變化,進而該水平面對應的兩個向量也不會發生變換。所以,系統中需要計算并且優化的向量只有(也就是位置和旋轉),這就是4自由度優化的由來。

1.加入關鍵幀到位姿圖當中

通過代碼可以發現,當滑動窗口完成一次邊緣化(滑出最舊的幀或者滑動窗口中倒數第二幀)后,在后邊的pubKeyframe函數中會將the second latest frame關鍵幀的位姿信息作為topic發出來。pose_graph節點中接收到這個topic后,構造出對應的關鍵幀并加入位姿圖當中。

1)相關代碼

vins-estimator中發送關鍵幀位姿的代碼如下:

void pubKeyframe(const Estimator &estimator) {// pub camera pose, 2D-3D points of keyframe//estimator.marginalization_flag == 0,表示MARGIN_OLD,邊緣化刪除了最舊的關鍵幀//estimator.solver_flag == Estimator::SolverFlag::NON_LINEAR表示視覺和慣導初始化成功if (estimator.solver_flag == Estimator::SolverFlag::NON_LINEAR && estimator.marginalization_flag == 0){int i = WINDOW_SIZE - 2;//Vector3d P = estimator.Ps[i] + estimator.Rs[i] * estimator.tic[0];Vector3d P = estimator.Ps[i];Quaterniond R = Quaterniond(estimator.Rs[i]);nav_msgs::Odometry odometry;odometry.header = estimator.Headers[WINDOW_SIZE - 2];odometry.header.frame_id = "world";odometry.pose.pose.position.x = P.x();odometry.pose.pose.position.y = P.y();odometry.pose.pose.position.z = P.z();odometry.pose.pose.orientation.x = R.x();odometry.pose.pose.orientation.y = R.y();odometry.pose.pose.orientation.z = R.z();odometry.pose.pose.orientation.w = R.w();//printf("time: %f t: %f %f %f r: %f %f %f %f\n", odometry.header.stamp.toSec(), P.x(), P.y(), P.z(), R.w(), R.x(), R.y(), R.z());pub_keyframe_pose.publish(odometry);

而在pose-graph中將該關鍵幀加入位姿圖的代碼如下:

/*** process線程入口函數 */ void process() {.......//創建關鍵幀KeyFrame* keyframe = new KeyFrame(pose_msg->header.stamp.toSec(), frame_index, T, R, image,point_3d, point_2d_uv, point_2d_normal, point_id, sequence);m_process.lock();start_flag = 1;//位姿圖中加入關鍵幀,flag_detect_loop設置為1posegraph.addKeyFrame(keyframe, 1);

2)位姿圖中的頂點和邊

每一個關鍵幀在位姿圖中作為一個頂點存在,它和其他關鍵幀以序列變和閉環邊兩種類型的邊進行連接,如下圖所示:

序列邊(Sequential Edge):

一個關鍵幀將與其前邊的多個關鍵幀建立序列邊(如上圖所示)。一個序列邊表示兩個關鍵幀之間的相對變換,這個可以直接從VIO中得出。假設關鍵幀和其前邊的一個關鍵幀,兩個關鍵幀構成的序列邊只包含相對位置和偏航角,則這兩個值表達如下:

?????????????????????????????????????????????????????????????????

?????????????????????????????????????????????????????????????????

閉環邊(Loop-Closure Edge):

如果一個關鍵幀有閉環連接,那么它在位姿圖中和閉環幀之間的連接為閉環邊。相似的,閉環邊只包括一個4自由度的相對位姿變換,定義和上邊的序列變相同。閉環邊的值,是通過重定位得到的。

2.四自由度的位姿圖優化

我們定義關鍵幀和之間的邊的最小化殘差如下:

???????????????????????????????????????????????????????????????

這里的和兩個值,是從單目VIO中估計得到的roll和pitch的角度,是固定的。

序列邊和閉環邊的所有圖通過最小化下面的損失函數來進行優化:

???????????????????????????????????????????????????????????????

這里是所有序列變的集合,是所有閉環邊的集合。盡管緊耦合的重定位已經幫助消除了錯誤的閉環,在這里增加另一個Huber核函數以進一步減少任何可能的錯誤閉環的影響。

優化部分在pose_graph節點構造posegraph對象的時候,在構造函數當中新啟了一個線程來完成。PoseGraph的構造函數代碼如下:

/*** PoseGraph構造函數 */ PoseGraph::PoseGraph() {posegraph_visualization = new CameraPoseVisualization(1.0, 0.0, 1.0, 1.0);posegraph_visualization->setScale(0.1);posegraph_visualization->setLineWidth(0.01);//創建位姿優化線程t_optimization = std::thread(&PoseGraph::optimize4DoF, this);earliest_loop_index = -1;t_drift = Eigen::Vector3d(0, 0, 0);yaw_drift = 0;r_drift = Eigen::Matrix3d::Identity();w_t_vio = Eigen::Vector3d(0, 0, 0);w_r_vio = Eigen::Matrix3d::Identity();global_index = 0;sequence_cnt = 0;sequence_loop.push_back(0);base_sequence = 1;}

位姿優化的線程入口函數為optimize4DoF,optimize4DoF代碼如下:

/*** 位姿圖中的優化,這里是4個自由度的位姿優化 */ void PoseGraph::optimize4DoF() {while(true){int cur_index = -1;int first_looped_index = -1;m_optimize_buf.lock();//從優化隊列當中獲取最新的一個關鍵幀的indexwhile(!optimize_buf.empty()){cur_index = optimize_buf.front();//earliest_loop_index當中存放的是數據庫中第一個和滑動窗口中關鍵幀形成閉環的關鍵幀的indexfirst_looped_index = earliest_loop_index;optimize_buf.pop();}m_optimize_buf.unlock();//optimize_buf中取出來的cur_index都是閉環幀的indexif (cur_index != -1){printf("optimize pose graph \n");TicToc tmp_t;m_keyframelist.lock();KeyFrame* cur_kf = getKeyFrame(cur_index);//max_length為要優化的變量最大個數int max_length = cur_index + 1;// w^t_i w^q_idouble t_array[max_length][3];//平移數組,其中存放每個關鍵幀的平移向量Quaterniond q_array[max_length];//旋轉數組,其中存放每個關鍵幀的旋轉四元數double euler_array[max_length][3];double sequence_array[max_length];ceres::Problem problem;ceres::Solver::Options options;options.linear_solver_type = ceres::SPARSE_NORMAL_CHOLESKY;//options.minimizer_progress_to_stdout = true;//options.max_solver_time_in_seconds = SOLVER_TIME * 3;options.max_num_iterations = 5;ceres::Solver::Summary summary;ceres::LossFunction *loss_function;loss_function = new ceres::HuberLoss(0.1);//loss_function = new ceres::CauchyLoss(1.0);//AngleLocalParameterization類的主要作用是指定yaw角優化變量的迭代更新,重載了括號運算ceres::LocalParameterization* angle_local_parameterization =AngleLocalParameterization::Create();list<KeyFrame*>::iterator it;int i = 0;//遍歷關鍵幀列表for (it = keyframelist.begin(); it != keyframelist.end(); it++){//first_looped_index為第一次閉環幀的index,需要優化的關鍵幀為從第一次閉環幀到當前幀間的所有關鍵幀if ((*it)->index < first_looped_index)continue;(*it)->local_index = i;Quaterniond tmp_q;Matrix3d tmp_r;Vector3d tmp_t;//獲取關鍵幀it的位姿(*it)->getVioPose(tmp_t, tmp_r);tmp_q = tmp_r;t_array[i][0] = tmp_t(0);t_array[i][1] = tmp_t(1);t_array[i][2] = tmp_t(2);q_array[i] = tmp_q;//將矩陣轉換為向量Vector3d euler_angle = Utility::R2ypr(tmp_q.toRotationMatrix());euler_array[i][0] = euler_angle.x();euler_array[i][1] = euler_angle.y();euler_array[i][2] = euler_angle.z();sequence_array[i] = (*it)->sequence;//將關鍵幀列表中所有index>=first_looped_index的關鍵幀的位姿加入到參數塊當中problem.AddParameterBlock(euler_array[i], 1, angle_local_parameterization);problem.AddParameterBlock(t_array[i], 3);//設置約束:如果該幀是最早的閉環幀的情況下,則固定它的位姿if ((*it)->index == first_looped_index || (*it)->sequence == 0){ problem.SetParameterBlockConstant(euler_array[i]);problem.SetParameterBlockConstant(t_array[i]);}//add edge 這里添加的是序列邊,是指通過VIO計算的兩幀之間的相對位姿,每幀分別與其前邊最多四幀構成序列邊/*** 順序邊的測量方程:p?_{ij}^{i} = {R?_i^w}^{-1} (p?_j^w - p?_i^w)* \hat{ψ}_ij = \hat{ψ}_j ? \hat{ψ?}_i* 兩個關鍵幀之間的相對位姿,由兩個關鍵幀之間的VIO位姿估計變換得到* |------------------------------------|* | |----------------------------|* | | |-------------------|* | | | |---------|* |幀1| |幀2| |幀3| |幀4| |幀5|*/for (int j = 1; j < 5; j++){if (i - j >= 0 && sequence_array[i] == sequence_array[i-j]){Vector3d euler_conncected = Utility::R2ypr(q_array[i-j].toRotationMatrix());//p?_j^w - p?_i^w 計算平移量的偏差Vector3d relative_t(t_array[i][0] - t_array[i-j][0], t_array[i][1] - t_array[i-j][1], t_array[i][2] - t_array[i-j][2]);//p?_{ij}^{i} = {R?_i^w}^{-1} (p?_j^w - p?_i^w)//p? ij= (R? iw ) (p? jw ? p? iw )relative_t = q_array[i-j].inverse() * relative_t;//ψ? _ij = ψ? _j ? ψ? _idouble relative_yaw = euler_array[i][0] - euler_array[i-j][0];ceres::CostFunction* cost_function = FourDOFError::Create( relative_t.x(), relative_t.y(), relative_t.z(),relative_yaw, euler_conncected.y(), euler_conncected.z());problem.AddResidualBlock(cost_function, NULL, euler_array[i-j], t_array[i-j], euler_array[i], t_array[i]);}}//add loop edge//這里添加的是閉環邊,是指檢測到閉環的兩幀if((*it)->has_loop){assert((*it)->loop_index >= first_looped_index);int connected_index = getKeyFrame((*it)->loop_index)->local_index;Vector3d euler_conncected = Utility::R2ypr(q_array[connected_index].toRotationMatrix());Vector3d relative_t;relative_t = (*it)->getLoopRelativeT();double relative_yaw = (*it)->getLoopRelativeYaw();ceres::CostFunction* cost_function = FourDOFWeightError::Create( relative_t.x(), relative_t.y(), relative_t.z(),relative_yaw, euler_conncected.y(), euler_conncected.z());problem.AddResidualBlock(cost_function, loss_function, euler_array[connected_index], t_array[connected_index], euler_array[i], t_array[i]);}if ((*it)->index == cur_index)break;i++;}m_keyframelist.unlock();//開始優化ceres::Solve(options, &problem, &summary);//std::cout << summary.BriefReport() << "\n";//printf("pose optimization time: %f \n", tmp_t.toc());/*for (int j = 0 ; j < i; j++){printf("optimize i: %d p: %f, %f, %f\n", j, t_array[j][0], t_array[j][1], t_array[j][2] );}*/m_keyframelist.lock();//優化完成,使用優化后的位姿來更新關鍵幀列表中index大于等于first_looped_index的所有關鍵幀的位姿i = 0;for (it = keyframelist.begin(); it != keyframelist.end(); it++){if ((*it)->index < first_looped_index)continue;Quaterniond tmp_q;//向量轉換為矩陣tmp_q = Utility::ypr2R(Vector3d(euler_array[i][0], euler_array[i][1], euler_array[i][2]));Vector3d tmp_t = Vector3d(t_array[i][0], t_array[i][1], t_array[i][2]);Matrix3d tmp_r = tmp_q.toRotationMatrix();(*it)-> updatePose(tmp_t, tmp_r);if ((*it)->index == cur_index)break;i++;}//根據計算出當前幀的drift,更新全部關鍵幀位姿Vector3d cur_t, vio_t;Matrix3d cur_r, vio_r;//獲取優化后當前幀的位姿cur_t,cur_rcur_kf->getPose(cur_t, cur_r);//獲取優化前有漂移的當前幀的位姿vio_t,vio_rcur_kf->getVioPose(vio_t, vio_r);m_drift.lock();yaw_drift = Utility::R2ypr(cur_r).x() - Utility::R2ypr(vio_r).x();r_drift = Utility::ypr2R(Vector3d(yaw_drift, 0, 0));t_drift = cur_t - r_drift * vio_t;m_drift.unlock();//cout << "t_drift " << t_drift.transpose() << endl;//cout << "r_drift " << Utility::R2ypr(r_drift).transpose() << endl;//cout << "yaw drift " << yaw_drift << endl;it++;//下面代碼為把當前關鍵幀it之后的關鍵幀的位姿通過求解的偏移量轉換到world坐標系下for (; it != keyframelist.end(); it++){Vector3d P;Matrix3d R;(*it)->getVioPose(P, R);P = r_drift * P + t_drift;R = r_drift * R;(*it)->updatePose(P, R);}m_keyframelist.unlock();//優化完后更新pathupdatePath();}std::chrono::milliseconds dura(2000);std::this_thread::sleep_for(dura);} }

這里除了梳理優化的函數中的代碼流程,還需要對比以上的殘差公式來看一下序列邊和閉環邊的殘差計算。FourDOFError類中的operator()中是序列邊的殘差計算代碼。

struct FourDOFError {FourDOFError(double t_x, double t_y, double t_z, double relative_yaw, double pitch_i, double roll_i):t_x(t_x), t_y(t_y), t_z(t_z), relative_yaw(relative_yaw), pitch_i(pitch_i), roll_i(roll_i){}template <typename T>bool operator()(const T* const yaw_i, const T* ti, const T* yaw_j, const T* tj, T* residuals) const{T t_w_ij[3];t_w_ij[0] = tj[0] - ti[0];t_w_ij[1] = tj[1] - ti[1];t_w_ij[2] = tj[2] - ti[2];// euler to rotationT w_R_i[9];YawPitchRollToRotationMatrix(yaw_i[0], T(pitch_i), T(roll_i), w_R_i);// rotation transposeT i_R_w[9];//求出旋轉矩陣的轉置RotationMatrixTranspose(w_R_i, i_R_w);// rotation matrix rotate pointT t_i_ij[3];RotationMatrixRotatePoint(i_R_w, t_w_ij, t_i_ij);//計算殘差residuals[0] = (t_i_ij[0] - T(t_x));residuals[1] = (t_i_ij[1] - T(t_y));residuals[2] = (t_i_ij[2] - T(t_z));residuals[3] = NormalizeAngle(yaw_j[0] - yaw_i[0] - T(relative_yaw));return true;}static ceres::CostFunction* Create(const double t_x, const double t_y, const double t_z,const double relative_yaw, const double pitch_i, const double roll_i) {return (new ceres::AutoDiffCostFunction<FourDOFError, 4, 1, 3, 1, 3>(new FourDOFError(t_x, t_y, t_z, relative_yaw, pitch_i, roll_i)));}double t_x, t_y, t_z;double relative_yaw, pitch_i, roll_i;};

FourDOFWeightError類中的operator()是閉環邊的殘差計算代碼。

struct FourDOFWeightError {FourDOFWeightError(double t_x, double t_y, double t_z, double relative_yaw, double pitch_i, double roll_i):t_x(t_x), t_y(t_y), t_z(t_z), relative_yaw(relative_yaw), pitch_i(pitch_i), roll_i(roll_i){weight = 1;}template <typename T>bool operator()(const T* const yaw_i, const T* ti, const T* yaw_j, const T* tj, T* residuals) const{T t_w_ij[3];t_w_ij[0] = tj[0] - ti[0];t_w_ij[1] = tj[1] - ti[1];t_w_ij[2] = tj[2] - ti[2];// euler to rotationT w_R_i[9];YawPitchRollToRotationMatrix(yaw_i[0], T(pitch_i), T(roll_i), w_R_i);// rotation transposeT i_R_w[9];RotationMatrixTranspose(w_R_i, i_R_w);// rotation matrix rotate pointT t_i_ij[3];RotationMatrixRotatePoint(i_R_w, t_w_ij, t_i_ij);//計算殘差residuals[0] = (t_i_ij[0] - T(t_x)) * T(weight);residuals[1] = (t_i_ij[1] - T(t_y)) * T(weight);residuals[2] = (t_i_ij[2] - T(t_z)) * T(weight);residuals[3] = NormalizeAngle((yaw_j[0] - yaw_i[0] - T(relative_yaw))) * T(weight) / T(10.0);return true;}static ceres::CostFunction* Create(const double t_x, const double t_y, const double t_z,const double relative_yaw, const double pitch_i, const double roll_i) {return (new ceres::AutoDiffCostFunction<FourDOFWeightError, 4, 1, 3, 1, 3>(new FourDOFWeightError(t_x, t_y, t_z, relative_yaw, pitch_i, roll_i)));}double t_x, t_y, t_z;double relative_yaw, pitch_i, roll_i;double weight;};

VINS-Mono代碼閱讀筆記(十四):posegraph的存儲和加載

總結

以上是生活随笔為你收集整理的VINS-Mono代码阅读笔记(十三):posegraph中四自由度位姿优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

午夜在线观看一区 | 人人看人人 | 成人一区二区三区在线观看 | 精品国产91亚洲一区二区三区www | 国产精品18毛片一区二区 | 99色国产| 久草在线久草在线2 | 波多野结衣在线中文字幕 | 免费在线一区二区 | 久久网页 | 人人躁 | 丁香婷婷社区 | 国产91精品一区二区绿帽 | 中文字幕影片免费在线观看 | 香蕉免费在线 | 97在线免费 | 西西44人体做爰大胆视频 | 国产美女视频免费观看的网站 | 免费视频资源 | 亚洲人成影院在线 | 国产免费叼嘿网站免费 | 丁香色婷 | 国产精品黄色 | 国产a精品 | 人人澡人人爽欧一区 | 黄p网站在线观看 | 亚洲三级黄 | 日韩精品视频第一页 | 亚洲黄色app | 久久久久亚洲精品成人网小说 | 五月婷婷视频在线 | 欧美乱熟臀69xxxxxx | 男女精品久久 | 国产亚洲精品久久久久秋 | 日韩精品一区二区三区第95 | 久久亚洲免费 | 免费av影视 | 国产日韩欧美在线免费观看 | 97视频在线观看网址 | 天天操天天谢 | 九九免费观看全部免费视频 | av中文在线影视 | 日韩av视屏| 日韩免费观看一区二区三区 | 欧美精品亚洲精品 | 欧美另类高清 | 午夜免费在线观看 | 国产视频一区在线免费观看 | 日韩av一区在线观看 | 国产精品久久久久一区二区三区共 | 黄污网 | 久久久午夜电影 | 国产又黄又猛又粗 | 欧美爽爽爽 | 日韩av网页 | 日韩r级在线 | 黄色小说视频网站 | 91免费观看网站 | 日韩网站一区二区 | 亚洲视频免费 | 久久经典视频 | 国偷自产中文字幕亚洲手机在线 | 一级黄色a视频 | 国产成人三级一区二区在线观看一 | 国产精品男女视频 | 国产一区在线免费观看 | 日韩二区三区在线 | 日韩精品视频一二三 | 99久久婷婷国产一区二区三区 | 啪啪免费观看网站 | 国产在线999 | 国产精品久久久一区二区三区网站 | 亚洲高清视频在线 | 天天躁天天操 | 色婷婷免费视频 | 国产福利一区二区三区在线观看 | 久精品在线观看 | 91精品国产欧美一区二区成人 | 久草在线综合网 | 97在线观看免费观看 | 国产视频一区在线 | 天天操天天干天天操天天干 | 麻豆免费在线播放 | 国产在线播放不卡 | 中文字幕久久精品一区 | 亚洲五月六月 | 亚洲精品欧洲精品 | 久久精品99国产精品 | 国产在线国偷精品产拍 | 欧美看片| 中文字幕在线看视频国产 | 美女黄视频免费看 | 深爱开心激情 | 亚洲第一av在线播放 | 日韩区欧美久久久无人区 | 天天做天天爱天天爽综合网 | 美女免费视频观看网站 | 日韩免费网站 | 最新av中文字幕 | 久久久免费观看视频 | 超碰在线成人 | 狠狠干干 | 国产精品一区二区精品视频免费看 | 911国产在线观看 | 久久精品综合一区 | 国产亚洲精品久久久久久无几年桃 | 精品国产1区2区3区 国产欧美精品在线观看 | 最新av网址在线 | 国产91成人| 亚洲欧美婷婷六月色综合 | 久久精品综合一区 | sm免费xx网站 | 日本公妇在线观看 | 99九九热只有国产精品 | 91黄色视屏 | 91九色蝌蚪视频网站 | 国产高清综合 | 国产视频 亚洲视频 | 91网址在线| 美女久久久久久久 | 国产精品成人免费 | 久久精品国产亚洲aⅴ | 久久涩涩网站 | 91精品国产福利在线观看 | 亚洲乱码久久久 | 亚洲成人精品在线观看 | 国产黄视频在线观看 | 精品国产乱码久久久久 | 国产精品一区二区三区四 | 不卡av电影在线观看 | 久久桃花网 | 免费久久久 | 欧美久草视频 | 二区三区av| 欧美坐爱视频 | 九色琪琪久久综合网天天 | 亚洲97在线 | 日韩av片免费在线观看 | 日韩在线电影一区 | 在线观看黄色 | 日韩精品中文字幕在线不卡尤物 | 黄色在线网站噜噜噜 | 91cn国产在线| 久久激情五月激情 | 91福利小视频 | 一级黄色片在线免费观看 | 国产精品国产自产拍高清av | 在线观看岛国av | 在线观看视频你懂的 | 久久专区| 国产精品福利在线观看 | 国产精品久久久久9999吃药 | 最新亚洲视频 | 日本性高潮视频 | 成片免费观看视频999 | 日日夜夜天天操 | 国产91精品一区二区麻豆网站 | 天天做天天爱夜夜爽 | 亚洲欧洲av | 麻豆91视频 | 日韩黄色在线观看 | 久久精品一区二区三 | 午夜av免费| 国产毛片久久 | 人人超碰在线 | 久久久久国产a免费观看rela | 久久久久免费精品国产 | 日本黄色大片儿 | 婷婷资源站 | 午夜精品久久久久久久99婷婷 | 亚洲综合情 | 又黄又刺激的视频 | 国产精品第2页 | 久久狠狠一本精品综合网 | 狠狠色丁香婷婷综合基地 | 狠狠综合久久 | 日韩免费网站 | 狠狠躁天天躁 | 天天操狠狠操 | 亚洲精品美女久久久 | 欧美天堂视频在线 | 久草亚洲视频 | 国产一区免费 | 黄色影院在线免费观看 | 激情网五月天 | 婷婷在线色 | 黄色软件在线看 | 国产精品久久久777 成人手机在线视频 | 波多野结衣动态图 | 奇米7777狠狠狠琪琪视频 | 国产一区二区三区在线 | 日韩理论在线播放 | aaaaaa毛片 | 亚洲精选99| 一色av| 久久99这里只有精品 | 黄色软件大全网站 | 久久综合免费 | 久久一区二区三区四区 | 四虎永久国产精品 | 久久视频 | aaawww | 国产在线p| 国产成人一区二区三区在线观看 | 欧美在线视频精品 | 欧美日韩国产一区二区在线观看 | 黄色软件在线观看 | 91 在线视频 | 人人插人人舔 | 又黄又网站 | 一级黄色片毛片 | 亚洲九九九在线观看 | 天天爱av导航 | 日韩69视频 | 成人黄大片 | 国产 日韩 欧美 在线 | 中文字幕乱偷在线 | 亚洲精品色婷婷 | 欧洲精品亚洲精品 | 久久99久久99免费视频 | 2023亚洲精品国偷拍自产在线 | 五月婷婷另类国产 | 日操干| 五月天天av | 97人人艹 | 93久久精品日日躁夜夜躁欧美 | 人人爽人人爽人人片av免 | 在线日韩中文字幕 | 国产一级特黄毛片在线毛片 | 久久综合操 | 香蕉日日 | 中文字幕在线观看一区 | 粉嫩一区二区三区粉嫩91 | 天天爽天天碰狠狠添 | 免费在线播放av电影 | 免费的黄色的网站 | 九九综合久久 | 日韩欧美视频免费看 | 99久久er热在这里只有精品66 | 久久久久久久久网站 | 欧美xxxxx在线视频 | 久久久久久久久久福利 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久草在线视频国产 | 色综合天天狠狠 | 免费av在线网站 | 久久精品视频日本 | 日韩电影黄色 | 一区二区中文字幕在线观看 | 日韩动漫免费观看高清完整版在线观看 | 狠狠色伊人亚洲综合网站色 | 欧美精选一区二区三区 | 五月婷综合网 | 亚洲免费精品视频 | 免费视频久久久 | 国产免费黄色 | 超碰公开97| 最新av在线网址 | av电影 一区二区 | 99国产在线视频 | 日韩婷婷| 黄色三级在线观看 | 国产成人av网址 | 99九九99九九九视频精品 | 国产91影视| 欧美视频99 | 99精品国产一区二区 | 日韩免费av在线 | 波多野结衣在线视频免费观看 | 免费三级影片 | 狠狠网站 | 91精品亚洲影视在线观看 | 欧美黑人猛交 | 日日干夜夜骑 | 国产精品久久久久久久久免费看 | 亚洲色图av | 色综合人人 | 天天干天天射天天爽 | 欧美一二三四在线 | 激情xxxx| 97超碰在线播放 | 亚洲另类xxxx | 日韩欧美一区二区三区黑寡妇 | 欧美 亚洲 另类 激情 另类 | 伊人伊成久久人综合网站 | 亚洲精品www.| 日韩精品专区在线影院重磅 | 黄网站大全 | 黄色www | 欧美性受极品xxxx喷水 | a√天堂中文在线 | 亚洲精品午夜国产va久久成人 | 成人亚洲综合 | 日韩大陆欧美高清视频区 | 天天操天天舔天天爽 | 精品亚洲免费 | 亚洲va欧洲va国产va不卡 | 日韩一区二区三区免费视频 | 99久久久免费视频 | 97精品国产97久久久久久粉红 | 国产精品第 | 久久久久国产一区二区 | 美女久久网站 | 精品视频免费久久久看 | 亚洲人成免费网站 | av在线中文 | 国产午夜影院 | 黄色软件视频网站 | av电影在线观看完整版一区二区 | 成年人视频免费在线播放 | 国产精品毛片一区视频播不卡 | 日韩三级久久 | 91麻豆精品国产午夜天堂 | 国产香蕉在线 | 中文字幕av最新 | 日韩欧美高清在线 | 特级黄色视频毛片 | 青青五月天| 一区二区三区韩国免费中文网站 | 久久九九国产精品 | 亚洲精品88欧美一区二区 | 国产成人精品久 | 亚洲91av | 日韩欧美中文 | 日本韩国欧美在线观看 | 2021久久 | 国产午夜精品一区二区三区在线观看 | 一区二区av | 天天射天天拍 | 一区二区三区在线观看免费视频 | 奇米影视8888| 在线99热 | 日本一区二区不卡高清 | 97超碰在线久草超碰在线观看 | 欧美日韩不卡一区二区三区 | 日韩激情影院 | 欧美黑人性猛交 | 国产中文字幕免费 | www.夜夜干.com | 久草在线视频在线观看 | 国产精品二区在线观看 | 精品视频www | 国产99久久久精品视频 | 精品美女久久久久久免费 | 四虎国产精品免费 | 亚洲日本va在线观看 | 欧美精品久久久久久久免费 | 婷婷久月 | 国产一线在线 | 少妇bbw撒尿 | 国产精品亚 | 国产精品精品久久久久久 | 色婷婷色| 亚洲黄色区 | 81国产精品久久久久久久久久 | 中文字幕国产一区 | 91av成人| 懂色av懂色av粉嫩av分享吧 | 人人爽人人搞 | 久久国产精品一区二区 | 久久久精品高清 | 亚洲免费在线观看视频 | 一区二区三区韩国免费中文网站 | 丝袜美腿亚洲 | 久久久国产一区二区三区 | 91私密视频| www黄| www.久久久久| 婷婷电影在线观看 | 美女视频黄的免费的 | 国产做aⅴ在线视频播放 | 日日操日日插 | 国产在线中文字幕 | 在线观看岛国片 | 少妇bbb | 国产精品久久久久久久久久久久午夜 | 色综合天天综合网国产成人网 | 久草在线费播放视频 | 日本视频高清 | 九九免费在线视频 | 久久成人毛片 | 免费看片成年人 | 欧美激情精品久久久久久免费 | 五月婷婷.com | 99久久久国产精品免费99 | 国产女人18毛片水真多18精品 | 国内精品视频一区二区三区八戒 | 亚洲伊人第一页 | 国产精品99页| 国产精彩视频一区二区 | 四虎在线免费观看 | 00av视频| 久久精品国产免费 | 91在线免费视频 | 五月婷婷中文网 | 91禁在线看 | 国产精品每日更新 | 亚洲 成人 一区 | 美女在线黄 | 成人免费视频在线观看 | 精品久久久久亚洲 | 一二三区高清 | 精品国产色 | 久久久久激情 | 亚洲最新视频在线 | 狠狠操影视 | 欧美日韩一区二区三区不卡 | 天天伊人狠狠 | 欧美激情综合五月色丁香小说 | 色美女在线 | 婷婷av网站 | 在线午夜电影神马影院 | www.天天操.com| 日韩免费视频播放 | 亚洲精品免费在线 | av免费成人 | 中文字幕丝袜制服 | 成人一区二区三区在线观看 | 国产一线二线三线在线观看 | 日韩系列 | 久久综合婷婷 | 国产精品va在线观看入 | 久久男人视频 | 精品一区二区综合 | 涩涩网站在线播放 | 亚洲欧美视频网站 | 99热最新地址 | 欧美日韩免费一区二区 | 日韩在线一区二区免费 | 久草国产视频 | 亚洲蜜桃在线 | 激情久久伊人 | 国产欧美三级 | 国产精品男女 | 国产99区 | 色狠狠综合天天综合综合 | 麻豆久久一区二区 | 国产精品9区 | 国产一级黄色免费看 | 高清一区二区三区av | 国内精品国产三级国产aⅴ久 | 91探花在线 | 国内精品视频在线播放 | h视频日本 | 欧美成人理伦片 | 美女视频又黄又免费 | 国产欧美久久久精品影院 | 成人h动漫精品一区二 | 亚洲aⅴ在线观看 | 四川bbb搡bbb爽爽视频 | 97在线精品国自产拍中文 | 亚洲综合在线观看视频 | 久久国内视频 | 亚洲开心色 | 婷婷色网址 | 国产日韩欧美精品在线观看 | 毛片在线播放网址 | 日韩一区二区三区高清在线观看 | 黄色在线成人 | 国产91免费在线观看 | 国产 中文 日韩 欧美 | 久久69av| 制服丝袜欧美 | 青春草免费在线视频 | 国产96精品| 91视频免费看片 | 香蕉影视在线观看 | 国产正在播放 | 在线观看福利网站 | 国产尤物视频在线 | 久久久久国产一区二区 | 91精品爽啪蜜夜国产在线播放 | 一区在线观看 | 日韩精品一区二区三区在线播放 | www.夜夜干.com | 亚洲精品在线一区二区 | 久久综合影院 | 视频 天天草 | 四季av综合网站 | 久久激情视频 久久 | 97精品国产一二三产区 | 97香蕉超级碰碰久久免费软件 | 国产99久久久欧美黑人 | 深夜男人影院 | 国产色秀视频 | 亚洲成人黄色在线 | 91麻豆精品91久久久久同性 | 安徽妇搡bbbb搡bbbb | 91看国产| 麻豆手机在线 | 久久综合电影 | 日韩精品视频久久 | 精品视频123区在线观看 | 午夜12点| 天天天天天天天操 | 中文字幕一区二区三区四区在线视频 | 日韩理论在线视频 | 狠狠搞,com| 中文字幕乱在线伦视频中文字幕乱码在线 | 午夜精品久久 | 91成人精品一区在线播放69 | 久久久久免费精品国产小说色大师 | 日韩影视精品 | 午夜精品久久久久99热app | 狠狠狠狠狠狠 | 在线观看亚洲精品 | 欧美十八 | 樱空桃av| 伊人天堂久久 | 999视频精品 | 91亚洲精品国产 | 2019国产精品 | 97在线观看免费视频 | 久久久www成人免费毛片麻豆 | 在线中文字幕播放 | 久久精品日产第一区二区三区乱码 | 国产中文字幕在线 | 国产麻豆果冻传媒在线观看 | 欧美精品网站 | 国产一区二区免费看 | 在线高清一区 | 国产精品s色 | 丁香综合av | 在线看一区二区 | 亚洲日本va午夜在线电影 | 色天天 | 亚洲国产色一区 | 日韩专区在线播放 | 日韩精品一区二区免费视频 | 韩国av三级 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲夜夜网 | 国产精品视频内 | 国产精品久久99精品毛片三a | 最近最新中文字幕 | 日韩网站在线看片你懂的 | 亚洲 欧洲 国产 精品 | 看黄色.com | 久久免费一| 亚洲一区日韩在线 | 91免费视频国产 | av女优中文字幕在线观看 | 五月婷婷综合在线观看 | 黄av在线| 日韩高清无线码2023 | 波多野结衣在线观看视频 | 波多野结衣在线视频一区 | 亚洲成人蜜桃 | 国产在线精品一区二区 | 免费高清在线视频一区· | 国产成人精品一区在线 | 超碰成人免费电影 | 在线视频日韩欧美 | 黄色成人影院 | 国产黄a三级 | 天天干天天干天天干天天干天天干天天干 | 97电影手机版 | 国产韩国日本高清视频 | 天天色宗合 | 欧美精品久久99 | www.国产在线 | 一区二区激情视频 | 四虎永久精品在线 | 最近中文字幕免费 | 不卡av电影在线观看 | 99人成在线观看视频 | 福利电影一区二区 | 久久人91精品久久久久久不卡 | 91色一区二区三区 | 国产视频一区二区三区在线 | 狠狠色噜噜狠狠狠狠2021天天 | 国产黄在线免费观看 | 午夜电影久久久 | 国产精品自产拍在线观看 | av电影在线播放 | 97精品国产97久久久久久久久久久久 | 日韩在线视 | 在线看片成人 | 亚洲天天 | 啪啪小视频网站 | av一区二区三区在线观看 | 美女黄频在线观看 | 国产一区二区视频在线播放 | 亚洲伦理中文字幕 | 成人超碰97 | 国产免费三级在线观看 | wwwwww国产 | 97超碰成人 | 国产资源免费在线观看 | 欧美精品黑人性xxxx | 欧美成年人在线视频 | 国产啊v在线观看 | 91黄色在线看 | 国产一区二区精品久久 | 国产视频首页 | 超碰人人在线观看 | 久久久久久蜜av免费网站 | 奇米网在线观看 | 国产精品自产拍在线观看蜜 | 久久久蜜桃一区二区 | 久99久中文字幕在线 | www.五月天婷婷.com | 国产精品久久久久久久久久久久冷 | 人人爽网站| 狠狠狠色丁香综合久久天下网 | 狠狠色丁婷婷日日 | 中文字幕在线免费看线人 | 中文字幕在线影院 | 在线免费三级 | 国产成人一级电影 | 伊人资源站 | 91精品一区国产高清在线gif | 亚洲 中文字幕av | 婷婷国产在线 | av资源免费观看 | 91在线免费视频 | 中文av一区二区 | 亚洲一二区视频 | 久久夜靖品 | 五月天婷亚洲天综合网精品偷 | 亚洲精品一区二区在线观看 | 手机色站 | 国产精品美女久久久久久久久久久 | 成人免费xyz网站 | 最近免费中文字幕 | 国产一区不卡在线 | 福利久久久 | 国产亚洲欧美日韩高清 | 成人一级片免费看 | 欧美日韩久久不卡 | 中文字幕在线日 | 国产98色在线 | 日韩 | 激情久久伊人 | 91av视频在线观看免费 | 国产精品一区二区三区免费看 | 美女福利视频一区二区 | 午夜影视剧场 | 亚洲蜜桃av | 一区二区三区精品久久久 | 综合色天天 | 四虎5151久久欧美毛片 | 视频在线亚洲 | 日日婷婷夜日日天干 | 久久久精品亚洲 | 国产高清视频在线 | 黄色三级在线看 | 亚洲欧美色婷婷 | 日韩成人免费在线电影 | 特片网久久 | 精品久久国产 | 免费日韩 精品中文字幕视频在线 | 婷婷六月激情 | 国产免费观看高清完整版 | 天天爽天天爽天天爽 | 日韩久久精品一区 | 亚州精品天堂中文字幕 | 久久视频国产精品免费视频在线 | 久久久久久久久久伊人 | 国内成人精品视频 | 久久久五月婷婷 | 黄色免费看片网站 | 天天激情天天干 | 欧美日韩一区二区三区视频 | 日韩免费一区二区三区 | 久久久久亚洲a | 精品久久亚洲 | 免费成人在线网站 | 成人久久精品视频 | 精品伊人久久久 | av免费线看 | 一区二区不卡视频在线观看 | 日韩精品播放 | 91精品国产入口 | 亚洲精品乱码久久久久久高潮 | 中午字幕在线观看 | 欧美日韩在线观看视频 | 欧美日韩国内在线 | 欧美一级性生活 | 免费看亚洲毛片 | 九九九九九国产 | 911免费视频 | 狠狠干狠狠久久 | 国产在线a| 日批网站免费观看 | 日韩黄色大片在线观看 | 夜夜躁狠狠躁日日躁 | 免费在线观看av网址 | 国产精品久久影院 | 国产一区欧美日韩 | 国产成人av电影 | 国产亚洲欧美日韩高清 | 狠狠黄| 久久久电影 | 在线观看av小说 | 日本精品视频在线观看 | 精品麻豆入口免费 | 久久久久久欧美二区电影网 | 国产色在线视频 | 日韩精品无 | 我爱av激情网 | 国产精品白浆 | 麻豆视频观看 | 日韩在线免费高清视频 | 射射色 | 99精品在线免费视频 | 天堂av在线网址 | 人人添人人澡 | 亚洲国产日韩精品 | 久草.com| 国产免费午夜 | 亚洲国产黄色 | 亚洲国产天堂av | www.午夜视频| 亚洲成人av片在线观看 | 不卡电影一区二区三区 | 最近中文字幕免费大全 | 在线观看的黄色 | 欧美午夜理伦三级在线观看 | 国内外成人免费在线视频 | www在线观看国产 | 天堂av色婷婷一区二区三区 | 国产精品伦一区二区三区视频 | 国产一级黄色片免费看 | av黄色av | 欧美三级高清 | 免费黄色网址大全 | 久久午夜色播影院免费高清 | 亚洲丝袜一区 | 国产 在线 高清 精品 | 婷婷六月综合网 | 狠狠干网站 | 91成人免费看片 | 黄色动态图xx | 免费看污污视频的网站 | 亚洲一区黄色 | 中文字幕欧美日韩va免费视频 | 国产精品 日韩 | 九九在线视频 | 一级精品视频在线观看宜春院 | 日韩激情中文字幕 | 99精品久久久 | 麻豆你懂的 | 不卡的av在线播放 | 国产人成在线观看 | 五月激情综合婷婷 | 毛片美女网站 | www黄免费| 麻豆传媒视频在线播放 | 欧美性色综合网站 | 久久久国产精品视频 | 免费又黄又爽视频 | 麻豆国产视频 | 三级黄色三级 | 九九九九精品 | 少妇精品久久久一区二区免费 | 成年人免费在线观看网站 | 狠狠狠色丁香综合久久天下网 | 狠狠干狠狠艹 | 99热999| 人人爽爽人人 | 日本在线视频一区二区三区 | 中文字幕日韩免费视频 | 国产精品久久精品国产 | 国产精品一区二区中文字幕 | 日韩和的一区二在线 | 国产伦精品一区二区三区四区视频 | 五月婷婷中文网 | 国产黄免费看 | 麻豆视频在线播放 | 午夜影院先| 97超碰超碰| 九草在线视频 | 99久久精品日本一区二区免费 | 国产69精品久久99不卡的观看体验 | 久久精品国产一区二区三 | 99视频在线观看一区三区 | 精品亚洲成a人在线观看 | 成人av免费在线播放 | 天干啦夜天干天干在线线 | 久久精品视频在线 | 成人在线网站观看 | 婷婷国产在线 | 婷婷网站天天婷婷网站 | 欧美激情视频一区二区三区免费 | 亚洲美女精品区人人人人 | 热久久免费视频精品 | 中文字幕在线视频免费播放 | 欧美精品一区二区免费 | 波多野结衣亚洲一区二区 | 国产精品一区二区在线 | 成人午夜网 | 国产黄av | 成年人视频在线观看免费 | 久久久亚洲精华液 | 亚洲高清久久久 | 97色se| 久久久久久久久久久网 | 在线观看国产中文字幕 | 国产中文字幕第一页 | 国内精品久久久久久久久久久久 | 亚洲精品影视 | 手机看片| 国产精品女视频 | 黄色网址在线播放 | 国产91aaa | 人人爱人人舔 | av高清一区二区三区 | 免费成人黄色av | 五月视频 | 国产精品99免费看 | 国产96精品 | 久久久在线 | 91精品老司机久久一区啪 | 婷婷久月 | 国产在线视频一区二区三区 | 欧美日韩久久久 | 又黄又爽又刺激的视频 | 国产午夜精品久久久久久久久久 | 伊人六月 | 999久久精品| 99在线播放 | 亚洲精品美女久久久久 | 国产精品精品国产婷婷这里av | 国产日韩欧美在线播放 | 国产日韩视频在线播放 | 国产精品高清在线观看 | 天海冀一区二区三区 | 亚洲精品视频中文字幕 | 久久国产精品免费一区二区三区 | 国产精品久久久久三级 | 久久爽久久爽久久av东京爽 | 黄色av影院| 韩国av不卡| 午夜精品久久久99热福利 | 美女视频黄在线观看 | 中文字幕在线视频一区 | 狠狠色免费 | 欧美日韩视频在线观看一区二区 | av成年人电影 | 中文字幕 第二区 | 99电影 | 一二三四精品 | 精品国产黄色片 | 黄色成人在线网站 | 2021久久 | 中文字幕成人 | 草久在线观看 | 亚洲精品视频免费看 | 97色国产 | av色网站 | 亚洲欧美综合精品久久成人 | 99免费观看视频 | 国产精品国产三级国产aⅴ入口 | 鲁一鲁影院 | 国产在线观看你懂的 | 国产色女人 | 免费久久片 | 欧美成人在线网站 | 一区二区三区在线看 | 久久人人爽人人人人片 | 成人免费在线观看入口 | 亚洲午夜久久久久久久久 | 婷婷国产精品 | 国产精品国内免费一区二区三区 | 免费看黄色大全 | 黄色av播放 | 69亚洲视频| 国产精品青草综合久久久久99 | 美女视频黄免费网站 | 青青久草在线 | 国产精品一区二区麻豆 | 欧美国产精品久久久久久免费 | www.97色.com| 亚洲视频aaa| 成年人在线电影 | 夜夜爽天天爽 | 国产 中文 日韩 欧美 | 久久久久久久久久久久影院 | 公与妇乱理三级xxx 在线观看视频在线观看 | 欧美精品国产综合久久 | 黄色特级片 | 成人啊 v | 中文字幕永久在线 | 黄色av一级 | 国产一线二线三线性视频 | 久久综合免费视频影院 | 欧美日韩久久一区 | 亚洲午夜av | 国产永久免费 | 欧美一级久久 | 国产品久精国精产拍 | 国产精品久久视频 | 国产午夜一级毛片 | 久久婷婷亚洲 | 久久国内免费视频 | 日韩精品一区二区不卡 | 久久成年人网站 | 国产精品18久久久久久久 | 午夜精品久久久久久久久久久久 | 国产精品成人免费精品自在线观看 | 一本一本久久a久久精品综合小说 | 亚洲精品国产日韩 | 黄色成品视频 | 日韩一区二区三区在线观看 | 日韩精品国产一区 | 亚洲影院一区 | 日韩在线小视频 | 亚洲精品乱码久久久久久蜜桃欧美 | 欧美午夜a | 91自拍视频在线观看 | 国产黄色片一级 | 久久久久久久久综合 | 视频99爱| 九色91视频 | 国产婷婷vvvv激情久 | 日韩高清一区在线 | 亚洲精品网站 | 天堂在线视频中文网 | 婷婷免费视频 | 人人澡人摸人人添学生av | a黄色| 草久视频在线观看 | 蜜桃视频在线观看一区 | 国产精品黄网站在线观看 | 五月婷婷丁香六月 | 97**国产露脸精品国产 | 97成人资源 | 成人一级电影在线观看 | 国内久久精品 | 日韩中文免费视频 | av福利超碰网站 | 久久精品一级片 | 国产一区av在线 | 欧美 日韩 成人 | 亚洲精品电影在线 | av色一区| 中文字幕在线观看视频一区二区三区 | 日韩.com | 中文字幕丝袜制服 | 久久免费黄色大片 | 久久人人爽人人片 | 五月婷婷,六月丁香 | 婷婷亚洲五月色综合 | 中文字幕永久免费 | 欧美大码xxxx | 久久国产精品久久久久 | 日本aaa在线观看 | 亚洲成人av片在线观看 | 久久不卡国产精品一区二区 | 久久伦理 | 午夜久久久久久久久久久 | 日韩欧美在线一区 | 国产精品久久久久一区 | 人人爽人人爽人人爽人人爽 | 国产视频一区精品 | 一区二区三区日韩视频在线观看 | 国产精品久久一区二区三区, | 天天操操操操操 | 91人人视频在线观看 | 手机av在线免费观看 | 久久一久久 | 韩国av免费观看 | 久久国内精品99久久6app | 插综合网 | 国产精品免费一区二区三区在线观看 | 国产精品伦一区二区三区视频 | 婷婷六月中文字幕 | 国产免码va在线观看免费 | 日本爱爱免费 | 日韩电影一区二区三区 | avav99| 国产在线观看你懂得 | 日本中文字幕在线观看 | 国产成人一区二区三区 | 国产视频观看 | 一区中文字幕在线观看 | 国产中文在线观看 | 久草精品在线 | 99福利影院 | 日本精品视频在线 | 亚洲最新合集 | 96香蕉视频| 日韩一区二区三区观看 | 天天干夜夜干 | 国际精品久久 | 99久久精品国产一区二区成人 | 日韩av一区二区在线影视 | 美女网站色免费 | www免费网站在线观看 | 日本在线观看中文字幕无线观看 | 国产最顶级的黄色片在线免费观看 | 国产精品麻豆视频 | 特黄特色特刺激视频免费播放 | 最新日韩视频 | 国产韩国日本高清视频 | 久久成熟 | 国产一级片毛片 | 久久久久免费精品视频 |