麥克納姆輪運動學分析
是最常見的安裝方式
麥輪底盤的正逆運動學模型
以O-長方形的安裝方式為例,四個輪子的着地點形成一個矩形。正運動學模型(forward kinematic model)將得到一系列公式,讓我們可以通過四個輪子的速度,計算出底盤的運動狀態;而逆運動學模型(inverse kinematic model)得到的公式則是可以根據底盤的運動狀態解算出四個輪子的速度。需要注意的是,底盤的運動可以用三個獨立變量來描述:X軸平動、Y軸平動、yaw 軸自轉;而四個麥輪的速度也是由四個獨立的電機提供的。所以四個麥輪的合理速度是存在某種約束關系的,逆運動學可以得到唯一解,而正運動學中不符合這個約束關系的方程將無解。
先試圖構建逆運動學模型,由於麥輪底盤的數學模型比較復雜,我們在此分四步進行:
①將底盤的運動分解為三個獨立變量來描述;
②根據第一步的結果,計算出每個輪子軸心位置的速度;
③根據第二步的結果,計算出每個輪子與地面接觸的輥子的速度;
④根據第三部的結果,計算出輪子的真實轉速。
一、底盤運動的分解
我們知道,剛體在平面內的運動可以分解為三個獨立分量:X軸平動、Y軸平動、yaw 軸自轉。如下圖所示,底盤的運動也可以分解為三個量:
表示 X 軸運動的速度,即左右方向,定義向右為正;
表示 Y 軸運動的速度,即前后方向,定義向前為正;
表示 yaw 軸自轉的角速度,定義逆時針為正。
以上三個量一般都視為四個輪子的幾何中心(矩形的對角線交點)的速度。
以上三個量一般都視為四個輪子的幾何中心(矩形的對角線交點)的速度。
二、計算出輪子軸心位置的速度
定義:
為從幾何中心指向輪子軸心的矢量;
為輪子軸心的運動速度矢量;
為輪子軸心沿垂直於
的方向(即切線方向)的速度分量;
那么可以計算出:
分別計算 X、Y 軸的分量為:
同理可以算出其他三個輪子軸心的速度。
三、計算輥子的速度
根據輪子軸心的速度,可以分解出沿輥子方向的速度 和垂直於輥子方向的速度
。其中
是可以無視的(因為垂直方向速度對輪子轉速沒有貢獻),而
其中 是沿輥子方向的單位矢量。
四、計算輪子的速度
從輥子速度到輪子轉速的計算比較簡單:
根據上圖所示的
和
的定義,有
結合以上四個步驟,可以根據底盤運動狀態解算出四個輪子的轉速:
以上方程組就是O-長方形麥輪底盤的逆運動學模型,而正運動學模型可以直接根據逆運動學模型中的三個方程解出來,此處不再贅述。
另一種計算方式
「傳統」的推導過程雖然嚴謹,但還是比較繁瑣的。這里介紹一種簡單的逆運動學計算方式。
我們知道,全向移動底盤是一個純線性系統,而剛體運動又可以線性分解為三個分量。那么只需要計算出麥輪底盤在「沿X軸平移」、「沿Y軸平移」、「繞幾何中心自轉」時,四個輪子的速度,就可以通過簡單的加法,計算出這三種簡單運動所合成的「平動+旋轉」運動時所需要的四個輪子的轉速。而這三種簡單運動時,四個輪子的速度可以通過簡單的測試,或是推動底盤觀察現象得出。
當底盤沿着 X 軸平移時:
當底盤沿着 Y 軸平移時:
當底盤繞幾何中心自轉時:
將以上三個方程組相加,得到的恰好是根據「傳統」方法計算出的結果。這種計算方式不僅適用於O-長方形的麥輪底盤,也適用於任何一種全向移動的機器人底盤。
參考 https://zhuanlan.zhihu.com/p/20282234?utm_source=qq&utm_medium=social