》》点赞,收藏+关注,理财&技术不迷路《《
RViz(The Robot Visualization tool可视化工具):
作用:把一些抽象的复杂的传感器信息以图像的方式传给我们,方便监控和调试。
实例:运行rviz
导入机器人:
Add里面可以添加组件,但是一定要先运行 roslaunch!!!!!!必须有launch文件才可以!!
机器人现在是白色的,因为现在frame是map的frame,我们应该调为机器人的frame。
因为他都是默认打到map这个frame上面的,但是我的demo里面没有map的参数,所以找不到机器人的坐标。
这里由两个enabled模型,一个visual一个collision,collision更加简单,方便与计算,降低计算量,提高计算速度。
导入摄像头:
可以选择监听哪个image:和我们之前image_view是一样的功能,这是这里提供了这样一个平台方便。
添加Laser scan:
将topic改为 /scan,可以看到图中的红线,红点就是机器人激光雷达所扫出来的距离。离障碍物的距离
xiangliu@xiangliu-virtual-machine:~$ rosrun robot_sim_demo robot_keyboard_teleop.py
运行控制板来控制机器人运动,发现障碍物也会随着机器人移动而变化。
点云pointcloud
这里可以看出它其实是由深度摄像头得到的。
Gazebo 和RViz区别:
Gazebo和RViz是完全两个不一样的东西。一个是用来仿真,提供一个模拟世界。一个是可视化,把我们接收到的信息呈现出来,rviz左边那一列每一个插件都是一个subcriber(比如:laserscan, pointcloud,等等)比如:laserscan里面有一个topic,它就是subscribe了这个topic才获取信息的。
rviz是数据可视化工具;而gazebo是物理仿真引擎/平台。
rviz是三维可视化工具,强调把已有的数据可视化显示;
gazebo是三维物理仿真平台,强调的是创建一个虚拟的仿真环境。
rviz需要已有数据。
rviz提供了很多插件,这些插件可以显示图像、模型、路径等信息,但是前提都是这些数据已经以话题、参数的形式发布,rviz做的事情就是订阅这些数据,并完成可视化的渲染,让开发者更容易理解数据的意义。
gazebo不是显示工具,强调的是仿真,它不需要数据,而是创造数据
我们可以在gazebo中免费创建一个机器人世界,不仅可以仿真机器人的运动功能,还可以仿真机器人的传感器数据。而这些数据就可以放到rviz中显示,所以使用gazebo的时候,经常也会和rviz配合使用。当我们手上没有机器人硬件或实验环境难以搭建时,仿真往往是非常有用的利器。
Rqt(全称:ros qt)
rosrun rqt_(按tab键)可以查看所有的rqt工具。
可视化工具。图形化显示的工具。
和rviz一样,但是比rviz更高级。
Rqt_graph;
显示当前有哪些node,topic在运行,消息的流向。(反应系统的全貌)
xiangliu@xiangliu-virtual-machine:~$ rqt_graph (要先运行roslaunch)、
在这个计算图里圆圈代表节点,箭头代表流向,箭头上面是topic,显示了所有节点和topic和流向。
(习惯:下载了别人的程序,一般先运行下rqt_graph先整体了解它的结构)
这里能俯瞰整个系统的菜单栏。任何变化,在rqt_graph里面刷新一下都可以看到。
Rqt_plot:
把某些参数(尤其是动态参数)的曲线绘制出来,比如调试机器人的时候看速度,看光电码盘或者IMU数据。查找参数!
在这里你可以选择监视你想监视的topic。
比如:我想监视X-boot它轮子的里程计。这里轮子的topic在 /odom/---下面。
/odom/下面由四个选项分表代表不同的意义,pose是指当前机器人所在位置,twist是指机器人现在运动速度。
Rqt_console:
它有一些过滤器,能把日志分成不同等级。方便查询。