動力學
拉格朗日方法
拉格朗日方法是一種推導機器人運動方程的途徑,它靠的是給機器人的能量記帳,而不是去畫出作用在每個部件上的每一個力和每一次扭轉。它不去問「是什麼在推這節連桿、那節連桿、還有它們之間的關節?」,而是問一個簡單得多的問題:整個機器人因運動而擁有多少能量,又因位置而儲存了多少能量?你把這兩個量寫下來,搖一搖數學的曲柄,運動方程就掉了出來——力矩、耦合,一應俱全。
它的核心是一個叫作拉格朗日量的量:機器人的動能(它因運動而具有的能量)減去它的勢能(因被舉高、對抗重力而儲存的能量)。妙處在於,能量是單獨一個數字,而不是一團有方向的力,所以你永遠不必去追蹤每個內部推力指向哪邊,也不必操心關節之間悄悄施加的相互作用約束力。那些會自動消去。對於一條各種力交叉纏繞、令人頭暈的多關節機械臂來說,這是莫大的解脫——你只需用關節角度把機器人描述一遍,剩下的方法會替你包辦。
正因為它如此有條理、如此整潔,拉格朗日方法成了在紙上或在符號數學軟體裡推導複雜機器人動力學的寵兒,而且它讓結果的結構一目了然、便於推敲。它給出的運動方程,與你用更費力的方式、一個力一個力地算出來的完全相同——它只是通往同一終點的一條更清爽的路。它的代價是:在最基本的形式下,不太適合機器人現場要做的那種又快又重複的數值運算;那種活兒,靠遞迴的力平衡方法往往更快。
為了推導一條兩連桿擺臂的動力學,工程師只需用兩個關節角度寫下它的動能和勢能,再讓拉格朗日方法吐出完整的運動方程——不必動手去追每一個內部關節力。
能量記帳把一個雜亂的力的問題,變成一次清爽、有條理的推導。
它以約瑟夫·路易·拉格朗日命名,得到的運動方程與牛頓-歐拉方法完全相同——能量記帳與力平衡,是通向同一結果的兩條路。
又稱
另見