工業機器人振動控制問題探討

ControlPlusAI發表於2018-10-15

作者博士畢業於加州大學伯克利分校機械工程系,目前為FANUC Advanced Research Lab研究員,從事工業機器人的研究。

引言

在協作機器人越來越受關注的今天,Rethink的倒閉讓人倍感意外。Rethink的協作機器人設計理念和傳統工業機器人有許多區別,其中最為顯著的區別便是串聯彈性驅動器(Serial Elastic Actuator, SEA)的使用。與一般工業機器人極力追求高剛性設計不同,為了保證人機協作的安全性,Rethink在其機器人的每個關節內建了彈性元件。這種設計使得即使由於操作不當導致機器人與人發生碰撞,大部分能量能夠被彈性儲能元件吸收而減輕對人造成的傷害。然而SEA的柔性在保證了人機協作安全性的同時,大部分機器人應用所追求的高速高精度效能要求難以得到保證。在人機協作機器人市場尚未完全成熟的今天,這種缺陷對Rethink來說是致命的。其實,即使對於高剛性的傳統工業機器人,由於柔性導致的振動也是一直存在的問題。本文將討論針對工業機器人的柔性進行的振動控制問題。

工業機器人的柔性問題

高速與高精度的矛盾

工業機器人的柔性主要來源於兩個方面:關節柔性與連桿柔性,如圖一所示。

工業機器人振動控制問題探討

圖一:(a) 具有關節柔性的機器人(例如Baxter)。(b) 具有連桿柔性的機器人。

與Rethink製造的機器人一樣,傳統的工業機器人為了追求低成本而採用了高速低扭矩的電機。為了驅動沉重的負載以及同樣沉重的機器人本體,機器人的關節中採用高減速比的減速器來放大驅動力矩。成熟的機器人減速器比如RV減速器和Hamonic Drive具有體積小,剛度高,幾乎無死程差的特點,然而與高剛性的機器人本體結構相比,減速器的剛性相對而言弱了許多,因此成為了柔性的一個主要來源。從減速器引入的柔性被稱為關節柔性。Rethink的機器人屬於主動在關節增加柔性的設計。在關節柔性很大的情況下,機器人的運動會表現出肉眼可見的振動,如圖二。

工業機器人振動控制問題探討

圖二:關節柔性導致的振動

除了關節柔性之外,機器人自身連桿結構或者其所攜帶的工具以及負載也可能引入柔性,這種柔性被稱為連桿柔性。一般來說,在機器人的設計階段就會對自身連桿結構進行最佳化以增強結構剛性,除去某些極端情況例如國際空間站的Canadarm,機器人自身連桿的柔性幾乎可以忽略不計。工業機器人的連桿柔性主要來源於某些大尺寸的工具或負載,例如圖一(b)中的大型結構。在連桿柔性很大的情況下,機器人的運動中也會出現明顯振動,如圖三。

工業機器人振動控制問題探討

圖三:連桿柔性導致的振動

為了保證運動精度,絕大多數工業機器人的結構被設計的十分堅固,因此在日常使用中幾乎不會出現振動問題。然而在工業生產線試圖將工業機器人的運動效能發揮到最大限度以縮短工作節拍時,高速高加速的運動使得機器人的結構及傳動系統必須承擔的慣性力變得很大。在這種情況下,機器人結構中柔性最強的部位會發生相對較大的彈性變形。在機器人運動停止時,彈性變形的恢復會導致明顯的振動。對於有高運動精度要求的任務,這些振動所導致機器人精度下降是不可接受的。因此即使對於剛性很好的工業機器人,高速和高精度也難以同時實現。為了最大限度的提高工業機器人的運動速度同時避免振動,振動控制便成了一個重要的研究課題。

透過反饋實現的振動控制

以具有關節柔性的機器人為例,為了補償機器人由於彈性變形所導致的振動,首先需要了解機器人在具有關節柔性情況下的動力學模型。機器人的關節柔性通常透過彈簧阻尼系統進行建模,如圖四所示。其中左側為機器人電機驅動器的動力學模型,右側為機器人連桿機構的動力學模型。

工業機器人振動控制問題探討

圖四:機器人關節柔性模型

對於多軸機器人,連桿側的動力學模型便是常見的多剛體動力學模型。完整的柔性關節機器人動力學模型一般可以表示為:

工業機器人振動控制問題探討

其中公式(1)給出了機器人連桿側的非線性模型,(2)給出了電機側的動力學模型。電機側與連桿側透過減速器中的傳動力,也就是彈簧和阻尼力連線。對於6軸機器人,系統的控制訊號是一個6維電機力矩變數,但輸出卻包括了12個關節的位置(包括6個電機位置和6個連桿位置),因此這是一個欠驅動系統。當機器人控制系統的設計將關節柔性忽略時,也許電機的運動位置能夠被較為精確的控制,然而在加速度很高的情況下,大傳動力會導致機器人的連桿位置與電機位置出現較大偏差,同時在運動結束時機器人連桿將在其平衡位置附近進行較長時間的振動。

如果我們可以較為精確的同時測量機器人電機與連桿的位置甚至速度,那麼便有可能透過機器人連桿軌跡與參考運動軌跡的偏差來調整電機的控制力矩,從而實現對機器人連桿位置的精確控制來消除由於彈性變形導致的振動。這種反饋控制問題可以透過例如Integrator Backstepping之類的非線性控制方法來解決。設計思路如圖五所示:1)首先將機器人連桿側看作以關節傳動力y為輸入,以連桿位置q為輸出的系統,並針對其特性設計能夠實現精確連桿位置控制的機器人控制器Robot Controller以產生參考關節傳動力;2)其次透過李雅普諾夫穩定性理論設計能夠同時保證連桿位置誤差與傳動力控制誤差收斂的驅動器控制器Actuator Controller,這一控制器以連桿實際位置誤差與關節傳動力控制誤差為輸入,以電機力矩為輸出。透過這一設計,即使在關節具有很大柔性的情況下,機器人連桿位置也能夠被精確的控制從而消除振動,如圖六的模擬所示。

工業機器人振動控制問題探討

圖五:Integrator Backstepping反饋控制器

工業機器人振動控制問題探討

圖六:透過Backstepping反饋控制消除振動

在實際使用中,為了消除模型引數誤差等因素的影響,需要加入自適應控制等其他控制方法。詳細的設計細節參見[1]。大體來說,在機器人同時具有電機側與連桿側的感測器,並且在控制器設計中充分考慮動力學特性的前提下,反饋控制能夠在很大程度上彌補由於機械結構柔性所造成的振動問題。

透過前饋實現的振動控制

反饋控制理論上能夠補償由於柔性所造成的振動問題。然而,和Rethink的機器人不同,大多數工業機器人並沒有能夠測量連桿側狀態的感測器,因此反饋控制對於現有的工業機器人並不是一個可行的解決方案。在感測器數量不足的情況下,前饋控制成為了振動抑制的一種可行選擇。

以具有連桿柔性的機器人為例,假設機器人的工具或者負載相對機器人本體而言剛度較低,例如圖七所示的情況,那麼負載將成為機器人最主要的柔性來源。

工業機器人振動控制問題探討

圖七:機器人柔性負載示例

柔性工具或負載的動態特性可以透過線性系統近似建模,例如圖七的塑膠板負載可以利用單個質量彈簧阻尼系統近似,如圖八所示(其中r表示柔性負載末端的變形)。機器人運動控制的目標為驅動柔性負載的末端達到指定位置。由於負載自身存在柔性,當加快機器人的運動速度時,負載末端將出項明顯的變形。

工業機器人振動控制問題探討

圖八:柔性負載的簡化模型

在各種對這種線性系統進行振動抑制的前饋方法中,Input Shaping是最為簡單有效的方法。Input Shaping的原理非常簡單:如果存在某個會導致系統產生殘餘振動的輸入訊號A,那麼必然存在一個能夠透過將原有輸入進行適當延遲與縮放後得到的訊號B,使得當訊號A與B共同作於的結果是在某個時間點之後系統不存在殘餘振動。這一原理如圖九所示,其中藍線為訊號A對應的系統響應,紅線為訊號B對應的系統響應,黑線為將A與B疊加後的系統響應。可以看到在圖中A與B疊加的訊號使得系統在0.5s之後沒有殘餘振動。

工業機器人振動控制問題探討

圖九:Input Shaping原理

當然Input Shaping並不是沒有任何缺陷,其中最大的問題在於Input Shaping這一方法本身會對系統響應引入延遲,這一延遲為系統半固有周期的倍數(例如0.5週期,1個週期,1.5個週期...),同時這一延遲會隨著Input Shaping設計魯棒性的增強而增長。由於這一延遲的存在,Input Shaping消除系統振動的同時也減慢了運動速度。

為了解決Input Shaping的延遲問題,一種自然的思路便是將系統原有輸入訊號加速以縮短運動時間,然後對加速後的訊號執行Shaping。這樣即使Input Shaping引入了延遲,被加速之後再被延遲的訊號仍然能實現與原有輸入訊號相同的長度。Zero Time Delay Input Shaping便是基於這種思路設計的方法。

在實際測試中,Zero Time Delay Input Shaping 被證實能夠在有效減小系統殘餘振動的前提下不引入延遲。然而,當期望的運動時間和系統的固有周期接近時,系統原有的輸入訊號需要被大幅加速,這一操作將導致經過加速再Shaping後的訊號非常不光滑,從而造成更加嚴重的高頻振動。Modified Zero Time Delay Input Shaping(圖十)正是為了解決這一問題而提出的設計。Modified Zero Time Delay Input Shaping的設計認為,如果能夠減小Input Shaping所需要的延遲時間,那麼對原有輸入訊號的加速操作的負擔將大為減輕,從而減小產生不光滑輸入訊號的可能性。

工業機器人振動控制問題探討

圖十:Modified Zero Time Delay Input Shaping

Modified Zero Time Delay Input Shaping的設計應用了Laplace變換的基本性質,即:如果將訊號f與訊號g同時進行時域的縮放(例如同時加速),那麼縮放後的f’與g’的卷積f’*g’將與f*g成比例。利用這一性質,可以對系統設計特定的Compensator,使得系統對任意輸入的響應均相當於對原始響應進行加速後的結果。這樣相當於縮短了系統的固有周期,從而使得Input Shaping所需的延遲時間變得更短。詳細的設計細節參見[2], [3] 。實驗結果顯示Modified Zero Time Delay Input Shaping與Zero Time Delay Input Shaping相比都可以在不引入延遲的情況下有效抑制殘餘振動,但是Modified Zero Time Delay Input Shaping能夠避免輸入訊號的不光滑,如圖十一。實驗效果如圖十二所示。

工業機器人振動控制問題探討

圖十一:Modified Zero Time Delay Input Shaping的效果

圖十二:振動抑制實驗結果

結語

機器人的振動控制是一個重要卻又容易被人忽視的課題。Rethink彈性驅動器所導致的問題值得我們思考:在追求機器人功能性的同時,針對機器人運動效能的開發是否同樣重要呢?

相關文章