使用cartographer創建自定義激光點雲地圖

最近使用一個64線激光+IMU在cartographer上建圖,總結以下幾點,備忘。

準備數據

自己錄製的IMU和Pandar64 線Point2數據(一個激光雷達傳感器),並且有LiDAR到IMU的外參。
修改數據包時,注意frame_id要與cartorgrapher參數urdf中描述的一致。
IMU數據因爲要被用於Robot的位姿估計,所以要注意當前數據與Cartographer中的座標一致性。

注意
激光雷達掃描一週時所生成幀的頻率,此處是每旋轉一週生成一幀點雲數據,
當採用npackages模式時,每個UDP包就生成一幀,一個旋轉週期可能會上百幀,
要注意跟 參數 TRAJECTORY_BUILDER_3D.num_accumulated_range_data 配合使用。

在cargographer中的數據校驗

只要沒有特別醒目的報錯,即可認爲沒問題。
類似以下這樣的報警,可以不必在意,基本不影響建圖,

Point data (frame_id: "horizontal_vlp16_link") has a large gap, largest is 0.118117 s, recommended is [0.0005, 0.05] s with no jitter.

launch和lua參數配置

按照demo_backpack_3d.launch以及對應的lua和urdf參數進行配置即可,需要注意以下參數

map_frame = "map",
tracking_frame = "imu_link",
published_frame = "base_link",
odom_frame = "odom",
provide_odom_frame = false,
use_odometry = false,
num_point_clouds = 1,

#這個參數一定要注意
TRAJECTORY_BUILDER_3D.num_accumulated_range_data = 1  #如果不改成對應的頻率,可能會出現點雲一直不動,沒有軌跡生成的情況

同時也要注意,urdf中 歐拉角給出的順序,參考backpack_3d.urdf可知,實際順序爲 rpy=“pitch roll yaw”,而不是想象中的RPY。

建好的圖

在這裏插入圖片描述

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