一、前言
无非是解决这几个问题问题:
1、teleop.py的键盘控制文档的书写
2、机器人模型文件xacro和控制xacro的launch文件的书写
二、问题解决思路
1、首先是teleop.py键盘控制代码的书写。你有没有这样的问题?为什么teleop.py可以控制机器人的运动,teleop.py是怎样和机器人模型联系到一起的呢?最主要的是teleop.py文件发送了一个名字叫做“/cmd_vel”的话题,这样arbotix就可以接受到这个话题,然后用teleop.py控制的twist中的参数,来控制机器人运动。,,只需要理解为arbotix接收的是/cmd_vel”的话题,然后你就发送/cmd_vel”的话题就行了。
【重点:怎样复用teleop.py中的代码?只需要修改teleop.py中话题参数为“/cmd_vel”就行】对于teleop.py文件的来源,我直接使用的是古大神的代码或者是下面一个小哥写的代码,链接在最下面。
另外,为什么用python写键盘控制代码呢?因为不用编译,不用写恶心的cmakelist,所以我选择,直接能【rosrun+包+py】命令的python文件。
在这里提一下twist消息,他是一个头文件twist.h,然后里面有几个变量,咱们就是修改这几个变量,其中twist中的消息代表着线速度和角速度。linear.x(x方向上的速度)指向机器人前方,linear.y指向左方,linear.z垂直向上满足右手系,平面移动机器人常常linear.y和linear.z均为0。angular.z(代表着围绕着z轴的角速度)代表平面机器人的角速度,因为此时z轴为旋转轴
2、机器人模型文件xacro和控制xacro的launch文件的书写
重点是:launch文件的书写。
三、参考连接
ROS小白学习历程-使用arbotix控制器详解 - 灰信网(软件开发博客聚合)https://www.freesion.com/article/5427559408/ ROS入门教程-理论与实践(6.5.1 Arbotix使用流程) - 知乎
用键盘控制机器人 (mrobot_teleop.py解读)_小将布冯的博客-CSDN博客



