美文网首页
机器人差速轮运动学模型 (Differential Drive

机器人差速轮运动学模型 (Differential Drive

作者: 轻骑兵1390 | 来源:发表于2020-10-09 14:55 被阅读0次

1. 问题

使用机器人差速模型进行航迹推算,简单来说就是通过左右两轮的轮速v_rv_l计算车辆的速度v和角速度w

different_model.png
上图中,单位时间内的角度w = \theta_3/\Delta t, 另外:
  • l为两轮间距;
  • v_rv_l为两轮的速度;
  • \theta_1 = \theta_2 = \theta_3
  • r为转弯半径。

2. 速度计算

2.1 线速度

车辆线速度v可以很容易得到:
v = \frac{v_r + v_l}{2} \tag{1}
简单来说,线速度就是两轮线速度的平均值。

2.2 角速度

角速度w就是单位时间内的\theta_3
\theta_3 = \theta_2 = sin(\theta_2) = \frac{d}{ l } = \frac{(v_r - v_l) \cdot \Delta t}{ l }
那么w为:
w = \frac{\theta_2}{\Delta t} = \frac{v_r - v_l}{l} \tag{2}
注意,这里是右轮减左轮的里程为,注意符号方向。

2.3 转弯半径

转弯半径r为线速度比角速度的值:
r = \frac{v}{w} = \frac{l\cdot(v_r+v_l)}{2(v_r-v_l)} \tag{3}
注意,当v_r \approx v_l的时候,可能会出现无穷大。

3. 误差分析

在实际应该用过程中,轮子的速度是由轮半径和轮速脉冲数计算而来,轮半径会根据负载的变化而变化。
试想轮速v_rv_l实际中都是:
\begin{aligned} v_r &= \alpha_r \cdot \hat{v}_r \\ v_l &= \alpha_l \cdot \hat{v}_l \\ \end{aligned}
\hat{v}为观测值.
那么线速度由于是计算平均值,因此误差车轮尺度的误差被平分了。
角速度是计算两轮的差,因此误差一定程度上被放大了。
造成实际应用过程中,线速度和角速度的误差是不同的。

相关文章

网友评论

      本文标题:机器人差速轮运动学模型 (Differential Drive

      本文链接:https://www.haomeiwen.com/subject/ejylpktx.html