動力學

牛頓-歐拉方法

牛頓-歐拉方法用最直接、最貼近物理的方式推導機器人的動力學:把作用在每一節連桿上的每一個力和每一次扭轉都追蹤清楚,並堅持要它們達到平衡,正如那幾條偉大的運動定律所要求的。它用到兩條搭檔規則。牛頓定律管直線方向的推動——一節連桿所受的合力等於它的質量乘以它質心加速的快慢。歐拉定律管旋轉——它把一節連桿所受的合扭轉努力(力矩)與它抗拒轉動的頑固程度、以及它自轉變化的快慢聯繫起來。把這兩條用到每一節連桿上,你就把整個機器人的運動都囊括了。

做這件事的自然辦法是一節一節地來,就像沿著一條鏈子把消息傳過去、再傳回來。先從機器人的基座往末端向外掃一遍,算出每節連桿移動和加速得有多快,因為每節連桿都繼承了它前一節的運動。然後再從末端往基座向內掃回來,把力一路累加:每節連桿都必須撐起自己的慣性,再加上它從更外側連桿那裡接手過來的部分。等你掃到基座時,你就精確地知道了每個關節處的力和力矩。

這套來來回回的做法效率出奇地高,正因如此,它的一個精煉版本——遞迴牛頓-歐拉演算法——才被真實的機器人每秒運行成千上萬次,用來即時算出它們所需的力矩。它得到的運動方程與基於能量的拉格朗日方法完全相同;兩者只是通向同一真理的不同路線。工程師想要一個乾淨的公式來研究時,會去用拉格朗日方法;想在現場控制器裡追求純粹的速度時,則會去用牛頓-歐拉方法。

一台六關節工業機器人會運行遞迴牛頓-歐拉演算法:向外的一遍算出每節連桿怎樣加速,向內的一遍再把力一路結算回基座,從而給出此刻每個馬達必須產出的力矩。

沿連桿先向外、後向內地掃一遍,就能高效地得出每個關節的力矩。

它的遞迴形式計算一個 n 關節機器人的逆動力學所需的時間與 n 成正比,因而高效到足以用於即時控制。

又稱
Newton-Euler dynamics牛顿-欧拉方程力平衡法