先進控制

計算力矩控制

計算力矩控制是一種駕馭機械臂的方法,它先把機械臂自身那套複雜的物理特性抵消掉,讓剩下的部分表現得像一個簡單、聽話的小玩具。真實的機械臂很難控制:靠近肩部的關節要對抗重力對整條手臂的拉扯,其他關節擺動時也會把它甩來甩去,而沉重的肘部和輕巧的手腕手感又完全不同。控制器不去無視這些,而是在腦中保存一個關於手臂重量、長度和運動的數學模型,並在每一瞬間精確算出每個馬達所需的力矩(也就是馬達施加的扭轉推力),用來抵消重力和這些相互拉扯的效應。把這些已知的力提前「付清」後,每個關節就能乾淨俐落地回應你的指令。

一旦物理特性被抵消,原本棘手的非線性機械臂就塌縮成控制器可以當作一排彼此獨立、完全相同的單元來對待的東西——推一下某個關節,它就單純地加速,既沒有意外,也沒有來自相鄰關節的串擾。這樣一來,控制器只需在上面再疊加一個樸素、溫和的修正(通常是 PID 式的微調:關節離目標位置越遠,就推得越用力),就能對期望路徑實現乾淨而精確的跟蹤。一句話,計算力矩控制是花掉一個機器人模型,為自己換來一個輕鬆的控制問題。

問題在於,它的好壞完全取決於模型:如果機器人真實的重量、摩擦或所搬運的負載與數學假設不符,抵消就不徹底,殘留的誤差只能靠修正項或自適應方法來收拾。這也是為什麼它在特性清楚的實驗室和工業機械臂上表現出色,並常常與能夠即時調整模型的技術配合使用。

一隻焊接機械臂要以恆定速度描出一條曲線。計算力矩控制預測並提前餵給每個關節所受的重力和擺動力,於是上層一個輕量的 PID 就能讓焊槍牢牢貼住軌跡,而不會在向下走刀時往下塌。

先把物理帳付清,再去駕馭剩下那個簡單的部分。

計算力矩控制本質上就是把回饋線性化用到剛性機械臂的具體方程式上——它是那個更寬泛思想的一個寫好了的、帶機器人味道的特例。

又稱
inverse dynamics control逆动力学控制逆動力學控制