技術通報 283期_無感測器之助力控制技術 2022.05.16

無感測器之助力控制技術
文/機器人技術部 鄭欽隆、唐佩忠 博士
 
快速標籤
SCARA 手臂助力控制器設計
EtherCAT 驅動器的韌體修改
SCARA 機械手臂實驗結果
結論
未來展望
參考文獻
 

  機械手臂力量控制近期為各大廠的研究核心,市面上的機械手臂以位置控制為主,力量控制須外加力感測器,因成本考量廠商導入意願低。本文預計發展助力控制技術,透過控制器的數學模型運算以及驅動器扭力限制功能實現無感測器力量限制機械手臂,並以SCARA 機械手臂作為驗證載具。
助力控制器分為控制器數學模型建立以及驅動器設定扭力開關限制之機制來完成機械手臂各軸力量控制。並依照限制開關大小可分成三種模式,分別為教導運作模式(0%)、柔性運作模式(30%)以及剛性運作模式(100%),教導模式可讓使用者自由拖動,柔性運作模式可偵測機械手臂偵測外力,剛性運作則恢復正常位置控制模式。

▋ ㄧ、SCARA 手臂助力控制器設計
  本文將直接對控制器修改而不外掛力量感測器,為了使機械手臂達到柔型機械手臂,本計畫透過扭力開關限制控制器輸出,並與演算法算出助力補償達成功能。傳統上,控制器是根據目標與目前狀態進行控制,一旦有人為上的疏失,像是劇本的數值給錯了,機械手臂將會使命必達移動到目的地,因而造成設備上的損傷。本文將以SCARA 手臂的設計為基礎,改進目前其控制器的設計,並針對驅動器的韌體架構進行修改,其原因為驅動器並不提供扭力開關來限制關節扭力輸出。
  圖一為機械手臂基本控制圖,如果以位置控制套用進去此圖,命令為位置; 回授為位置回授; 誤差為位置誤差,驅動器是根據位置誤差來發出控制的出力,當外界干擾越強,就會產生更大位置誤差,驅動器就要產生更大的控制的出力來抑制外界干擾,驅動器本身並不了解外界干擾的意義,只根據位置誤差來做控制。
不論外界干擾是重力、阻力或任何其他外力,驅動器都可以控制到使誤差為零,也就是控制(命令=回授),永遠依循既定的軌跡前進。但是當發生人為上的劇本疏失,造成手臂撞到機構,此時會強制執行所下達的運動位置,這時阻擋力道也會被視為外界干擾,讓驅動器產生更大的控制力來壓制干擾,直到過載警報通知人員。所以本文提出SCARA 手臂助力控制的概念,圖二顯示機械手臂助力控制的方塊圖,首先將所謂的外界干擾分成兩部分:已知負載,可事先計算的負載參數,像是慣性力和摩擦力等等;未知干擾,例如無法精準計算或是環境中的不確定因素,像是碰撞。就已知負載而言,可以事先加以計算,並精準分配至各軸馬達做助力補償,但對未知干擾而言,需要傳統的閉環路驅動器做補償。所以各軸的馬達出力已經分成兩個部分,第一是計算力矩依據動力學數學公式依時間序列算出作用力; 第二是驅動器的出力,為傳統閉環路驅動器的輸出,和控制誤差相關,所以會隨著外界干擾而做出反應。



 

  以理論上來說,機械手臂中95% 的力量都是要來移動笨重的自身機構,所以絕大部分負載都是固定而可事先或即時透過動力學方程式計算的,但由於95%的馬達出力都是計算力矩,而驅動器的出力比重已降至5%,所以再追加驅動器的出力限制,例如驅動器出力不得超過30%,在正常狀態下,驅動器的出力小於5%,所以30% 的控制限制是綽綽有餘,不會干擾機械手的正常運作。但在異常狀態下,例如人為
上疏失給錯劇本數值,造成機械手臂撞到機構,會讓命令與回饋的數值有差距而加大控制出力,但受到30% 的控制限制而無法提供更大出力,一旦控制器的出力持續超出控制限制,即可視為異常狀態,會降低控制器的輸出力,使得設備不易損傷。一旦控制器的輸出力小於控制限制,即可從異常狀態回復成正常狀態。
 
 
▋ 二、EtherCAT 驅動器的韌體修改
  本文使用EtherCAT 的馬達控制通訊介面,但是目前市面的EtherCAT 的馬達驅動器不提供扭力開關,因此本計畫需要與廠商配合改良目前馬達驅動器的設計,增加扭力開關來限制機械手臂控制器的出力大小。圖三為修改後的EtherCAT 驅動器架構圖,有了額外的控制輸入將可讓機械手臂做到先前提到圖二的方法。


  本文以SCARA 機械手臂實現助力控制,任何以EtherCAT 連線的工控機和驅動器都可以增加這項功能,不需追加任何硬體偵測,也不需更換任何關節,就可將傳統結構的剛性機械手臂轉換成更安全的柔性機械手臂,全面性的安全防護(撞擊偵測)不限於掌部、腕部、肘部或肩部。當教導完後,可恢復成不具柔性的剛性機械手臂完成工作。

建立機器人助力控制模型
  機械手臂助力控制模型的概念為依據運動命令以及機械手臂負載,計算出各軸馬達所需要的出力,其架構圖如圖四所示,所謂馬達出力,就是用來平衡機械負載所需的相對力量,包括:
摩擦力和目前速度相關,包括靜摩擦和動摩擦。
慣性力和目前加速度相關。












(1) 摩擦力
  摩擦力指的是機械手臂在運轉過程中,各軸到傳動端之間機構上的摩擦力。本研究透過兩點來回測試,兩點運動測試是讓機械手臂只移動單一個關節,在兩點之間做往復的等速直線運動,因為就力量分布而言,慣性力分布在加速區塊;摩擦力分布在等速區塊;重力分布在所有區塊,因此只要統計出其在等速段運動之間的扭矩、並以不同的速度實驗,取得不同速度下所產生的實際扭矩,並透過作圖求出迴歸線,其斜率為Kv(類似動摩擦),截距為Kv0(類似靜摩擦)。


  本實驗以SCARA 機械手臂的第二與第三軸以30deg/s、60deg/s、90deg/s、120deg/s、150deg/s 的速度區間做摩擦力的實驗,摩擦力補償運算公式如式1,sign(速度)為正轉為正一或反轉為負一;表三是程式運算出來的力矩數值列表。實際進行正反轉獲得力矩數值,如表四,由於摩擦力與重力都具有方向性,摩擦力和運動的方向為同向,而重力不論正反向都是一致,所以可得到正轉等速區的摩擦力式2與反轉等速區的摩擦力式3,將式2與3相減,讓重力項得以濾除掉,接著將正反等速區間的扭力平均值除以二就等於摩擦力,如式4;表五是將式4 在不同速度下所得到的力矩值列出,最後將該表的數據中速度與摩擦力作回歸線,如圖八,而圖九為程式運算的扭力數值與實際的摩擦力比對圖,最終可整理出靜摩擦係數以及動摩擦係數補償表,如表六所示。
 
摩擦力補償=速度x動摩擦係數+靜摩擦係數xsign(速度) (1)
正轉等速區的平均扭力=重力+摩擦力 (2)
反轉等速區的平均扭力=重力-摩擦力 (3)
(正轉等速區的平均扭力-反轉等速區的平均扭力)/2 (4)












  將表五的第二軸與第三軸數值畫出圖十一的五個藍色點,可以將它近似畫出一線性線段,得到其線性斜率的公式之數值,即可得知表六的動摩擦與靜摩擦之數值。



表七為第二軸與第三軸扭矩誤差,由於程式內部100%相當於1000的數值,因此轉換到比例要乘上0.1。



程式運算的結果是條線性的線段,實際實驗是條非線性的線段,但可以看出有趨近線性線段的趨勢。

(2) 慣性力
  SCARA 機器人第二軸慣性力公式如圖十所示





藉由表 SCARA 機構參數帶入公式即可算出慣性量為4.79kg*m2,此為以理想的矩形運算,所以此為概略的算法。



紅框為第二軸SCARA 的旋轉軸,也就是慣性力的數值,其數值是5134445.523kg*mm2 轉換成5.13445kg*m2,可直接將數值給程式做慣性力補償。



紅框為第三軸SCARA 的旋轉軸,也就是慣性力的數值,其數值是282815.996kg*mm2轉換成2.82815kg*m2,可直接將數值給程式做慣性力補償。

▋ 三、SCARA 機械手臂實驗結果
  透過2.1至2.3點所提出建模方式,已可達到無感測器的助力控制技術,包含機械手臂的手拉模式以及安全碰撞防護等功能。下述為目前將助力控制技術導入至SCARA 機械手臂研究成果。

(1) 直覺式手拉教導功能
  當SCARA 機械手臂進入教導模式時,控制限制降至0%,使得控制器的出力為零,可用手自由推動,讓使用者可直接藉由手拉方式完成教導點位的需求,而使用者也可微調各軸的補償數值,改善不同使用者在使用手拉教導功能時的操作性。






(2) 安全碰撞防護功能
  安全碰撞防護功能之概念為,藉由前述程式運算出來的力矩值與實際力矩值進行比對,若所回授之實際力矩值大於程式運算出來的力矩值並超過一段時間則判定為異常狀態。使用者透過觀察扭矩監控界面上的程式運算出來的力矩值與實際值力矩之差值,並調整人機介面上的誤差值欄位範圍,以因應不同情況下的安全碰撞所需力量。










  圖二十的紅色曲線代表程式運算出來的扭矩比例值,而藍色曲線是實際的扭矩比例值。碰撞停止機制為當藍色曲線超出紅色曲線的15%並經過0.1秒,即判定目前發生碰撞,程式介面會跳出異常排除,如圖二十一。

(3) 柔性運作模式
  當扭力開關限制為30%時,代表馬達出力中的閉環路控制力只剩30%,以物理量而言,就是100W 的馬達只剩30W 的控制器的出力,自然用手就可以阻擋了,這就是柔性機械手臂。




圖二十二的紅色實線為實際的扭力數值,藍色虛線為扭力開關的數值



實驗用手阻擋,其數值的扭力數值確實受到扭力開關的數值限制,當機械手臂發生碰撞時,較不易讓機械手臂發生損傷。

▋ 四、結論
本研究目前已將助力控制技術導入SCARA 機械手臂。在本計畫完成該技術部份如下:
• 計算機器人模型:此部分以機器人目標位置、速度、加速度做為輸入分別估算出摩擦力、慣性力。
• 修改驅動器韌體:驅動器韌體新增一扭力限制開關,該開關可透過上位控制器下達扭力限制值。
透過前述計算機器人模型及驅動器韌體修改,已可使機械手臂達成助力控制的效果。
透過更改扭力限制值可達到以下之目的:
• 手拉功能:當驅動器扭力限制值設定為0% 時,即為手拉模式,使用者透過手拉後記點的方式可快速完成劇本規劃功能。
• 安全防護功能:當驅動器扭力限制值設定於30% 時,為柔性關節模式,此時機械手臂發生碰撞時,較不易讓機械手臂發生損傷。
• 傳統控制模式:當驅動器扭力不限制時,即為傳統工業機器人控制模式,此時無前述所提之手拉功能及安全防護功能。


▋ 五、未來展望
(1) 無感測器不需追加硬體感測器,可應用於多家廠商的手臂
(2) 助力控制,可應用於協作型機械手臂
(3) 將助力控制應用於插銷的機械手臂上,未來可做力控制

▋六、參考文獻
[1] M. T. Mason, “Compliance and force control for computer controlled manipulators,”IEEE Transactions on Systems, Man, and Cybernetics, vol. 11, no. 6, pp. 418–432, 1981.
[2] M. H. Raibert and J. J. Craig, “Hybrid position/force control of manipulators,” Journal of Dynamic Systems, Measurement, and Control, vol. 103, no. 2, pp. 126–133, 1981.
[3] N. Hogan, "Impedance control: An approach to manipulation: Part II—Implementation," Journal of dynamic systems, measurement, and control, vol. 107, pp. 8-16, 1985.
[4] Shih-Hsiang Yen, Pei-Chong Tang, Yuan-Chiu Lin, Chyi-Yeu Lin:Development of a Virtual Force Sensor for a Low-Cost Collaborative Robot and Applications to Safety Control.Sensors 19(11): 2603 (2019)
[5] Shih-Hsiang Yen, Pei-Chong Tang, Yuan-Chiu Lin, Chyi-Yeu Lin:A Sensorless and Low-Gain Brushless DC Motor Controller Using a Simplified Dynamic Force Compensator for Robot Arm Application. Sensors 19(14): 3171 (2019)