车辆动力学模型 | EpsilonJohn's Blog
AMCL深入解析 4/4 - 调参看这一篇就够了 - 知乎
差速轮模型
Navigation2之AMCL---model组件-CSDN博客
差分轮底盘模型 - Getone超 - 博客园
两轮差速驱动运动模型 - 知乎
差速轮,又称差分轮。
差分底盘机器人运动模型定义为如下的里程计模型:

运动三步走:旋转,前进,旋转。三个变量均包含有噪声,独立分布
为什么要两个旋转量呢?因为无论是“左轮定、右轮动”还是“右轮定、左轮动”,都可以实现差速轮底盘的旋转。而这两个动作显然是互相独立的
粒子滤波/MCL/AMCL根据里程计模型的运动信息来预测粒子位置,即sample_motion_model
这个,物理模型中的几何关系,是固定死的,或许应该定义在组合逻辑中,或者至少封装函数和结构体直接调用
假设测得参数,是真实参数加以高斯噪声所得到的,即sample的分布取高斯分布
全向轮模型
运动四步走:旋转,前进,漂移。
增加一个参数,水平漂移量,合二为一了,旋转量。
这其实是有些笼统的。全向底盘,可以是麦克纳姆轮实现,也可以是福来轮实现,轮子的数量也不定,不同轮子之间的概率分布没有仔细考虑。
里程计模型和对应的sample_motion_model如下图所示:

里面有个参数,这也是大家一直困惑的一个参数,在Probabilistic robotics里也没有提到。
将对应的参数整理如下所示:
| 里程计模型参数 |
说明 |
默认值 |
| robot_model_type |
底盘模型,目前支持差分轮和全向轮。 |
“differential” |
| alpha1 |
,计算相对运动的旋转分量时,旋转分量噪声权重 |
0.2 |
| alpha2 |
,计算相对运动的旋转分量时,平移分量噪声权重 |
0.2 |
| alpha3 |
,计算相对运动的平移分量时,旋转分量噪声权重 |
0.2 |
| alpha4 |
,计算相对运动的平移分量时,平移分量噪声权重 |
0.2 |
| alpha5 |
,对于全向轮,平移分量垂直方向的噪声 |
0.2 |
差分轮用到了前四个参数,全向轮用到了所有5个参数。在实际调参过程中,如果编码器比较准,比如用的是工业级编码器,那么上述值都应设置的较小,否则应设置较大。另外差分轮相比舵轮而言,旋转分量噪声应更大,所以对应值也会更大。
阿克曼模型
阿克曼转向原理解析-CSDN博客
里程计模型(2):阿克曼结构底盘_阿克曼底盘-CSDN博客
阿克曼,这个鬼名字,其实就是生活中的汽车,前轮转向,后轮驱动。