使用legoloam構建3D場景地圖

本文參考該博主:https://blog.csdn.net/qq_36396941/article/details/83513121

本人僅將自己遇到的一些問題以及做的一些修改再做一些補充

 

第一:將代碼中的話題改爲自己的話題名稱

typedef pcl::PointXYZI  PointType;

extern const string pointCloudTopic = "/lslidar_point_cloud";
extern const string imuTopic = "/imu_data_raw";

第二,生成pcd文件並設置保存的位置

// Save pcd
extern const string fileDirectory = "/home/utryjc/date/";

 

第三:關於run.launch中的話題/camera和/camera_init的理解,以及將生成的點雲稀疏或者稠密化

https://blog.csdn.net/weixin_42048023/article/details/87736777

mapOptimization中下面這兩行代碼,將地圖點雲稀疏化或者稠密化的作用
        downSizeFilterHistoryKeyFrames.setLeafSize(0.4, 0.4, 0.4); // for histor key frames of loop closure
        downSizeFilterSurroundingKeyPoses.setLeafSize(1.0, 1.0, 1.0); // for surrounding key poses of scan-to-map optimization

第四:用ROS方法記錄點雲數據生成pcd文件

生成了很多個pcd文件,但每一個都不是整張地圖,解決辦法參考下面的連接:

https://blog.csdn.net/littlethunder/article/details/51955849

問題是我所錄的話題爲自己的點雲話題,而不是Legoloam的/laser_cloud_surround 這個話題,record /laser_cloud_surround 這個主題就行了,之後調用rosrun pcl_ros bag_to_pcd corrior.bag(點雲包名) /laser_cloud_surround(話題名稱) pcd(將要保存的目錄)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章