运行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>
答案 0 :(得分:0)
根据teleop_pr2_keyboard.cpp
,geometry_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.y
和angular.z
中获得最小的偏差,并且您是否更改了上述文件中的某些内容?