两轮差分底盘运动学模型

1.概述

差分底盘系统是一种欠驱动系统,它存在三个自由度 ( X 、 Y 、 θ ) ( X 、 Y 、 \theta ) XYθ但仅存在两个输入 ( v r 、 v l ​) ( v_r 、 v_l​) vrvl,这使得其运动是耦合的,不能单独分解分析。并且差分底盘仅能进行圆弧运动(直线运动可以视为圆弧半径 R → ∞ 即 r → 0 时 R → ∞ 即 r → 0 时 Rr0

2.运动解算

2.1 问题描述

(1) 已知:

  • 底盘后轮左轮和右轮速度 v r 、 v l ​ v_r 、 v_l​ vrvl
  • 轮子离底盘中心的距离: d d d
  • 两轮之间的距离: b = 2 d b = 2 d b=2d

(2) 求底盘中心的速度 v v v和角速度 ω \omega ω

2.2 问题建模

首先,左右轮子的角速度是相同的,即
w = w l = w r (0) w=w_l=w_r \tag 0 w=wl=wr(0)
其次,线速度 v v v是沟通大圆周(整个运动模型转圈)和小圆周(轮子转圈)的桥梁,即:
两轮差分底盘运动学模型_第1张图片

v l ​ = w l ​ ∗ ( r − d ) ​ v r ​ = w r ​ ∗ ( r + d ) (1) v_l​=w_l​∗(r−d)\\ ​v_r​=w_r​∗(r+d) \tag 1 vl=wl(rd)vr=wr(r+d)(1)
由(1)得到左右角速度解析式:
w l ​ = v l ​ / ( r − d ) ​ w r ​ = v r ​ / ( r + d ) (2) w_l​=v_l​/(r−d)\\ ​w_r​=v_r​/(r+d) \tag 2 wl=vl​/(rd)wr=vr​/(r+d)(2)

由左右两个轮子角速度相等,得到:
w l ​ = ​ w r ​ = v l ​ / ( r − d ) = v r ​ / ( r + d ) (3) w_l​=​w_r​=v_l​/(r−d)= v_r​/(r+d) \tag 3 wl=wr=vl​/(rd)=vr​/(r+d)(3)
解得底盘中心圆弧运动的半径: r r r
r = ( v r + v l ) ∗ d v r − v l (4) r=\frac{(v_r+v_l)*d}{v_r-v_l} \tag 4 r=vrvl(vr+vl)d(4)
结合(2)(4)求角速度
​ w r ​ = v r r + d 其中, r + d = ( v r + v l ) ∗ d v r − v l + d = ( v r + v l ) ∗ d v r − v l + ( v r − v l ) ∗ d v r − v l = 2 v r ∗ d v r − v l 最后,​ w r ​ = v r − v l 2 d (5) ​w_r​=\frac{v_r}{r+d} \\ 其中,r+d=\frac{(v_r+v_l)*d}{v_r-v_l}+d =\frac{(v_r+v_l)*d}{v_r-v_l}+\frac{(v_r-v_l)*d}{v_r-v_l}=\frac{2v_r*d}{v_r-v_l} \\ 最后,​w_r​=\frac{v_r-v_l}{2d} \tag 5 wr=r+dvr其中,r+d=vrvl(vr+vl)d+d=vrvl(vr+vl)d+vrvl(vrvl)d=vrvl2vrd最后,wr=2dvrvl(5)
求底盘中心速度
v = w ∗ r = v r − v l 2 d ( v r + v l ) ∗ d v r − v l = ( v r + v l ) 2 (6) v=w*r=\frac{v_r-v_l}{2d} \frac{(v_r+v_l)*d}{v_r-v_l} = \frac{(v_r+v_l)}{2} \tag 6 v=wr=2dvrvlvrvl(vr+vl)d=2(vr+vl)(6)

你可能感兴趣的:(人工智能,算法)