参考:blog.csdn.net/hcx25909/article/details/9042469

罗技F710无线控制手柄ROS下使用说明

  1. 安装手柄相关的包和驱动

sudo apt-get install ros-indigo-joy(ROS相关项,Jetson TK1只安装这一个)

sudo apt-get install ros-indigo-joystick-drivers

rosdep install joy

rosmake joy

备注:直接rosdep install joy时提示错误:

wang@wang-Rev-1-0:~$ rosdep install joy

ERROR: Rosdep cannot find all required resources to answer your query
Missing resource joy
ROS path [0]=/opt/ros/indigo/share/ros
ROS path [1]=/home/wang/bzrobot_ws/src
ROS path [2]=/opt/ros/indigo/share
ROS path [3]=/opt/ros/indigo/stacks
所以用apt-cache search ros-indigo查找安装包,最后选定以下包安装,之后rosdep install joy成功

ros-indigo-joy

ros-indigo-joystick-drivers

sudo apt-get install ros-indigo-joy

rosdep install joy

rosmake joy

  1. 查看手柄接口信息并更改其所在的群组   //重启后无效不知道怎么解决

默认情况下游戏手柄接口名称为js0

1). 输入:ls -l /dev/input/js0

输出:crw-rw-r--+ 1 root root 13, 0
10月 5 09:03 /dev/input/js0

可知js0默认的所有者和群组都是root,即需要root权限才能操作js0

2). 更改js0的root群组为dialout群组

sudo chgrp dialout /dev/input/js0              //改变所属用户方法:sudo chown 用户名 /dev/input/js0

查看更改后所属群组,输入:ls
-l /dev/input/js0

输出:crw-rw-r--+ 1 root dialout
13, 0 10月 5 09:03 /dev/input/js0

3.
测试手柄信号

1). 插上无线手柄接收器

2). sudo jstest /dev/input/js0

(sudo apt-get install joystick)   (在ubuntu本身上的测试,Jetson TK1安装了该项)

现在按下手柄按键就会在终端显示信息,如附件表一所示:

  1. 运行joy_node节点,查看或订阅消息

1). 运行joy_node节点:

rosrun joy joy_node 或者rosrun
bzrobot_comm joy_node

2). 查看消息:

rostopic echo joy 或者rosrun
bzrobot_comm joy_sub.py

现在按下手柄按键即可收到信息,终端显示如下:

header:

seq: 1990

stamp:

secs: 1412479062

nsecs: 544396707

frame_id: ''

axes: [-0.0, -0.0, 1.0,
-0.0, -0.0, 0.0, -0.0, -0.0]

buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

header:

seq: 1964

stamp:

secs: 1412478581

nsecs: 100324311

frame_id: ''

axes: [-0.0, -0.0,
0.21262244880199432
, -0.0, -0.0, 0.0,
-0.0, -0.0]

buttons: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

备注:与sudo
jstest
/dev/input/js0输出信号相比,其数字量用0.0,1.0,-1.0表示,模拟量在-1.0到1.0之间,方向键和摇杆的正负号反过来

  1. 查看ROS定义的手柄消息类型Joy

输入:rosmsg show Joy

附件表一:
sudo jstest /dev/input/js0时终端显示

MODE有两种状态:绿灯不亮、绿灯亮

VIBRATION:按下手柄震动

为方便叙述,左侧摇杆称为摇杆A,右侧摇杆称为摇杆B,有上下左右标志的键称为方向键

绿灯不亮时按键值及其位置如下表黑色部分,绿灯亮时buttons相同,axes为绿色部分.

D | X 的选择在X时如下表:

  buttons(整型)
  0 1 2 3 4 5 6 7 8 9 10
"A"按下松开 1->0                    
"B"按下松开   1->0                  
"X"按下松开     1->0                
"Y"按下松开       1->0              
"LB"按下松开         1->0            
"RB"按下松开           1->0          
"BACK"按下松开             1->0        
"START"按下松开               1->0      
"Logitech"按下松开                 1->0    
"摇杆A"按下松开                   1->0  
"摇杆B"按下松开                     1->0
  axes(浮点型)
  0 1 2 3 4 5 6 7
"摇杆A"向左并松开(模拟量)(数字量)  0.0-> 1.0->0.0            1.0->0.0  
"摇杆A"向右并松开(模拟量)(数字量)  0.0->-1.0->0.0           -1.0->0.0  
"摇杆A"向上并松开(模拟量)(数字量)    0.0-> 1.0->0.0              1.0->0.0
"摇杆A"向下并松开(模拟量)(数字量)    0.0->-1.0->0.0            -1.0->0.0
"LT"按下并松开(模拟量)(同)     1.0->0.0->-1.0->0.0->1.0          
"摇杆B"向左并松开(模拟量)(同)        0.0-> 1.0->0.0        
"摇杆B"向右并松开(模拟量)(同)        0.0->-1.0->0.0        
"摇杆B"向上并松开(模拟量)(同)          0.0-> 1.0->0.0      
"摇杆B"向下并松开(模拟量)(同)          0.0->-1.0->0.0      
"RT"按下并松开(模拟量)(同)           1.0->0.0->-1.0->0.0->1.0    
"方向键左"按下并松开(数字量)(数字量)  1.0->0.0            1.0->0.0   
"方向键右"按下并松开(数字量)(数字量) -1.0->0.0           -1.0->0.0  
"方向键上"按下并松开(数字量)(数字量)    1.0->0.0             1.0->0.0
"方向键下"按下并松开(数字量)(数字量)   -1.0->0.0            -1.0->0.0 

绿灯亮时:1).
摇杆A成为数字量,其位置和值与绿灯不亮时方向键键相同

2). 方向键只是位置由axes的6,7位改变到0,1位

3). 其它按键不变

Jetson TK1安装F710驱动:

1.ls -l /dev/input/js0

2.sudo apt-get install joystick(安装)
3.sudo jstest /dev/input/js0

4. sudo apt-get install ros-indigo-joy(安装)
5.roscore
6.rosrun joy joy_node

7.rostopic echo joy

ros使用罗技f710无线控制手柄的更多相关文章

  1. Deepin 15.4 如何使用 罗技无线键盘/鼠标(采用优联技术)

    1.罗技的“无线优联技术”还是非常强大的,它跟具体的操作系统无关: 2.你只需要 让“优联接收器(一个USB设备)”跟 “无线键盘/鼠标” 配对即可,配对完之后,就无需再配对,即使把“优联接收器”插到 ...

  2. HTC VIVE 虚拟现实眼镜VR游戏体验

    HTC的VIVE入手一段时间了,体验了几个免费的VR游戏,效果还不错,分享一下. 1. VIVE主要部件 VIVE的主要部件有3个,分别是头盔,两个无线控制手柄和两个定位器. 1.1 头盔 头盔整体照 ...

  3. Linux内核5.6亮点

    导读 当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了.我将在本文中重点介绍 Linux 5.6 发布版中值得期待的关键更改和功能. 说实话,Linux ...

  4. 5-6 Elasticsearch

    Elasticsearch概述 什么是Elasticsearch elastic:富有弹性的 search:搜索 在计算机开发界简称ES 这个软件不是SpringCloud的组件,甚至其他语言都可以使 ...

  5. ubnt+ros 接入无线

    ubnt+ros 接入无线 一.ubnt配置(UBNT NanoStation LOCOM2 LOCO M2)1.ubnt接poe,转lan接到pc2.ubnt默认ip是192.168.1.20,用户 ...

  6. 基于ROS和python,通过TCP通信协议,完成键盘无线控制移动机器人运动

    一.所需工具包 1.ROS键盘包:teleop_twist_keyboard 2.TCP通讯包:socket $ cd ~/catkin_ws/src $ git clone https://gith ...

  7. ros ap 的无线中继

    https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Repeater Wireless repeater will allow to re ...

  8. ROS 多台电脑间进行通信

    版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5773822.html 在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间 ...

  9. ROS 使用自带和usb摄像头获取图像

    笔记本自带的摄像头的设备号一般为/dev/video0 第一步:安装Webcam 驱动 $ sudo apt-get install git-core $ cd ~/catkin_ws/src $ g ...

随机推荐

  1. std::ios::sync_with_stdio和tie()——给cin加速

    平时在Leetcode上刷题的时候,总能看到有一些题中最快的代码都有这样一段 static const auto init = []() { std::ios::sync_with_stdio(fal ...

  2. [POJ]1111 Image Perimeters

    Description Technicians in a pathology lab analyze digitized images of slides. Objects on a slide ar ...

  3. C语言获取Shell返回结果

    Linux编程时候,如果我们需要调用shell命令或脚本通常使用system方法.如system("ls") 该方法返回值为0或-1,即成功或失败.而有的时候我们想要获取shell ...

  4. 【php】 php的注释问题,单行注释和多行注释与php结束符的关系

    单行注释仅仅注释到行末或者当前的 PHP 代码块,视乎哪个首先出现.这意味着在 // ... ?> 或者 # ... ?> 之后的 HTML 代码将被显示出来:?> 跳出了 PHP ...

  5. day20-python之装饰器

    1.装饰器 #!/usr/bin/env python # -*- coding:utf-8 -*- import time def cal(l): start_time=time.time() re ...

  6. day03变量补充和数据类型

    1.变量的内存管理机制 引用计数:存放值的内存地址绑定的变量个数 垃圾:引用计数为0的内存地址 引用计数增加: age = 18 x = age 引用计数减少: ①age = 19 ②del x 值的 ...

  7. HashMap图解

    HashMap的数据结构和put.get.resize等操作的图解,看图轻松掌握HashMap (目前还不包括红黑树相关的部分) HashMap数据结构如下图 HashMap之put操作如下图 Has ...

  8. Luogu 3423 [POI 2005]BAN-银行票据 (多重背包单调队列优化 + 方案打印)

    题意: 给出 n 种纸币的面值以及数量,求最少使用多少张纸币能凑成 M 的面额. 细节: 好像是要输出方案,看来很是头疼啊. 分析: 多重背包,裸体??? 咳咳,好吧需要低调,状态就出来了: dp [ ...

  9. Knockout v3.4.0 中文版教程-13-控制文本内容和外观-css绑定

    4. css绑定 目的 css绑定可以给关联的DOM元素添加或移除一个或多个CSS类.该绑定很有用,比如,当一些值为负数时高亮这些值为红色. (注意:如果你不想使用一个CSS类选择器来附加样式而想直接 ...

  10. 转:深入 AngularUI Router

    原文地址:http://www.ng-newsletter.com/posts/angular-ui-router.html ui-router: https://angular-ui.github. ...