用手柄控制turtlebot运行

在用手柄控制turtlesim运动时,已经讲述过了手柄的配置。

在turtlebot_teleop中已有使用手柄的launch文件,在indigo版本下:

keyboard_teleop.launch:用键盘控制turtlebot运动

logitech.launch:使用罗技的手柄控制运动

xbox360_teleop.launch:应用于xbox360型号的手柄

本人使用的手柄可以使用xbox360的驱动,因此对xbox360_teleop.launch文件进行修改。

在测试手柄时,需要判断键位功能,使能键是button:5  ,在运行过程中,只有在按下这个键时才能通过遥感控制turtlebot运行。

<launch>
  <!--
    Push the left frontal button labeled as 'LB' to activate cmd_vel publishing.
    Move the left stick around to control the velocity.
   -->
  <!--  smooths inputs from cmd_vel_mux/input/teleop_raw to cmd_vel_mux/input/teleop -->
  <include file="$(find turtlebot_teleop)/launch/includes/velocity_smoother.launch.xml"/>

  <node pkg="turtlebot_teleop" type="turtlebot_teleop_joy" name="turtlebot_teleop_joystick">
    <param name="scale_angular" value="1.5"/>
    <param name="scale_linear" value="0.5"/>
    <param name="axis_deadman" value="4"/>
    <param name="axis_linear" value="1"/>
    <param name="axis_angular" value="0"/>
    <remap from="turtlebot_teleop_joystick/cmd_vel" to="teleop_velocity_smoother/raw_cmd_vel"/>
  </node>

  <node pkg="joy" type="joy_node" name="joystick"/>

</launch>

对以下语句进行修改:

1、

<param name="axis_deadman" value="4"/>
修改为:

<param name="axis_deadman" value="5"/>
2、

<node pkg="joy" type="joy_node" name="joystick"/>
修改为:

<node pkg="joy" type="joy_node" name="joystick">

  <param name="dev" type="string" value="/dev/input/js0" />

</node>


最后在启动turtlebot后运行命令即可使用手柄控制运动:

roslaunch turtlebot_bringup minimal.launch
roslaunch turtlebot_teleop xbox360_teleop.launch





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值