使用游戏手柄控制ROS机器人速度

本文介绍如何使用游戏手柄通过ROS系统遥控机器人。通过编写一个节点,将手柄信号转换为cmd_vel消息,实现对机器人速度的控制。首先在turtle_sim环境中进行测试,随后应用于实际机器人。代码示例展示了如何订阅手柄数据并发布速度指令。

使用游戏手柄控制ROS机器人速度

在这里插入图片描述
买了一个带usb接收的游戏手柄,想要用来遥控机器人,写一个节点来实现:
该节点可以把手柄摇杆的信号转换成cmd_vel消息发布到系统中。
首先用turtle_sim中的“小王八”来测试,然后在机器人上使用。
需要注意的是:cmd_vel需要持续发布

#include "geometry_msgs/Twist.h"
#include "sensor_msgs/Joy.h"
#include "ros/ros.h"
#include "iostream"

ros::Subscriber sub;
ros::Publisher  pub;

int num_axe_lin, num_axe_ang;//选择手柄的数据
double factor_axe_lin, factor_axe_ang;//控制系数
int Button_Select;//对应手柄select键
std::string pub_name;//发布的消息名称
geometry_msgs::Twist speed;

void joy_callBack(const sensor_msgs::Joy::ConstPtr 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值