ps3手柄与ros


英文网页:http://wiki.ros.org/ps3joy/Tutorials/PairingJoystickAndBluetoothDongle

1 有线插入手柄,配对ps3与蓝牙bluetooth 自带的蓝牙或外接蓝牙都可以,必须在root权限下进行

ll /dev/uinput 检查是否有js0
sudo bash
rosrun ps3joy sixpair
2  测试手柄
sudo bash
rosrun ps3joy ps3joy.py
拔下有线口,按下手柄配对键,要求:必须有uinput模块,否则失败测试
sudo jstest /dev/input/js0

按下任意按钮,对应数字变化

3 例子 手柄控制乌龟

下载开源包https://code.ros.org/svn/ros-pkg/stacks/joystick_drivers_tutorials/trunk/turtle_teleop/

launch文件:


 

   
   
   
   
[html] view plain copy
  1. <launch>  
  2.   3   
  3.   4  <!-- Turtlesim Node-->  
  4.   5   <node pkg="turtlesim" type="turtlesim_node" name="sim"/>  
  5.   6   
  6.   7 <!-- PS3 joy node -->  
  7.   8   <node respawn="true" pkg="ps3joy" type="ps3joy.py" name="PS3_turtle_joy" o    utput="screen" />  
  8.   9   
  9.  10  <!-- joy node -->  
  10.  11   <node respawn="true" pkg="joy"  
  11.  12         type="joy_node" name="turtle_joy" >  
  12.  13     <param name="dev" type="string" value="/dev/input/js0" />  
  13.  14     <param name="deadzone" value="0.12" />  
  14.  15   </node>  
  15.  16   
  16.  17  <!-- Axes -->  
  17.  18   <param name="axis_linear" value="1" type="int"/>  
  18.  19   <param name="axis_angular" value="0" type="int"/>  
  19.  20   <param name="scale_linear" value="2" type="double"/>  
  20.  21   <param name="scale_angular" value="2" type="double"/>  
  21. 3   <node pkg="turtle_teleop" type="turtle_teleop_joy" name="teleop"/>  
  22.  24   
  23.  25 </launch>  

开启了乌龟节点turtlesim,手柄驱动节点ps3joy和joy,按键转换成cmd消息节点turtle_teleop

分别通过察看: sudo jstest/dev/input/js0 手柄是否已经驱动

rostopic echo /joy joy节点是否正常

rostopic echo/cmd_vel 速度信息是否正常转换

 4 加入到已有launch文件中

     
     
     
     
[html] view plain copy
  1. <!-- PS3 joy node -->  
  2.  8   <node respawn="true" pkg="ps3joy" type="ps3joy.py" name="PS3_turtle_joy" o    utput="screen" />  
  3.  9   
  4. 10  <!-- joy node -->  
  5. 11   <node respawn="true" pkg="joy"  
  6. 12         type="joy_node" name="turtle_joy" >  
  7. 13     <param name="dev" type="string" value="/dev/input/js0" />  
  8. 14     <param name="deadzone" value="0.12" />  
  9. 15   </node> 

多次实验,这种配置最好 否则会异常,经常弹出是否允许信息

你可能感兴趣的:(ps3手柄与ros)