英文网页:
http://wiki.ros.org/ps3joy/Tutorials/PairingJoystickAndBluetoothDongle1 有线插入手柄,配对ps3与蓝牙bluetooth 自带的蓝牙或外接蓝牙都可以,必须在root权限下进行
[html]
ll /dev/uinput 检查是否有js0
sudo bash
rosrun ps3joy sixpair
2 测试手柄
[html]
sudo bash
rosrun ps3joy ps3joy.py
拔下有线口,按下手柄配对键,要求:必须有uinput模块,否则失败测试
[html]
sudo jstest /dev/input/js0
按下任意按钮,对应数字变化
3 例子 手柄控制乌龟
下载开源包
https://code.ros.org/svn/ros-pkg/stacks/joystick_drivers_tutorials/trunk/turtle_teleop/launch文件:
[html]
view plaincopy<launch>
3
4 <!-- Turtlesim Node-->
5 <node pkg="turtlesim" type="turtlesim_node" name="sim"/>
6
7 <!-- PS3 joy node -->
8 <node respawn="true" pkg="ps3joy" type="ps3joy.py" name="PS3_turtle_joy" o utput="screen" />
9
10 <!-- joy node -->
11 <node respawn="true" pkg="joy"
12 type="joy_node" name="turtle_joy" >
13 <param name="dev" type="string" value="/dev/input/js0" />
14 <param name="deadzone" value="0.12" />
15 </node>
16
17 <!-- Axes -->
18 <param name="axis_linear" value="1" type="int"/>
19 <param name="axis_angular" value="0" type="int"/>
20 <param name="scale_linear" value="2" type="double"/>
21 <param name="scale_angular" value="2" type="double"/>
3 <node pkg="turtle_teleop" type="turtle_teleop_joy" name="teleop"/>
24
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 plaincopy<!-- PS3 joy node -->
8 <node respawn="true" pkg="ps3joy" type="ps3joy.py" name="PS3_turtle_joy" o utput="screen" />
9
10 <!-- joy node -->
11 <node respawn="true" pkg="joy"
12 type="joy_node" name="turtle_joy" >
13 <param name="dev" type="string" value="/dev/input/js0" />
14 <param name="deadzone" value="0.12" />
15 </node>
多次实验,这种配置最好否则会异常,经常弹出是否允许信息
英文网页:
http://wiki.ros.org/ps3joy/Tutorials/PairingJoystickAndBluetoothDongle1 有线插入手柄,配对ps3与蓝牙bluetooth 自带的蓝牙或外接蓝牙都可以,必须在root权限下进行
[html]
ll /dev/uinput 检查是否有js0
sudo bash
rosrun ps3joy sixpair
2 测试手柄
[html]
sudo bash
rosrun ps3joy ps3joy.py
拔下有线口,按下手柄配对键,要求:必须有uinput模块,否则失败测试
[html]
sudo jstest /dev/input/js0
按下任意按钮,对应数字变化
3 例子 手柄控制乌龟
下载开源包
https://code.ros.org/svn/ros-pkg/stacks/joystick_drivers_tutorials/trunk/turtle_teleop/launch文件:
[html]
view plaincopy<launch>
3
4 <!-- Turtlesim Node-->
5 <node pkg="turtlesim" type="turtlesim_node" name="sim"/>
6
7 <!-- PS3 joy node -->
8 <node respawn="true" pkg="ps3joy" type="ps3joy.py" name="PS3_turtle_joy" o utput="screen" />
9
10 <!-- joy node -->
11 <node respawn="true" pkg="joy"
12 type="joy_node" name="turtle_joy" >
13 <param name="dev" type="string" value="/dev/input/js0" />
14 <param name="deadzone" value="0.12" />
15 </node>
16
17 <!-- Axes -->
18 <param name="axis_linear" value="1" type="int"/>
19 <param name="axis_angular" value="0" type="int"/>
20 <param name="scale_linear" value="2" type="double"/>
21 <param name="scale_angular" value="2" type="double"/>
3 <node pkg="turtle_teleop" type="turtle_teleop_joy" name="teleop"/>
24
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 plaincopy<!-- PS3 joy node -->
8 <node respawn="true" pkg="ps3joy" type="ps3joy.py" name="PS3_turtle_joy" o utput="screen" />
9
10 <!-- joy node -->
11 <node respawn="true" pkg="joy"
12 type="joy_node" name="turtle_joy" >
13 <param name="dev" type="string" value="/dev/input/js0" />
14 <param name="deadzone" value="0.12" />
15 </node>
多次实验,这种配置最好否则会异常,经常弹出是否允许信息