機器人控制在實際中用到了動力學控制嗎?
@李淼robot@個人愚見(了解): 國內廠商絕大部分 都是國外控制器,codesys一類(多),pmac(少),再加上 國外的伺服驅動器(安川 松下 力士樂~)。 這種方案,很多驅動器都不支持力矩控制模式,而且如果做純動力學控制 需要大量運算,控制器控制周期能夠很好的支持么? 動力學控制建模的不精確,摩擦力建模的不精確,摩擦係數隨著使用時間的變化, 外部負載的變化。 各種不精確,導致很多機器人都是位置控制。 請各位能談一談你們實際機器人用到了動力學控制嗎? 實際!
這樣,講點實際的吧
我在國內做工業機器人四年,從原型機做起,最終做到產品佔據一定國內市場
應該說動力學模型在機器人原型的時候就模擬計算過的,當然摩擦部分使用了一個經驗係數並沒有去深究,負載也只是做了剛體的理論負載。
在實際開發原型機和樣機的過程中我們並沒有把動力學部分加進去,因為當時還處於驗證階段,對精度和動態響應要求並不高,對振動抑制的要求也並不強烈,因此那時的機器人就是運動學計算位置並對位置進行控制,而位置環以下的控制都通過優化驅動器參數來讓驅動器進行。
在經過兩年多的時間裡,這樣做並沒有太大問題,由於機器人一般的工作都是高速運行,低速操作和執行,因此並沒有什麼必要把動力學加進去,直到我們遇到了一個對路徑要求比較嚴格的項目,單純位置控制的機器人在理論路徑和實際路徑上是存在一定偏差的,尤其是在高速運動中,這個偏差包括運動中的位置偏差以及無法完全消除的位置抖動,在這個時候我們才一步步的去改善我們的系統。
之所以說是一步步的原因就是我們並不是一上來就把轉矩量輸出的,事實上我們早期做的機器人就是用的驅動器的轉矩模式,然後在控制器內部做速度閉環和位置閉環,應該說效果很不好,原因就是控制帶寬不能做到很高,因此無法實現好的閉環效果,因此單純使用轉矩模式是不能很好控制電機的,更加常見的做法是使用位置控制,並提供速度和轉矩前饋,而電機的閉環控制仍然交給驅動器來做。控制模型如下圖所示。
首先我們增加的就是速度值的前饋。這個付出的代價最小,而收益也最明顯,通過雅可比矩陣計算軸端的實時速度並提供給驅動器前饋,這在很大程度上削弱了動態位置偏差,當然振動仍然不能完全消除,但事實上在增加了速度前饋之後我們那個項目上的需求已經基本解決了,而速度前饋實際上跟動力學並沒有關係,仍然是運動學的範疇。下面兩個圖就是速度前饋增加前和增加後的設定位置和實際位置偏差對比圖,雖然缺少坐標信息,但從圖像形狀上也能看出效果改善明顯。
儘管解決了問題,我們仍然希望更好的改善機器人的運動特性,使其運動更加細膩,因此我們把機器人的靜力學模型和動力學模型都導入了控制器,並將計算得到的理論輸出轉矩前饋輸入到了驅動器。但是,實際測試的結果來看,雖然一定程度上改善了動態響應,並抑制振動50%以上,但距離我們的預期仍然有較大差距,原因應該和摩擦的計算不完全,高速運動中物體並非剛性,以及電機控制自身帶來的影響有關,很遺憾我們並不是研究所或者大學,沒有辦法把這個更加深入下去,國內的企業有國內企業的無奈,因此動力學的引入我們只做到了這個程度。下圖不知道能否看清,位置的動態偏差從最大將近20的指令單位降到了不到8個指令單位。
最後我們的產品還是帶上了這個不完整的動力學演算法,雖然改善不是很明顯,這些都不妨礙我們的機器人在客戶那裡使用。實事求是的講,動力學的計算對機器人的控制應該是有很大幫助的,但是在國內做的話,一般做到速度前饋已經算不錯了,在轉矩的控制上確實存在很多局限性,單純工程上的應用並不一定能夠取得比較好的效果,當然重力補償除外,嚴格意義上來說這個也並不是動力學的範疇吧。
請看珞石機器人的最新成果吧!
http://mp.weixin.qq.com/s/8XT5EXVUq7E4904kN3qFiw
很多實驗室的建模意義不大,如果說做一倆台軍工還是可以的。但是工業機器人把一倆台樣機做到極致意義不大。樓上說的很清楚了。
當機器人產品化了,重要的是品控,工藝加工水準起碼能達到相當高的水準,這樣這些演算法才有意義。老外的機器人精度高也不是一倆代就做出來的,是通過不斷的工藝改進和演算法改進做出來的。
以國內目前的演算法積累和工藝加工水準,保證一定的精度不出大錯就是目前最好的水準了。只有出貨量大了,產品化了,模具都完善了才有可能實現幾套演算法實現批量的高精度。
實驗和應用之間,遠遠不是一個演算法就能解決的。
總之一句話,產品是一代代做出來的,不是算出來的。淺顯直觀地解釋機器人控制為什麼需要動力學建模
- 問題引出
一開始,人們想要控制機器人運動時,一般根據目標軌跡與機器人的逆模型,反算出所需的力矩,再把這個力矩發送給電機,這樣就大功告成啦(圖1)。然而事實卻不盡人意,機器人著了魔似得,竟然不聽我們的話跑偏了。事後分析,發現了影響了我們對機器人的控制:外界的擾動。
圖1 開環控制框圖
討厭的擾動來源與哪呢。它主要有兩個:一個是環境施加的,比如人為對機器人施加力,風帶來的力等等(環境擾動),這種擾動我們一般可通過改變環境,使其處於較小的狀態;另一個來源是由於建模不精確和系統參數辨識不精確帶來的(系統擾動)。要想機器人聽話,我們就得想方設法幫助機器人消除系統擾動,逃離魔掌。環境擾動一般可通過改變對象所處的環境來減小,我們這裡更關心如何消除系統干擾的影響。
- 模擬研究
瓦特創造性地將系統的輸出反饋到控制器中,經過後來人的完善,奠定了PID反饋控制在控制中舉足輕重的地位(圖2)。我們結合Simulink(圖3)做個簡單的模擬研究。
圖2 PID閉環控制框圖
圖3 SImulink建模圖
先在無擾動的情況下整定好一組PID參數值,然後測試了兩種不同程度的擾動(小擾動(1*sin)-圖4,大擾動(10*sin)-圖5),可以看出,當擾動較小時,PID可以將其壓制地很好,可當擾動過大時,PID就有心無力了......
圖4 小擾動Amp=1
圖5 大擾動Amp=10
- 理論解釋
我們只結合控制框圖,來直觀的解釋模擬的結果。外界擾動經過反饋迴路後,會產生一個附加擾動,試想如果附加擾動能抵消外界擾動,那擾動不就消除了嘛,這也是PID反饋控制能壓制外界擾動的原理(圖6)。
圖6 PID工作原理
回顧之前我們介紹的系統擾動來源。如果我們只用PID反饋控制,相當於我們不需要任何動力學建模,那我們最終設定的PID參數並不能完美適合系統,相當於引入了很大的系統擾動,這樣我們不能完美地控制機器人。既然我們靠反饋無法把擾動全壓下去,那我們是否可以考慮,通過預測外界擾動,再通過前饋補償來解決呢?如圖7。這樣,如果外界擾動是10,我們前饋補償可以消滅掉9,那剩餘的1可由PID反饋輕鬆消滅掉。於是乎,我們需要構建一個由PID反饋控制+基於系統建模的前饋控制的控制器。
圖7 前饋+反饋控制
感覺被奶了一口,打了一針雞血,自己的research還是可能有用的啊。
----------------------------------------------------------------------------------
說起來現在這波工業機器人浪潮不就是便宜的,compliant的機器人嗎,就是精度不夠,actuation uncertainty比較大吧
之前在韓國三星電子開發工業機器人控制器時,由於是基於實時linux(montavista)+ 自有伺服控制器的方式,引入動力學控制比較靈活,沒有題主所說的第三方的限制。
實際情況是,雖然每款機器人控制方案都可以調用力矩控制介面,但其實沒有任何一款真正使用力矩控制,最多是用到力矩前饋來減少循徑誤差。原因跟題主講到的幾點基本一致:
1. 計算能力不足,有時甚至會影響對通訊的響應
2. 建模誤差大,尤其是摩擦力,要花很多精力來調試得到一個可用的結果
3. 要針對每款機器人動力學建模。由於我們為自己的工廠定製機器人,每年多時要出10種以上新型號,根本沒有那個精力做這個事。只有那些對循徑精度要求變態的需求才會考慮。
相關行業。
國內都是做應用的,包括那些號稱自己什麼原創什麼首家什麼一流,都是做殼的,控制部分買電機買驅動買工控機買程序,買買買,就這樣。
還有人回答四年從零到多家廠商應用的,我都懶得評論,可能是做的最近小米出的那款機器人吧,還能拼接變形的。
所以說,你只有去真正的研發機器人的公司,估計才會涉及到這些吧,比如說至少是ABB庫卡之類的。
假設你實際接觸到了,一切也都是加減速和電流反饋,很多還是伺服驅動器本身有動態調整,所謂的研發也就是驅動器參數吃透,調優。
比如說,ABB一類的機器人允許設置負載的重量和重心,也是計算為輔,電流和速度反饋和控制為主。
所以lz想研究專門的技術,就去研究所吧,我不了解有沒有這種學科的機構,在外面的公司,很難接觸到。我做工業機器人控制也有幾年了,所接觸到的控制,大部分都是基於位置控制的,也有一些是採用速度控制實現的,力矩控制只是聽說過。位置控制時就是將閉環控制任務交由驅動器來完成。速度控制時控制對象是速度模擬量指令,正負10V對應伺服電機的正逆最高轉速,然後上位機根據位置反饋做閉環演算法。
至於說電流環也就是力矩控制,我個人認為跟速度環的控制類似,只不過這種方式伺服的響應更快了,因為直接控制的伺服的交流輸出。閉環演算法同樣是需要由上位機來完成,需要保證位置精度。
三者的不同之處就是閉環控制對象是誰,反饋都是一樣的,都是位置反饋。
新一代工業機器人的各種力控制經常會使用到機器人動力學模型
工業上不是三種控制嗎?力控制,位置控制,力和位置混合控制。動力學控制是什麼意思?
好混亂啊,動力學和力矩控制是一起的嗎?
什麼是動力學控制?你說的是Jacobian和Lagrangian嗎?
推薦閱讀:
※應該學習哪些方面的知識,才能適應機器人研發的工作?
※機器人方向目前研究熱點方向有哪些?
※為什麼人工智慧的演算法部分很火,但機器人和控制科學在人工智慧中為何沒有大放異彩?
※產品經理,如何轉行到人工智慧/機器人領域?