久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

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

编程问答

LOAM源码解析2——laserOdometry

發布時間:2023/12/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LOAM源码解析2——laserOdometry 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這是LOAM第二部分Lidar laserOdometry雷達里程計。
在第一章提取完特征點后,需要對特征點云進行關聯匹配,之后估計姿態。
主要分為兩部分:

特征點關聯使用scan-to-scan方式t和t+1時刻相鄰兩幀的點云數據進行配準,分為邊緣點匹配和平面點匹配兩部分。計算點到直線的距離和點到平面的距離。
姿態解算根據匹配的特征點云使用LM算法估計接收端位姿。

這部分代碼完全是放在main函數。
首先介紹前面的參數。后面出現的會重點標注下。

//一個點云周期 const float scanPeriod = 0.1;//接收到邊緣點和平面點 pcl::PointCloud<PointType>::Ptr cornerPointsSharp(new pcl::PointCloud<PointType>()); pcl::PointCloud<PointType>::Ptr cornerPointsLessSharp(new pcl::PointCloud<PointType>()); pcl::PointCloud<PointType>::Ptr surfPointsFlat(new pcl::PointCloud<PointType>()); pcl::PointCloud<PointType>::Ptr surfPointsLessFlat(new pcl::PointCloud<PointType>()); //上一幀點云的邊緣點和平面點 pcl::PointCloud<PointType>::Ptr laserCloudCornerLast(new pcl::PointCloud<PointType>()); pcl::PointCloud<PointType>::Ptr laserCloudSurfLast(new pcl::PointCloud<PointType>()); //保存前一個節點發過來的未經處理過的特征點和權重 pcl::PointCloud<PointType>::Ptr laserCloudOri(new pcl::PointCloud<PointType>()); pcl::PointCloud<PointType>::Ptr coeffSel(new pcl::PointCloud<PointType>()); //全部點云 pcl::PointCloud<PointType>::Ptr laserCloudFullRes(new pcl::PointCloud<PointType>()); //imu信息 pcl::PointCloud<pcl::PointXYZ>::Ptr imuTrans(new pcl::PointCloud<pcl::PointXYZ>()); //上一幀邊緣點、平面點構建的KD-tree pcl::KdTreeFLANN<PointType>::Ptr kdtreeCornerLast(new pcl::KdTreeFLANN<PointType>()); pcl::KdTreeFLANN<PointType>::Ptr kdtreeSurfLast(new pcl::KdTreeFLANN<PointType>());//當前幀相對上一幀的狀態轉移量,局部坐標系 float transform[6] = {0}; //當前幀相對于第一幀的狀態轉移量,全局坐標系 float transformSum[6] = {0};//點云第一個點的RPY、最后一個點的RPY float imuRollStart = 0, imuPitchStart = 0, imuYawStart = 0; float imuRollLast = 0, imuPitchLast = 0, imuYawLast = 0; //點云最后一個點相對于第一個點由于加減速產生的畸變位移、速度 float imuShiftFromStartX = 0, imuShiftFromStartY = 0, imuShiftFromStartZ = 0; float imuVeloFromStartX = 0, imuVeloFromStartY = 0, imuVeloFromStartZ = 0;

0、預處理

  • 訂閱節點,發布消息
  • 創建里程計對象、坐標轉換對象
  • 同步作用,確保同時收到同一個點云的特征點以及IMU信息才進入

    6個sub訂閱器分別訂閱scanRegistration節點發布的6個消息:/laser_cloud_sharp、/laser_cloud_less_sharp、pubSurfPointFlat、pubSurfPointLessFlat、/velodyne_cloud_2、/imu_trans消息。
    調用6個Handler回調函數處理這些邊特征、面特征、全部點云和IMU數據,把他們從ROS::Msg類型轉換成程序可以處理的pcl點云類型;
    4個pub發布器發布/laser_cloud_corner_last、/laser_cloud_surf_last、/velodyne_cloud_3、/laser_odom_to_init消息。
  • int main(int argc, char** argv) {/****************0、預處理************************/ros::init(argc, argv, "laserOdometry");ros::NodeHandle nh;// 1.訂閱節點,發布消息// 訂閱scanRegistration發布的六個節點,調用六個回調函數ros::Subscriber subCornerPointsSharp = nh.subscribe<sensor_msgs::PointCloud2>("/laser_cloud_sharp", 2, laserCloudSharpHandler);ros::Subscriber subCornerPointsLessSharp = nh.subscribe<sensor_msgs::PointCloud2>("/laser_cloud_less_sharp", 2, laserCloudLessSharpHandler);ros::Subscriber subSurfPointsFlat = nh.subscribe<sensor_msgs::PointCloud2>("/laser_cloud_flat", 2, laserCloudFlatHandler);ros::Subscriber subSurfPointsLessFlat = nh.subscribe<sensor_msgs::PointCloud2>("/laser_cloud_less_flat", 2, laserCloudLessFlatHandler);ros::Subscriber subLaserCloudFullRes = nh.subscribe<sensor_msgs::PointCloud2> ("/velodyne_cloud_2", 2, laserCloudFullResHandler);ros::Subscriber subImuTrans = nh.subscribe<sensor_msgs::PointCloud2> ("/imu_trans", 5, imuTransHandler);// imu隊列長度5// 發布四個節點,發布消息ros::Publisher pubLaserCloudCornerLast = nh.advertise<sensor_msgs::PointCloud2>("/laser_cloud_corner_last", 2);// 隊列長度2ros::Publisher pubLaserCloudSurfLast = nh.advertise<sensor_msgs::PointCloud2>("/laser_cloud_surf_last", 2);ros::Publisher pubLaserCloudFullRes = nh.advertise<sensor_msgs::PointCloud2> ("/velodyne_cloud_3", 2);ros::Publisher pubLaserOdometry = nh.advertise<nav_msgs::Odometry> ("/laser_odom_to_init", 5);// 隊列長度5// 2.創建里程計對象、坐標轉換對象// 創建里程計對象 laserOdometrynav_msgs::Odometry laserOdometry;laserOdometry.header.frame_id = "/camera_init";laserOdometry.child_frame_id = "/laser_odom";tf::TransformBroadcaster tfBroadcaster;// 創建坐標變換對象 laserOdometryTranstf::StampedTransform laserOdometryTrans;laserOdometryTrans.frame_id_ = "/camera_init";laserOdometryTrans.child_frame_id_ = "/laser_odom";std::vector<int> pointSearchInd;//搜索到的點序std::vector<float> pointSearchSqDis;//搜索到的點平方距離PointType pointOri, pointSel/*選中的特征點*/, tripod1, tripod2, tripod3/*特征點的對應點*/, pointProj/*unused*/, coeff;//退化標志bool isDegenerate = false;//P矩陣,預測矩陣cv::Mat matP(6, 6, CV_32F, cv::Scalar::all(0));int frameCount = skipFrameNum;ros::Rate rate(100);bool status = ros::ok();while (status) {// 調用一次回調函數,訂閱當前時刻msg和發布上一時刻處理后的msgros::spinOnce();// 3.同步作用,確保同時收到同一個點云的特征點以及IMU信息才進入if (newCornerPointsSharp && newCornerPointsLessSharp && newSurfPointsFlat && newSurfPointsLessFlat && newLaserCloudFullRes && newImuTrans &&fabs(timeCornerPointsSharp - timeSurfPointsLessFlat) < 0.005 &&fabs(timeCornerPointsLessSharp - timeSurfPointsLessFlat) < 0.005 &&fabs(timeSurfPointsFlat - timeSurfPointsLessFlat) < 0.005 &&fabs(timeLaserCloudFullRes - timeSurfPointsLessFlat) < 0.005 &&fabs(timeImuTrans - timeSurfPointsLessFlat) < 0.005) { newCornerPointsSharp = false;newCornerPointsLessSharp = false;newSurfPointsFlat = false;newSurfPointsLessFlat = false;newLaserCloudFullRes = false;newImuTrans = false;

    接下來分為:初始化、點云處理、構建Jacobian矩陣估計位姿、坐標轉換。

    1、初始化

    將第一個點云數據集發送給laserMapping,從下一個點云數據開始配準。

  • 將第一個點云訂閱的數據保存為上一時刻數據
  • 從ROS轉化為pcl,再發布出去
  • 記住原點的翻滾角和俯仰角為imu
  • T平移量的初值賦值為imu加減速的位移量,為其梯度下降的方向
  • //********************1、初始化:將第一個點云數據集發送給laserMapping,從下一個點云數據開始配準****************if (!systemInited) {// 1.將訂閱的數據保存為上一時刻數據。// 將邊緣點和上一幀邊緣點交換,保存當前幀邊緣點值cornerPointsLessSharp下輪使用pcl::PointCloud<PointType>::Ptr laserCloudTemp = cornerPointsLessSharp;cornerPointsLessSharp = laserCloudCornerLast;laserCloudCornerLast = laserCloudTemp;//將平面點和上一幀平面點交換,,保存當前幀平面點surfPointsLessFlat的值下輪使用laserCloudTemp = surfPointsLessFlat;surfPointsLessFlat = laserCloudSurfLast;laserCloudSurfLast = laserCloudTemp;//使用上一幀的特征點(邊緣+平面)構建kd-treekdtreeCornerLast->setInputCloud(laserCloudCornerLast);//所有的邊沿點集合kdtreeSurfLast->setInputCloud(laserCloudSurfLast);//所有的平面點集合// 2.將上一時刻數據(邊緣+平面)從ROS轉化為pcl,再發布出去sensor_msgs::PointCloud2 laserCloudCornerLast2;pcl::toROSMsg(*laserCloudCornerLast, laserCloudCornerLast2);laserCloudCornerLast2.header.stamp = ros::Time().fromSec(timeSurfPointsLessFlat);laserCloudCornerLast2.header.frame_id = "/camera";pubLaserCloudCornerLast.publish(laserCloudCornerLast2);sensor_msgs::PointCloud2 laserCloudSurfLast2;pcl::toROSMsg(*laserCloudSurfLast, laserCloudSurfLast2);laserCloudSurfLast2.header.stamp = ros::Time().fromSec(timeSurfPointsLessFlat);laserCloudSurfLast2.header.frame_id = "/camera";pubLaserCloudSurfLast.publish(laserCloudSurfLast2);//3.記住原點的翻滾角和俯仰角transformSum[0] += imuPitchStart;transformSum[2] += imuRollStart;systemInited = true;continue;}//4.T平移量的初值賦值為加減速的位移量,為其梯度下降的方向//(沿用上次轉換的T(一個sweep勻速模型),同時在其基礎上減去勻速運動位移,即只考慮加減速的位移量)transform[3] -= imuVeloFromStartX * scanPeriod;transform[4] -= imuVeloFromStartY * scanPeriod;transform[5] -= imuVeloFromStartZ * scanPeriod;

    2、點云配準

    點云配準前言:首先保證上一時刻特征點(邊緣+平面)數量足夠再開始進行匹配,其次,后面需要25次迭代LM算法求解位姿。
    重要參數:

    laserCloudOri:點云過濾:保留距離小,權重大的點;舍棄距離為零的點。
    coeffSel:權重

    if (laserCloudCornerLastNum > 10 && laserCloudSurfLastNum > 100) {//上一時刻特征點數量足夠// 當前時刻特征點(邊緣+平面)數量std::vector<int> indices;pcl::removeNaNFromPointCloud(*cornerPointsSharp,*cornerPointsSharp, indices);int cornerPointsSharpNum = cornerPointsSharp->points.size();int surfPointsFlatNum = surfPointsFlat->points.size();//多次迭代LM算法求解前后位姿變化,這里25次for (int iterCount = 0; iterCount < 25; iterCount++) {laserCloudOri->clear();coeffSel->clear();

    針對邊緣點和平面點兩部分分別進行匹配關系處理。
    以邊緣點為例:

  • kd-tree查找一個最近距離點j,Ind為索引,SqDis為距離平方
  • 尋找最鄰近點j附近的次臨近點l:分為scanID增加和減小兩個方向分別進行尋找。
  • 計算點到線的距離,根據距離分配權重
  • 邊緣點處理:

    /********************邊緣點處理************///從上個點云中邊緣點中找兩個最近距離點j和l//一個點j使用kd-tree查找,在最鄰近點j附近(向上下三條掃描線以內)找到次臨近點lfor (int i = 0; i < cornerPointsSharpNum; i++) {// 0、t+1時刻的邊緣點轉換到初始imu坐標系的點坐標 pointSelTransformToStart(&cornerPointsSharp->points[i], &pointSel);// ???每迭代五次,重新查找最近點(降采樣)if (iterCount % 5 == 0) {std::vector<int> indices;pcl::removeNaNFromPointCloud(*laserCloudCornerLast,*laserCloudCornerLast, indices);// 1、kd-tree查找一個最近距離點j,Ind為索引,SqDis為距離平方kdtreeCornerLast->nearestKSearch(pointSel, 1, pointSearchInd, pointSearchSqDis);int closestPointInd = -1, minPointInd2 = -1;//在最鄰近點j附近(向上下三條掃描線以內)找到次臨近點l//再次提醒:velodyne是2度一線,scanID相鄰并不代表線號相鄰,相鄰線度數相差2度,也即線號scanID相差2if (pointSearchSqDis[0] < 25) {//找到的最近點距離的確很近的話closestPointInd = pointSearchInd[0];// 最近點j//提取最近點線號int closestPointScan = int(laserCloudCornerLast->points[closestPointInd].intensity);float pointSqDis, minPointSqDis2 = 25;//初始門檻值5米,可大致過濾掉scanID相鄰,但實際線不相鄰的值// 2、尋找最鄰近點j附近的次臨近點l// 向scanID增大的方向查找for (int j = closestPointInd + 1; j < cornerPointsSharpNum; j++) {//非相鄰線結束,距離超過三條線跳出if (int(laserCloudCornerLast->points[j].intensity) > closestPointScan + 2.5) {break;}// 計算所有點和最近鄰點j距離平方pointSqDis = (laserCloudCornerLast->points[j].x - pointSel.x) * (laserCloudCornerLast->points[j].x - pointSel.x) + (laserCloudCornerLast->points[j].y - pointSel.y) * (laserCloudCornerLast->points[j].y - pointSel.y) + (laserCloudCornerLast->points[j].z - pointSel.z) * (laserCloudCornerLast->points[j].z - pointSel.z);if (int(laserCloudCornerLast->points[j].intensity) > closestPointScan) {//確保兩個點不在同一條scan上(相鄰線查找應該可以用scanID == closestPointScan +/- 1 來做)if (pointSqDis < minPointSqDis2) {//距離更近,要小于初始值5米//更新最小距離與點序minPointSqDis2 = pointSqDis;minPointInd2 = j;}}}//向scanID減小的方向查找,向下三條線for (int j = closestPointInd - 1; j >= 0; j--) {if (int(laserCloudCornerLast->points[j].intensity) < closestPointScan - 2.5) {break;}pointSqDis = (laserCloudCornerLast->points[j].x - pointSel.x) * (laserCloudCornerLast->points[j].x - pointSel.x) + (laserCloudCornerLast->points[j].y - pointSel.y) * (laserCloudCornerLast->points[j].y - pointSel.y) + (laserCloudCornerLast->points[j].z - pointSel.z) * (laserCloudCornerLast->points[j].z - pointSel.z);if (int(laserCloudCornerLast->points[j].intensity) < closestPointScan) {if (pointSqDis < minPointSqDis2) {minPointSqDis2 = pointSqDis;minPointInd2 = j;}}}}//記住組成線的點序pointSearchCornerInd1[i] = closestPointInd;//kd-tree最近距離點j,-1表示未找到滿足的點pointSearchCornerInd2[i] = minPointInd2;//另一個最近的l,-1表示未找到滿足的點}// 3、計算點到線的距離,根據距離分配權重if (pointSearchCornerInd2[i] >= 0) {//次臨近點l大于等于0,不等于-1,說明兩個點都找到了tripod1 = laserCloudCornerLast->points[pointSearchCornerInd1[i]];// 最鄰近點tripod2 = laserCloudCornerLast->points[pointSearchCornerInd2[i]];// 次臨近點//三個點的坐標:t+1時刻點i,t時刻的j和lfloat x0 = pointSel.x;float y0 = pointSel.y;float z0 = pointSel.z;float x1 = tripod1.x;float y1 = tripod1.y;float z1 = tripod1.z;float x2 = tripod2.x;float y2 = tripod2.y;float z2 = tripod2.z;//向量OA = (x0 - x1, y0 - y1, z0 - z1), 向量OB = (x0 - x2, y0 - y2, z0 - z2),向量AB = (x1 - x2, y1 - y2, z1 - z2)//分子的模:向量OA OB的向量積(即叉乘)為://| i j k |//|x0-x1 y0-y1 z0-z1|//|x0-x2 y0-y2 z0-z2|float a012 = sqrt(((x0 - x1)*(y0 - y2) - (x0 - x2)*(y0 - y1))* ((x0 - x1)*(y0 - y2) - (x0 - x2)*(y0 - y1)) + ((x0 - x1)*(z0 - z2) - (x0 - x2)*(z0 - z1))* ((x0 - x1)*(z0 - z2) - (x0 - x2)*(z0 - z1)) + ((y0 - y1)*(z0 - z2) - (y0 - y2)*(z0 - z1))* ((y0 - y1)*(z0 - z2) - (y0 - y2)*(z0 - z1)));//分母AB的模:兩個最近距離點之間的距離float l12 = sqrt((x1 - x2)*(x1 - x2) + (y1 - y2)*(y1 - y2) + (z1 - z2)*(z1 - z2));//點到線的距離,d = |向量OA 叉乘 向量OB|/|AB|float ld2 = a012 / l12;//AB方向的單位向量與OAB平面的單位法向量的向量積在各軸上的分量(d的方向)//x軸分量ifloat la = ((y1 - y2)*((x0 - x1)*(y0 - y2) - (x0 - x2)*(y0 - y1)) + (z1 - z2)*((x0 - x1)*(z0 - z2) - (x0 - x2)*(z0 - z1))) / a012 / l12;//y軸分量jfloat lb = -((x1 - x2)*((x0 - x1)*(y0 - y2) - (x0 - x2)*(y0 - y1)) - (z1 - z2)*((y0 - y1)*(z0 - z2) - (y0 - y2)*(z0 - z1))) / a012 / l12;//z軸分量kfloat lc = -((x1 - x2)*((x0 - x1)*(z0 - z2) - (x0 - x2)*(z0 - z1)) + (y1 - y2)*((y0 - y1)*(z0 - z2) - (y0 - y2)*(z0 - z1))) / a012 / l12;//unusedpointProj = pointSel;pointProj.x -= la * ld2;pointProj.y -= lb * ld2;pointProj.z -= lc * ld2;//權重計算,距離越大權重越小,距離越小權重越大,得到的權重范圍<=1float s = 1;if (iterCount >= 5) {//5次迭代之后開始增加權重因素s = 1 - 1.8 * fabs(ld2);}//考慮權重coeff.x = s * la;coeff.y = s * lb;coeff.z = s * lc;coeff.intensity = s * ld2;if (s > 0.1 && ld2 != 0) {//只保留權重大的,也即距離比較小的點,同時也舍棄距離為零的laserCloudOri->push_back(cornerPointsSharp->points[i]);coeffSel->push_back(coeff);}}}

    同理,平面點也是相同步驟

    /********************平面點處理************///對本次接收到的平面點,從上次接收到的點云曲率比較小的點中找三點組成平面,一個使用kd-tree查找,//另外一個在同一線上查找滿足要求的,第三個在不同線上查找滿足要求的for (int i = 0; i < surfPointsFlatNum; i++) {TransformToStart(&surfPointsFlat->points[i], &pointSel);if (iterCount % 5 == 0) {//kd-tree最近點查找,在經過體素柵格濾波之后的平面點中查找,一般平面點太多,濾波后最近點查找數據量小kdtreeSurfLast->nearestKSearch(pointSel, 1, pointSearchInd, pointSearchSqDis);int closestPointInd = -1, minPointInd2 = -1, minPointInd3 = -1;if (pointSearchSqDis[0] < 25) {closestPointInd = pointSearchInd[0];int closestPointScan = int(laserCloudSurfLast->points[closestPointInd].intensity);float pointSqDis, minPointSqDis2 = 25, minPointSqDis3 = 25;for (int j = closestPointInd + 1; j < surfPointsFlatNum; j++) {if (int(laserCloudSurfLast->points[j].intensity) > closestPointScan + 2.5) {break;}pointSqDis = (laserCloudSurfLast->points[j].x - pointSel.x) * (laserCloudSurfLast->points[j].x - pointSel.x) + (laserCloudSurfLast->points[j].y - pointSel.y) * (laserCloudSurfLast->points[j].y - pointSel.y) + (laserCloudSurfLast->points[j].z - pointSel.z) * (laserCloudSurfLast->points[j].z - pointSel.z);if (int(laserCloudSurfLast->points[j].intensity) <= closestPointScan) {//如果點的線號小于等于最近點的線號(應該最多取等,也即同一線上的點)if (pointSqDis < minPointSqDis2) {minPointSqDis2 = pointSqDis;minPointInd2 = j;}} else {//如果點處在大于該線上if (pointSqDis < minPointSqDis3) {minPointSqDis3 = pointSqDis;minPointInd3 = j;}}}//同理for (int j = closestPointInd - 1; j >= 0; j--) {if (int(laserCloudSurfLast->points[j].intensity) < closestPointScan - 2.5) {break;}pointSqDis = (laserCloudSurfLast->points[j].x - pointSel.x) * (laserCloudSurfLast->points[j].x - pointSel.x) + (laserCloudSurfLast->points[j].y - pointSel.y) * (laserCloudSurfLast->points[j].y - pointSel.y) + (laserCloudSurfLast->points[j].z - pointSel.z) * (laserCloudSurfLast->points[j].z - pointSel.z);if (int(laserCloudSurfLast->points[j].intensity) >= closestPointScan) {if (pointSqDis < minPointSqDis2) {minPointSqDis2 = pointSqDis;minPointInd2 = j;}} else {if (pointSqDis < minPointSqDis3) {minPointSqDis3 = pointSqDis;minPointInd3 = j;}}}}pointSearchSurfInd1[i] = closestPointInd;//kd-tree最近距離點,-1表示未找到滿足要求的點pointSearchSurfInd2[i] = minPointInd2;//同一線號上的距離最近的點,-1表示未找到滿足要求的點pointSearchSurfInd3[i] = minPointInd3;//不同線號上的距離最近的點,-1表示未找到滿足要求的點}if (pointSearchSurfInd2[i] >= 0 && pointSearchSurfInd3[i] >= 0) {//找到了三個點tripod1 = laserCloudSurfLast->points[pointSearchSurfInd1[i]];//A點tripod2 = laserCloudSurfLast->points[pointSearchSurfInd2[i]];//B點tripod3 = laserCloudSurfLast->points[pointSearchSurfInd3[i]];//C點//向量AB = (tripod2.x - tripod1.x, tripod2.y - tripod1.y, tripod2.z - tripod1.z)//向量AC = (tripod3.x - tripod1.x, tripod3.y - tripod1.y, tripod3.z - tripod1.z)//向量AB AC的向量積(即叉乘),得到的是法向量//x軸方向分向量ifloat pa = (tripod2.y - tripod1.y) * (tripod3.z - tripod1.z) - (tripod3.y - tripod1.y) * (tripod2.z - tripod1.z);//y軸方向分向量jfloat pb = (tripod2.z - tripod1.z) * (tripod3.x - tripod1.x) - (tripod3.z - tripod1.z) * (tripod2.x - tripod1.x);//z軸方向分向量kfloat pc = (tripod2.x - tripod1.x) * (tripod3.y - tripod1.y) - (tripod3.x - tripod1.x) * (tripod2.y - tripod1.y);float pd = -(pa * tripod1.x + pb * tripod1.y + pc * tripod1.z);//法向量的模float ps = sqrt(pa * pa + pb * pb + pc * pc);//pa pb pc為法向量各方向上的單位向量pa /= ps;pb /= ps;pc /= ps;pd /= ps;//點到面的距離:向量OA與與法向量的點積除以法向量的模float pd2 = pa * pointSel.x + pb * pointSel.y + pc * pointSel.z + pd;//unusedpointProj = pointSel;pointProj.x -= pa * pd2;pointProj.y -= pb * pd2;pointProj.z -= pc * pd2;//同理計算權重float s = 1;if (iterCount >= 5) {s = 1 - 1.8 * fabs(pd2) / sqrt(sqrt(pointSel.x * pointSel.x+ pointSel.y * pointSel.y + pointSel.z * pointSel.z));}//考慮權重coeff.x = s * pa;coeff.y = s * pb;coeff.z = s * pc;coeff.intensity = s * pd2;if (s > 0.1 && pd2 != 0) {//保存原始點與相應的系數laserCloudOri->push_back(surfPointsFlat->points[i]);coeffSel->push_back(coeff);}}}

    3、構建Jacobian矩陣估計位姿

    LM 的計算流程為:

  • 計算matA,matB矩陣,可以Ax=B
  • 最小二乘法計算(QR分解),為了讓左邊滿秩,同乘At-> AtAX = At*B
  • 出現退化用預測矩陣P
  • /*****************************3、構建Jacobian矩陣估計位姿 ********************/cv::Mat matA(pointSelNum, 6, CV_32F, cv::Scalar::all(0));cv::Mat matAt(6, pointSelNum, CV_32F, cv::Scalar::all(0));cv::Mat matAtA(6, 6, CV_32F, cv::Scalar::all(0));cv::Mat matB(pointSelNum, 1, CV_32F, cv::Scalar::all(0));cv::Mat matAtB(6, 1, CV_32F, cv::Scalar::all(0));cv::Mat matX(6, 1, CV_32F, cv::Scalar::all(0));// 1.計算matA,matB矩陣// A=[J的偏導]; B=[權重系數*(點到直線的距離/點到平面的距離)] 求解公式: AX=B// 為了讓左邊滿秩,同乘At-> At*A*X = At*Bfor (int i = 0; i < pointSelNum; i++) {pointOri = laserCloudOri->points[i];coeff = coeffSel->points[i];float s = 1;float srx = sin(s * transform[0]);float crx = cos(s * transform[0]);float sry = sin(s * transform[1]);float cry = cos(s * transform[1]);float srz = sin(s * transform[2]);float crz = cos(s * transform[2]);float tx = s * transform[3];float ty = s * transform[4];float tz = s * transform[5];// J對rx,ry,rz,tx,ty,tz求解偏導float arx = (-s*crx*sry*srz*pointOri.x + s*crx*crz*sry*pointOri.y + s*srx*sry*pointOri.z + s*tx*crx*sry*srz - s*ty*crx*crz*sry - s*tz*srx*sry) * coeff.x+ (s*srx*srz*pointOri.x - s*crz*srx*pointOri.y + s*crx*pointOri.z+ s*ty*crz*srx - s*tz*crx - s*tx*srx*srz) * coeff.y+ (s*crx*cry*srz*pointOri.x - s*crx*cry*crz*pointOri.y - s*cry*srx*pointOri.z+ s*tz*cry*srx + s*ty*crx*cry*crz - s*tx*crx*cry*srz) * coeff.z;float ary = ((-s*crz*sry - s*cry*srx*srz)*pointOri.x + (s*cry*crz*srx - s*sry*srz)*pointOri.y - s*crx*cry*pointOri.z + tx*(s*crz*sry + s*cry*srx*srz) + ty*(s*sry*srz - s*cry*crz*srx) + s*tz*crx*cry) * coeff.x+ ((s*cry*crz - s*srx*sry*srz)*pointOri.x + (s*cry*srz + s*crz*srx*sry)*pointOri.y - s*crx*sry*pointOri.z+ s*tz*crx*sry - ty*(s*cry*srz + s*crz*srx*sry) - tx*(s*cry*crz - s*srx*sry*srz)) * coeff.z;float arz = ((-s*cry*srz - s*crz*srx*sry)*pointOri.x + (s*cry*crz - s*srx*sry*srz)*pointOri.y+ tx*(s*cry*srz + s*crz*srx*sry) - ty*(s*cry*crz - s*srx*sry*srz)) * coeff.x+ (-s*crx*crz*pointOri.x - s*crx*srz*pointOri.y+ s*ty*crx*srz + s*tx*crx*crz) * coeff.y+ ((s*cry*crz*srx - s*sry*srz)*pointOri.x + (s*crz*sry + s*cry*srx*srz)*pointOri.y+ tx*(s*sry*srz - s*cry*crz*srx) - ty*(s*crz*sry + s*cry*srx*srz)) * coeff.z;float atx = -s*(cry*crz - srx*sry*srz) * coeff.x + s*crx*srz * coeff.y - s*(crz*sry + cry*srx*srz) * coeff.z;float aty = -s*(cry*srz + crz*srx*sry) * coeff.x - s*crx*crz * coeff.y - s*(sry*srz - cry*crz*srx) * coeff.z;float atz = s*crx*sry * coeff.x - s*srx * coeff.y - s*crx*cry * coeff.z;float d2 = coeff.intensity;matA.at<float>(i, 0) = arx;matA.at<float>(i, 1) = ary;matA.at<float>(i, 2) = arz;matA.at<float>(i, 3) = atx;matA.at<float>(i, 4) = aty;matA.at<float>(i, 5) = atz;matB.at<float>(i, 0) = -0.05 * d2;}// 2.最小二乘法計算(QR分解)cv::transpose(matA, matAt);matAtA = matAt * matA;matAtB = matAt * matB;//求解matAtA * matX = matAtBcv::solve(matAtA, matAtB, matX, cv::DECOMP_QR);// 3.出現退化用預測矩陣Pif (iterCount == 0) {//特征值1*6矩陣cv::Mat matE(1, 6, CV_32F, cv::Scalar::all(0));//特征向量6*6矩陣cv::Mat matV(6, 6, CV_32F, cv::Scalar::all(0));cv::Mat matV2(6, 6, CV_32F, cv::Scalar::all(0));//求解特征值/特征向量cv::eigen(matAtA, matE, matV);matV.copyTo(matV2);isDegenerate = false;//特征值取值門檻float eignThre[6] = {10, 10, 10, 10, 10, 10};for (int i = 5; i >= 0; i--) {//從小到大查找if (matE.at<float>(0, i) < eignThre[i]) {//特征值太小,則認為處在兼并環境中,發生了退化for (int j = 0; j < 6; j++) {//對應的特征向量置為0matV2.at<float>(i, j) = 0;}isDegenerate = true;} else {break;}}//計算P矩陣matP = matV.inv() * matV2;}if (isDegenerate) {//如果發生退化,只使用預測矩陣P計算cv::Mat matX2(6, 1, CV_32F, cv::Scalar::all(0));matX.copyTo(matX2);matX = matP * matX2;}//累加每次迭代的旋轉平移量transform[0] += matX.at<float>(0, 0);transform[1] += matX.at<float>(1, 0);transform[2] += matX.at<float>(2, 0);transform[3] += matX.at<float>(3, 0);transform[4] += matX.at<float>(4, 0);transform[5] += matX.at<float>(5, 0);for(int i=0; i<6; i++){if(isnan(transform[i]))//判斷是否非數字transform[i]=0;}//計算旋轉平移量,如果很小就停止迭代float deltaR = sqrt(pow(rad2deg(matX.at<float>(0, 0)), 2) +pow(rad2deg(matX.at<float>(1, 0)), 2) +pow(rad2deg(matX.at<float>(2, 0)), 2));float deltaT = sqrt(pow(matX.at<float>(3, 0) * 100, 2) +pow(matX.at<float>(4, 0) * 100, 2) +pow(matX.at<float>(5, 0) * 100, 2));if (deltaR < 0.1 && deltaT < 0.1) {//迭代終止條件break;}}}

    4、坐標轉換

    求解的是點云間的相對運動,但他們是在這兩幀點云的局部坐標系下的,我們需要把它轉換到世界坐標系下,因此需要進行轉換。

  • 局部坐標系轉移到全局坐標系
  • 根據IMU修正旋轉量,插入imu旋轉,更新位姿
  • 歐拉角轉換成四元數,再發布出去四元數和平移量
  • 對k+1時刻的less特征點(邊緣+平面)轉移至k+1時刻的sweep的結束位置處的雷達坐標系下
  • 更新,畸變校正之后的點作為last點保存等下個點云進來進行匹配
  • 按照跳幀數publich邊沿點,平面點以及全部點給laserMapping(每隔一幀發一次)
  • 1.局部坐標系轉移到全局坐標系
    分為兩步驟,先把旋轉累積量全局化,再把平移量全局化。

    // 1.局部坐標系轉移到全局坐標系float rx, ry, rz, tx, ty, tz;// 1)旋轉角累計變化量相對于原點rx,ry,rzAccumulateRotation(transformSum[0], transformSum[1], transformSum[2], -transform[0], -transform[1] * 1.05, -transform[2], rx, ry, rz);float x1 = cos(rz) * (transform[3] - imuShiftFromStartX) - sin(rz) * (transform[4] - imuShiftFromStartY);float y1 = sin(rz) * (transform[3] - imuShiftFromStartX) + cos(rz) * (transform[4] - imuShiftFromStartY);float z1 = transform[5] * 1.05 - imuShiftFromStartZ;float x2 = x1;float y2 = cos(rx) * y1 - sin(rx) * z1;float z2 = sin(rx) * y1 + cos(rx) * z1;// 2)平移量相對于原點tx,ty,tztx = transformSum[3] - (cos(ry) * x2 + sin(ry) * z2);ty = transformSum[4] - y2;tz = transformSum[5] - (-sin(ry) * x2 + cos(ry) * z2);

    其中涉及到的旋轉累積量函數。
    AccumulateRotation()
    相對于第一個點云即原點,積累旋轉量.

    //相對于第一個點云即原點,積累旋轉量 void AccumulateRotation(float cx, float cy, float cz, float lx, float ly, float lz, float &ox, float &oy, float &oz) {float srx = cos(lx)*cos(cx)*sin(ly)*sin(cz) - cos(cx)*cos(cz)*sin(lx) - cos(lx)*cos(ly)*sin(cx);ox = -asin(srx);float srycrx = sin(lx)*(cos(cy)*sin(cz) - cos(cz)*sin(cx)*sin(cy)) + cos(lx)*sin(ly)*(cos(cy)*cos(cz) + sin(cx)*sin(cy)*sin(cz)) + cos(lx)*cos(ly)*cos(cx)*sin(cy);float crycrx = cos(lx)*cos(ly)*cos(cx)*cos(cy) - cos(lx)*sin(ly)*(cos(cz)*sin(cy) - cos(cy)*sin(cx)*sin(cz)) - sin(lx)*(sin(cy)*sin(cz) + cos(cy)*cos(cz)*sin(cx));oy = atan2(srycrx / cos(ox), crycrx / cos(ox));float srzcrx = sin(cx)*(cos(lz)*sin(ly) - cos(ly)*sin(lx)*sin(lz)) + cos(cx)*sin(cz)*(cos(ly)*cos(lz) + sin(lx)*sin(ly)*sin(lz)) + cos(lx)*cos(cx)*cos(cz)*sin(lz);float crzcrx = cos(lx)*cos(lz)*cos(cx)*cos(cz) - cos(cx)*sin(cz)*(cos(ly)*sin(lz) - cos(lz)*sin(lx)*sin(ly)) - sin(cx)*(sin(ly)*sin(lz) + cos(ly)*cos(lz)*sin(lx));oz = atan2(srzcrx / cos(ox), crzcrx / cos(ox)); }

    2.根據IMU修正旋轉量,插入imu旋轉,更新位姿

    PluginIMURotation(rx, ry, rz, imuPitchStart, imuYawStart, imuRollStart, imuPitchLast, imuYawLast, imuRollLast, rx, ry, rz);// 得到世界坐標系下的轉移矩陣TtransformSum[0] = rx;transformSum[1] = ry;transformSum[2] = rz;transformSum[3] = tx;transformSum[4] = ty;transformSum[5] = tz;

    其中涉及到的IMU修正函數。
    PluginIMURotation()
    利用IMU修正旋轉量,根據起始歐拉角,當前點云的歐拉角修正

    void PluginIMURotation(float bcx, float bcy, float bcz, float blx, float bly, float blz, float alx, float aly, float alz, float &acx, float &acy, float &acz) {float sbcx = sin(bcx);float cbcx = cos(bcx);float sbcy = sin(bcy);float cbcy = cos(bcy);float sbcz = sin(bcz);float cbcz = cos(bcz);float sblx = sin(blx);float cblx = cos(blx);float sbly = sin(bly);float cbly = cos(bly);float sblz = sin(blz);float cblz = cos(blz);float salx = sin(alx);float calx = cos(alx);float saly = sin(aly);float caly = cos(aly);float salz = sin(alz);float calz = cos(alz);float srx = -sbcx*(salx*sblx + calx*caly*cblx*cbly + calx*cblx*saly*sbly) - cbcx*cbcz*(calx*saly*(cbly*sblz - cblz*sblx*sbly) - calx*caly*(sbly*sblz + cbly*cblz*sblx) + cblx*cblz*salx) - cbcx*sbcz*(calx*caly*(cblz*sbly - cbly*sblx*sblz) - calx*saly*(cbly*cblz + sblx*sbly*sblz) + cblx*salx*sblz);acx = -asin(srx);float srycrx = (cbcy*sbcz - cbcz*sbcx*sbcy)*(calx*saly*(cbly*sblz - cblz*sblx*sbly) - calx*caly*(sbly*sblz + cbly*cblz*sblx) + cblx*cblz*salx) - (cbcy*cbcz + sbcx*sbcy*sbcz)*(calx*caly*(cblz*sbly - cbly*sblx*sblz) - calx*saly*(cbly*cblz + sblx*sbly*sblz) + cblx*salx*sblz) + cbcx*sbcy*(salx*sblx + calx*caly*cblx*cbly + calx*cblx*saly*sbly);float crycrx = (cbcz*sbcy - cbcy*sbcx*sbcz)*(calx*caly*(cblz*sbly - cbly*sblx*sblz) - calx*saly*(cbly*cblz + sblx*sbly*sblz) + cblx*salx*sblz) - (sbcy*sbcz + cbcy*cbcz*sbcx)*(calx*saly*(cbly*sblz - cblz*sblx*sbly) - calx*caly*(sbly*sblz + cbly*cblz*sblx) + cblx*cblz*salx) + cbcx*cbcy*(salx*sblx + calx*caly*cblx*cbly + calx*cblx*saly*sbly);acy = atan2(srycrx / cos(acx), crycrx / cos(acx));float srzcrx = sbcx*(cblx*cbly*(calz*saly - caly*salx*salz) - cblx*sbly*(caly*calz + salx*saly*salz) + calx*salz*sblx) - cbcx*cbcz*((caly*calz + salx*saly*salz)*(cbly*sblz - cblz*sblx*sbly) + (calz*saly - caly*salx*salz)*(sbly*sblz + cbly*cblz*sblx) - calx*cblx*cblz*salz) + cbcx*sbcz*((caly*calz + salx*saly*salz)*(cbly*cblz + sblx*sbly*sblz) + (calz*saly - caly*salx*salz)*(cblz*sbly - cbly*sblx*sblz) + calx*cblx*salz*sblz);float crzcrx = sbcx*(cblx*sbly*(caly*salz - calz*salx*saly) - cblx*cbly*(saly*salz + caly*calz*salx) + calx*calz*sblx) + cbcx*cbcz*((saly*salz + caly*calz*salx)*(sbly*sblz + cbly*cblz*sblx) + (caly*salz - calz*salx*saly)*(cbly*sblz - cblz*sblx*sbly) + calx*calz*cblx*cblz) - cbcx*sbcz*((saly*salz + caly*calz*salx)*(cblz*sbly - cbly*sblx*sblz) + (caly*salz - calz*salx*saly)*(cbly*cblz + sblx*sbly*sblz) - calx*calz*cblx*sblz);acz = atan2(srzcrx / cos(acx), crzcrx / cos(acx)); }

    3.歐拉角轉換成四元數,再發布出去四元數和平移量

    geometry_msgs::Quaternion geoQuat = tf::createQuaternionMsgFromRollPitchYaw(rz, -rx, -ry);laserOdometry.header.stamp = ros::Time().fromSec(timeSurfPointsLessFlat);laserOdometry.pose.pose.orientation.x = -geoQuat.y;laserOdometry.pose.pose.orientation.y = -geoQuat.z;laserOdometry.pose.pose.orientation.z = geoQuat.x;laserOdometry.pose.pose.orientation.w = geoQuat.w;laserOdometry.pose.pose.position.x = tx;laserOdometry.pose.pose.position.y = ty;laserOdometry.pose.pose.position.z = tz;pubLaserOdometry.publish(laserOdometry);// tf廣播新的平移旋轉之后的坐標系(rviz)laserOdometryTrans.stamp_ = ros::Time().fromSec(timeSurfPointsLessFlat);laserOdometryTrans.setRotation(tf::Quaternion(-geoQuat.y, -geoQuat.z, geoQuat.x, geoQuat.w));laserOdometryTrans.setOrigin(tf::Vector3(tx, ty, tz));tfBroadcaster.sendTransform(laserOdometryTrans);

    4.對k+1時刻的less特征點(邊緣+平面)轉移至k+1時刻的sweep的結束位置處的雷達坐標系下

    int cornerPointsLessSharpNum = cornerPointsLessSharp->points.size();for (int i = 0; i < cornerPointsLessSharpNum; i++) {TransformToEnd(&cornerPointsLessSharp->points[i], &cornerPointsLessSharp->points[i]);}int surfPointsLessFlatNum = surfPointsLessFlat->points.size();for (int i = 0; i < surfPointsLessFlatNum; i++) {TransformToEnd(&surfPointsLessFlat->points[i], &surfPointsLessFlat->points[i]);}frameCount++;// 點云全部點,每間隔一個點云數據相對點云最后一個點進行畸變校正if (frameCount >= skipFrameNum + 1) {int laserCloudFullResNum = laserCloudFullRes->points.size();for (int i = 0; i < laserCloudFullResNum; i++) {TransformToEnd(&laserCloudFullRes->points[i], &laserCloudFullRes->points[i]);}}

    其中,涉及到將當前時刻特征點投影到sweep結束位置的雷達坐標系TransformToEnd()。這里其實一起來講,有當前幀點云P(k+1) TransformToStart()和上一幀點云P(k) TransformToEnd()兩個函數,為了將兩幀點云去除畸變,統一到同一坐標系下計算。

    TransformToStart()
    當前點云中的點相對第一個點去除因勻速運動產生的畸變,效果相當于得到在點云掃描開始位置靜止掃描得到的點云

    void TransformToStart(PointType const * const pi, PointType * const po) {//插值系數計算,云中每個點的相對時間/點云周期10float s = 10 * (pi->intensity - int(pi->intensity));//線性插值:根據每個點在點云中的相對位置關系,乘以相應的旋轉平移系數float rx = s * transform[0];float ry = s * transform[1];float rz = s * transform[2];float tx = s * transform[3];float ty = s * transform[4];float tz = s * transform[5];//平移后繞z軸旋轉(-rz)float x1 = cos(rz) * (pi->x - tx) + sin(rz) * (pi->y - ty);float y1 = -sin(rz) * (pi->x - tx) + cos(rz) * (pi->y - ty);float z1 = (pi->z - tz);//繞x軸旋轉(-rx)float x2 = x1;float y2 = cos(rx) * y1 + sin(rx) * z1;float z2 = -sin(rx) * y1 + cos(rx) * z1;//繞y軸旋轉(-ry)po->x = cos(ry) * x2 - sin(ry) * z2;po->y = y2;po->z = sin(ry) * x2 + cos(ry) * z2;po->intensity = pi->intensity; }

    TransformToEnd()
    當前點云中的點相對第一個點去除因勻速運動產生的畸變,效果相當于得到在點云掃描結束位置靜止掃描得到的點云

    void TransformToEnd(PointType const * const pi, PointType * const po) {//插值系數計算float s = 10 * (pi->intensity - int(pi->intensity));float rx = s * transform[0];float ry = s * transform[1];float rz = s * transform[2];float tx = s * transform[3];float ty = s * transform[4];float tz = s * transform[5];//平移后繞z軸旋轉(-rz)float x1 = cos(rz) * (pi->x - tx) + sin(rz) * (pi->y - ty);float y1 = -sin(rz) * (pi->x - tx) + cos(rz) * (pi->y - ty);float z1 = (pi->z - tz);//繞x軸旋轉(-rx)float x2 = x1;float y2 = cos(rx) * y1 + sin(rx) * z1;float z2 = -sin(rx) * y1 + cos(rx) * z1;//繞y軸旋轉(-ry)float x3 = cos(ry) * x2 - sin(ry) * z2;float y3 = y2;float z3 = sin(ry) * x2 + cos(ry) * z2;//求出了相對于起始點校正的坐標rx = transform[0];ry = transform[1];rz = transform[2];tx = transform[3];ty = transform[4];tz = transform[5];//繞y軸旋轉(ry)float x4 = cos(ry) * x3 + sin(ry) * z3;float y4 = y3;float z4 = -sin(ry) * x3 + cos(ry) * z3;//繞x軸旋轉(rx)float x5 = x4;float y5 = cos(rx) * y4 - sin(rx) * z4;float z5 = sin(rx) * y4 + cos(rx) * z4;//繞z軸旋轉(rz),再平移float x6 = cos(rz) * x5 - sin(rz) * y5 + tx;float y6 = sin(rz) * x5 + cos(rz) * y5 + ty;float z6 = z5 + tz;//平移后繞z軸旋轉(imuRollStart)float x7 = cos(imuRollStart) * (x6 - imuShiftFromStartX) - sin(imuRollStart) * (y6 - imuShiftFromStartY);float y7 = sin(imuRollStart) * (x6 - imuShiftFromStartX) + cos(imuRollStart) * (y6 - imuShiftFromStartY);float z7 = z6 - imuShiftFromStartZ;//繞x軸旋轉(imuPitchStart)float x8 = x7;float y8 = cos(imuPitchStart) * y7 - sin(imuPitchStart) * z7;float z8 = sin(imuPitchStart) * y7 + cos(imuPitchStart) * z7;//繞y軸旋轉(imuYawStart)float x9 = cos(imuYawStart) * x8 + sin(imuYawStart) * z8;float y9 = y8;float z9 = -sin(imuYawStart) * x8 + cos(imuYawStart) * z8;//繞y軸旋轉(-imuYawLast)float x10 = cos(imuYawLast) * x9 - sin(imuYawLast) * z9;float y10 = y9;float z10 = sin(imuYawLast) * x9 + cos(imuYawLast) * z9;//繞x軸旋轉(-imuPitchLast)float x11 = x10;float y11 = cos(imuPitchLast) * y10 + sin(imuPitchLast) * z10;float z11 = -sin(imuPitchLast) * y10 + cos(imuPitchLast) * z10;//繞z軸旋轉(-imuRollLast)po->x = cos(imuRollLast) * x11 + sin(imuRollLast) * y11;po->y = -sin(imuRollLast) * x11 + cos(imuRollLast) * y11;po->z = z11;//只保留線號po->intensity = int(pi->intensity); }

    5.更新,畸變校正之后的點作為last點保存等下個點云進來進行匹配

    pcl::PointCloud<PointType>::Ptr laserCloudTemp = cornerPointsLessSharp;cornerPointsLessSharp = laserCloudCornerLast;laserCloudCornerLast = laserCloudTemp;laserCloudTemp = surfPointsLessFlat;surfPointsLessFlat = laserCloudSurfLast;laserCloudSurfLast = laserCloudTemp;laserCloudCornerLastNum = laserCloudCornerLast->points.size();laserCloudSurfLastNum = laserCloudSurfLast->points.size();// 點足夠多就構建kd-tree,否則棄用此幀,沿用上一幀數據的kd-treeif (laserCloudCornerLastNum > 10 && laserCloudSurfLastNum > 100) {kdtreeCornerLast->setInputCloud(laserCloudCornerLast);kdtreeSurfLast->setInputCloud(laserCloudSurfLast);}

    6.按照跳幀數publich邊沿點,平面點以及全部點給laserMapping(每隔一幀發一次)

    if (frameCount >= skipFrameNum + 1) {frameCount = 0;sensor_msgs::PointCloud2 laserCloudCornerLast2;pcl::toROSMsg(*laserCloudCornerLast, laserCloudCornerLast2);laserCloudCornerLast2.header.stamp = ros::Time().fromSec(timeSurfPointsLessFlat);laserCloudCornerLast2.header.frame_id = "/camera";pubLaserCloudCornerLast.publish(laserCloudCornerLast2);sensor_msgs::PointCloud2 laserCloudSurfLast2;pcl::toROSMsg(*laserCloudSurfLast, laserCloudSurfLast2);laserCloudSurfLast2.header.stamp = ros::Time().fromSec(timeSurfPointsLessFlat);laserCloudSurfLast2.header.frame_id = "/camera";pubLaserCloudSurfLast.publish(laserCloudSurfLast2);sensor_msgs::PointCloud2 laserCloudFullRes3;pcl::toROSMsg(*laserCloudFullRes, laserCloudFullRes3);laserCloudFullRes3.header.stamp = ros::Time().fromSec(timeSurfPointsLessFlat);laserCloudFullRes3.header.frame_id = "/camera";pubLaserCloudFullRes.publish(laserCloudFullRes3);}}status = ros::ok();rate.sleep();

    總結

    以上是生活随笔為你收集整理的LOAM源码解析2——laserOdometry的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    少妇太爽了在线观看 | 久久人人爽人人爽人人片ⅴ | 国产激情艳情在线看视频 | 精品国产av色一区二区深夜久久 | 人妻插b视频一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 亚洲精品午夜无码电影网 | 无人区乱码一区二区三区 | 清纯唯美经典一区二区 | 日韩精品久久久肉伦网站 | 国产精品无码mv在线观看 | 水蜜桃色314在线观看 | 麻豆国产人妻欲求不满谁演的 | 久久精品99久久香蕉国产色戒 | 欧美自拍另类欧美综合图片区 | 乱码av麻豆丝袜熟女系列 | 99精品久久毛片a片 | 中文字幕乱妇无码av在线 | 少妇高潮喷潮久久久影院 | 搡女人真爽免费视频大全 | 人妻无码久久精品人妻 | 999久久久国产精品消防器材 | 亚洲七七久久桃花影院 | 强奷人妻日本中文字幕 | 国产成人精品三级麻豆 | 国产av无码专区亚洲awww | 97久久精品无码一区二区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 国产精品久久福利网站 | 欧美丰满少妇xxxx性 | 国产午夜亚洲精品不卡下载 | 日韩精品成人一区二区三区 | 在线精品国产一区二区三区 | 99久久精品无码一区二区毛片 | 在线a亚洲视频播放在线观看 | 色综合久久久无码网中文 | 成年美女黄网站色大免费全看 | 国产国产精品人在线视 | 一区二区三区乱码在线 | 欧洲 | 香蕉久久久久久av成人 | 久久99精品国产麻豆蜜芽 | 国产高潮视频在线观看 | 丰满人妻精品国产99aⅴ | 俺去俺来也www色官网 | 亲嘴扒胸摸屁股激烈网站 | 又湿又紧又大又爽a视频国产 | 天天av天天av天天透 | 99er热精品视频 | 又黄又爽又色的视频 | 国产偷自视频区视频 | 青青青手机频在线观看 | 中文久久乱码一区二区 | 国产国语老龄妇女a片 | 丰满人妻翻云覆雨呻吟视频 | 国产精品亚洲а∨无码播放麻豆 | 日本精品人妻无码77777 天堂一区人妻无码 | 色综合久久88色综合天天 | 中文字幕中文有码在线 | 六月丁香婷婷色狠狠久久 | 国产小呦泬泬99精品 | 在线精品亚洲一区二区 | 人人妻人人澡人人爽人人精品浪潮 | 亚洲乱码中文字幕在线 | 国产精品高潮呻吟av久久4虎 | 久热国产vs视频在线观看 | 一本精品99久久精品77 | 国产一精品一av一免费 | 婷婷综合久久中文字幕蜜桃三电影 | 蜜桃av抽搐高潮一区二区 | 成 人 免费观看网站 | 亚洲色欲色欲欲www在线 | 国精产品一品二品国精品69xx | 国产麻豆精品精东影业av网站 | 久久精品国产亚洲精品 | 亚洲人成人无码网www国产 | 欧美成人免费全部网站 | 中文字幕日韩精品一区二区三区 | 熟妇女人妻丰满少妇中文字幕 | 色狠狠av一区二区三区 | 兔费看少妇性l交大片免费 | 色综合久久久无码中文字幕 | 东京热一精品无码av | 中文字幕无码av波多野吉衣 | 男人的天堂2018无码 | 国产办公室秘书无码精品99 | 亚洲一区二区三区国产精华液 | 久久视频在线观看精品 | 永久免费观看美女裸体的网站 | 久久午夜无码鲁丝片午夜精品 | 丰满人妻被黑人猛烈进入 | 国产精品人人妻人人爽 | 亚洲日韩乱码中文无码蜜桃臀网站 | 女人和拘做爰正片视频 | 亚洲欧美综合区丁香五月小说 | 国产成人精品必看 | 牛和人交xxxx欧美 | 亚洲成a人片在线观看无码 | 色婷婷久久一区二区三区麻豆 | 伊人久久大香线蕉午夜 | 久久精品99久久香蕉国产色戒 | 久久人人爽人人爽人人片ⅴ | 久久精品国产一区二区三区肥胖 | 日本精品久久久久中文字幕 | 久久久久久a亚洲欧洲av冫 | 99视频精品全部免费免费观看 | 久久精品国产99精品亚洲 | 中文字幕乱码中文乱码51精品 | 秋霞成人午夜鲁丝一区二区三区 | 国产高潮视频在线观看 | 国产熟妇高潮叫床视频播放 | 亚洲精品成人av在线 | 狠狠色丁香久久婷婷综合五月 | 捆绑白丝粉色jk震动捧喷白浆 | 精品乱码久久久久久久 | 久久综合激激的五月天 | 久久亚洲国产成人精品性色 | 亚洲欧美综合区丁香五月小说 | 天干天干啦夜天干天2017 | 中文字幕无线码免费人妻 | 亚洲综合无码一区二区三区 | 欧美性生交xxxxx久久久 | 999久久久国产精品消防器材 | 国产成人精品久久亚洲高清不卡 | 国产精品人人爽人人做我的可爱 | 成人aaa片一区国产精品 | 亚拍精品一区二区三区探花 | 久久久久se色偷偷亚洲精品av | 国语精品一区二区三区 | 初尝人妻少妇中文字幕 | 又粗又大又硬毛片免费看 | 精品国产一区二区三区av 性色 | 丰满岳乱妇在线观看中字无码 | 亚洲 另类 在线 欧美 制服 | 久久五月精品中文字幕 | 色一情一乱一伦一视频免费看 | 欧美日本免费一区二区三区 | 亚洲一区二区三区香蕉 | 18禁止看的免费污网站 | 欧美人与动性行为视频 | 青草视频在线播放 | 日韩精品无码一本二本三本色 | 精品国产一区二区三区av 性色 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 无码精品人妻一区二区三区av | 亚洲国产精品久久久天堂 | 无码毛片视频一区二区本码 | 日韩精品a片一区二区三区妖精 | 欧洲熟妇色 欧美 | 荫蒂被男人添的好舒服爽免费视频 | 噜噜噜亚洲色成人网站 | 4hu四虎永久在线观看 | 国模大胆一区二区三区 | 又粗又大又硬毛片免费看 | 东京热一精品无码av | 国产色视频一区二区三区 | 人妻少妇精品视频专区 | 成人精品一区二区三区中文字幕 | 午夜福利试看120秒体验区 | 精品久久久中文字幕人妻 | 中文字幕人妻丝袜二区 | 亚洲人成网站在线播放942 | 免费无码的av片在线观看 | 久久综合九色综合97网 | 色综合久久久无码网中文 | 熟妇人妻无码xxx视频 | 欧美人与善在线com | 国产精品对白交换视频 | 99久久久国产精品无码免费 | 樱花草在线播放免费中文 | 日本va欧美va欧美va精品 | 日本精品人妻无码77777 天堂一区人妻无码 | 国内综合精品午夜久久资源 | 国产精品国产自线拍免费软件 | 亚洲精品久久久久中文第一幕 | 欧美老人巨大xxxx做受 | 欧美人妻一区二区三区 | 最近免费中文字幕中文高清百度 | 樱花草在线社区www | 无码毛片视频一区二区本码 | 东京无码熟妇人妻av在线网址 | www一区二区www免费 | 精品无人区无码乱码毛片国产 | 老子影院午夜伦不卡 | 国产精品99久久精品爆乳 | 国产成人一区二区三区别 | 老太婆性杂交欧美肥老太 | 亚洲国产综合无码一区 | 精品久久综合1区2区3区激情 | 人妻少妇精品无码专区动漫 | 久久国产劲爆∧v内射 | www一区二区www免费 | 国产熟女一区二区三区四区五区 | 99久久亚洲精品无码毛片 | 久久99精品久久久久久 | 国内少妇偷人精品视频免费 | 亚洲国产一区二区三区在线观看 | 又大又紧又粉嫩18p少妇 | 亚洲另类伦春色综合小说 | 国产乱子伦视频在线播放 | 好爽又高潮了毛片免费下载 | 欧美大屁股xxxxhd黑色 | 未满成年国产在线观看 | 欧美性生交xxxxx久久久 | 九九久久精品国产免费看小说 | 欧美日韩一区二区免费视频 | 亚洲乱亚洲乱妇50p | 亚洲狠狠婷婷综合久久 | 99久久亚洲精品无码毛片 | 中文字幕日韩精品一区二区三区 | 蜜桃av抽搐高潮一区二区 | 日韩欧美中文字幕在线三区 | √8天堂资源地址中文在线 | 国产亚洲精品久久久久久国模美 | 国产成人精品视频ⅴa片软件竹菊 | 精品久久久久香蕉网 | 亚洲成色在线综合网站 | 青春草在线视频免费观看 | 国产另类ts人妖一区二区 | 国产精品亚洲lv粉色 | 日本精品高清一区二区 | 国产成人无码av在线影院 | 乱人伦人妻中文字幕无码 | 亚洲а∨天堂久久精品2021 | 午夜免费福利小电影 | 小泽玛莉亚一区二区视频在线 | 在线欧美精品一区二区三区 | 日本www一道久久久免费榴莲 | 四虎永久在线精品免费网址 | 日产精品高潮呻吟av久久 | 欧美兽交xxxx×视频 | 久久精品一区二区三区四区 | 伊人色综合久久天天小片 | 无码av岛国片在线播放 | 色婷婷综合激情综在线播放 | 波多野结衣av一区二区全免费观看 | 精品日本一区二区三区在线观看 | 在线精品国产一区二区三区 | 亚洲人亚洲人成电影网站色 | 久久综合给合久久狠狠狠97色 | 精品国产一区av天美传媒 | 久久伊人色av天堂九九小黄鸭 | √天堂中文官网8在线 | 色偷偷av老熟女 久久精品人妻少妇一区二区三区 | 久久精品丝袜高跟鞋 | 女人色极品影院 | 激情综合激情五月俺也去 | 日本爽爽爽爽爽爽在线观看免 | 国产人妻人伦精品1国产丝袜 | 奇米影视888欧美在线观看 | 亚洲一区二区三区无码久久 | 无码av最新清无码专区吞精 | 无码福利日韩神码福利片 | 日本一卡2卡3卡四卡精品网站 | 精品国产av色一区二区深夜久久 | 狠狠色噜噜狠狠狠狠7777米奇 | 精品久久久无码中文字幕 | 日韩精品成人一区二区三区 | 人妻互换免费中文字幕 | 久久久精品欧美一区二区免费 | 亚洲国产精品一区二区第一页 | 久久99精品国产麻豆蜜芽 | 欧美精品国产综合久久 | 久久亚洲精品成人无码 | 小泽玛莉亚一区二区视频在线 | 久久久精品欧美一区二区免费 | 国产精品高潮呻吟av久久4虎 | 丰满人妻被黑人猛烈进入 | 久精品国产欧美亚洲色aⅴ大片 | 激情国产av做激情国产爱 | 99久久婷婷国产综合精品青草免费 | 久久久国产精品无码免费专区 | 99久久人妻精品免费二区 | 国产欧美亚洲精品a | 国产真实伦对白全集 | 无码福利日韩神码福利片 | 亚洲欧美中文字幕5发布 | 亚洲精品综合五月久久小说 | 日韩少妇白浆无码系列 | 国产麻豆精品精东影业av网站 | 亚洲精品午夜国产va久久成人 | 国产色在线 | 国产 | 亚洲中文字幕在线观看 | 暴力强奷在线播放无码 | 性欧美牲交xxxxx视频 | 久久人人爽人人人人片 | 无码av最新清无码专区吞精 | 国产精品久久久久久亚洲影视内衣 | 国产在线精品一区二区三区直播 | 国产绳艺sm调教室论坛 | 初尝人妻少妇中文字幕 | v一区无码内射国产 | 精品午夜福利在线观看 | 亚洲乱码中文字幕在线 | 亚洲一区二区三区国产精华液 | 日韩av无码一区二区三区不卡 | 成人欧美一区二区三区 | 国产精品自产拍在线观看 | 日本一区二区更新不卡 | 影音先锋中文字幕无码 | 色欲综合久久中文字幕网 | 中文字幕无码av激情不卡 | 亚洲成熟女人毛毛耸耸多 | 性色欲网站人妻丰满中文久久不卡 | 中文字幕久久久久人妻 | 久久精品人人做人人综合试看 | 亚洲日韩精品欧美一区二区 | 国产亚洲欧美在线专区 | 国产精品久久久久久亚洲毛片 | 精品人妻人人做人人爽夜夜爽 | 人人妻人人澡人人爽人人精品 | 国产精品久久精品三级 | 中文字幕+乱码+中文字幕一区 | 无码福利日韩神码福利片 | 小泽玛莉亚一区二区视频在线 | 无码一区二区三区在线 | 久久天天躁狠狠躁夜夜免费观看 | 成 人 免费观看网站 | 亚洲色无码一区二区三区 | 55夜色66夜色国产精品视频 | 日日摸天天摸爽爽狠狠97 | ass日本丰满熟妇pics | 国产精品沙发午睡系列 | 爽爽影院免费观看 | 麻豆国产人妻欲求不满谁演的 | 亚洲精品中文字幕乱码 | 亚洲欧洲中文日韩av乱码 | 在线观看免费人成视频 | 亚洲男人av天堂午夜在 | 亚洲乱码中文字幕在线 | 丁香啪啪综合成人亚洲 | 日日碰狠狠躁久久躁蜜桃 | 大地资源中文第3页 | 国产精品久久福利网站 | 成在人线av无码免观看麻豆 | 中文字幕精品av一区二区五区 | 亚洲a无码综合a国产av中文 | 日韩精品一区二区av在线 | 六十路熟妇乱子伦 | 四虎国产精品免费久久 | 日日摸夜夜摸狠狠摸婷婷 | 一本大道伊人av久久综合 | 在线天堂新版最新版在线8 | 2019午夜福利不卡片在线 | 中文精品久久久久人妻不卡 | 亚洲 另类 在线 欧美 制服 | 老司机亚洲精品影院 | 久久综合网欧美色妞网 | 精品少妇爆乳无码av无码专区 | 国产人妻久久精品二区三区老狼 | 鲁鲁鲁爽爽爽在线视频观看 | 正在播放老肥熟妇露脸 | www国产精品内射老师 | 亚洲一区二区三区国产精华液 | 国产激情艳情在线看视频 | 国产在线无码精品电影网 | 啦啦啦www在线观看免费视频 | 国产69精品久久久久app下载 | 男女爱爱好爽视频免费看 | 偷窥村妇洗澡毛毛多 | 国产激情一区二区三区 | 一本无码人妻在中文字幕免费 | 亚洲精品中文字幕乱码 | 国产精品a成v人在线播放 | 狠狠噜狠狠狠狠丁香五月 | 国产精品第一国产精品 | 国产精品久久久久久亚洲毛片 | 国产乱人无码伦av在线a | 国产亚洲精品久久久久久国模美 | 中国女人内谢69xxxxxa片 | 精品日本一区二区三区在线观看 | 波多野结衣高清一区二区三区 | 亚洲综合伊人久久大杳蕉 | 一二三四社区在线中文视频 | 色综合久久久久综合一本到桃花网 | 久久综合色之久久综合 | 图片区 小说区 区 亚洲五月 | 国产av人人夜夜澡人人爽麻豆 | 亚洲va欧美va天堂v国产综合 | 亚洲娇小与黑人巨大交 | 久久这里只有精品视频9 | 久9re热视频这里只有精品 | 草草网站影院白丝内射 | 老太婆性杂交欧美肥老太 | 国产精品爱久久久久久久 | 国产黄在线观看免费观看不卡 | 人妻中文无码久热丝袜 | 天天爽夜夜爽夜夜爽 | 色综合视频一区二区三区 | 天天躁日日躁狠狠躁免费麻豆 | 扒开双腿疯狂进出爽爽爽视频 | 成在人线av无码免费 | 国产在线无码精品电影网 | 国产高潮视频在线观看 | 牲欲强的熟妇农村老妇女 | 丰满人妻被黑人猛烈进入 | 亚洲日韩一区二区三区 | 人妻夜夜爽天天爽三区 | 两性色午夜视频免费播放 | 国产情侣作爱视频免费观看 | 无码国产激情在线观看 | 美女毛片一区二区三区四区 | 人人澡人人妻人人爽人人蜜桃 | 国产一区二区三区日韩精品 | 2020久久香蕉国产线看观看 | 国产成人综合在线女婷五月99播放 | 国产艳妇av在线观看果冻传媒 | 九九热爱视频精品 | 国产凸凹视频一区二区 | 国产精华av午夜在线观看 | 一区二区三区高清视频一 | 欧美激情内射喷水高潮 | 国产成人无码a区在线观看视频app | 成人亚洲精品久久久久软件 | 国产精品igao视频网 | 免费乱码人妻系列无码专区 | 97夜夜澡人人双人人人喊 | 18黄暴禁片在线观看 | 亚洲色成人中文字幕网站 | 国产激情一区二区三区 | 黑人巨大精品欧美一区二区 | 日本欧美一区二区三区乱码 | 兔费看少妇性l交大片免费 | 亚洲欧美综合区丁香五月小说 | 高清无码午夜福利视频 | 久久国内精品自在自线 | 熟女少妇在线视频播放 | 久久久久成人精品免费播放动漫 | 一本久久伊人热热精品中文字幕 | 亚洲 激情 小说 另类 欧美 | 国产亚洲精品精品国产亚洲综合 | 捆绑白丝粉色jk震动捧喷白浆 | 国内老熟妇对白xxxxhd | 欧美精品免费观看二区 | 亚洲呦女专区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 久在线观看福利视频 | 18黄暴禁片在线观看 | 亚洲中文字幕无码中文字在线 | 成人一区二区免费视频 | 亚洲中文字幕在线无码一区二区 | 亚洲日韩一区二区三区 | 在教室伦流澡到高潮hnp视频 | 在线播放免费人成毛片乱码 | 亚洲自偷自偷在线制服 | 麻豆国产人妻欲求不满谁演的 | 中文字幕av伊人av无码av | 玩弄少妇高潮ⅹxxxyw | 无码毛片视频一区二区本码 | 无码任你躁久久久久久久 | 亚洲a无码综合a国产av中文 | 免费看男女做好爽好硬视频 | 天天燥日日燥 | 在线观看欧美一区二区三区 | 欧美精品一区二区精品久久 | 亚洲国产欧美日韩精品一区二区三区 | 色婷婷欧美在线播放内射 | 亚洲综合另类小说色区 | 我要看www免费看插插视频 | 日本大乳高潮视频在线观看 | 久久久久久国产精品无码下载 | 欧美精品免费观看二区 | 亚洲国产成人a精品不卡在线 | 色婷婷av一区二区三区之红樱桃 | 一本久道久久综合狠狠爱 | 九九在线中文字幕无码 | 人妻体内射精一区二区三四 | 国产另类ts人妖一区二区 | 日本熟妇人妻xxxxx人hd | 成人片黄网站色大片免费观看 | 亚洲色大成网站www国产 | 又粗又大又硬毛片免费看 | 中文久久乱码一区二区 | 亚洲欧美中文字幕5发布 | 国产亚洲精品久久久久久国模美 | 国产成人无码专区 | 亚洲欧美日韩成人高清在线一区 | 国产色在线 | 国产 | 18无码粉嫩小泬无套在线观看 | 久久久中文字幕日本无吗 | aa片在线观看视频在线播放 | 精品久久久久久人妻无码中文字幕 | 亚洲人成网站色7799 | 亚洲精品午夜无码电影网 | 国产黄在线观看免费观看不卡 | 88国产精品欧美一区二区三区 | 呦交小u女精品视频 | 国产精品自产拍在线观看 | 无遮挡国产高潮视频免费观看 | 粗大的内捧猛烈进出视频 | 久久久久久亚洲精品a片成人 | 久久久久久亚洲精品a片成人 | 中文无码成人免费视频在线观看 | 一本久久a久久精品vr综合 | 色窝窝无码一区二区三区色欲 | 四虎永久在线精品免费网址 | 高清不卡一区二区三区 | 麻豆国产丝袜白领秘书在线观看 | 欧美性生交xxxxx久久久 | 亚拍精品一区二区三区探花 | 欧美日韩一区二区三区自拍 | 亚洲自偷自拍另类第1页 | 人人妻人人澡人人爽欧美一区九九 | 国产精品对白交换视频 | 久久无码中文字幕免费影院蜜桃 | 四虎国产精品免费久久 | 国产精品久久久久影院嫩草 | 久久精品女人的天堂av | 精品成在人线av无码免费看 | 图片区 小说区 区 亚洲五月 | 无码精品人妻一区二区三区av | 99精品视频在线观看免费 | 乱人伦中文视频在线观看 | 国产美女极度色诱视频www | 欧美日本免费一区二区三区 | 激情亚洲一区国产精品 | 国产成人无码一二三区视频 | 国产手机在线αⅴ片无码观看 | 国产精品久久精品三级 | 国产高潮视频在线观看 | 国产精品毛片一区二区 | 久久www免费人成人片 | 大屁股大乳丰满人妻 | 国产97在线 | 亚洲 | 国产免费无码一区二区视频 | 色一情一乱一伦一视频免费看 | 久久久久se色偷偷亚洲精品av | 中文无码伦av中文字幕 | 日本在线高清不卡免费播放 | 四虎永久在线精品免费网址 | 日韩欧美群交p片內射中文 | 九九热爱视频精品 | 亚洲中文字幕在线观看 | 欧美日韩色另类综合 | 欧美xxxx黑人又粗又长 | 日本精品少妇一区二区三区 | 丰满肥臀大屁股熟妇激情视频 | 精品aⅴ一区二区三区 | 无遮挡啪啪摇乳动态图 | 老太婆性杂交欧美肥老太 | 亚洲一区二区三区在线观看网站 | 精品少妇爆乳无码av无码专区 | 欧美人与禽猛交狂配 | yw尤物av无码国产在线观看 | 日韩欧美中文字幕在线三区 | 亚洲伊人久久精品影院 | 天堂亚洲2017在线观看 | 久青草影院在线观看国产 | 中文无码精品a∨在线观看不卡 | 久久国产精品偷任你爽任你 | а天堂中文在线官网 | 中文字幕无码av波多野吉衣 | 亚洲最大成人网站 | 国产av人人夜夜澡人人爽麻豆 | 亚洲欧美中文字幕5发布 | 亚洲国产成人av在线观看 | 精品国产aⅴ无码一区二区 | 亚洲娇小与黑人巨大交 | 久久久国产一区二区三区 | 精品无人国产偷自产在线 | 国内丰满熟女出轨videos | 99久久精品日本一区二区免费 | 国产sm调教视频在线观看 | 一区二区三区乱码在线 | 欧洲 | 欧美熟妇另类久久久久久多毛 | 99麻豆久久久国产精品免费 | 国内揄拍国内精品少妇国语 | 国产精品18久久久久久麻辣 | 黑人大群体交免费视频 | 天堂无码人妻精品一区二区三区 | 亚洲国产欧美日韩精品一区二区三区 | 国产手机在线αⅴ片无码观看 | 乱中年女人伦av三区 | 日本精品少妇一区二区三区 | 精品一区二区三区波多野结衣 | 欧美三级a做爰在线观看 | 熟女体下毛毛黑森林 | 国产人成高清在线视频99最全资源 | 97资源共享在线视频 | 人妻无码αv中文字幕久久琪琪布 | 国产乱人偷精品人妻a片 | 亚洲乱码国产乱码精品精 | 国产片av国语在线观看 | 亚洲一区二区三区无码久久 | 国精产品一品二品国精品69xx | 未满成年国产在线观看 | 精品 日韩 国产 欧美 视频 | 日韩少妇内射免费播放 | 18禁止看的免费污网站 | v一区无码内射国产 | 国产亚洲欧美在线专区 | 欧美黑人巨大xxxxx | 欧美国产日韩久久mv | 国产精品欧美成人 | 熟女体下毛毛黑森林 | 国产偷自视频区视频 | 国产亚洲精品久久久ai换 | 中文久久乱码一区二区 | 欧美 丝袜 自拍 制服 另类 | 伊人久久大香线焦av综合影院 | 蜜臀av无码人妻精品 | 国产成人一区二区三区在线观看 | 日韩精品无码一本二本三本色 | 荡女精品导航 | 精品无码一区二区三区的天堂 | 国产亚洲视频中文字幕97精品 | 国产精品久久久av久久久 | 水蜜桃av无码 | 国产精品香蕉在线观看 | 成人试看120秒体验区 | 久久99精品久久久久久动态图 | 成熟女人特级毛片www免费 | 蜜桃视频插满18在线观看 | 无码人妻丰满熟妇区五十路百度 | 免费无码av一区二区 | 男女下面进入的视频免费午夜 | 日韩精品a片一区二区三区妖精 | 久久久久久九九精品久 | 伊人久久大香线焦av综合影院 | 亚洲国产精品久久久天堂 | 大乳丰满人妻中文字幕日本 | 熟女体下毛毛黑森林 | 永久免费观看美女裸体的网站 | 亚洲色欲色欲天天天www | 久久久国产一区二区三区 | 欧美日韩一区二区综合 | 女高中生第一次破苞av | 国产人妻人伦精品1国产丝袜 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国产疯狂伦交大片 | 精品久久8x国产免费观看 | 亚洲欧美日韩成人高清在线一区 | www国产精品内射老师 | 国产农村妇女高潮大叫 | 岛国片人妻三上悠亚 | 国产亚洲人成a在线v网站 | 青青青手机频在线观看 | 国产在线精品一区二区高清不卡 | 国产区女主播在线观看 | 国产亚洲精品精品国产亚洲综合 | 久久精品中文闷骚内射 | 99视频精品全部免费免费观看 | 99精品国产综合久久久久五月天 | 亚洲综合在线一区二区三区 | 亚洲精品中文字幕 | 欧洲vodafone精品性 | 青青久在线视频免费观看 | 成人aaa片一区国产精品 | 成熟女人特级毛片www免费 | 妺妺窝人体色www在线小说 | 精品无码av一区二区三区 | 亚洲精品久久久久avwww潮水 | 97久久国产亚洲精品超碰热 | 乱码av麻豆丝袜熟女系列 | 精品人人妻人人澡人人爽人人 | 免费人成在线视频无码 | 青青久在线视频免费观看 | 亚洲色无码一区二区三区 | 日韩无套无码精品 | 亚洲爆乳精品无码一区二区三区 | 国产一区二区三区影院 | 亚洲欧美综合区丁香五月小说 | 国产在热线精品视频 | 午夜嘿嘿嘿影院 | 国产在线aaa片一区二区99 | 色偷偷人人澡人人爽人人模 | 久久国产精品精品国产色婷婷 | 国产精品亚洲а∨无码播放麻豆 | 中文字幕av日韩精品一区二区 | 国产精品亚洲lv粉色 | 内射欧美老妇wbb | 又紧又大又爽精品一区二区 | 在线精品亚洲一区二区 | 亚洲日韩av一区二区三区四区 | 日日天干夜夜狠狠爱 | 国产精品二区一区二区aⅴ污介绍 | 蜜桃视频插满18在线观看 | 狠狠色丁香久久婷婷综合五月 | 色综合久久88色综合天天 | 无码任你躁久久久久久久 | 久久久久久久人妻无码中文字幕爆 | 国产真人无遮挡作爱免费视频 | 大屁股大乳丰满人妻 | 日本高清一区免费中文视频 | 1000部啪啪未满十八勿入下载 | 女人高潮内射99精品 | 欧美亚洲日韩国产人成在线播放 | 久久天天躁夜夜躁狠狠 | 无码人妻丰满熟妇区五十路百度 | 国产精品.xx视频.xxtv | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲a无码综合a国产av中文 | 久久精品99久久香蕉国产色戒 | 国产亚洲精品久久久ai换 | 久久精品无码一区二区三区 | 国产精品毛多多水多 | 中文字幕av伊人av无码av | 久久久av男人的天堂 | 亚洲无人区午夜福利码高清完整版 | 成人免费无码大片a毛片 | 亚洲精品一区二区三区大桥未久 | 欧美日韩一区二区免费视频 | 日韩视频 中文字幕 视频一区 | 桃花色综合影院 | 色五月五月丁香亚洲综合网 | 中文字幕无码av波多野吉衣 | 国产9 9在线 | 中文 | 午夜无码区在线观看 | 国产一区二区三区精品视频 | 大肉大捧一进一出好爽视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 国产精品高潮呻吟av久久4虎 | 国产又爽又黄又刺激的视频 | 中文字幕无码av波多野吉衣 | 一二三四在线观看免费视频 | 日韩欧美群交p片內射中文 | 久久综合久久自在自线精品自 | 日产精品高潮呻吟av久久 | 欧美黑人巨大xxxxx | 亚洲无人区午夜福利码高清完整版 | 九九在线中文字幕无码 | 一本久久伊人热热精品中文字幕 | 久久天天躁夜夜躁狠狠 | a片免费视频在线观看 | 伊人久久大香线蕉午夜 | 精品国产乱码久久久久乱码 | aⅴ亚洲 日韩 色 图网站 播放 | 300部国产真实乱 | 久久久久久久久蜜桃 | 国产女主播喷水视频在线观看 | 婷婷综合久久中文字幕蜜桃三电影 | 国产麻豆精品精东影业av网站 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产人妻精品午夜福利免费 | 日本熟妇大屁股人妻 | 精品无码一区二区三区的天堂 | 少妇人妻大乳在线视频 | 久久www免费人成人片 | 日本精品高清一区二区 | 亚洲精品欧美二区三区中文字幕 | 精品久久8x国产免费观看 | 福利一区二区三区视频在线观看 | 久久99久久99精品中文字幕 | 久久国产精品二国产精品 | 在线观看欧美一区二区三区 | 国产成人无码午夜视频在线观看 | 学生妹亚洲一区二区 | 国精品人妻无码一区二区三区蜜柚 | 性色欲网站人妻丰满中文久久不卡 | 中文字幕av日韩精品一区二区 | 欧洲欧美人成视频在线 | 狠狠色丁香久久婷婷综合五月 | 日本乱偷人妻中文字幕 | 性欧美牲交在线视频 | 捆绑白丝粉色jk震动捧喷白浆 | 欧美喷潮久久久xxxxx | 18禁止看的免费污网站 | 国产极品美女高潮无套在线观看 | 亚洲国产一区二区三区在线观看 | 又色又爽又黄的美女裸体网站 | 蜜桃无码一区二区三区 | 久久久久se色偷偷亚洲精品av | 丰满岳乱妇在线观看中字无码 | 国产人妻人伦精品1国产丝袜 | 欧美人妻一区二区三区 | 丝袜足控一区二区三区 | 中文精品无码中文字幕无码专区 | 成人免费无码大片a毛片 | 国产成人综合在线女婷五月99播放 | 四虎国产精品免费久久 | 日本在线高清不卡免费播放 | 玩弄中年熟妇正在播放 | 男人扒开女人内裤强吻桶进去 | 日韩精品一区二区av在线 | 波多野结衣乳巨码无在线观看 | 一本色道婷婷久久欧美 | 中文字幕无码免费久久99 | 国产成人精品优优av | 免费人成在线视频无码 | 无码人妻出轨黑人中文字幕 | 国产精品va在线播放 | 亚洲日韩av一区二区三区中文 | 一二三四在线观看免费视频 | av无码久久久久不卡免费网站 | 日日躁夜夜躁狠狠躁 | 日韩无套无码精品 | 国产精品无码一区二区三区不卡 | 国产莉萝无码av在线播放 | 午夜福利电影 | 少妇高潮喷潮久久久影院 | 人妻与老人中文字幕 | 中文字幕亚洲情99在线 | 人人超人人超碰超国产 | 国内综合精品午夜久久资源 | 国产人妻久久精品二区三区老狼 | 国产亚洲tv在线观看 | 亚洲 欧美 激情 小说 另类 | 久久综合给合久久狠狠狠97色 | 欧美午夜特黄aaaaaa片 | 国产激情精品一区二区三区 | 欧美 日韩 亚洲 在线 | 国产精品怡红院永久免费 | 亚洲欧美日韩国产精品一区二区 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 亚洲欧美精品伊人久久 | 97久久超碰中文字幕 | 亚洲 a v无 码免 费 成 人 a v | 内射欧美老妇wbb | 亚洲中文字幕久久无码 | 内射爽无广熟女亚洲 | 亚洲欧美日韩综合久久久 | 久久99精品国产麻豆 | 欧美日韩在线亚洲综合国产人 | 亚洲人成人无码网www国产 | 人妻尝试又大又粗久久 | 久久久久久国产精品无码下载 | 国产一区二区不卡老阿姨 | 国产精品成人av在线观看 | 国产手机在线αⅴ片无码观看 | 日欧一片内射va在线影院 | 波多野结衣乳巨码无在线观看 | 亚洲精品一区二区三区婷婷月 | 一本无码人妻在中文字幕免费 | 亚洲爆乳无码专区 | 内射后入在线观看一区 | 欧美精品国产综合久久 | 55夜色66夜色国产精品视频 | 男人和女人高潮免费网站 | 国产精品亚洲五月天高清 | 国产精品久久久久久无码 | 88国产精品欧美一区二区三区 | 狠狠cao日日穞夜夜穞av | 娇妻被黑人粗大高潮白浆 | 亚洲自偷自拍另类第1页 | 男人的天堂2018无码 | 欧美日韩视频无码一区二区三 | 无码精品人妻一区二区三区av | 亚洲熟妇色xxxxx亚洲 | 精品一区二区三区波多野结衣 | 久久人人97超碰a片精品 | 51国偷自产一区二区三区 | 伊人色综合久久天天小片 | 国内丰满熟女出轨videos | 精品国偷自产在线 | 国产无av码在线观看 | 亚洲日韩一区二区 | 成人欧美一区二区三区黑人免费 | 98国产精品综合一区二区三区 | 免费看少妇作爱视频 | 欧美午夜特黄aaaaaa片 | 国产乱人伦av在线无码 | 国产女主播喷水视频在线观看 | 久久精品中文闷骚内射 | 中文精品无码中文字幕无码专区 | 特大黑人娇小亚洲女 | 亚洲熟悉妇女xxx妇女av | 精品偷拍一区二区三区在线看 | 日本一卡2卡3卡四卡精品网站 | 久久久成人毛片无码 | 精品无人国产偷自产在线 | 亚洲娇小与黑人巨大交 | 成人一区二区免费视频 | 无码成人精品区在线观看 | 无码人妻久久一区二区三区不卡 | 亚洲精品国产精品乱码不卡 | 国产精品va在线播放 | 国内少妇偷人精品视频免费 | 俺去俺来也www色官网 | 久久99精品国产麻豆蜜芽 | 无码人妻出轨黑人中文字幕 | 伊人久久婷婷五月综合97色 | 九一九色国产 | 女高中生第一次破苞av | av无码电影一区二区三区 | 在线a亚洲视频播放在线观看 | 久久国产精品二国产精品 | 国产精品人人爽人人做我的可爱 | 亚洲一区二区三区无码久久 | 波多野结衣一区二区三区av免费 | 亚洲 a v无 码免 费 成 人 a v | 欧美老熟妇乱xxxxx | 欧美成人免费全部网站 | 欧洲极品少妇 | 国产精品-区区久久久狼 | 成人av无码一区二区三区 | 人妻人人添人妻人人爱 | 日产国产精品亚洲系列 | 国产又粗又硬又大爽黄老大爷视 | 婷婷色婷婷开心五月四房播播 | 大屁股大乳丰满人妻 | 国产舌乚八伦偷品w中 | 亚洲熟妇色xxxxx欧美老妇y | 国产免费观看黄av片 | 久久国内精品自在自线 | 波多野结衣av在线观看 | 国产精品美女久久久网av | 免费无码午夜福利片69 | 婷婷色婷婷开心五月四房播播 | 国内老熟妇对白xxxxhd | 九九综合va免费看 | 国产xxx69麻豆国语对白 | 亚洲va欧美va天堂v国产综合 | 成人试看120秒体验区 | 国产欧美精品一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 成熟人妻av无码专区 | 成人精品视频一区二区三区尤物 | 波多野结衣一区二区三区av免费 | 一本久久a久久精品亚洲 | 国产成人人人97超碰超爽8 | 成人无码精品1区2区3区免费看 | 人妻熟女一区 | 特大黑人娇小亚洲女 | 鲁鲁鲁爽爽爽在线视频观看 | 蜜桃av抽搐高潮一区二区 | 国产激情无码一区二区app | 亚洲欧洲日本综合aⅴ在线 | 2019nv天堂香蕉在线观看 | 麻豆成人精品国产免费 | 两性色午夜视频免费播放 | 国产无遮挡又黄又爽又色 | 日本又色又爽又黄的a片18禁 | 婷婷色婷婷开心五月四房播播 | 国产亚洲精品精品国产亚洲综合 | 亚洲欧美日韩成人高清在线一区 | 久久精品中文闷骚内射 | 97夜夜澡人人双人人人喊 | 午夜精品久久久久久久久 | 熟妇人妻无乱码中文字幕 | 亚洲午夜福利在线观看 | 人人澡人摸人人添 | 欧美日韩久久久精品a片 | 中文字幕亚洲情99在线 | 狠狠亚洲超碰狼人久久 | 人妻尝试又大又粗久久 | 免费中文字幕日韩欧美 | 久久久久久久女国产乱让韩 | 国产亚洲tv在线观看 | 无码人中文字幕 | 精品aⅴ一区二区三区 | 在线观看欧美一区二区三区 | 无码人妻精品一区二区三区下载 | 天天做天天爱天天爽综合网 | 一本久道久久综合婷婷五月 | 亚洲人成网站色7799 | 精品乱码久久久久久久 | 双乳奶水饱满少妇呻吟 | 99精品国产综合久久久久五月天 | 精品aⅴ一区二区三区 | 国产亚洲精品久久久久久久久动漫 | 国产手机在线αⅴ片无码观看 | aⅴ在线视频男人的天堂 | 亚洲日本va午夜在线电影 | 熟妇人妻激情偷爽文 | 国产精品二区一区二区aⅴ污介绍 | 日本精品人妻无码免费大全 | 乱码av麻豆丝袜熟女系列 | 免费人成网站视频在线观看 | 国产亲子乱弄免费视频 | 日本熟妇大屁股人妻 | 久久久久久久久888 | 四虎国产精品免费久久 | 亚洲国产精品久久久天堂 | 动漫av网站免费观看 | 亚洲精品一区二区三区婷婷月 | 无码国内精品人妻少妇 | 国产免费久久精品国产传媒 | 亚洲一区二区三区偷拍女厕 | 午夜精品久久久久久久久 | 国产日产欧产精品精品app | 国内精品人妻无码久久久影院蜜桃 | 最近免费中文字幕中文高清百度 | 免费男性肉肉影院 | 色综合久久88色综合天天 | 97夜夜澡人人爽人人喊中国片 | 黑人玩弄人妻中文在线 | aa片在线观看视频在线播放 | 十八禁视频网站在线观看 | 国产激情综合五月久久 | 久久这里只有精品视频9 | 亚洲国产午夜精品理论片 | 国产色精品久久人妻 | 国产精品亚洲综合色区韩国 | 成人欧美一区二区三区 | 无码精品国产va在线观看dvd | 国产午夜亚洲精品不卡下载 | 东京热无码av男人的天堂 | 波多野结衣av一区二区全免费观看 | 久久久中文久久久无码 | 国产在线精品一区二区三区直播 | 国产乱人无码伦av在线a | 国内少妇偷人精品视频免费 | 国产av一区二区精品久久凹凸 | 老熟女重囗味hdxx69 | 国产一区二区三区精品视频 | 色婷婷香蕉在线一区二区 | 亚洲欧美国产精品久久 | 日韩少妇白浆无码系列 | 亚洲熟悉妇女xxx妇女av | 欧美亚洲日韩国产人成在线播放 | a在线亚洲男人的天堂 | 成在人线av无码免观看麻豆 | 波多野结衣av一区二区全免费观看 | 国产在线无码精品电影网 | 18精品久久久无码午夜福利 | 美女张开腿让人桶 | 亚洲男人av香蕉爽爽爽爽 | 中文字幕乱码中文乱码51精品 | 全球成人中文在线 | 骚片av蜜桃精品一区 | 精品久久久无码中文字幕 | 思思久久99热只有频精品66 | 国产欧美熟妇另类久久久 | 久久伊人色av天堂九九小黄鸭 | 国产精品a成v人在线播放 | 激情综合激情五月俺也去 | 午夜时刻免费入口 | 成人一在线视频日韩国产 | 7777奇米四色成人眼影 | 色婷婷综合中文久久一本 | 夜先锋av资源网站 | 中文字幕乱码人妻无码久久 | 高潮毛片无遮挡高清免费 | 国产热a欧美热a在线视频 | 成熟女人特级毛片www免费 | 亚洲小说春色综合另类 | 亚洲熟女一区二区三区 | 蜜臀aⅴ国产精品久久久国产老师 | 国产sm调教视频在线观看 | 日本丰满护士爆乳xxxx | 黑人大群体交免费视频 | 亚洲第一无码av无码专区 | 免费无码肉片在线观看 | 麻豆av传媒蜜桃天美传媒 | 久久久久久亚洲精品a片成人 | 老太婆性杂交欧美肥老太 | 东京无码熟妇人妻av在线网址 | 亚洲色无码一区二区三区 | 任你躁国产自任一区二区三区 | 中文字幕人妻无码一夲道 | 久久久精品欧美一区二区免费 | 国产9 9在线 | 中文 | 日韩成人一区二区三区在线观看 | 永久免费精品精品永久-夜色 | 色一情一乱一伦一区二区三欧美 | 久久天天躁狠狠躁夜夜免费观看 | 成人性做爰aaa片免费看不忠 | 东京热无码av男人的天堂 | 欧美国产日韩亚洲中文 | 性生交片免费无码看人 | 人妻少妇精品无码专区二区 | 欧美人妻一区二区三区 | 欧美 日韩 亚洲 在线 | 午夜福利不卡在线视频 | 亚洲国产日韩a在线播放 | 日韩精品一区二区av在线 | 18精品久久久无码午夜福利 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产9 9在线 | 中文 | 色老头在线一区二区三区 | 真人与拘做受免费视频一 | 国产黑色丝袜在线播放 | 久久无码中文字幕免费影院蜜桃 | 狠狠综合久久久久综合网 | 亚洲欧洲无卡二区视頻 | 欧美性黑人极品hd | 超碰97人人做人人爱少妇 | 伊人久久婷婷五月综合97色 | 67194成是人免费无码 | 天天躁日日躁狠狠躁免费麻豆 | 国产成人无码一二三区视频 | 欧美猛少妇色xxxxx | 狠狠cao日日穞夜夜穞av | 国产色xx群视频射精 | 久久99精品久久久久久 | 中文字幕久久久久人妻 | 丁香花在线影院观看在线播放 | 黑人巨大精品欧美黑寡妇 | 乱人伦人妻中文字幕无码 | 精品国产av色一区二区深夜久久 | 久久精品人妻少妇一区二区三区 | 亚洲成a人一区二区三区 | 丰腴饱满的极品熟妇 | 亚洲天堂2017无码中文 | 国产 精品 自在自线 | 欧美大屁股xxxxhd黑色 | 亚洲中文字幕乱码av波多ji | 亚洲精品一区三区三区在线观看 | 国产免费无码一区二区视频 | 人妻插b视频一区二区三区 | 久久久久国色av免费观看性色 | 亚洲一区二区三区偷拍女厕 | 日韩人妻无码中文字幕视频 | 国产成人一区二区三区别 | 日本爽爽爽爽爽爽在线观看免 | 鲁一鲁av2019在线 | 一本大道久久东京热无码av | 亚洲精品一区二区三区在线 | 国产国语老龄妇女a片 | 亚洲 高清 成人 动漫 | 成熟妇人a片免费看网站 | 亚洲欧美色中文字幕在线 | 无码人妻精品一区二区三区下载 | 宝宝好涨水快流出来免费视频 | 亚洲欧洲日本综合aⅴ在线 | 精品国产麻豆免费人成网站 | 亚洲中文字幕乱码av波多ji | 国产真实伦对白全集 | 最近的中文字幕在线看视频 | 麻豆精产国品 | 国产精品永久免费视频 | 欧美人与物videos另类 | 帮老师解开蕾丝奶罩吸乳网站 | 国产办公室秘书无码精品99 | 伊人色综合久久天天小片 | 最近的中文字幕在线看视频 | 欧美亚洲国产一区二区三区 | 无码一区二区三区在线 | 无码成人精品区在线观看 | 国产女主播喷水视频在线观看 | 午夜男女很黄的视频 | 亚洲精品成人福利网站 | 日本在线高清不卡免费播放 | 香港三级日本三级妇三级 | 99久久99久久免费精品蜜桃 | 亚洲七七久久桃花影院 | 欧美性黑人极品hd | 亚洲熟悉妇女xxx妇女av | 成人精品天堂一区二区三区 | 国产熟女一区二区三区四区五区 | 熟女体下毛毛黑森林 | 两性色午夜视频免费播放 | 久久熟妇人妻午夜寂寞影院 | 欧美人与善在线com | 国产精品无码一区二区桃花视频 | 精品久久久无码人妻字幂 | 精品国产青草久久久久福利 | 亚洲va欧美va天堂v国产综合 | 精品熟女少妇av免费观看 | 国内丰满熟女出轨videos | 又色又爽又黄的美女裸体网站 | 午夜不卡av免费 一本久久a久久精品vr综合 | 国产精品久久久午夜夜伦鲁鲁 | 巨爆乳无码视频在线观看 | 欧洲熟妇色 欧美 | 亚洲国产精华液网站w | 初尝人妻少妇中文字幕 | 久久人妻内射无码一区三区 | 久久视频在线观看精品 | 国产成人无码区免费内射一片色欲 | av人摸人人人澡人人超碰下载 | 在教室伦流澡到高潮hnp视频 | 成人影院yy111111在线观看 | 内射巨臀欧美在线视频 | 六月丁香婷婷色狠狠久久 | 任你躁国产自任一区二区三区 | 98国产精品综合一区二区三区 | 波多野结衣aⅴ在线 | 亚洲精品国产品国语在线观看 | 巨爆乳无码视频在线观看 | a在线观看免费网站大全 | 98国产精品综合一区二区三区 | 97夜夜澡人人爽人人喊中国片 | 婷婷五月综合激情中文字幕 | 亚洲 日韩 欧美 成人 在线观看 | 国产两女互慰高潮视频在线观看 | 人妻夜夜爽天天爽三区 | 97精品人妻一区二区三区香蕉 | 人人妻人人澡人人爽欧美一区九九 | 国产一区二区三区精品视频 | 久久人人爽人人人人片 | 蜜桃视频韩日免费播放 | 精品国产精品久久一区免费式 | 久久国产精品_国产精品 | 女人高潮内射99精品 | 亚洲精品无码人妻无码 | 亚洲一区二区三区国产精华液 | 国产情侣作爱视频免费观看 | 亚洲伊人久久精品影院 | 国产xxx69麻豆国语对白 | 亚洲性无码av中文字幕 | 精品无码一区二区三区的天堂 | 无码精品人妻一区二区三区av | 风流少妇按摩来高潮 | 久久无码中文字幕免费影院蜜桃 | 无码任你躁久久久久久久 | 人人妻人人澡人人爽欧美一区 | 18禁黄网站男男禁片免费观看 | 婷婷丁香六月激情综合啪 | 5858s亚洲色大成网站www | 亚洲国产精华液网站w | 欧美怡红院免费全部视频 | 中文字幕无码视频专区 | 国产一区二区不卡老阿姨 | 日本乱偷人妻中文字幕 | 久久午夜夜伦鲁鲁片无码免费 | 精品无码国产一区二区三区av | 丰满少妇弄高潮了www | 久久伊人色av天堂九九小黄鸭 | 99视频精品全部免费免费观看 | 在线a亚洲视频播放在线观看 | 亚洲成熟女人毛毛耸耸多 | 人人澡人人透人人爽 | 日本丰满护士爆乳xxxx | 亚洲s码欧洲m码国产av | 性生交片免费无码看人 | 给我免费的视频在线观看 | 3d动漫精品啪啪一区二区中 | 一本久道久久综合婷婷五月 | 我要看www免费看插插视频 | 亚洲色无码一区二区三区 | 国产成人精品必看 | 老司机亚洲精品影院 | 无码精品国产va在线观看dvd | 无人区乱码一区二区三区 | 四十如虎的丰满熟妇啪啪 | 中文字幕无码人妻少妇免费 | 国产另类ts人妖一区二区 | 久久国产精品_国产精品 | 亚洲国产综合无码一区 | 欧美野外疯狂做受xxxx高潮 | 国产午夜福利亚洲第一 | 无码免费一区二区三区 | 中文字幕av日韩精品一区二区 | 波多野结衣一区二区三区av免费 | 亚洲国产欧美在线成人 | 亚洲无人区午夜福利码高清完整版 | 中文字幕亚洲情99在线 | 丰腴饱满的极品熟妇 | 最新国产乱人伦偷精品免费网站 | 日本丰满护士爆乳xxxx | 亚洲欧洲日本综合aⅴ在线 | 国产人成高清在线视频99最全资源 | 强奷人妻日本中文字幕 | 国语自产偷拍精品视频偷 | 免费人成在线观看网站 | 无码人妻av免费一区二区三区 | 日韩av激情在线观看 | 国产亚洲精品精品国产亚洲综合 | 亚洲国产精品一区二区第一页 | 两性色午夜免费视频 | 3d动漫精品啪啪一区二区中 | 中文字幕无码视频专区 | 鲁大师影院在线观看 | 久久午夜无码鲁丝片 | 欧美丰满熟妇xxxx性ppx人交 | 亚洲国产精品美女久久久久 | 亚洲娇小与黑人巨大交 | 嫩b人妻精品一区二区三区 | 亚洲色大成网站www | 亚洲国产精品无码一区二区三区 | 国产无遮挡又黄又爽又色 | 熟妇人妻无乱码中文字幕 | 内射巨臀欧美在线视频 | 亚洲理论电影在线观看 | 亚洲色无码一区二区三区 | 国产在线aaa片一区二区99 | 扒开双腿吃奶呻吟做受视频 | 一本色道久久综合亚洲精品不卡 | 久久综合给合久久狠狠狠97色 | 国产色视频一区二区三区 | 成人av无码一区二区三区 | 中文字幕无码免费久久99 | 中文字幕+乱码+中文字幕一区 | 熟妇人妻无乱码中文字幕 | 久久久精品欧美一区二区免费 | 国产精品久久国产三级国 | 激情亚洲一区国产精品 | 人妻有码中文字幕在线 | 三上悠亚人妻中文字幕在线 | 日本xxxx色视频在线观看免费 | 亚洲乱亚洲乱妇50p | 久久国产精品偷任你爽任你 | 给我免费的视频在线观看 | 精品无人区无码乱码毛片国产 | 97精品人妻一区二区三区香蕉 | 乱人伦人妻中文字幕无码 | 日日碰狠狠丁香久燥 | 国产精品福利视频导航 | 97色伦图片97综合影院 | 欧美日韩一区二区免费视频 | 国产亚洲欧美日韩亚洲中文色 | 日韩无套无码精品 | 精品亚洲韩国一区二区三区 | 日韩av无码中文无码电影 | 国产亚洲欧美日韩亚洲中文色 | 亚洲精品一区二区三区婷婷月 | 亚洲中文字幕无码中字 | 女人高潮内射99精品 | 成人女人看片免费视频放人 | 性欧美牲交在线视频 | 色婷婷综合激情综在线播放 | 人妻天天爽夜夜爽一区二区 | 久久99精品国产.久久久久 | 性欧美牲交在线视频 | 成熟人妻av无码专区 | 成人欧美一区二区三区黑人 | 精品久久久久久亚洲精品 | 久久精品成人欧美大片 | 成人无码影片精品久久久 | 国产精品人人爽人人做我的可爱 | 国产成人无码一二三区视频 | 国产成人精品视频ⅴa片软件竹菊 | 亚洲乱码国产乱码精品精 | 国产成人无码av一区二区 | 成人免费视频视频在线观看 免费 | 国产精品.xx视频.xxtv | 亚洲精品国产a久久久久久 | 综合激情五月综合激情五月激情1 | 中文字幕无码av激情不卡 | 久在线观看福利视频 | 国产情侣作爱视频免费观看 | 亚洲va欧美va天堂v国产综合 | 国产女主播喷水视频在线观看 | 未满小14洗澡无码视频网站 | 3d动漫精品啪啪一区二区中 | 人人澡人人透人人爽 | 99麻豆久久久国产精品免费 | 少妇性荡欲午夜性开放视频剧场 | 最新版天堂资源中文官网 | 国产精品永久免费视频 | 乱人伦人妻中文字幕无码久久网 | 成人av无码一区二区三区 | 亚洲欧美中文字幕5发布 | 久久精品人妻少妇一区二区三区 | 日日碰狠狠躁久久躁蜜桃 | 无遮挡国产高潮视频免费观看 | 色一情一乱一伦一区二区三欧美 | 日日干夜夜干 | 乱人伦中文视频在线观看 | 久久久精品人妻久久影视 | 丰满人妻被黑人猛烈进入 | 中文毛片无遮挡高清免费 | 99久久亚洲精品无码毛片 | 日本丰满熟妇videos | 理论片87福利理论电影 | 亲嘴扒胸摸屁股激烈网站 | 久久这里只有精品视频9 | 免费观看又污又黄的网站 | 人妻少妇精品久久 | 国产日产欧产精品精品app | 无码人妻出轨黑人中文字幕 | 中文字幕精品av一区二区五区 | 日本va欧美va欧美va精品 | 给我免费的视频在线观看 | 乌克兰少妇xxxx做受 | 无码免费一区二区三区 | 老熟妇乱子伦牲交视频 | 国产人妻精品午夜福利免费 | 无码国产色欲xxxxx视频 | 无码毛片视频一区二区本码 | 国产网红无码精品视频 | 精品偷拍一区二区三区在线看 | 在线观看国产一区二区三区 | 丝袜人妻一区二区三区 | 亚洲精品国产精品乱码视色 | 欧美熟妇另类久久久久久不卡 | 东京热一精品无码av | 日韩视频 中文字幕 视频一区 | 国产人成高清在线视频99最全资源 | 麻豆精产国品 | 国产又爽又猛又粗的视频a片 | 亚洲中文字幕无码中字 | 狠狠躁日日躁夜夜躁2020 | 国产超级va在线观看视频 | 成人无码影片精品久久久 | 精品国产青草久久久久福利 | 精品无码一区二区三区爱欲 | 精品偷拍一区二区三区在线看 | 国产一精品一av一免费 | 久久综合香蕉国产蜜臀av | 波多野结衣av一区二区全免费观看 | 天海翼激烈高潮到腰振不止 | 无码播放一区二区三区 | 成人亚洲精品久久久久软件 | 欧美 日韩 亚洲 在线 | 亚洲一区二区三区无码久久 | 九一九色国产 | 成人无码影片精品久久久 | 亚洲精品欧美二区三区中文字幕 | 一区二区三区乱码在线 | 欧洲 | 人人妻人人澡人人爽人人精品 | 国产亚洲精品久久久久久大师 | 国产超碰人人爽人人做人人添 | 最新国产乱人伦偷精品免费网站 | 日韩人妻少妇一区二区三区 | 精品国精品国产自在久国产87 | 国产真实夫妇视频 | 一本大道久久东京热无码av | 99久久久无码国产精品免费 | 日日碰狠狠躁久久躁蜜桃 | 九九热爱视频精品 | 国产 浪潮av性色四虎 | 色诱久久久久综合网ywww | 亚洲色偷偷偷综合网 | 精品厕所偷拍各类美女tp嘘嘘 | 欧美猛少妇色xxxxx | 又湿又紧又大又爽a视频国产 | 曰韩无码二三区中文字幕 | 亚洲毛片av日韩av无码 | 少妇性l交大片欧洲热妇乱xxx | av香港经典三级级 在线 | 精品一区二区三区波多野结衣 | 欧美人与动性行为视频 | 中文字幕乱妇无码av在线 | 一本加勒比波多野结衣 | 国产成人精品久久亚洲高清不卡 | 帮老师解开蕾丝奶罩吸乳网站 | 女人色极品影院 | 97夜夜澡人人爽人人喊中国片 | 午夜精品久久久久久久久 | 久久精品国产一区二区三区肥胖 | 精品无码国产自产拍在线观看蜜 | 色诱久久久久综合网ywww | 97久久国产亚洲精品超碰热 | 无码人妻精品一区二区三区不卡 | 青青青手机频在线观看 | 男人扒开女人内裤强吻桶进去 | 无码吃奶揉捏奶头高潮视频 | aa片在线观看视频在线播放 | 久久无码专区国产精品s | 无码吃奶揉捏奶头高潮视频 | 300部国产真实乱 | 日日噜噜噜噜夜夜爽亚洲精品 | av香港经典三级级 在线 | 300部国产真实乱 | 亚洲精品一区二区三区婷婷月 | 动漫av一区二区在线观看 | 亚洲中文字幕在线无码一区二区 | 小鲜肉自慰网站xnxx | 丝袜人妻一区二区三区 | 夜夜影院未满十八勿进 | 亚洲熟妇自偷自拍另类 | 欧美激情内射喷水高潮 | 欧美日韩久久久精品a片 | 国产av无码专区亚洲awww | 夜夜躁日日躁狠狠久久av | 麻豆av传媒蜜桃天美传媒 | 动漫av一区二区在线观看 | 亚洲精品中文字幕乱码 | 久久精品国产精品国产精品污 | 麻豆精产国品 | 熟女少妇人妻中文字幕 | 国产香蕉尹人综合在线观看 | 亚洲小说春色综合另类 | 大屁股大乳丰满人妻 | 内射后入在线观看一区 | 亚洲成av人片天堂网无码】 | 亚洲成av人综合在线观看 | 国产亚洲视频中文字幕97精品 | 少妇被黑人到高潮喷出白浆 | 一本无码人妻在中文字幕免费 | 一个人看的视频www在线 | 欧美日本日韩 | 思思久久99热只有频精品66 | 小sao货水好多真紧h无码视频 | 国产人妖乱国产精品人妖 | 丰满少妇人妻久久久久久 | 无码乱肉视频免费大全合集 | 野外少妇愉情中文字幕 | 欧美日本精品一区二区三区 | 国产一区二区三区日韩精品 | 日韩欧美中文字幕在线三区 | 亚洲精品美女久久久久久久 | 亚洲欧美精品伊人久久 | 国产精品福利视频导航 | 国产区女主播在线观看 | 精品 日韩 国产 欧美 视频 | 在线观看欧美一区二区三区 | 亚洲精品久久久久久久久久久 | 国产精品.xx视频.xxtv | 亚洲色欲久久久综合网东京热 | 少妇厨房愉情理9仑片视频 | 一区二区三区高清视频一 | 色五月丁香五月综合五月 | 十八禁视频网站在线观看 | 亚洲s色大片在线观看 | yw尤物av无码国产在线观看 | 国产亚洲精品久久久久久久 | 欧美人与动性行为视频 | 无码人妻出轨黑人中文字幕 | √天堂资源地址中文在线 | 精品国产精品久久一区免费式 | 高清不卡一区二区三区 | 真人与拘做受免费视频一 | 丰满少妇熟乱xxxxx视频 | 老太婆性杂交欧美肥老太 | 免费无码av一区二区 | 午夜免费福利小电影 | 欧美三级a做爰在线观看 | 老熟女乱子伦 | 国产精品无码成人午夜电影 | 欧美真人作爱免费视频 | 日本在线高清不卡免费播放 | 99久久精品国产一区二区蜜芽 | 天天爽夜夜爽夜夜爽 | 国产免费无码一区二区视频 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国语自产偷拍精品视频偷 | 少妇愉情理伦片bd | 国产又粗又硬又大爽黄老大爷视 | 亚洲精品中文字幕 | 人妻少妇精品视频专区 | 国产偷自视频区视频 | 国产一区二区三区四区五区加勒比 | 亚洲の无码国产の无码影院 | 精品国产一区av天美传媒 | 樱花草在线播放免费中文 | 国产一区二区三区精品视频 | 丁香花在线影院观看在线播放 | 亚洲欧美色中文字幕在线 | 夜夜夜高潮夜夜爽夜夜爰爰 | 国产性生交xxxxx无码 | 兔费看少妇性l交大片免费 | 亚洲国产成人av在线观看 | 天下第一社区视频www日本 | 亚洲综合无码一区二区三区 | 成人欧美一区二区三区 | 国产一区二区三区日韩精品 | 帮老师解开蕾丝奶罩吸乳网站 | 免费无码av一区二区 | 国内老熟妇对白xxxxhd | 久久五月精品中文字幕 | 久久婷婷五月综合色国产香蕉 | 又紧又大又爽精品一区二区 | 激情亚洲一区国产精品 | 欧美喷潮久久久xxxxx | 国产偷国产偷精品高清尤物 | 欧美性猛交xxxx富婆 | 婷婷色婷婷开心五月四房播播 | 国产成人无码区免费内射一片色欲 | 国产亚洲欧美在线专区 | 国产欧美熟妇另类久久久 | 久久国产精品偷任你爽任你 | 欧美大屁股xxxxhd黑色 | 午夜丰满少妇性开放视频 | 日本精品久久久久中文字幕 | 国产激情无码一区二区app | 97精品国产97久久久久久免费 | 蜜桃臀无码内射一区二区三区 | 无码免费一区二区三区 | 丰满少妇高潮惨叫视频 | 国产在线aaa片一区二区99 | 国产成人一区二区三区在线观看 | 国产精品无码永久免费888 | 熟妇人妻无乱码中文字幕 | 少女韩国电视剧在线观看完整 | 国产av人人夜夜澡人人爽麻豆 | 久久99热只有频精品8 | 成 人影片 免费观看 | 国产一区二区三区日韩精品 | 人妻夜夜爽天天爽三区 | 亚洲综合无码久久精品综合 | 欧美freesex黑人又粗又大 | 免费国产黄网站在线观看 | 国产真实夫妇视频 | 日产精品高潮呻吟av久久 | 骚片av蜜桃精品一区 | 久久综合狠狠综合久久综合88 | 国产国语老龄妇女a片 | 蜜桃av抽搐高潮一区二区 | 少妇邻居内射在线 | 正在播放东北夫妻内射 | 水蜜桃色314在线观看 | 日韩人妻系列无码专区 | 国产手机在线αⅴ片无码观看 | 久久久精品欧美一区二区免费 | 国产成人精品三级麻豆 | 曰韩少妇内射免费播放 | 狠狠色丁香久久婷婷综合五月 | 红桃av一区二区三区在线无码av | 中文字幕乱码人妻二区三区 | 国产精品办公室沙发 | 六月丁香婷婷色狠狠久久 | 麻豆人妻少妇精品无码专区 | 成人免费视频视频在线观看 免费 | 国产在线一区二区三区四区五区 | 男女下面进入的视频免费午夜 | 亚洲成av人综合在线观看 | 国精品人妻无码一区二区三区蜜柚 | 婷婷综合久久中文字幕蜜桃三电影 | 纯爱无遮挡h肉动漫在线播放 | 午夜丰满少妇性开放视频 | 国产午夜手机精彩视频 | 日本又色又爽又黄的a片18禁 | 亚洲欧美精品aaaaaa片 | 亚洲 a v无 码免 费 成 人 a v | 亚洲狠狠婷婷综合久久 | 水蜜桃亚洲一二三四在线 | 久久精品99久久香蕉国产色戒 | 黑人粗大猛烈进出高潮视频 | 久精品国产欧美亚洲色aⅴ大片 | 乱人伦人妻中文字幕无码久久网 | 欧美性黑人极品hd | 日韩成人一区二区三区在线观看 | 免费看少妇作爱视频 | 日日碰狠狠躁久久躁蜜桃 | 午夜肉伦伦影院 | 国产精品二区一区二区aⅴ污介绍 | 97色伦图片97综合影院 | 国内精品久久毛片一区二区 | 亚洲日本在线电影 | 日本熟妇人妻xxxxx人hd | 亚洲人成影院在线无码按摩店 | 丰满肥臀大屁股熟妇激情视频 | 国产疯狂伦交大片 | 国产在线精品一区二区高清不卡 | 红桃av一区二区三区在线无码av | 亚洲精品国产精品乱码不卡 | aⅴ亚洲 日韩 色 图网站 播放 | 人妻体内射精一区二区三四 | 国产精品香蕉在线观看 | 中文字幕色婷婷在线视频 | 成熟妇人a片免费看网站 | 国产成人精品久久亚洲高清不卡 | 国产精华av午夜在线观看 | 亚洲区欧美区综合区自拍区 | 97久久国产亚洲精品超碰热 | 久久久久久亚洲精品a片成人 | 玩弄少妇高潮ⅹxxxyw | 丰满人妻翻云覆雨呻吟视频 | 免费人成网站视频在线观看 | 亚洲a无码综合a国产av中文 | 久久99精品国产麻豆 | 国内精品人妻无码久久久影院蜜桃 | 欧美 亚洲 国产 另类 | 亚洲精品一区二区三区大桥未久 | 内射白嫩少妇超碰 | 色婷婷综合中文久久一本 | 色婷婷欧美在线播放内射 | 暴力强奷在线播放无码 | 亚洲а∨天堂久久精品2021 | 天堂久久天堂av色综合 | 正在播放老肥熟妇露脸 | 精品人妻中文字幕有码在线 | а√资源新版在线天堂 | 精品国产乱码久久久久乱码 | 亚洲男人av天堂午夜在 | 六十路熟妇乱子伦 | 欧美老熟妇乱xxxxx | 国产手机在线αⅴ片无码观看 | 欧美激情一区二区三区成人 | 国产乱子伦视频在线播放 | 亚洲熟妇色xxxxx欧美老妇y | 国产亚洲精品久久久久久久 | 四虎永久在线精品免费网址 | 奇米影视888欧美在线观看 | 性欧美熟妇videofreesex | 成人精品一区二区三区中文字幕 | 国产成人无码av一区二区 | 乱人伦中文视频在线观看 | 国产成人精品一区二区在线小狼 | 国产精品99久久精品爆乳 | 国产午夜福利亚洲第一 | 东北女人啪啪对白 | 天干天干啦夜天干天2017 | 国产色精品久久人妻 | 久久精品视频在线看15 | 国产麻豆精品精东影业av网站 | 18精品久久久无码午夜福利 | 国产精品亚洲专区无码不卡 | 日本成熟视频免费视频 | 国内精品久久久久久中文字幕 | 最近中文2019字幕第二页 | 最近免费中文字幕中文高清百度 | 国产一精品一av一免费 | 97无码免费人妻超级碰碰夜夜 | 最新国产乱人伦偷精品免费网站 | 亚洲中文字幕无码一久久区 | 色综合久久久久综合一本到桃花网 | 天堂无码人妻精品一区二区三区 | 国产麻豆精品一区二区三区v视界 | 国产精品国产自线拍免费软件 | 最新国产乱人伦偷精品免费网站 | 久久综合给久久狠狠97色 | www国产亚洲精品久久久日本 | 日本高清一区免费中文视频 |