用罗技F710无线游戏手柄+ROS Melodic控制差速底盘。
- 接收手柄发送的topic
- 计算两侧履带速度
- 给canet发送udp报文
- canet将udp报文解析成can报文发送给底盘控制器
手柄通过无线接收器与电脑相连,电脑通过网线或者无线路由器与canet连接。canet与底盘控制器相连。
sudo apt-get install ros-melodic-joy
sudo apt-get install ros-melodic-joystick-drivers
将手柄的无线信号接收器插到电脑上执行
ls /dev/input
应该能够看到手柄的输入接口js0
下面进行手柄话题发布的检测
先使用roscore
命令激活Master管理器,之后执行
rosrun joy joy_node
新打开一个终端输入监控话题
rostopic echo /joy
应该能够看到手柄按钮和遥感每次被操作都会更新数据。根据不同操作按键数据更新确定每个按键对应的axes和button位数。
根据自己的控制习惯修改 udp_car/src/udp_car.cpp 的 joyCallback() 回调函数中修改。
在 udp_car.launch 文件中设置参数,设置
- 车宽:car_width
- 速度放大倍数:velocity_ratio
- 本机ip:local_ip
- 本机端口:local_port
- 目标ip:remote_ip
- 目标端口:remote_port
回到 ros 工作主目录下
catkin_make
source devel/setup.bash
roslaunch [pkg_name] udp_car.launch
操作手柄驱动履带车!