Rviz,Gazebo,MoveIt区别与联系
参考:https://www.zhihu.com/question/268658280/answer/340190866
来源:知乎, 作者:古月
Rviz的几个关键特性:
- 它是三维可视化工具,强调把已有的数据可视化显示.
- Rviz需要别人给它喂数据。
rviz提供了很多插件,这些插件可以显示图像、模型、路径等信息。但是前提都是这些数据已经以ROS topic、ROS parameters的形式pubilish,rviz做的事情就是subscribe这些数据,并完成可视化的渲染,让开发者直观地理解数据的意义。
Gazebo是三维物理(机器人的力学物理模型)仿真平台,强调的是创建一个虚拟的仿真环境。Gazebo不是显示工具,强调的是仿真,它不需要等着别人喂数据,而是创造数据。
如果你手上已经有机器人硬件平台,并且在上边可以完成需要的功能,用rviz应该就可以满足开发需求。如果你手上没有机器人硬件,或者想在仿真环境中做一些算法、应用的测试,gazebo+rviz应该是你需要的。另外,rviz配合其他功能包也可以建立一个简单的仿真环境,比如rviz+ArbotiX,可以参考《ROS by Example》,但是其中rviz的本质还是处理显示的部分。
那么Gazebo与MoveIt又是怎样的关系呢?两者功能不一样,不是相互替代的关系。Gazebo是一个simulator, it doesn’t do any motion planning. ROS is (in this context) the middleware that allows gazebo to talk to other software. MoveIt is a motion planning framework that uses ROS to talk to Gazebo.