麥克納姆輪運動學分析


麥克納姆輪運動學分析

 

是最常見的安裝方式

 


 

 

麥輪底盤的正逆運動學模型

以O-長方形的安裝方式為例,四個輪子的着地點形成一個矩形。正運動學模型(forward kinematic model)將得到一系列公式,讓我們可以通過四個輪子的速度,計算出底盤的運動狀態;而逆運動學模型(inverse kinematic model)得到的公式則是可以根據底盤的運動狀態解算出四個輪子的速度。需要注意的是,底盤的運動可以用三個獨立變量來描述:X軸平動、Y軸平動、yaw 軸自轉;而四個麥輪的速度也是由四個獨立的電機提供的。所以四個麥輪的合理速度是存在某種約束關系的,逆運動學可以得到唯一解,而正運動學中不符合這個約束關系的方程將無解。

先試圖構建逆運動學模型,由於麥輪底盤的數學模型比較復雜,我們在此分四步進行:

①將底盤的運動分解為三個獨立變量來描述;

②根據第一步的結果,計算出每個輪子軸心位置的速度;

③根據第二步的結果,計算出每個輪子與地面接觸的輥子的速度;

④根據第三部的結果,計算出輪子的真實轉速。

 

 

一、底盤運動的分解

我們知道,剛體在平面內的運動可以分解為三個獨立分量:X軸平動、Y軸平動、yaw 軸自轉。如下圖所示,底盤的運動也可以分解為三個量:

v_{t_x} 表示 X 軸運動的速度,即左右方向,定義向右為正;

v_{t_y} 表示 Y 軸運動的速度,即前后方向,定義向前為正;

 \vec{\omega} 表示 yaw 軸自轉的角速度,定義逆時針為正。

以上三個量一般都視為四個輪子的幾何中心(矩形的對角線交點)的速度。

 

以上三個量一般都視為四個輪子的幾何中心(矩形的對角線交點)的速度。

 

 

二、計算出輪子軸心位置的速度

定義:

\vec{r} 為從幾何中心指向輪子軸心的矢量;

\vec{v} 為輪子軸心的運動速度矢量;

\vec{v_r} 為輪子軸心沿垂直於 \vec{r} 的方向(即切線方向)的速度分量;

 

那么可以計算出:

\vec{v}=\vec{v_t}+\vec{\omega} \times \vec{r}

分別計算 X、Y 軸的分量為:

\begin{equation}
\begin{cases}
v_x=v_{t_x}-\omega \cdot r_y \\
v_y=v_{t_y}+\omega \cdot r_x \\
\end{cases}
\end{equation}

 

同理可以算出其他三個輪子軸心的速度。

 

三、計算輥子的速度

根據輪子軸心的速度,可以分解出沿輥子方向的速度 \vec{v_\|} 和垂直於輥子方向的速度 \vec{v_\perp} 。其中  \vec{v_\perp} 是可以無視的(因為垂直方向速度對輪子轉速沒有貢獻),而

\vec{v_\|}=\vec{v} \cdot \hat{u}=(v_x\hat{i}+v_y\hat{j})\cdot(-\frac{1}{\sqrt{2}}\hat{i}+\frac{1}{\sqrt{2}}\hat{j})=-\frac{1}{\sqrt{2}}v_x+\frac{1}{\sqrt{2}}v_y

其中 \hat{u} 是沿輥子方向的單位矢量。

四、計算輪子的速度

從輥子速度到輪子轉速的計算比較簡單:

v_w=\frac{v_\|}{cos 45^\circ}=\sqrt{2}(-\frac{1}{\sqrt{2}}v_x+\frac{1}{\sqrt{2}}v_y)=-v_x+v_y

 

根據上圖所示的 a 和 b 的定義,有

 

\begin{equation}
\begin{cases}
v_x=v_{t_x}+\omega b \\
v_y=v_{t_y}-\omega a \\
\end{cases}
\end{equation}

結合以上四個步驟,可以根據底盤運動狀態解算出四個輪子的轉速:

\begin{equation}
\begin{cases}
v_{w_1}=v_{t_y}-v_{t_x}+\omega(a+b) \\
v_{w_2}=v_{t_y}+v_{t_x}-\omega(a+b) \\
v_{w_3}=v_{t_y}-v_{t_x}-\omega(a+b) \\
v_{w_4}=v_{t_y}+v_{t_x}+\omega(a+b) \\
\end{cases}
\end{equation}

以上方程組就是O-長方形麥輪底盤的逆運動學模型,而正運動學模型可以直接根據逆運動學模型中的三個方程解出來,此處不再贅述。

另一種計算方式

「傳統」的推導過程雖然嚴謹,但還是比較繁瑣的。這里介紹一種簡單的逆運動學計算方式。

我們知道,全向移動底盤是一個純線性系統,而剛體運動又可以線性分解為三個分量。那么只需要計算出麥輪底盤在「沿X軸平移」、「沿Y軸平移」、「繞幾何中心自轉」時,四個輪子的速度,就可以通過簡單的加法,計算出這三種簡單運動所合成的「平動+旋轉」運動時所需要的四個輪子的轉速。而這三種簡單運動時,四個輪子的速度可以通過簡單的測試,或是推動底盤觀察現象得出。

當底盤沿着 X 軸平移時:

\begin{equation}
\begin{cases}
v_{w_1}=-v_{t_x} \\
v_{w_2}=+v_{t_x} \\
v_{w_3}=-v_{t_x} \\
v_{w_4}=+v_{t_x} \\
\end{cases}
\end{equation}

當底盤沿着 Y 軸平移時:

\begin{equation}
\begin{cases}
v_{w_1}=v_{t_y} \\
v_{w_2}=v_{t_y} \\
v_{w_3}=v_{t_y} \\
v_{w_4}=v_{t_y} \\
\end{cases}
\end{equation}

當底盤繞幾何中心自轉時:

\begin{equation}
\begin{cases}
v_{w_1}=+\omega(a+b) \\
v_{w_2}=-\omega(a+b) \\
v_{w_3}=-\omega(a+b) \\
v_{w_4}=+\omega(a+b) \\
\end{cases}
\end{equation}

將以上三個方程組相加,得到的恰好是根據「傳統」方法計算出的結果。這種計算方式不僅適用於O-長方形的麥輪底盤,也適用於任何一種全向移動的機器人底盤。

 

 

參考 https://zhuanlan.zhihu.com/p/20282234?utm_source=qq&utm_medium=social


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM