关于差速移动机器人的运动学模型推导 1

在机器人的运动中,经常会涉及到航向推演。 下面这篇博客写的挺好的。

https://blog.csdn.net/heyijia0327/article/details/44983551

在学习机器人运动模型推导的时候,有看到 网上别人的推导过程,链接如下:

https://blog.csdn.net/qq_16149777/article/details/73224070 

http://www.diegorobot.com/wp/?p=740&lang=zh

其中都有相对应的推导过程,但是,如果我只是在这 复制黏贴那就毫无意义了,这里说一下我的推导思路,没有做对应的近似,

结果也是很接近,算是开拓思路,减少误差吧,找个时间将会 搭个机器人里程计 框架计算出结果再与imu对比, 看一下误差会不会特别大。

关于差速移动机器人的运动学模型推导 1_第1张图片

哈哈,感受一下灵魂画手吧。 在差速机器人模型中,应用 PID(或ADRC算法)的算法,对左右轮的电机进行闭环控制,可以得到一个相对比较稳定的转速状态,设左路的速度为Vl 右轮为Vr, 那么模型的中心线的线速度 Va=(Vl+Vr)/2 , 旋转角为θ, 左轮离圆心的距离为A,右轮离圆心的距离为(A+d), 轮距为d,设运动的时间Δt。

那么可得左轮的旋转角的公式为 : θ/360‘= (Δt * Vl)/(2*π*A),右轮的公式为 : θ/360‘= (Δt * Vr)/(2*π*(A+d)),

将二者相等之后,可得: A = (Vl*d)/(Vr-Vl),

模型的中线点的线速度和角度的公式为:  θ/360‘ = (Va*Δt)/(2*π*(A+d/2));

结合前面的等式可得:  θ/360‘= ((Vr-Vl) *Δt )/(2*π*d) ;

所以      θ = ((Vr-Vl) *Δt *360 )/(2*π*d) ; 弧度制:  θ = ((Vr-Vl) *Δt )/(d),

这公式打得累死,===

前面的链接上 都会利用 泰勒级数,对 sin(θ )===》 θ。

如有错误,欢迎指出。

最后感谢一下csdn的草稿保存,差点哭出来 ==

 

 

 

你可能感兴趣的:(ros,robot,theory)