不遵守Gazebo模拟PR2机器人的最大速度

时间:2020-10-25 15:36:24

标签: ros

运行ROS旋律,凉亭版本9.11.0和官方的凉亭/ PR2插件。

我正在使用在凉亭内模拟的PR2机器人,并通过ROS发送控制命令。但是,机器人最多只能在0.25 m / s的范围内移动,而最大速度为1 m / s(根据规格)。我正在使用PR2 / Gazebo插件提供的Teleop应用程序。

PR2广播启动文件teleop_keyboard.launch正确指示正确的值

<launch>
        
    <node pkg="pr2_teleop" type="teleop_pr2_keyboard" name="spawn_teleop_keyboard" output="screen">
      <remap from="cmd_vel" to="robot1/base_controller/command" />

      <param name="walk_vel" value="0.5" />
      <param name="run_vel" value="1.0" />
      <param name="yaw_rate" value="1.0" />
      <param name="yaw_run_rate" value="1.5" />
    </node>
</launch>

直接访问robot1里程表可指示问题:最大速度以某种方式限制为0.261 m / s。但是pr2_teleop中的步行速度设置为0.5 m / s!

twist: 
  twist: 
    linear: 
      x: 0.261318236589
      y: 4.47927095593e-06
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: -1.72120462594e-06
  covariance: <removed>

1 个答案:

答案 0 :(得分:0)

根据teleop_pr2_keyboard.cppgeometry_msgs::Twist的值必须为:

0.5 for twist.twist.linear.x -> forward moving

-0.5 for twist.twist.linear.x -> backward moving

,依此类推,请参见http://docs.ros.org/en/melodic/api/pr2_teleop/html/teleop__pr2__keyboard_8cpp_source.html。 我的问题是,如何在linear.yangular.z中获得最小的偏差,并且您是否更改了上述文件中的某些内容?