ROS学习笔记之——使用带有ROS的Gazebo插件

Gazebo插件为您的URDF模型提供了更强大的功能,可以连接ROS消息和传感器输出和电机输入的服务调用。

对于gazebo模型,如果不加入ROS的插件,是没法发布消息跟ROS进行通信的。

 

目录

Gzebo中插件类型

Adding a ModelPlugin

Adding a SensorPlugin

参考资料


 

Gzebo中插件类型

(http://gazebosim.org/tutorials?tut=plugins_hello_world&cat=write_plugin)

Gazebo supports several plugin types, and all of them can be connected to ROS, but only a few types can be referenced through a URDF file:

  1. ModelPlugins, to provide access to the physics::Model API
  2. SensorPlugins, to provide access to the sensors::Sensor API
  3. VisualPlugins, to provide access to the rendering::Visual API

 

Adding a ModelPlugin

In short, the ModelPlugin is inserted in the URDF inside the  element. It is wrapped with the  pill, to indicate information passed to Gazebo. For example:


  ... robot description ...
  
    
      ... plugin parameters ...
    
  
  ... robot description ...

在RRBot中的位置如下图所示

ROS学习笔记之——使用带有ROS的Gazebo插件_第1张图片

在Gazebo中加载机器人模型时,diffdrive_plugin代码将被赋予对模型本身的引用,允许它对模型进行操作。此外,它还将引用自身的SDF元素,以便读取传递给它的插件参数。

 

Adding a SensorPlugin

Specifying sensor plugins is slightly different. Sensors in Gazebo are meant to be attached (被链接到) to links, so the  element describing that sensor must be given a reference to that link. For example:


  ... robot description ...
  
    ... link description ...
  

  
    
      ... sensor parameters ...
      
        ... plugin parameters ..
      
    
  

ROS学习笔记之——使用带有ROS的Gazebo插件_第2张图片

在Gazebo内加载机器人模型时,摄像机控制器代码将作为传感器的参考,提供对其API的访问。此外,它还将引用自身的SDF元素,以便读取传递给它的插件参数。

 

 

 

参考资料

http://gazebosim.org/tutorials?cat=connect_ros

http://gazebosim.org/tutorials?tut=ros_gzplugins&cat=connect_ros

你可能感兴趣的:(ROS,移动机器人)