解析手柄数据,转换为机器人步态控制接口数据,控制机器人行走。
下载安装游戏手柄驱动库
sudo apt-get install ros-kinetic-joystick-drivers
运行节点
roslaunch joystick_handle joystickHandleLaunch.launch
gaitCommand
消息接受步态命令,当接收到的步态命令队列执行后剩余或者小于2个时,会发送此话题请求新的步态。/gaitCommand (std_msgs/Float64MultiArray)
步态控制。
机器人行走基本原理
机器人行走最小动作可看作为任意脚的一个跨步,向前行走时,从开始到结束可简化为三个阶段
左右行走和转弯时慢,跨步的偶数步为收脚步态,可简化为以下两个阶段的循环
只考虑机器人行走的情况,将地面看作一个平面,以机器人前方为x轴正方向,机器人右边为y轴正方向创建直角坐标系,这样要控制机器人的运动方向只需要给对应的(x,y)坐标即可。若需要机器人转动,以机器人为原点,从上往下看逆时针为正做极坐标系,这样要控制机器人转动只需要给对应的角度即可。
步态接口数据含义
步态定义格式定义如下
std_msgs::Float64MultiArra GaitCommandMsg;
GaitCommandMsg.data.resize(3);
Eigen::Vector3d(0.00, 0.00, 0.0);
Vector3d实际上是一个3行1列的double类型矩阵,Vector3d中的三个参数分别代表
每一组参数对应一个跨步,机器人每跨一步就需要一组参数,应当控制参数不能超过实际跨步范围。
GaitCommandMsg三个参数意义同上。
无
无
欢迎光临 乐聚社区 (https://bbs.lejurobot.com/) | Powered by Discuz! X3.4 |