1.双轮差速模型
下图是移动机器人在两个相邻时刻的位姿,其中 θ 1 {\theta_1} θ1是两相邻时刻移动机器人绕圆弧运动的角度, θ 3 {\theta_3} θ3是两相邻时刻移动机器航向角(朝向角head)的变化量。l是左右轮之间的间距,d是右轮比左轮多走的距离。r是移动机器人圆弧运动的半径。移动机器人前进速度v、转向角速度w与左轮速度vl、右轮速度vr之间的转换。
移动机器人前进速度等于左右轮速度的平均,这个好理解。
现在来推导机器人航向角如何计算,以及如何计算角速度w。如图所示,把两个时刻的机器人位置叠加在一起,可以清楚的看到移动机器人航向角变化量是 θ 3 {\theta_3} θ3。从图中的几何关系可以得到:
也就是说移动机器人航向角变化了多少角度,它就绕其运动轨迹的圆心旋转了多少角度。这句话很好验证,我们让机器人做圆周运动,从起点出发绕圆心一圈回到起点处,在这过程中机器人累计的航向角为360度,同时它也确实绕轨迹圆心运动了360度,说明机器人航向角变化多少度,就绕圆心旋转了多少度。而这三个角度中, θ 2 {\theta_2} θ2很容易计算出来,由于相邻时刻时间很短,角度变化量很小,有下面的近似公式:
所以可以得到机器人绕圆心运动的角速度,它也是机器人航向角变化的速度:
线速度、角速度都有了,因此可以推出移动机器人圆弧运动的半径:
从公式(3)可以发现当左轮速度等于右轮速度时,半径无穷大,即直线运动。最后将三个公式综合起来,可以得到左右轮速度和线速度角速度之间的关系如下
2.航迹推算
参考:https://blog.csdn.net/heyijia0327/article/details/47021861
https://blog.csdn.net/KYJL888/article/details/100515455