ros使用罗技f710无线控制手柄
参考:blog.csdn.net/hcx25909/article/details/9042469
罗技F710无线控制手柄ROS下使用说明
安装手柄相关的包和驱动
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
查看手柄接口信息并更改其所在的群组 //重启后无效不知道怎么解决
默认情况下游戏手柄接口名称为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安装了该项)
现在按下手柄按键就会在终端显示信息,如附件表一所示:
运行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之间,方向键和摇杆的正负号反过来
查看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无线控制手柄的更多相关文章
- Deepin 15.4 如何使用 罗技无线键盘/鼠标(采用优联技术)
1.罗技的“无线优联技术”还是非常强大的,它跟具体的操作系统无关: 2.你只需要 让“优联接收器(一个USB设备)”跟 “无线键盘/鼠标” 配对即可,配对完之后,就无需再配对,即使把“优联接收器”插到 ...
- HTC VIVE 虚拟现实眼镜VR游戏体验
HTC的VIVE入手一段时间了,体验了几个免费的VR游戏,效果还不错,分享一下. 1. VIVE主要部件 VIVE的主要部件有3个,分别是头盔,两个无线控制手柄和两个定位器. 1.1 头盔 头盔整体照 ...
- Linux内核5.6亮点
导读 当我们还在体验 Linux 5.5 稳定发行版带来更好的硬件支持时,Linux 5.6 已经来了.我将在本文中重点介绍 Linux 5.6 发布版中值得期待的关键更改和功能. 说实话,Linux ...
- 5-6 Elasticsearch
Elasticsearch概述 什么是Elasticsearch elastic:富有弹性的 search:搜索 在计算机开发界简称ES 这个软件不是SpringCloud的组件,甚至其他语言都可以使 ...
- ubnt+ros 接入无线
ubnt+ros 接入无线 一.ubnt配置(UBNT NanoStation LOCOM2 LOCO M2)1.ubnt接poe,转lan接到pc2.ubnt默认ip是192.168.1.20,用户 ...
- 基于ROS和python,通过TCP通信协议,完成键盘无线控制移动机器人运动
一.所需工具包 1.ROS键盘包:teleop_twist_keyboard 2.TCP通讯包:socket $ cd ~/catkin_ws/src $ git clone https://gith ...
- ros ap 的无线中继
https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Repeater Wireless repeater will allow to re ...
- ROS 多台电脑间进行通信
版权声明:本文为博主原创文章,转载请标明出处: http://www.cnblogs.com/liu-fa/p/5773822.html 在我看来,ROS最牛逼的地方就是它的通信机制了,不仅仅是进程间 ...
- ROS 使用自带和usb摄像头获取图像
笔记本自带的摄像头的设备号一般为/dev/video0 第一步:安装Webcam 驱动 $ sudo apt-get install git-core $ cd ~/catkin_ws/src $ g ...
随机推荐
- IjkPlayer播放器秒开优化以及常用Option设置
https://blog.csdn.net/shareus/article/details/78585260 ijkplayer点播和直播视频 问题 解决及优化 https://blog.csdn. ...
- 【动态规划】bzoj1044: [HAOI2008]木棍分割
需要滚动优化或者short int卡空间 Description 有n根木棍, 第i根木棍的长度为Li,n根木棍依次连结了一起, 总共有n-1个连接处. 现在允许你最多砍断m个连接处, 砍完后n根木棍 ...
- 【数位dp】bzoj1833: [ZJOI2010]count 数字计数
数位dp姿势一直很差啊:顺便庆祝一下1A Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. Input 输入文件中仅包含一行两个整数a ...
- 初涉「带权并查集」&&bzoj3376: [Usaco2004 Open]Cube Stacking 方块游戏
算是挺基础的东西 Description 约翰和贝茜在玩一个方块游戏.编号为1到n的n(1≤n≤30000)个方块正放在地上.每个构成一个立方柱. 游戏开始后,约翰会给贝茜发出P(1≤P ...
- 力扣题目汇总(重复N次元素,反转字符串,斐波那契数)
重复 N 次的元素 1.题目描述 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次. 返回重复了 N 次的那个元素. 示例 1: 输入:[1,2,3,3] 输出:3 ...
- Scrapy爬取多层级网页内容的方式
# -*- coding: utf-8 -*- import scrapy from Avv.items import AvvItem class AvSpider(scrapy.Spider): n ...
- Python面向对象(类之间的关系)(三)
类与类之间的关系 在我们的世界中事物和事物之间总会有一些联系. 在面向对象中. 类和类之间也可以产生相关的关系 1. 依赖关系 执行某个动作的时候. 需要xxx来帮助你完成这个操作. 此时的关系是最轻 ...
- Day12装饰器
1.装饰器 什么是装饰器:装饰器指的是为被装饰对象添加新功能的工具 装饰器本身可以是任意调用对象 被装饰对象本身也可以是任意可调用对象 2.为何要用装饰器: 开放封闭原则: ①对修改源代码和调用方式是 ...
- lombok安装、配置、使用
eclipse安装Lombok 运行安装: java -jar ${path}\lombok.jar 选择IDE所在路径点击Install/Update即可使用. 手动安装1. 将lombok.jar ...
- SQLServer数据库查看死锁、堵塞情况
在压力测试过程中,不间断的按F5键执行上面的SQL语句,如果出现死锁或者堵塞现象,就会在执行结果中罗列出来.如果每次连续执行SQL,都有死锁或者堵塞出现,说明死锁或者堵塞的比较严重. --每秒死锁数量 ...