日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用自己的雷达进行Cartographer建图或仿真

發(fā)布時(shí)間:2023/12/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用自己的雷达进行Cartographer建图或仿真 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

首先需要進(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)系名字:

//兩行"horizontal_laser_link"均改為我們當(dāng)前的"base_laser" tracking_frame = "horizontal_laser_link", published_frame = "horizontal_laser_link",

launch文件修改

在(cartographer工作空間)/src/cartographer_ros/cartographer_ros/launch中找到demo_revo_lds.launch, 復(fù)制一份, 改名為my_demo_revo_lds.launch
修改以下內(nèi)容:

//因?yàn)榉莃ag仿真,將以下true改為false <param name="/use_sim_time" value="true" />//使用我們的配置文件,將revo_lds.lua改為my_revo_lds.lua <node name="cartographer_node" pkg="cartographer_ros"type="cartographer_node" args="-configuration_directory $(find cartographer_ros)/configuration_files-configuration_basename revo_lds.lua"//將horizontal_laser_2d改為我們的輸出話題radar_real <remap from="scan" to="horizontal_laser_2d" />//不使用bag,刪去以下內(nèi)容 <node name="playbag" pkg="rosbag" type="play"args="--clock $(arg bag_filename)" />

運(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)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。