对于本地进行结果复现或者是功能验证等,需要实车录制数据包ros2,本地播包ros2/plotjuggler,最后结果可视化rviz2。
所以对于初学者,至少要学习ros2相关操作,可以让你进入职场后更好的适应。本文主要针对上面三个步骤进行记录说明。
有两种方式,第一种是录制所有的包,第二种是录制指定的包。(这个过程中需要将对应的节点先运行起来,保证其能正常的输出数据)
- ros2 bag record -a
- ros2 bag record your_topic_name
比较好的一个ros2的命令记录:【精选】ROS2学习笔记(十一)-- ROS2 bag数据记录与回放_ros2 bag play_溪风沐雪的博客-CSDN博客
数据录制好了之后,可以把数据带回来,然后在本地的台式机上播包。
有三种方式,第一种是ros2播所有的topic,第二种是ros2播指定topic,第三种是通过plotjuggler进行选择哪几个topic进行播包。
其中第三种选择指定topic操作参考:自动驾驶可视化利器(一)--PlotJuggler - 知乎
- ros2 bag play your_bag_path
- ros2 bag play your_bag_path your_topic_name
- ros2 run plotjuggler plotjuggler
其中plotjuggler需要选择yaml文件,如果yaml文件丢失,可以通过如下命令进行修复:
ros2 bag reindex your_bag_path sqlite3
可以通过rviz2进行可视化。这个可以自己定制化,如果想可视化图像就需要自己将图像与想要显示在图像上的数据进行时间对齐,如果想要可视化在虚拟的3D ego/odometry下的话,根据自己定的坐标方向,对数据进行可视化,可以针对不同的数据属性可视化不同的颜色或者是相应的文字信息。
自定义开发操作可以参考:Rviz2的自定义插件开发基础知识_rviz 插件_淋雨的蜗牛的博客-CSDN博客