ROS机器人底盘(2)-运动解算

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS机器人底盘(2)-运动解算相关的知识,希望对你有一定的参考价值。

参考技术A 这里以 zeus 为例子讲述运动正解与逆解

从整体速度转换为各个轮子速度即为正解,关系着如何根据既定速度控制机器人正确运行

我们知道 ROS 里面驱动小车最终下发的为线速度和角速度,通过 rosmsg show 可以看到

可以看到 ROS 坐标系规定

对于每个轮子:
前轮,左轮及后轮速度分别设为 Vf, Vl,Vr (假设轮子使得底盘逆时针时的线速度为正);轮子所在圆直接为 L

从各个轮子速度(行径距离)转换为整体机器人的速度(坐标、姿态)

只需从正解

反推即可得到

通过正解可以转换对机器人的速度控制为对各个轮子的速度控制;通过逆解,通过积分可以根据每个轮子的行径距离求得机器人的坐标和姿态

model.h 模型接口类

differential.h 差分轮解算实现

omni3.h 三轮全向轮解算

根据配置选择加载对应模型接口解耦模型的正反解算

ros机器人用底盘里程计不准怎么改成激光里程计定位

参考技术A 1、启动初始化节点,打开第一个终端。
2、打开机器人的初始化节点(开启控制和ROS通讯的ROS节点)。
3、启动控制节点(可以是键盘/手柄)打开第二个终端。

以上是关于ROS机器人底盘(2)-运动解算的主要内容,如果未能解决你的问题,请参考以下文章

ROS机器人底盘(14)-move_base(2)

ros多点导航怎么不停顿

ROS机器人底盘(11)-PIBOT的控制及校准

ROS机器人底盘(34)-laser_filters的使用(2)-屏蔽车体干扰

ROS机器人底盘(22)-IMU和里程计融合

ROS机器人底盘(23)-IMU和里程计融合与单独编码器里程计的对比测试