最近将ORB-SLAM3中的pangolin可视化功能给搞掉了,换成了基于rviz的可视化显示,摆脱程度对pangolin库的依赖,为了方便每次在启动时程序自动打开rviz可视化界面,需要在第一次运行程序时将rviz文件保存下来,然后把rviz文件路径写在launch文件中,在启动时进行加载。
在可视化界面以此选择File->Save Config As
在launch文件中添加以下内容:
<!-- Visualization - RViz-->
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find orb_slam3_ros)/config/orb_slam3-zed.rviz" output="screen" />
$(find orb_slam3_ros)/config/orb_slam3-zed.rviz"表示全局路径,$(find orb_slam3_ros)指package路径,config/orb_slam3-zed.rviz指在package下面的具体路径。
launch文件一定要写全局路径!!!,不然会默认从.ros这个默认路径下寻找
比如在保存rviz文件时我们播放的数据集是A.bag,后面我们又用B.bag进行测试,如果两个数据集中的topic名称不一样,需要在rviz文件中进行对应的修改,不然会无法在可视化界面正常显示。
以EuRoC数据集和zed2i录制的数据集中图像的topic名称为例,需要将以下部分第三行话题名称Image Topic:部分进行相应修改:
- Class: rviz/Image
Enabled: true
Image Topic: /zed2i/zed_node/left/image_rect_color
Max Value: 1
Median window: 5
Min Value: 0
Name: Image_raw
Normalize Range: true
Queue Size: 2
Transport Hint: raw
Unreliable: false
Value: true
这个地方改不改问题都不大,不正常显示大不了再重新添加新图像的topic