思路:接受手柄发出的/joy话题,解析后发布用来控制小车或小乌龟运动的/cmd_vel话题。

步骤:

一、安装xbox360手柄驱动

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

二、连接手柄,并查看是否连接成功

终端输入

lsusb

可以看到已检测到 xbox360

或者,终端输入

ls /dev/input/

一般连接为js0

三、测试手柄

使用 jstest-gtk 测试

sudo apt-get install jstest-gtk
jstest-gtk

输入上诉指令后会出现图形化手柄测试程序,选择测试

四、启动测试小车

运行

rosrun joy joy_node

通过rostopic echo /joy,摇动手柄摇杆,可以看到数据变化

编写,/joy  to  /cmd_vel  python文件

#!/usr/bin/python
#coding=utf-8
import time
import rospy
from sensor_msgs.msg import Joy
from geometry_msgs.msg import Twistclass Joy360:def __init__(self):self.__line_x = 0self.__angle_z = 0self.__pub_cmd_vel = None self.__pub_can_vel = Noneself.__start = Falsepassdef joy_callback(self,data):if data.buttons[7] == 1:self.__start = not self.__startself.__line_x = data.axes[1] + 0.041172683239self.__angle_z = data.axes[0] - 0.041172683239def start(self):print("start init this node")rospy.init_node("joy_360_cmd", disable_signals=True)rospy.loginfo("init node ok!!")rospy.Subscriber("/joy",Joy,self.joy_callback)self.__pub_cmd_vel = rospy.Publisher("/cmd_vel",Twist,queue_size=100)
#        self.__pub_can_vel = rospy.Publisher("/sent_messages",Frame,queue_size=100)try:while not rospy.is_shutdown():time.sleep(0.05)if self.__start:data_pub = Twist()data_pub.linear.x = self.__line_xdata_pub.angular.z = self.__angle_zself.__pub_cmd_vel.publish(data_pub)except KeyboardInterrupt as e:print("quit by user " + str(e))if __name__=="__main__":joy_ins = Joy360()joy_ins.start()

运行python文件,此时可以通过rostopic echo /cmd_vel查看到数据的变化

四、打开小乌龟测试

rosrun turtlesim turtlesim_node /turtle1/cmd_vel:=/cmd_vel

如果你有其他的机器人,只要订阅了/cmd_vel运动节点,都可以通过手柄对其进行运动控制。

在ROS中使用Xbox360手柄控制小车运动相关推荐

  1. 基于paddledetection在ROS中搭建红绿灯检测控制车模运动(3)—— 使用训练结果在ros中仿真红绿灯控制小车运动

    前言 第一节: 基于paddledetection在ROS中搭建红绿灯检测控制车模运动(1)-- 环境搭建准备以及软件安装 第二节: 基于paddledetection在ROS中搭建红绿灯检测控制车模 ...

  2. 基于paddledetection在ROS中搭建红绿灯检测控制车模运动(2)—— 数据集制作以及训练

    前言 第一节: 基于paddledetection在ROS中搭建红绿灯检测控制车模运动(1)-- 环境搭建准备以及软件安装 第二节: 基于paddledetection在ROS中搭建红绿灯检测控制车模 ...

  3. agx 安装ros opencv_基于paddledetection在ROS中搭建红绿灯检测控制车模运动(1)

    前言本来想直接用百度智能车比赛的数据集训练,但是发现在ROS中搭建红绿灯模型和提供的数据集在颜色亮度外形上都有点差别- -无奈从创建数据集开始.目录:基于paddledetection在ROS中搭建红 ...

  4. ROS中map,odom坐标系的理解以及acml和robot_pose_ekf的对比和小车漂移方法解决

    之前一直不知道odom,map到底是什么关系,看了这个博客:https://blog.csdn.net/u012686154/article/details/88174195 才了解了一些.这边记录我 ...

  5. 机器人操作系统ROS(8)arbotix控制器控制小车运动

    本文内容:在 Ubuntu 18.04 虚拟机中,基于安装配置好 ROS Ketinc上,进行 URDF 机器人建模的详细步,同时配置摄像. 说明:本文是之前的延伸,该节需要参考上节机器人操作系统RO ...

  6. (二)ROS中控制机器人运动(示例运行)

    ROS中让机器人运动的步骤如下: (1)新建机器人模型 (2)运行.launch文件加载模型 (3)加载rviz的配置文件 (4)发布消息使用机器人运动 首先使用<ROS_by_example& ...

  7. MATLAB轨迹规划 发给ROS中机器人实现仿真运动

    MATLAB轨迹规划 发给ROS中机器人实现仿真运动 现象如图所示: 0.matlab 与 ROS 通信: https://blog.csdn.net/qq_40569926/article/deta ...

  8. 罗技F710无线手柄ROS中控制自己麦轮机器人运动

    ubuntu 16.04 + ros kinetic 这里参考了这位博主的文章,在此基础上进行的优化https://blog.csdn.net/u014587147/article/details/7 ...

  9. c语言课程设计中小车运动,C语言课程设计_运动的小车动画.doc

    C语言课程设计_运动的小车动画 XXX航空工业学院 课 程 设 计 报 告 课程设计名称:C语言课程设计 课程设计题目:运动的小车动画 院(系):计算机学院 专 业:网络工程 班 级: 学 号: 姓 ...

最新文章

  1. .net 基于Jenkins的自动构建系统开发
  2. Stackoverflow 高赞答案,为什么牛逼的程序员都不用 “ ! = null ' 做判空
  3. 【周鸿祎:当下AI技术并不完善,存四大“冰点”】
  4. C# 操作Cookie类
  5. python sharedctypes 多进程性能测试
  6. Java基础day5
  7. android锁屏显示应用程序,今日应用:微软又给 Android 做了一款锁屏应用
  8. 文件包含——apache日志文件包含shell(四)
  9. 111 《深入理解Java虚拟机》读书笔记
  10. pyspark用法2
  11. python按键按下改变数值_「正点原子NANO STM32开发板资料连载」第十六章电容触摸按键实验...
  12. cad卸载不干净_一款极其好用的卸载神器:Geek Uninstaller,再也不怕软件卸载不干净!...
  13. java微信提现_如何做提现到微信和支付宝
  14. Spring Cloud与Dubbo怎么选择?
  15. cmd_vel速度话题的使用
  16. 有趣的表情包购物网站
  17. 教你如何使用 python 制作一个简单的密码本
  18. Docker在自动化测试中的实践应用,看了必有提升
  19. (6)Artemis持久化策略
  20. 简单的python画图小实例

热门文章

  1. plsql如何远程连接oracle数据库连接,使用PLSQL 远程连接oracle数据库
  2. Windows 打造颜值和实用可媲美 Linux 的终端:Pwsh7 + OhMyPosh
  3. Python 读取配置文件常用几种方式
  4. 力扣每日打卡8月24日打卡(459. 重复的子字符串,简单)
  5. 将jar包转换成可执行.exe文件
  6. Layui框架form模块的表单验证
  7. Java 编程开发的30个技巧
  8. Flex布局、flex容器和flex项目
  9. Maven Docker镜像使用技巧
  10. 2021年,中国 IoT 物联网企业100强