SLAM算法复现汇总参考:
SLAM常用的2D、3D算法复现以及仿真汇总_多机器人slam复现-优快云博客
SLAM中需要使用到里程计的数据,当出现误差时可以对odom进行标定,本文采用rosbag的方式对录制的信息进行odom标定,录制方法可以参考这篇博客学习
一文学会ROS中带的rosbag来录制使用并用于SLAM离线建图-优快云博客
#根据自己的工作空间来修改
cd test_ws/src
git clone https://github.com/MegviiRobot/OdomLaserCalibraTool
cd ..
catkin_make
source devel/setup.bash
#这里不是OdomLaserCalibraTool,设置的文件夹而已,laser-odom_calibration才是功能包名
roslaunch laser-odom_calibration example.launch
这个是由于odom消息的类型不对
这个是通过 rostopic info /odom 来查看odom类型,然后在源码的io.cpp中修改具体的odom获取方式。代码中有三种odom的类型分别是Odometry,JointState,Vector3Stamped
将其他两种消息类型JointState,Vector3Stamped注释掉,采用Odometry消息类型(我这里红色波浪线是VScode没设置好的问题不用管)
修改完以后,重新运行报错,这是录制的rosgbag的问题,重新录制rosbag
最后,我发现有不少问题,但是有些人却可以实现,有大佬可以留下言交流解决下。