當前位置: 華文星空 > 汽車

如何基於ROS學習雷射SLAM?

2021-10-24汽車

在雷射SLAM中,我們經常會遇到過濾離散點以及幾何特征提取等需求,這裏分享基於網路開原始碼的直線提取和區域分割的小demo,依賴PCL庫和ROS。

程式碼地址:

一、 直線提取

PCL庫中的直線提取較為簡單,我們可以直接套用setDistanceThreshold函式進行分割,函式使用流程如下:

pcl::RandomSampleConsensus<pcl::PointXYZ> ransac(model_line); ransac.setDistanceThreshold(0.02); //內點到模型的最大距離 ransac.setMaxIterations(100); //最大叠代次數 ransac.computeModel(); Eigen::VectorXf coef; ransac.getModelCoefficients(coef); //coef會被賦值成直線模型參數

效果

二、區域分割

區域分割可以不依賴pcl完成,我的處理邏輯是,遍歷點雲的所有點,計算兩點之間的距離,如果距離在某一點上有突變,則證明該點是一個撕裂點。

效果: