機器人運動學與動力學在控制上的區別與聯繫?
運動學可以完成控制,動力學也可以控制,這兩者有什麼區別與聯繫呢?
運動學描述的是機器人末端和各個關節位置的幾何關係。而動力學描述的是關節位置和力矩之間的力學關係。
機器人控制從全局上我們可以講電機力矩作為輸入,末端位置作為輸出。
機器人的控制架構上可以分成非集中控制(uncentralized control)和集中控制(centralized control)。
非集中控制是目前最常見最簡易的,各個電機作為獨立的子系統來生成力矩控制律,電機之間的相互作用視為干擾量,但實際上是由於動力學產生的,我們可以不用顯性考慮,所以動力學模型不是必要的,對於動態響應要求不高,機器人不是太龐大的情況下,不考慮動力學效果也不差。反之可以考慮動力學作為前饋補償。這種控制方法實際中輸入力矩的控制律實際上都交給底層伺服電機了,所以對上層控制來說實現起來較為簡單。底層伺服演算法一般是多階PID,這裡不展開。
總結一下非集中控制的基本流程:
- 從上層演算法獲得末端位置坐標點
- 通過逆運動學計算出各個關節所需要的位置,逆運動學存在多解,要考慮取捨。
- 各個關節的驅動自己完成位置控制。
運動學在這裡扮演的角色是做一個幾何映射,從末端坐標,到各個軸的坐標。最後真正的運動控制是各個驅動器分散式完成的。
簡單來說,就是把機器人的控制問題轉化成了電機的控制問題。
這裡我們雖然我們沒有對動力學顯性建模,但實際上動力學是物理上客觀存在的。指由於動力學的客觀作用,比如重力,慣性力,摩擦力等,電機之前會有互相作用。只是在沒有考慮運動學的情況下,對這些外力沒有信息,就都視為干擾。讓電機的控制器自行補償。
在考慮動力學模型的情況下,我們將這個互相作用的力計算出來,作為一種前饋補償,直接告訴電機現在應該用什麼力,而不是完全靠電機自己去計算。在控制效果上會得到一定增強。而且模型並不需要太精確,伺服會補償掉不剩下的誤差,魯棒性很高。
而對於集中控制,動力學就是必要的了。相比之前動力學只是作為前饋而言,這裡我們才可以說是真正意義上的動力學控制。這裡我們是通過動力學模型,直接生成力矩控制力,講機器人系統作為的一個整體來考慮,而不是分成子系統。所以才叫集中控制。
基本流程如下:
- 從上層演算法獲得末端位置坐標點
- 通過逆運動學計算出各個關節所需要的目標位置。
- 根據動力學模型,設計控制規則,這裡系統的輸入(控制器輸出)是力矩。這裡展開就多了,一般來說可以有重力補償PD控制,魯棒控制,自適應控制,滑膜控制等。
- 各個電機僅僅通過電流環做力矩控制。
這樣控制的優勢在於對力有一定的控制作用,可以做柔順控制,力控制。實現更多的功能。實際上應用的極少,至少在產品級的工業機器人方面,即使四大家族無法實現集中控制。這裡主要的有幾個因素:
- 摩擦力辨識極難,但是高速時摩擦力影響能達到30%以上。
- 對反饋要求高,但是現有加速度感測器雜訊往往過大。
最後總結回答一下題主的問題吧:
在非集中控制中,運動學和動力學都為是底層電機控制服務的,運動學提供目標量,動力學提供前饋或者不用。
在集中控制中,動力學作為系統模型來設計控制率,運動學作為輔助計算機器人的幾何關係。
——————
答案的內容主要參考了下面這本書和一些實際經驗
Robotics: Modelling, Planning and Control by Bruno Siciliano, Giuseppe Oriolo, Lorenzo Sciavicco, and Luigi Villani
運動學一般是用來做軌跡規劃,生成各關節的目標軌跡;再通過控制演算法,使機器人追蹤目標軌跡;而控制演算法中為了實現更好的效果,需要考慮機器人動力學模型,並加入動力學補償。
運動學 + 靜力學 +(時域)動力學+ (頻域)動力學 = 動力學.
可以說,
機器人的運動學求解, 假設所有的物體都是剛體. 只用幾何模型就可以解決.
靜力學,則開始出現了力, 出現了變形, 出現了受力之後機器的各種強度 剛度K 等問題.
(時域)動力學, 是要考慮 F=ma造成的慣性, 在低頻通常0.1s分析周期或更慢, 機器人的加減速都是需要時間的, 電機也是, 齒輪是有背隙的, 軸都是緩慢加速的....
(頻域)動力學, 是要考慮振動帶來的效果, 即使靜態是穩定的, 機器人有可能振動失效, 或者造成疲勞或磨損的失效.
以上每一層的難度, 大概翻3番, 所以一個完整的動力學模型和分析過程, 比一個完整的運動學模型和分析, 大概工作量是27倍(說100倍也不誇張).
目前國內機器人企業, 包括比較有名的企業在內, 很多博士在一起,也無法確保機器人在任何工況下不振動, -- 這一點和寶馬車高速下也不振有相似之處.
結論;
運動學簡單, 是基礎; 動力學是深入, 複雜; 兩者的控制, 最終都是以動力學為主, 不考慮動力學的控制都是玩具.
推薦閱讀:
※機器人球關節的DH參數中d是怎麼定義的?
※機器人運動學反解怎麼開發?
※強化學習 Reinforcement Learning 在控制系統中的應用現狀與前景展望如何?
※Jimu 機器人,米兔機器人,wedo,mindstorm,makeblock,針對兒童,該選擇哪個?
※現代機器人及自動化技術還原鉛字印刷可行嗎?