前言:
前文完成了cartographer的官方数据集的测试,本文通过rosbag录包的方式来跑通自己的数据,后续进行在线建图,相关内容可以查看这篇汇总:
SLAM常用的2D、3D算法复现以及仿真汇总_多机器人slam复现-CSDN博客
目录
1.配置cartographer相关文件
2.播放数据集并建图
1.配置cartographer
1.1配置launch文件
在cartographer_ros/cartographer_ros/cartographer_files下有测试文件
demo_backpack_2d.launch 和 backpack_2d.launch,分别复制一份并重新命名,我这里命名为demo_car_2d.launch 和 car_2d.launch
1.1.1配置 demo_car_2d.launch
demo_backpack_2d.launch 复制并重新命名为 demo_car_2d.launch,修改如下
文中这行代码根据自己的修改,调用了另外一个文件car_2d.launch文件
<include file="$(find cartographer_ros)/launch/car_2d.launch" />
1.1.2 配置 car_2d.launch
backpack_2d.launch 复制并重新命名为 car_2d.launch,(雷达消息和URDF)修改如下
其中cartographer数据集提供的是 MultiEchoLaserScan格式的雷达数据,若采用常规的LaserScan雷达数据则进行修改(可以通过运行rosnode list-------rosnode info/cartographer_node查看对应的数据类型消息)
<remap from="scan" to="scan" />
1.2配置lua文件和urdf文件
1.2.1lua
同样在cartographer_ros/cartographer_ros/cartographer_files下复制backpack_2d.lua 重命名为car_2d.lua
1.找到如下部分并做相同的修改
2.找到该文件下的revo_lds.lua文件,复制如下红色部分
3.粘贴到car_2d.lua如下红色框位置,并注释或者删除蓝色框部分
至此完成car_2d.lua的文件配置
1.2.2 URDF
在cartographer_ros/cartographer_ros/urdf文件夹下,重命名为自己的urdf,我这里是car_2d.urdf
(xacro格式的网上有很简单的转换方法)
2.运行自己的数据集
2.1重新编译cartographer并sourece环境
2.2rosbag播放
rosbag采包可以通过这篇博客学习
一文学会ROS中带的rosbag来录制使用并用于SLAM离线建图-CSDN博客
根据自己的数据包进行对应的修改
roslaunch cartographer_ros demo_car_2d.launch bag_filename:=/home/ply1/bagfiles/2024-09-03-16-05-47.bag