< >
Home » ROS与传感器教程 » ROS与传感器教程-PS3游戏杆使用

ROS与传感器教程-PS3游戏杆使用

ROS与传感器教程-PS3游戏杆使用

说明:

  • 介绍如何使用PS3游戏杆
  • 可以支持国产或进口ps3游戏杆

步骤:

  • 第一步:安装相关依赖
sudo apt-get install libspnav-dev
sudo apt-get install libbluetooth-dev
sudo pip install PyBluez==0.22 
sudo apt-get install -y python-bluetooth # ubuntu18.04 使用这个安装
  • 第二步:安装驱动,新建工作空间或现在工作空间
mkdir -p ~/catkin_ws/src
git clone https://github.com/ncnynl/joystick_drivers.git
cd ..
catkin_make
  • 第三步:将手柄与usb蓝牙适配器进行绑定,只需绑定一次
  • 将手柄通过usb数据线接入主机,usb蓝牙适配器也插上主机
sudo bash
rosrun ps3joy sixpair
  • 结果如下:
Current Bluetooth master: 00:22:b0:d0:5a:09
Setting master bd_addr to 00:22:b0:d0:5a:09

# 如果出现下述错误
Current Bluetooth master: 00:1b:dc:00:07:3c
Unable to retrieve local bd_addr from `hcitool dev`.
Please enable Bluetooth or specify an address manually.
# 先运行
hciconfig hci0 reset
# 如果运行
hciconfig hci0 reset
# 出现错误
# Can't init device hci0: Operation not possible due to  

# 运行 
rfkill unblock all
# 然后运行
hciconfig hci0 reset
# 重新运行
rosrun ps3joy sixpair
  • 提示上述错误,也可以通过System Setting -> Bluetooth 选择ON来激活蓝牙
  • 绑定设置完成,断开手柄与主机的usb连接
  • ctrl+D 退出root模式
  • 第四步:将手柄与usb蓝牙适配器配对
  • #确保蓝牙接收器已经插入主机usb口
  • 新开终端,开启roscore
roscore
  • 新开终端,执行ps3joyfake_node.py
sudo bash
rosrun ps3joy ps3joyfake_node.py
  • 效果如下:
:~# rosrun ps3joy ps3joyfake_node.py 
No inactivity timeout was set. (Run with --help for details.)
Waiting for connection. Disconnect your PS3 joystick from USB and press the pairing button.
  • 效果图:
    请输入图片描述

  • 再按下ps3手柄的配对键,如果成功配对效果如下:

~# rosrun ps3joy ps3joyfake_node.py
No inactivity timeout was set. (Run with --help for details.)
Waiting for connection. Disconnect your PS3 joystick from USB and press the pairing button.
Connection activated
  • 配对完成

  • ps3joyfake_node.py启动后,它会将蓝牙接收的手柄按键数据转换成标准的joy msg

  • 同时以/joy为话题在ros中发布,即ps3joyfake_node.py一个文件相当于ps3joy.py + joy_node两个文件

  • 在实际使用中不必再开启joy_node节点

  • 第五步:查看手柄输出

rostopic echo /joy
  • 效果如下:
header:
  seq: 297
  stamp:
    secs: 1488877867
    nsecs: 535818099
  frame_id: ''
axes: [0.0, 0.0, 0.0, 0.0, -1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.21316899359226227, 0.0]
buttons: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与传感器教程-