天天看點

裡程計模型(1):兩輪差分底盤和三輪全向底盤兩輪差分底盤運動學模型三輪全向底盤的運動學模型

兩輪差分底盤運動學模型

目前使用最為廣泛的底盤可以說就是兩輪差分底盤,此類底盤具有結構簡單、成本低、模型簡單的特點。

1.差分底盤運動模型

差分底盤運動模型如圖。

裡程計模型(1):兩輪差分底盤和三輪全向底盤兩輪差分底盤運動學模型三輪全向底盤的運動學模型
  • 輪子到底盤中心的距離: d d d
  • 底盤中心圓弧運動的半徑: r r r
  • 底盤中心線速度: v v v
  • 底盤中心角速度: ω \omega ω
  • 左輪線速度、右輪線速度: v L 、 v R v_L、v_R vL​、vR​

差速底盤系統是一種欠驅動系統,它存在三個自由度( X 、 Y 、 θ X、Y、\theta X、Y、θ)但僅存在兩個輸入( v R 、 v L v_R、v_L vR​、vL​),這使得其運動是耦合的,不能單獨分解分析。

差分底盤僅能進行圓弧運動(直線運動可以視為圓弧半徑 R → ∞ R\to\infty R→∞即 r → 0 r\to0 r→0時)

2.運動解算

由于兩輪角速度相同,等于底盤中心角速度,則可以得到底盤中心圓弧運動的半徑

ω = v L r − d = v R r + d ( r + d ) v L = ( r − d ) v R r = v R + v L v R − v L d \omega=\frac{v_L}{r-d}=\frac{v_R}{r+d}\\ (r+d)v_L=(r-d)v_R\\ r=\frac{v_R+v_L}{v_R-v_L}d ω=r−dvL​​=r+dvR​​(r+d)vL​=(r−d)vR​r=vR​−vL​vR​+vL​​d

将其帶入等式 ω = v R r + d \omega=\frac{v_R}{r+d} ω=r+dvR​​得到:

r = v R + v L v R − v L d d = v R − v L v R − v L d r + d = 2 v R v R − v L d w = v R − v L 2 d r = \frac{v_R+v_L}{v_R-v_L}d\\ d = \frac{v_R-v_L}{v_R-v_L}d\\ r+d = \frac{2v_R}{v_R-v_L}d\\ w=\frac{v_R-v_L}{2d} r=vR​−vL​vR​+vL​​dd=vR​−vL​vR​−vL​​dr+d=vR​−vL​2vR​​dw=2dvR​−vL​​

已知公式: v = ω × r v=\omega \times r v=ω×r,代入公式可得:

v = ω × r = v R − v L 2 d × v R + v L v R − v L d v = v R + v L 2 v = \omega \times r=\frac{v_R-v_L}{2d}\times\frac{v_R+v_L}{v_R-v_L}d\\ v=\frac{v_R+v_L}{2} v=ω×r=2dvR​−vL​​×vR​−vL​vR​+vL​​dv=2vR​+vL​​

由此,得到二輪差分底盤的運動學模型:

{ w = v R − v L 2 d v = v R + v L 2 \begin{cases}w=\frac{v_R-v_L}{2d}\\v=\frac{v_R+v_L}{2}\end{cases} {w=2dvR​−vL​​v=2vR​+vL​​​

{ v R = v + ω d v L = v − ω d \begin{cases}v_R=v+\omega d\\v_L=v-\omega d\end{cases} {vR​=v+ωdvL​=v−ωd​

三輪全向底盤的運動學模型

三輪全向輪能夠在任何方向平移,其結構簡單,是一種全驅動系統,能夠進行運動學分解。

1.三輪全向運動模型

三輪全向運動模型是一種全驅動系統,有三個輸入( v 1 、 v 2 、 v 3 v_1、v_2、v_3 v1​、v2​、v3​)和三個輸出( X 、 Y 、 θ X、Y、\theta X、Y、θ)對每個運動方向可以進行解耦分析。

三輪全向模型在世界坐标系 X W O Y W X_WOY_W XW​OYW​中如下圖所示:

裡程計模型(1):兩輪差分底盤和三輪全向底盤兩輪差分底盤運動學模型三輪全向底盤的運動學模型
  • 世界坐标系: X W O Y W X_WOY_W XW​OYW​
  • 取車輪1為車體坐标系正方向,建構車輛坐标系: X R O Y R X_ROY_R XR​OYR​
  • 車輪線速度: v 1 、 v 2 、 v 3 v_1、v_2、v_3 v1​、v2​、v3​
  • 底盤中心角速度: v θ v_\theta vθ​
  • 車輪到底盤中心的距離: d d d
  • 三輪間夾角為120°

已知車輛的線速度在 X R X_R XR​和 Y R Y_R YR​方向有 v x v_x vx​和 v y v_y vy​

2.運動解算

由于三輪全向模型為全驅動模型,可進行運動分解,則對三個方向分解計算:

運動分解方向:平移X方向

當小車僅在X方向進行平移運動時:

v x ≠ 0 ; v y = 0 ; v θ = 0 v_x\neq0;v_y=0;v_{\theta}=0 vx​​=0;vy​=0;vθ​=0

此時,隻需将 v x v_x vx​分解至三個車輛速度上:

裡程計模型(1):兩輪差分底盤和三輪全向底盤兩輪差分底盤運動學模型三輪全向底盤的運動學模型

{ v 1 = 0 v 2 = − s i n 60 ° × v x v 3 = s i n 60 ° × v x \begin{cases}v_1=0\\ v_2=-sin{60\degree}\times v_x\\ v_3=sin{60\degree}\times v_x \end{cases} ⎩⎪⎨⎪⎧​v1​=0v2​=−sin60°×vx​v3​=sin60°×vx​​

運動分解方向:平移Y方向

當小車僅在Y方向進行平移運動時:

v x = 0 ; v y ≠ 0 ; v θ = 0 v_x=0;v_y\neq 0;v_{\theta}=0 vx​=0;vy​​=0;vθ​=0

此時,隻需将 v x v_x vx​分解至三個車輛速度上:

裡程計模型(1):兩輪差分底盤和三輪全向底盤兩輪差分底盤運動學模型三輪全向底盤的運動學模型

{ v 1 = v y v 2 = − c o s 60 ° × v y v 3 = − c o s 60 ° × v y \begin{cases}v_1=v_y\\ v_2=-cos{60\degree}\times v_y\\ v_3=-cos{60\degree}\times v_y \end{cases} ⎩⎪⎨⎪⎧​v1​=vy​v2​=−cos60°×vy​v3​=−cos60°×vy​​

運動分解方向:旋轉方向

當小車僅進行旋轉運動時:

v x = 0 ; v y = 0 ; v θ ≠ 0 v_x=0;v_y=0;v_{\theta}\neq0 vx​=0;vy​=0;vθ​​=0

由于同一底盤角速度相同,可知:

{ v 1 = v θ × d v 2 = v θ × d v 3 = v θ × d \begin{cases}v_1=v_\theta \times d\\ v_2=v_\theta \times d\\ v_3=v_\theta \times d\\ \end{cases} ⎩⎪⎨⎪⎧​v1​=vθ​×dv2​=vθ​×dv3​=vθ​×d​

運動合成

将上述運動分解進行合成可以得到如下表達式:

{ v 1 = 0 × v x + 1 × v y + d × v θ v 2 = − s i n 60 ° × v x − c o s 60 ° × v y + d × v θ v 1 = s i n 60 ° × v x − c o s 60 ° × v y + d × v θ \begin{cases} v_1 = 0\times v_x + 1\times v_y + d\times v_\theta\\ v_2 = -sin{60\degree}\times v_x - cos{60\degree}\times v_y + d\times v_\theta\\ v_1 = sin{60\degree}\times v_x - cos{60\degree}\times v_y + d\times v_\theta\\ \end{cases} ⎩⎪⎨⎪⎧​v1​=0×vx​+1×vy​+d×vθ​v2​=−sin60°×vx​−cos60°×vy​+d×vθ​v1​=sin60°×vx​−cos60°×vy​+d×vθ​​

計算三角函數值并寫成矩陣方式,可以得到三輪全向模型的運動學模型:

[ v x v y v θ ] = [ 0 − 3 3 3 3 2 3 − 1 3 − 1 3 1 3 d 1 3 d 1 3 d ] [ v 1 v 2 v 3 ] \begin{bmatrix} v_x \\v_y\\v_\theta\end{bmatrix}= \begin{bmatrix} 0 & -\frac{\sqrt{3}}{3} & \frac{\sqrt{3}}{3}\\ \frac{2}{3} & -\frac{1}{3} & -\frac{1}{3}\\ \frac{1}{3d} & \frac{1}{3d} & \frac{1}{3d}\\ \end{bmatrix} \begin{bmatrix} v_1 \\v_2\\v_3\end{bmatrix} ⎣⎡​vx​vy​vθ​​⎦⎤​=⎣⎡​032​3d1​​−33

​​−31​3d1​​33

​​−31​3d1​​⎦⎤​⎣⎡​v1​v2​v3​​⎦⎤​

[ v 1 v 2 v 3 ] = [ 0 1 d − 3 2 − 1 2 d 3 2 − 1 2 d ] [ v x v y v θ ] \begin{bmatrix} v_1 \\v_2\\v_3\end{bmatrix}= \begin{bmatrix} 0 & 1 & d\\ -\frac{\sqrt{3}}{2} & -\frac{1}{2} & d\\ \frac{\sqrt{3}}{2} & -\frac{1}{2} & d\\ \end{bmatrix} \begin{bmatrix} v_x \\v_y\\v_\theta \end{bmatrix} ⎣⎡​v1​v2​v3​​⎦⎤​=⎣⎢⎡​0−23

​​23

​​​1−21​−21​​ddd​⎦⎥⎤​⎣⎡​vx​vy​vθ​​⎦⎤​

繼續閱讀