3

SLAM从入门到精通(rviz的使用)

 11 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/133267817
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

SLAM从入门到精通(rviz的使用)

original.png
嵌入式-老费 newCurrentTime2.png 于 2023-09-25 10:46:49 发布 articleReadEyes2.png 49

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        在ros开发当中,rviz和tf都是用的比较多的一个工具。前者是为了实现传感器数据和计算结果的可视化,后者主要是为了显示各个传感器、传感器和小车之间的旋转变换。今天我们就了解一下rviz。很多同学搞不清楚rviz和gazebo的关系。正好借助这次机会说说清楚。

        应该说,在一开始我们没有robot实车的时候,用gazebo搭建一个仿真环境,利用这个仿真的环境和机器人模型学习ros,这本身是非常方便的。机器人模型上的各种传感器数据、计算结果都可以通过rviz显示出来。等到后期,我们对ros也比较了解,希望通过真实的设备来做一点事情,那么这个时候gazebo就不需要了,但是rviz还是存在的。rviz在这种情况下显示的数据,就不再是gazebo里面的虚拟环境数据,就变成了真实的物理环境数据了。

c6b7dc29bb4340ba93fc66539f3e293f.png

        从这个角度来看,不管是仿真环境,还是真实世界,rviz都是需要很好掌握的。

1、rviz的安装

        如果我们已经安装了ros-noetic-desktop-full,那么就不再需要单独安装rviz。

2、启动wpb_simple.launch

        为了验证rviz的效果,首先需要加载一下wpb_simple.launch,构建一个虚拟的3d环境。

roslaunch wpr_simulation wpb_simple.launch

3、启动rviz

        启动rviz的过程也不复杂,直接输入rosrun rviz rviz即可。不出意外,我们可以看到这样的界面,

dec76c923e014d4ca86f46840f35d66b.png

        之前我们谈到,rviz可以显示各个传感器的数据。而wpb_simple.launch中的小车上面正好有一个lidar。所以可以通过rviz先试一下lidar的数据。

4、rviz中显示lidar数据

        要显示数据,做到这几个部分就可以了。第一,在Global Options的Fixed Frame中填写base_footprint;第二,单击左下角的Add按钮,在弹出的对话框中选择LaserScan,

30d5ac85e7f74aee912e9655425daa2c.png

        第三,在左侧的LaserScan中,选择Topic为/scan,并且为了方便查看,Size修改为0.03。

24b08f94eebf4df0b2573286637c5b32.png

        这个时候你大概率会看到一段红线,也就是之前3d场景中书柜的区域。当然,为了观察的方便,我们可以把robot也添加进来。方法也很简单,就是继续单击左下角的Add按钮,在弹出的对框中选择RobotModel即可,这样看起来就更加形象生动了。

979713cb257e4c5e83b0d8e040f4c367.png

5、3d场景中添加障碍物

        这样一条线看上去不是很过瘾,那我们可以在场景中添加一些障碍物,进一步观察rviz中的红线有没有发生改变。首先切换到gazebo的场景,添加几个正方体、圆柱体,添加的方法就是直接将状态栏中的正方体、圆柱体拖下来即可。假设添加后的场景是这样的,

cb5aa825d87f4ec9843238ef33413d24.png

        那这个时候,查看rviz的时候,也会发现对应的红线也发生了变化。假设观察到这个现象,这说明我们的仿真其实是有效的。

6878ee1c079d438f9c471696c0c22172.png
文章知识点与官方知识档案匹配,可进一步学习相关知识

Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK