参考链接:创客智造-xbox360无线游戏杆控制turtlebot

我使用的游戏手柄是 北通 阿修罗TE BTP-2185。

进入正题

1.安装手柄驱动

安装方法与Xbox360手柄驱动一样。

sudo apt-add-repository ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update && sudo apt-get install ubuntu-xboxdrv

最近实验室网不好,在执行sudo apt-get update 的时候遇到了下面的情况

W: 无法下载 http://mirrors.163.com/ubuntu/dists/trusty-updates/universe/binary-amd64/Packages  Hash 校验和不符E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。

多试几次就OK了。

2. 手柄和接收器配对

  • 将接收器插在电脑的USB接口上,并确保安装好手柄驱动程序
  • 按手柄中间的大圆按钮(西瓜键),手柄打开并配对,配对成功后指示灯P 和X长亮。如果指示灯都在闪烁,说明正在配对。如果配对不成功,请参考相关用户手册。

3. 测试手柄

  • 将接收器插在电脑上,并检查电脑是否发现设备。
ls /dev/input/js*

查看是否有显示或jsX,X为数字,这里会显示如下:

/dev/input/js0  /dev/input/js1  /dev/input/js2  /dev/input/js3  /dev/input/js4

这里显示了多个设备是因为接收器支持多个手柄,当然我们用到一个手柄就是js0了。

  • 测试手柄是否可用
sudo jstest /dev/input/js0

显示如下:

Driver version is 2.1.0.
Joystick (Xbox 360 Wireless Receiver (XBOX)) has 6 axes (X, Y, Z, Rx, Ry, Rz)
and 15 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR, ?, ?, ?, (null), (null), (null), (null)).
Testing ... (interrupt to exit)
Axes:  0: -5086  1:     0  2:-32767  3: -1291  4:  1066  5:-32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off 12:off 13:off 14:off

当我们按手柄上不同的键时,对应的数据会变化,比如晃动左右摇杆。

  • 设置权限,ROS的joy_node需要设备的访问权限
sudo chmod a+rw /dev/input/js0
  • 配置需要使用的设备,执行该步骤时需要先启动roscore
rosparam set joy_node/dev "/dev/input/js0"
  • 启动joy_node节点
rosrun joy joy_node
  • 打开新的终端,查看topic
rostopic echo joy

则能看到如下所示的手柄发布的话题,尝试手柄的各个按键,查看话题内容是否变化。

header:seq: 429stamp:secs: 1415227355nsecs: 833352850frame_id: ''
axes: [0.19235174357891083, -0.0, 1.0, -0.04268254339694977, -0.048208002001047134, 1.0]
buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

4. 使用手柄控制turtlebot

  • 关闭前面打开的终端,重新打开一个终端,启动roscore
roscore
  • 打开一个新终端启动turtlebot
roslaunch turtlebot_bringup minimal.launch
  • 打开一个新终端,设置设备并启动手柄的launch文件
 rosparam set /joystick/dev "/dev/input/js0"roslaunch turtlebot_teleop xbox360_teleop.launch
  • 按住左边的LB按钮激活遥控杆并移动左遥控杆,Turtlebot动起来了,而且还跑得飞快有没有,那么怎么让它跑得慢一点呢?

5. 修改xbox360_teleop.launch文件中的相关参数

  • 进入launch文件所在的目录
roscd turtlebot_teleop/launch/ && ls
  • 使用gedit修改launch文件
 sudo gedit xbox360_teleop.launch

显示如下:

<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>

其中scale_angular是设置角速度的,scale_linear是设置线速度的,那我们就把线速度设置成0.1吧。保存launch文件,重新启动手柄的launch文件,并用手柄控制,turtlebot开始慢慢移动了。

ROS indigo 使用游戏手柄控制turtlebot2相关推荐

  1. ROS之游戏手柄控制乌龟和机器人

    导师买了个游戏手柄,就研究了一下怎么用游戏手柄控制机器人.想不到有点简单,编写一断代码即可,同时对我这两天学习的复习. 开始教程. (1)游戏手柄控制乌龟. rosrun turtlesim turt ...

  2. 学习使用turtlebot2——安装ROS Indigo系统

    最近在学习使用turtlebot2,特此做一些学习记录. 安装ROS前要先决定自己电脑的Ubuntu(乌班图)系统.现在学习ROS常使用的Ubuntu系统有Ubuntu 16.04 和Ubuntu14 ...

  3. ubuntu14.04+windows双系统安装Ros indigo 与pioneer (测试的是3at和3dx) 键盘控制

    1.安装Linux系统,通过软件UltraISO 下载软件,打开文件,找到linux.iso文件,配置硬盘,写入 安装方式(WIn10+Linux论坛找的,win7直接分出50G,插u盘装就可以,如果 ...

  4. 机器人操作系统ROS Indigo 入门学习(1)——安装ROS Indigo【转】

    转自:http://blog.csdn.net/bobsweetie/article/details/43638761 Ubuntu14.04安装ROS Indigo 一.安装ROS 1.1配置Ubu ...

  5. LSD-SLAM 编译过程(Ubuntu 14.04 + ROS Indigo

    原文:http://blog.csdn.net/xueyinhualuo/article/details/48490939 环境:Ubuntu 14.04 + ROS Indigo LSD-SLAM ...

  6. ROS Indigo下安装测试Xtion Pro

    参考链接: https://blog.csdn.net/chenxingwangzi/article/details/48825767 https://www.cnblogs.com/cj2014/p ...

  7. ubuntu安装ros indigo

    版本是14.04.1 一.先配置 1.点击新立得软件包管理器,输入密码exbot123, 2,点击最上面一栏的设置,选择软件源,前四个打勾,后一个不打,把sevice america改成mainsev ...

  8. Ubuntu14.04 ROS Indigo安装教程,以及卸载方法

    Ubuntu14.04 ROS Indigo安装教程,以及卸载方法 原创 2017年01月25日 15:22:45 标签: ROS / ubuntu / 机器人 13957 ROS (Robot Op ...

  9. Ubuntu14.04中安装ROS Indigo(亲测)

    1)配置Ubuntu软件更新选项: System Settings -> Software & Updates 选项勾选如下所示 main universe restricted mul ...

最新文章

  1. 赠书 | 干货!用 Python 动手学强化学习
  2. 路由器级联后网速慢的原因分析和问题解决
  3. Perl调试器的用法
  4. java家具网站需求分析_基于jsp的家具销售-JavaEE实现家具销售 - java项目源码
  5. 【CodeForces - 520B】Two Buttons (bfs或dp或时光倒流,trick)
  6. linux配置远程计算机别名没用,linux – `ssh foo“”`没有加载远程别名?
  7. Android中binder,hwbinder,vndbinder之间的关系
  8. Python--day45--pymysql模块初识以及SQL注入
  9. 2016年计算机基础题库,2016考试计算机基础知识题库
  10. 408计算机考试科目英语数学,关于计算机考研408的那些事儿
  11. matlab排队系统仿真,MM1排队系统仿真matlab实验报告
  12. 中国伸缩式起重机行业市场供需与战略研究报告
  13. Handsontable 给力的仿Excel JQuery插件
  14. 济南ITSS证书办理大全
  15. 高带宽数字内容保护( HDCP )介绍
  16. Visual Studio 2019 Community 许可证过期解决方法
  17. JAVASCRIPT---CSS字体、文本、图标样式
  18. python——自动化测试——API接口测试
  19. C++实验题8 数组使用(bushi)
  20. IAR 使用中遇到的问题

热门文章

  1. 上计算机课的日记100字,体育课日记100字(通用17篇)
  2. 面试官在线改简历 | 只有6秒!程序员简历这样写才能抓住科技公司大佬的眼球
  3. 2023华为od机试真题 C语言 实现【数大雁】
  4. oracle中删除yuj_oracle数据库的删除
  5. 国内外众筹平台的对比分析
  6. 对抗环境下的多无人机编队方法和队形变换研究
  7. SPI硬件电路设计,SPI协议
  8. Keras 多GPU mult_gup_model 报错 cannot import name ‘multi_gpu_model’ from ‘keras.utils’
  9. C++的学习心得和知识总结 第十三章(完)
  10. 精英荟聚,入海捉蛟 | 2022年全国水下机器人大赛线上赛圆满举办