gazebo仿真——controller配置(transmission/hardwareInterface标签)

参考roswiki controller官方说明
本文作为古月大神的补充ROS探索总结(三十一)——ros_control

为了在gazebo中实现机器人关节的控制,需要求建立一个controller控制器,首先需要在urdf中加入transmission标签如下:

<transmission name="simple_trans">
  <type>transmission_interface/SimpleTransmission</type>
  <joint name="foo_joint">
    <hardwareInterface>EffortJointInterface</hardwareInterface>
  </joint>
  <actuator name="foo_motor">
    <mechanicalReduction>50</mechanicalReduction>
    <hardwareInterface>EffortJointInterface</hardwareInterface>
  </actuator>
</transmission>

下面详细说一下位理解各个部分的含义:

  • <transmission>(必须)唯一指定了一个传动的标签,名字自己定义,方便起见可以使用与joint name相同的名字。

  • <type>(出现一次)定义了传动的类型,这个细节说明还没找到,用transmission_interface/SimpleTransmission就可以啦。

  • <joint >(可定义一个或多个)指定这个传动所依赖的关节,拥有如下标签hardwareInterface。

    • <hardwareInterface>(在joint下,可定义一个或多个)指定支持的硬件接口空间。用于结合控制器使用硬件接口来向硬件接口发送和接受指令,请注意:
      • 当在RobotHW中加载此transmission时,此标签的值应为hardware_interface / XXX。
      • 在Gazebo中加载此transmission时,此标记的值应为XXX 。
  • <actuator>(定义一个或多个)传动连接的致动器,名字自己去定义,拥有如下标签mechanicalReduction及hardwareInterface。

    • <mechanicalReduction >(可选)定义电机/关节减速比。
    • <hardwareInterface >(可选,只有Indigo及以前版本的在这里指定,目前版本已经移到joint标签下)指定支持的硬件接口空间。

此处说一下hardwareInterface标签的可选项:ROS提供了一下的接口可供选择

  • Joint Command Interfaces
    • Effort Joint Interface
    • Velocity Joint Interface
    • Position Joint Interface
  • Joint State Interfaces
  • Actuator State Interfaces
  • Actuator Command Interfaces
    • Effort Actuator Interface
    • Velocity Actuator Interface
    • Position Actuator Interface
  • Force-torque sensor Interface
  • IMU sensor Interface

对应的控制器

  • effort_controllers - 直接控制关节的力/扭矩。
    • joint_effort_controller
    • joint_position_controller
    • joint_velocity_controller
  • joint_state_controller - 读取所有关节位置。
    • joint_state_controller
  • position_controllers - 一次设置一个/多个关节位置。
    • joint_position_controller
    • joint_group_position_controller
  • velocity_controllers - 一次设置一个/多个关节速度。
    • joint_velocity_controller
    • joint_group_velocity_controller
  • joint_trajectory_controllers - 扩展功能用于规划整个轨迹。
    • position_controller
    • velocity_controller
    • effort_controller
    • position_velocity_controller
    • position_velocity_acceleration_controller
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值