ROS学习-----通过rviz读入.bag格式的文件并播放,并解决“For frame [XX]: Fixed Frame [XXX] does not exist”的问题
ROS的嵌入式的深入学习就是需要了解rviz,那么什么是rviz?
Rviz :The ROS Visualization Tool ,即机器人操作系统3D可视化工具。它的作用就是:一个虚拟世界,用来模拟机器人在现实世界的运行效果。所以,对于rviz的使用是我们ROS嵌入式学习的一个重要步。
本次博客,主要通过rviz读取.bag格式的文件并进行播放来学习rviz的使用,话不多说,一起来看吧!
1、通过网上下载.bag格式的文件,并移动到ubuntudeHome里面
如上图所示,自己将hongkong.bag文件放置在Home文件,这个步骤是方便后面我们打开这个文件的时候不用输入路径,直接输入名字就可以打开
roscore
1)、打开终端,输入如下命令:
rosrun rviz rviz
如下图所示:
2)、上面命令的输入之后,系统会打开rviz软件(命名为窗口2),如下所示:
出现如上图所示,我们rviz就成功打开
1)、选择左下角的add按钮点击,如下所示:
点击add后会出现如下页面:
2)、在出现的页面中选择by display type,下拉选择pointCloud2后点击ok,如下所示:
3)、左侧的Global Options,下面的For frame,双击右侧进行修改
livox_frame
如下图所示:
4)、下面翻,找到pointCloud2栏目下的Topic,修改为如下:
/livox/lidar
如上图所示,修改成功,记得Style选择Points,这样播放的图像会清晰很多!
到这里,我们的rviz配置工作就完成!
注意:以上的所有的窗口都不要关闭哦
在下面这一步之前,大家可以观看以下我的页面排版,方便观察:
1)、新建一个终端(命名为终端3),输入以下命令播放我们的文件
rosbag play hongkong.bag
2)、在输入以上命令回车后,我们可以发现,在窗口2上在播放我们雷达扫描的图像,如下所示:
提醒:在终端2中按下空格键可以暂停播放哦,要想继续播放我们可以再次按空格键
依次关闭终端和窗口,结束实验,到这里,我们的实验就完美结束啦!接下来,我们来看一下我们过程中可能遇到的问题吧!
出现For frame [XX]: Fixed Frame [XXX] does not exist的问题,遇到这个问题,不要慌,以下步骤教你解决
1)、再次点击Add按键,选择By topic,然后找到pointCloud2对应的位置,如下所示:
我们这一步的操作目的主要是:找到我们每个人Rviz软件对应的pointCloud2的Topic
2)、由上图可以看出,我的pointCloud2的topic存在于/livox/lidar 的目录下面,所以,我们返回pointCloud2的Topic中修改成如下:
3)、这里修改之后,我们最上面Global Options,下面的For frame也是需要修改的,当然,这时候我们不知道该修改成什么?这时候我们新建一个终端(终端4),输入如下命令查看我们For frame应该填入什么:
rostopic echo /livox/lidar | grep frame_id
注意:以上代码中的 /livox/lidar为我自己的pointCloud2对应的目录,大家根据自己的进行修改
4)、在上面的终端3中如果刚刚暂停了的,按空格键开始,观察终端4,没有暂停的就会直接看到终端4的变化,如下所示:
在终端3按空格暂停播放:
5)、通过以上图终端4显示的可以看出:Global Options,下面的For frame修改为livox_frame,如下所示:
注意:具体的修改为什么得看你们自己的显示的什么哦!
通过以上步骤,我们的问题就解决了,再次在终端3按空格键,我们就可以在rviz中看到,我们hongkong.bag文件的播放了哦!
以上就是本次博客的全部内容啦,希望通过本次的博客,可以帮助大家更加了解Rviz哦!遇到问题的小伙伴,评论区留言,林君学长耐心给大家解答,这个学长不太冷!
陈一月的又一天编程岁月^ _ ^