12.3-ros遙操作teleop


ROS使用XBOX ONE 手柄

前言

參考

ros wiki
Tutorial
Msg Remapper
Linux Configuration
JoyStick_drivers
Configuring a Multiple Joystick System
How to Write a Generic Teleoperation Node
teleop_twist_joy
xbone BT wireless controller issue with ubuntu

學習記錄

安裝相關包

sudo apt install ros-kinetic-joy-teleop ros-kinetic-teleop-tools ros-kinetic-teleop-twist-joy ros-kinetic-teleop-twist-keyboard

配置Linux

ls /dev/input/
# 手柄被標識為js2,js1居然是筆記本的加速度計!
sudo jstest /dev/input/js2
# 可以看到數據在變化
Driver version is 2.1.0.
Joystick (Microsoft X-Box One pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR, ?, ?, ?).
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0  6:     0  7:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9

# 查看此設備的訪問權限,為ROS程序(用戶域)添加權限
ls -l /dev/input/js2
sudo chmod a+rw /dev/input/js2

ROS包使用

  • 使用joy和teleop_twist_joy包

手柄控制P3AT的roslaunch文件

<launch>
  <node pkg = "joy" type = "joy_node" name = "joy_node" output="screen">
    <param name="dev"               value="/dev/input/js2" type="string"/>
    <param name="deadzone"          value="0.05"/>
    <param name="autorepeat_rate"   value="0.0"/>
    <param name="coalesce_interval" value="0.001"/>
  </node>
  <node pkg = "teleop_twist_joy" type = "teleop_node" name = "teleop_node" output="screen">
    <param name="enable_button"         value="0"/>
    <param name="enable_turbo_button"   value="-1"/>
    <param name="axis_linear"           value="1"/>
    <param name="scale_linear_turbo"    value="1.0"/>
    <param name="axis_angular"          value="0"/>
    <param name="scale_angular"         value="1.0"/>
    <remap from="cmd_vel" to="RosAria/cmd_vel" />
  </node>
</launch>
  • 使用方法
  • 按住A按鈕,控制左軸,移動平台就可以動了

自定義使用

  • 請查看參考頁面,編程實現JOY消息處理和多手柄遙操作

關於xbone BT wireless controller

  • Linux內核還沒有更新與手柄連接的驅動程序,所以藍牙不能正常連接


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM