只用電流估計力矩的情況下,通用機器人的辨識可以達到什麼精度?


首先,這個問題的完整技術路線可以參考這篇回答:fly qq:KUKA LBR iiwa 機械手是如何實現精密力控制的?

下面,我們分析一下用電流估計力矩做辨識,(與直接用力矩感測器相比),可能存在哪些影響精度的地方:

  • 線性關係

我們用電流估計力矩,基本上就是默認電流與力矩成正比

	au_m = KI

然而,這個假設可能並不完全成立

出處:Asada, H., K. Youcef-Toumi, and S. K. Lim. "Joint torque measurement of a direct-drive arm." Decision and Control, 1984. The 23rd IEEE Conference on. Vol. 23. IEEE, 1984.

在零點附近,由於電機自身內部存在摩擦力,所以會有一點非線性的區域。所以,直接使用電機參數表上的力矩常數,可能會引入一點誤差。

解決辦法:單獨對電機的電流與力矩關係進行測量與標定,得到更為精確的力矩-電流關係:

	au_m=f(I)

在這個前提下辨識的話,可以達到如下效果:

出處:我去年寫的推送:聽說現在協作機器人很火,所以我也做了1/7個

  • 摩擦力

由於從電流只能估計得到電機輸出端的力矩,與機器人連桿之間還存在減速器,有傳動,也就意味著存在摩擦力。

當然,常用的解決方法就是建立摩擦力的模型,然後把摩擦力模型的係數一同進行辨識。

然而,由於摩擦力形成原因未知、影響因素未知(跟速度大小、速度方向、溫度、運行時間、負載等有關?),所以要想對摩擦力進行精確建模並不容易。

舉個極端的例子,在一個大負載、行星減速器的關節上,效果入下:

可見,機器人在關節換向的時候摩擦力大小會發生震蕩,給定的摩擦力模型無法擬合這種波形。

後來分析,行星減速器的齒隙比較大,換向的時候首先要消除回程差。這時候相鄰齒輪之間就會發生碰撞。這個碰撞就不是簡單摩擦力能夠表達的了。

還是那句話:摩擦力的話,入坑需謹慎


通過電流獲得力矩值是很準確的。實際中的誤差主要是減速器摩擦力引入的。我之前做過八公斤與二十五公斤機器人的動力學建模以及系統辨識,整個過程只用了電流反饋和位置反饋。比較下來,動力學方程算出的力矩與電流環反饋的力矩差別不到10%,但在換向是會有個很大的尖峰值誤差,這主要由摩擦力模型誤差導致的。總結下來,電流環反饋可提供很有用的信息,通過電流汗獲取動力學模型是可行的。


我做過某12kg工業機器人的力矩測算,實際上減速機在不同速度下的效率相差是比較大的,低速下的摩擦和高速下的摩擦也有一些區別,需要加正係數才能把實際測量和理論計算吻合起來,假如把電機裝到另外負載的機器人上,還是用之前的修正係數,誤差可能不止10%,有20%都是正常的。


之前在youtube 上看到過相關測試,直接用電機電流反饋值的誤差在+-10%,用力感測器做反饋可達到&<1%的精度。


推薦閱讀:

Masimo iSpO2 便攜血氧計(oximeter)是如何搭配 iPhone 實現功能的?

TAG:機器人 | 感測器 | 工業機器人 |