前言
本人最近做了一个任务,需要评测catorgrapher算法的精度,这个过程中需要使用到ros2仿真过程中机器人的真实轨迹和估计轨迹,在/odom和/sim_ground_true_pose话题中提取到机器人的真实轨迹,同时改变catorgraper的源码,在启动catorgraper算法后产生tum格式轨迹文件,最后使用evo进行评估真值轨迹和估计轨迹并进行画图,(下一篇博客有关于catorgrapher算法估算的轨迹文件,有兴趣或需要的朋友可以看看)
安装:
在获取机器人真实轨迹之前,首先应该有ROS环境,我是用鱼香ros一键安装ros2的humble版本,特别方便,鱼香ros一键安装如下:
wget http://fishros.com/install -O fishros && . fishros
在安装完ros2后,就可以根据turtlebot4的官方文档或第三方文档进行安装turtlebot4,安装的包有turtlebot4和turtlebot4_simulator,按照turtlebot4文档:TurtleBot 4 Robot · User Manual 的指示进行安装, 需要安装的包如下图所示:
安装问题:
第一次安装后运行机器人模型的时,ign gazebo仿真启动后会发生闪烁,后面我把虚拟机设置的3d图形加速关闭后,再次运行机器人模型进入ign gazebo环境,确实能够解决闪烁问题,但在拖动仿真界面的时候非常卡。为了解决这个闪烁问题,我尝试安装ubuntu双系统来取代虚拟机环境,发现在安装双系统后确实能够解决ign gazebo界面闪烁的问题。
运行:
ros2 launch turtlebot4_ignition_bringup turtlebot4_ignition.launch.py
在任意终端运行以上指令,就可以在ign gazebo仿真中加载turtlebot4机器人模型,启动完成界面如下图所示:
注意事项:
在运行以上指令后,进入到ign gazebo仿真界面后,如果不及时点击界面离桩按钮,机器人不能离开充电桩,所以在进入turtlebot4机器人的ign gazebo仿真界面时,要迅速点击离桩按钮。在机器人离开充电桩之后,需要一定的时间对机器人自身位置进行初始化(直走一段距离然后旋转180°),这个过程只需等待几十秒,初始化完成后终端会有提示。机器人初始化位置如下图所示:
以上就完成了turtlebot4机器人模型安装到运行的全过程,接下来需要进行键盘控制机器人运动和录制真实轨迹文件啦。