動力學
質量(慣性)矩陣
質量矩陣,又稱慣性矩陣,是一張數值方陣,它把機器人各關節加速的快慢,與每個關節為實現這一加速所需的驅動力聯繫起來。對於無摩擦地面上的單個物體,一個數字——它的質量——就能把想要的加速度換算成所需的推力。而一台多關節機器人忙碌得多,因此它需要一整張方陣:質量矩陣正是那個單一質量數字在多關節情形下的推廣,它告訴控制器,任何一種關節加速度組合所要付出的「力的代價」。
它有趣的地方在於兩點。其一,這個矩陣是隨構型而變的:機器人一屈一伸,它就跟著改變。一條筆直伸展的手臂,要甩動起來比同一條收攏貼近身體的手臂難得多,因為伸出去會把它的質量甩到離關節很遠處——這正是支配轉動慣量的那個「滑冰運動員收臂」效應。其二,非對角線上的元素刻畫著耦合:推動一個關節,往往也會擾動它的鄰居,就像晃動一條鬆鬆握著的鏈子的一端,會牽動其餘部分一樣。質量矩陣會把每一份這樣的交叉影響一次性記錄在案。
這個矩陣端坐在機器人運動方程的最核心處。要計算逆動力學——即推算產生某段期望運動所需的力——你就用質量矩陣去乘以想要的加速度。要計算正動力學——即預測給定的力會產生怎樣的運動——你實際上就要對它求逆。無論哪種情形,一個準確的質量矩陣,正是讓機器人乾脆而自信地運動、而不必去瞎猜自身重量會如何回抗的關鍵。
一條兩節的手臂,在肘部伸直時要讓肩部開始擺動,所需的肩部力矩遠大於肘部彎曲時——哪怕目標速度相同。質量矩陣恰恰編碼了這一點:當手臂伸展開時,它對應肩部的元素變大;當手臂收攏時,則變小。
同一條手臂、同樣的目標速度——但伸直的手臂甩起來要沉重得多,而記錄下這一變化的正是質量矩陣。
它常被寫作 M(q)——其中的「(q)」是在提醒:這個矩陣取決於機器人當前的構型,也就是那一組關節角 q。
又稱
另見