本篇的目的是想解读gazebo_ros_control 以及 gazebo_ros.
因为gazebo本身是独立于ros的,通过教程Intermediate: Control plugin 以及教程 Category: Write a plugin 发现自己单纯的写c++ plugin就能控制model,获取sensor信息. 那么ros官方开发的那一套 gazebo_ros_control, gazebo_ros等等,肯定也是用同一种思路开发的, 只不过利用了ros自身的一些其他package, 例如ros_control 和 ros_controllers 进行了集成, 使使用起来更加方便, 毕竟很多robot的基本元素都是形同的, 没必要为每个robot或model开发一个新的plugin. 所以通过插件的形式,配合以yaml文件, 可以快速对一个新的robot模型定制一个专属的plugin.
gazebo_ros_control
这个其实就ros版本的 Model plugins
gazebo_ros
这个其实就是ros版本的 System Plugin
至于gazebo还有的 World plugins SensorPlugin, ros中没有与之对于的实现, 可能有gazebo_ros_control 和 gazebo_ros 就够了吧.