美文网首页
机器人差速轮运动学模型 (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