用自己的雷达进行Cartographer建图或仿真
首先需要進(jìn)行Cartographer安裝以及雷達(dá)驅(qū)動(dòng)安裝等準(zhǔn)備工作, 直至我們能夠在雷達(dá)運(yùn)行時(shí)找到發(fā)布LaserScan的Topic并獲取數(shù)據(jù), 以開始下一步的建圖.
基本信息獲取
啟動(dòng)雷達(dá)或gazebo, 在終端使用以下語句查看雷達(dá)輸出的Topic:
rostopic list;
此處本天河雷達(dá)的輸出topic為 /radar_real
使用以下語句打印當(dāng)前雷達(dá)輸出:
rostopic echo /radar_real;
在打印信息中找到坐標(biāo)系名字frame_id: “base_laser”,此處坐標(biāo)系名字為 base_laser
lua文件修改
在(cartographer工作空間)/src/cartographer_ros/cartographer_ros/configuration_files中找到revo_lds.lua 文件, 復(fù)制一份, 改名為my_revo_lds.lua.
打開my_revo_lds.lua, 修改以下兩行為我們自己的坐標(biāo)系名字:
launch文件修改
在(cartographer工作空間)/src/cartographer_ros/cartographer_ros/launch中找到demo_revo_lds.launch, 復(fù)制一份, 改名為my_demo_revo_lds.launch
修改以下內(nèi)容:
運(yùn)行與建圖
對(duì)修改后的工作空間, 在終端執(zhí)行以下語句以重編譯:
//編譯cartographer工作空間
catkin_make_isolated --install --use-ninja
//刷新環(huán)境
source devel_isolated/setup.bash
運(yùn)行時(shí), 先運(yùn)行雷達(dá)的相關(guān)topic, 保證雷達(dá)已有有效數(shù)據(jù)通過topic輸出后, 運(yùn)行我們的新launch文件:
roslaunch cartographer_ros my_demo_revo_lds.launch
即可開始建圖.
地圖保存
打開另一個(gè)終端, 輸入以下語句:
//結(jié)束第一條軌跡,之后的數(shù)據(jù)不再添加.
rosservice call /finish_trajectory 0
//cartographer序列化當(dāng)前狀態(tài),形成pbstream文件
rosservice call /write_state "{filename: '${HOME}/Downloads/mymap.pbstream'}"
//transform pbstream to pgm and yaml
rosrun cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=/home/kai/Downloads/mymap -pbstream_filename=/home/kai/Downloads/mymap.pbstream -resolution=0.05地址和文件名根據(jù)實(shí)際進(jìn)行修改.
運(yùn)行結(jié)果
純雷達(dá)建圖.
-
天河
在天河10Hz 2880點(diǎn)的雷達(dá)上, 建圖極易漂移, 無法完成建圖. 期間頻繁報(bào) "Dropped 2770 earlier points."的警告, 該warning來自于:
range_data_collator.cc:76 LOG(WARNING) << “Dropped " << std::distance(ranges.begin(), overlap_begin) << " earlier points.”;
丟點(diǎn)數(shù)值常在2700左右變動(dòng), 接近于一幀. -
倍加福
在倍加福20Hz 3600點(diǎn)的雷達(dá)上, 無警告提示, 建圖順滑, 匹配準(zhǔn)確, 旋轉(zhuǎn)魯棒性好, 建圖質(zhì)量佳, 僅在特征不明顯的長(zhǎng)走廊出現(xiàn)建圖尺度失真的共性問題. -
思嵐rplidar a2
在思嵐科技RPLIDAR-a2(10Hz 800點(diǎn))上, 建圖順滑, 但限于雷達(dá)硬件, 旋轉(zhuǎn)速度不宜過快, 建圖過程應(yīng)當(dāng)盡量保持雷達(dá)速度平穩(wěn). [Topic Name: /scan; Frame Name: laser]
(a2驅(qū)動(dòng)安裝傳送門: 只需關(guān)注其中rplida相關(guān)步驟)(鏈接教程勘誤: echo source時(shí)刪去那對(duì)雙引號(hào)) -
gazebo仿真
因?yàn)橐廊徊皇莃ag仿真, 上述設(shè)置/use_sim_time依然應(yīng)該是false.
總結(jié)
以上是生活随笔為你收集整理的用自己的雷达进行Cartographer建图或仿真的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win7ie11调用java失败,win
- 下一篇: 排序算法:插入排序