1.打开一个终端,roscore
2.另开一个终端,输入rviz并回车,打开rviz界面
3.另开一个终端,
yixiao@yixiao123:~$ rosbag info 'mutil_lidar_2022-03-09-20-19-22.bag' #引号中是bag包的文件名
显示以下信息(仅为其中的部分):
topics: /diagnostics
94 msgs : diagnostic_msgs/DiagnosticArray (2 connections)
/rosout
26 msgs : rosgraph_msgs/Log (10 connections)
/rosout_agg
4 msgs : rosgraph_msgs/Log
/vlp_1/scan
234 msgs : sensor_msgs/LaserScan
/vlp_1/velodyne_packets
234 msgs : velodyne_msgs/VelodyneScan
/vlp_1/velodyne_points
234 msgs : sensor_msgs/PointCloud2
/vlp_1/vlp201_nodelet_manager/bond
在这些信息中找到 sensor_msgs/PointCloud2或 velodyne_msgs/VelodyneScan,记住它们下面的那串内容,例如此处的 velodyne_msgs/VelodyneScan之后是 /vlp_1/velodyne_points 。这个信息等下在rviz中会用到。
4.另开一个终端,输入
cd bagfile #我的bag文件在bagfile文件夹中,试过省略这一步,会报错
rosbag play 'mutil_lidar_2022-03-09-20-19-22.bag'
#引号中是bag包的文件名,试过用<>替代单引号,会报错
5.在终端中输入
rostopic echo /(topics名) |grep frame_id
例如,我刚刚在第3步记下来的topics是 /vlp_1/velodyne_points,那么我输入的就是
yixiao@yixiao123:~$ rostopic echo /vlp_1/velodyne_points |grep frame_id
回车后出现一长串的
frame_id: "vlp201"
frame_id: "vlp201"
frame_id: "vlp201"
frame_id: "vlp201"
frame_id: "vlp201"
frame_id: "vlp201"
...
6.去rviz界面,
(1)点击左下角的ADD,选中PointCloud2并点击ok;
(2)Display下的Fixed Frame选成第5步得到的id,例如我的是vlp201。如果点击小三角没反应选不了可直接输入。
(3)PointCloud2下的topic选择第3步得到的 /vlp_1/velodyne_points
至此,即可成功可视化.bag文件了,效果图如下:
参考了好几位博主的blog,结合自己在操作过程中遇到的问题,捋了顺序将操作步骤整合了一下
感恩的心...