基于慣性力模型的SCARA機器人加速度 自適應控制方法
文:龔文濤,黃國輝,遲杰恒,楊基鵬2017年第6期
摘要:為了實現SCARA機器人的高速高精度控制,將帶偏心負載的SCARA機器人簡化成三連桿機構,并建立機構的慣性力模型,進行辨識計算出機器人各慣性項系數的值,建立基于慣性力模型的加速度自適應控制方法,自適應計算關節一理論最大運動角加速度。通過實驗研究和分析,加速度自適應控制方法能夠充分發揮機器人電機的機械性能,防止電機因電流過大而報警,該方法能較好地應用于SCARA機器人的工程控制中。
1引言
工業機器人(后文統稱機器人)已廣泛應用于現代工業,隨著機器人和自動化技術的發展,其高速運動時的準確性和穩定性日益成為檢驗機器人性能的重要指標,是機器人的運動控制系統必須考慮的因素。在高速運動的情況下,機器人的非線性控制特性十分明顯,并且實際存在的各種復雜不確性因素也嚴重影響著機器人的控制精度。SCARA(SelectiveComplianceAssemblyRobotArm)機器人廣泛應用于3C裝配、抓取等對機器人的運動速度和精度要求更高的場合,因此對SCARA機器人進行優化控制方法研究,以實現高速高精度的控制目標具有重要的理論意義和實用價值[1-3]。
為了實現機器人的高速高精度運動控制,國內外的研究主要集中在以下幾個方面:(1)智能控制方法,主要包括時間最優[4]、能量最優[5]、加加速度最優[6]等,以上智能尋優算法,主要是對某些特定的軌跡,根據機器人關節幾何、速度和加速度等約束條件下,建立機器人運動時的關于時間、能量、加加速度等的目標函數表達式,采用智能尋優的方法計算最優解。(2)基于動力學模型的控制方法,通過機器人動力學參數辨識,得到機器人的逆動力學模型,這樣,可以根據目標軌跡計算出目標軌跡各處的理論驅動力矩,再進行相應的動力學控制。
綜合來看,智能控制方法因為計算時間周期的原因,容易造成機器人控制器內存資源的緊張,很難應用在復雜的工業環境和實時插補的場合;基于動力學模型的運動控制,需要先進行復雜的動力學參數辨識,對模型的精確度要求較高,且需要計算每個插補周期的理論驅動力矩值,計算量較大。
本文在實時開放式SCARA機器人控制平臺上,根據SCARA機器人的特點,建立簡化的關節慣性力模型;通過數據采集和處理,辨識出模型各系數的值;根據機器人基關節(關節一)電機的理論最大電流,自適應計算插補路徑起點處的加速度和終點處的減速度。這樣,在開始插補前,可以確定最大的機器人關節運動加減速度,最大程度地利用關節一電機的機械性能,提高機器人運行的速度和精度。實驗結果表明該方法能較好地適用于SCARA機器人的高速高精度運動控制中。
2基于慣性力模型的SCARA機器人加速度自適應控制方法
2.1SCARA機器人慣性力建模
串聯機器人的動力學方程可以表示為:
(1)
式(1)中,為各關節的驅動力矩,
為慣性力項,
為哥氏力和離心力項,
為重力項。對于主要應用于平面抓取、碼垛等領域的SCARA機器人,其高速運動時受力較大的主要是關節一。所以考慮關節一的動力學表達式時,可以忽略重力項的影響,而只考慮慣性力、哥氏力及離心力的作用。為了實現高速控制,一般將關節角加速度設置為角速度的10倍以上,這樣造成慣性力的作用遠大于離心力和哥氏力。
圖1所示為典型的SCARA機器人高速運動時,關節一電機速度、加速度和電流(與力矩呈比例關系)分布曲線圖:
圖1典型的機器人運動時關節一電機速度、加速度和
電流分布曲線圖
Fig.1Typicaldistributioncurveofmotorspeed,accelerationandcurrentofjoint1whenrobotmoves
圖1中,橫坐標為插補時間,單位是ms,黑色曲線為電機一速度曲線,單位為°/s,藍色曲線為電機一加速度曲線圖,單位為°/s2,紅色曲線為電機一電流曲線圖,單位為mA。從圖一可以看出,電流曲線的變化趨勢, 基本與加速度曲線的變化趨勢重合,因為式(1)中各項只有慣性力項與關節角加速度項相關,所以SCARA機器人進行高速運動時,慣性力矩在關節驅動力矩各項中占據主導作用,建立機器人的慣性力模型并進行基于模型的控制可以達到很好的控制效果。
對于如圖2所示的帶偏心負載的SCARA機器人,其主體結構類似于一個簡化的平面三連桿模型,如圖3所示。
圖2帶偏心負載的SCARA機器人
Fig.2SCARArobotwitheccentricload
圖3簡化的平面三連桿SCARA機器人模型
Fig.3AsimplifiedplanarthreelinkSCARArobotmodel
圖3中,m1和m2分別為SCARA機器人大臂和小臂的質量,l1和l2分別為機器人大小臂的長度,d1和d2為連桿質心位置,d4為機器人末端所掛負載的偏心量,負載質量為m4,為各連桿的轉角。使用拉格朗日方程[7],進行動力學方程推導:
(2)
式(2)中,k為系統的總動能,u為系統的總勢能,通過式(2)推導可以得到,在只考慮慣性力的情況下,第一關節的動力學表達式為:
(3)
式(3)中,分別為機器人動力學方程質量矩陣的第一行三個元素,三項的數學表達式分別為:
(4)
其中:
(5)
式(5)中,分別為大小臂及負載的轉動慣量。在實際機器人的控制應用時,在(4)式和(5)式中,各關節轉角
和
是可以精確已知的,在負載質量和負載偏心一定的情況下,A1至A6等參數的值均為一定的,可以通過動力學參數辨識進行辨識計算得到。
2.2慣性力模型的動力學參數辨識
傳統的機器人動力學參數辨識方法,需要首先離線優化計算一條復雜的激勵軌跡[8],一般使用多次多項式或傅里葉級數進行關節軌跡激勵;然后使機器人運行激勵軌跡,通過大量的數據采集和處理,最后解超靜定方程組得到動力學參數的值。這里,結合SCARA機器人的特點,采用一種簡易的方法進行以上參數的辨識。
根據前面的分析可以知道,在SCARA機器人進行關節點位運動時,慣性力矩在關節力矩中占主導作用,特別是在關節角加速度最大處,根據式(3),采用以下方法進行數據采集:
(1)在一定的關節二轉角和關節四轉角
下,以最快的速度只動關節一,采集關節一電機的電流和編碼器值信息;在不同的
和
下,重復以上操作,采集5-10組數據。此時,(3)式中只有
起作用,對采集的數據進行數據處理,可以建立關節一最大角加速度和最大驅動力矩(和電流呈線性比例關系)之間的數學表達式關系,即:
(6)
(2)在一定的關節一轉角和關節四轉角
下,以最快的速度只動關節二,采集關節一電機的電流和關節二電機的編碼器值信息;在不同的
和
下,重復以上操作,采集5-10組數據。此時,(3)式中只有
起作用,同理,可以建立關節二最大角加速度和關節一最大驅動力矩之間的數學表達式關系,即:
(7)
(3)在一定的關節一轉角和關節二轉角
下,以最快的速度只動關節四,采集關節一電機的電流和關節四電機的編碼器值信息;在不同的
和
下,重復以上操作,采集5-10組數據。此時,(3)式中只有
起作用,同理,可以建立關節四最大角加速度和關節一最大驅動力矩之間的數學表達式關系,即:
(8)
數據采集完成后,要進行數據處理,因為采集的數據是電機的編碼器值和電流值,要帶入(6)-(8)式中進行方程組求解,必須根據編碼器值,采用差分的方法計算關節角加速度,因為兩次差分得到的加速度噪聲太大,且采集的電流值也存在很大的高頻噪聲,所以還要采用相應的濾波方法對采集的數據進行處理。
首先,差分計算天然地具有噪聲放大的作用[9],關節位置的直接前向差分會放大高頻噪聲的幅值,使得到角速度和角加速度產生波形失真,影響關節角加速度計算的精度。這里,根據電機編碼器值,采用中心差分法,每次計算五個點中中間點的關節角加速度值。
設定五個插補點的時間間隔為T(即機器人的理論插補周期),設第三個點的關節轉角時間序列為T(根據關節編碼器值計算得到),則其他幾個點的時間序列分別為。分別對
進行泰勒四階展開,并相減可以得到:
式(9)和(10)中,和
是常數,(9)式乘以8減去(10)式得:
總可以找到一個常數,使得式(12)成立。
這樣,通過采集的機器人運動時各時間序列的編碼器值,根據式(9)-式(15),每次依次計算五個點中間點的關節角加速度值,即可以得到機器人運行各時間序列的關節角加速度值。
通過中心差分得到各時間序列的關節角加速度值,仍然會有很多高頻噪聲,同時,通過伺服電機底層采集的電流值,不經過濾波也會有很大的計算誤差。所以,在MATLAB中構建低通巴特沃斯濾波器[10],它可以減小濾波過程中的相位偏移。分別對采集和處理的數據進行依次濾波處理。濾波處理的順序為:關節轉角、關節角速度、關節角加速度、電流值。
經過數據處理后,可以得到關節力矩和加速度值,取機器人每次運動時的最大關節角加速度值和最大力矩,分別帶入式(6)-式(8),因為方程組的個數大于未知量的個數,所以采用最小二乘法,辨識計算得到慣性力模型的A1到A6各項參數的值。
2.3基于慣性力模型的SCARA機器人加速度自適應控制
在SCARA機器人進行快速關節點位運動時,因為關節加速過程主要在路徑起始和終止段,此時機器人可能會因各關節電機(特別是關節一)所需的驅動力矩過大而報警,特別是在機器人高速重載啟停時。這樣,可以根據關節一極限力矩的大小,通過慣性力模型和機器人關節點位運動起終點的位姿,自適應計算關節一運動的加速度和減速度,以充分發揮電機的動力學性能,同時保證電機不因驅動力矩過大而報警。
設定機器人運行的起終點分別為和
,因為SCARA機器人的關節三為垂直上下運動,對關節一力矩的影響可以忽略不計,所以沒有考慮進來;設定根據關機一電機極限電流計算的關節一極限驅動力矩為
。
在已經通過辨識計算,得到慣性力模型的A1到A6各項參數的值后,在機器人運行路徑的起點P0處,將分別帶入式(4),可以得到路徑起點P0處的質量矩陣中與關節一驅動力矩相關的三項
分別為:
因為SCARA機器人進行關節點位運動時,關節一最大加速度和最大力矩出現的時間序列接近于路徑起點處,所以可以近似使用起點處的質量矩陣項,作為最大關節力矩處的質量矩陣項,將式(16)帶入式(3),則:
在機器人進行關節點位運動時,為了保證各關節同時啟停,各關節實際運動的加速度的比例關系是確定的,設定:
以關節一的極限力矩值,作為(19)式中的
,則可以計算得到理論最大的關節一運動角加速度值為:
同理,可以得到路徑終點P1處的質量矩陣中與關節一驅動力矩相關的三項分別為:
同時,可以得到路徑理論最大的關節一減速度為:
這樣,在確定了起終點位姿的情況下,可以根據關節一的極限力矩,在插補開始之前,自適應規劃出關節一的理論最大關節角加速度和減速度,既可以保證機器人不因電機電流過大而報警,同時也滿足機器人高速運動的要求。
3實驗研究與分析
3.1實驗平臺
實驗平臺選用的是基于開放式控制器系統的SCARA機器人平臺,它通過高速DSP滿足實時插補的要求,其控制系統基于ARM+DSP架構,上位機程序運行在ARM端,主要用于機器人示教點的選取及示教程序的編寫等功能的實現,機器人的運動控制程序運行在DSP端。ARM和DSP端通過中斷中的雙口RAM進行數據交互,示教程序通過中斷從ARM端傳到DSP端,同時在機器人運行的過程中,電機的信息(如編碼器脈沖和電流值等)也會實時通過DSP中的中斷反饋到ARM端再保存。機器人控制系統框圖如圖4所示
圖4機器人控制系統框圖
Fig.4Theblockdiagramofrobotcontrolsystem
3.2實驗研究與分析
根據文獻[11]建立SCARA機器人坐標系,確定機器人連桿參數如下:,機器人攜帶2kg、60mm偏心負載。
首先,根據前述的參數辨識方法,通過數據采集和數據處理,辨識出式(5)中慣性力模型的A1到A6各項參數的值。
在辨識時,選取一組機器人運動數據,對關節電機力矩采用截止頻率為10Hz的巴特沃斯低通濾波器進行濾波,對于電機編碼器值,在每次差分前后,采用20Hz巴特沃斯低通濾波器進行濾波,再進行數學運算轉化為關節角加速度值,圖5和圖6分別是關節力矩和角加速度的濾波效果對比(綠色為濾波前曲線,紅色為濾波后曲線):
圖5關節力矩的濾波效果圖
Fig.5Thefilteringeffectofjointtorque
圖6關節角加速度的濾波效果圖
Fig.6Thefilteringeffectofjointangularacceleration
從圖5和圖6可以看出經過巴特沃斯低通濾波器進行濾波后,差分后的高頻噪聲和讀到的力矩噪聲,能很好地濾除,且沒有相位偏移,這樣可以在很大程度上保證參數辨識的精度。
然后,在機器人的工作空間選取4個示教點(示教點的各關節轉角見表1),分兩組分別進行關節點到點運動。機器人的運動路徑分別為P1到P2的點到點運動和P3到P4的點到點運動。為了加強實驗對比,機器人運動時,分別使用基于慣性力模型的SCARA機器人加速度自適應控制方法(后文簡稱自適應控制)和傳統的預先設定最大加速度的控制方法(后文簡稱傳統控制)進行對比實驗,設定關節一的極限力矩為70Nm,預先設定的速度、加速度和減速度值(速度單位為,加速度單位為
)如下圖7所示:
圖7設定的各關節初始速度和加速度值
Fig.7Initialvelocityandaccelerationofeachsetofjoints
表1實驗用示教點各關節轉角
Tab.1thejointrotationanglesofteachingpoints
在循環運行P1到P2的點到點運動時,兩種控制方法下的關節一關節力矩和關節角加速度的濾波后對比曲線圖分別如圖8(a)和8(b)所示:
圖8(a)兩種控制下關節一力矩對比圖
Fig.8(a)Thecontrastofjointtorqueoftwokindsofcontrol
圖8(b)兩種控制下關節一角加速度對比圖
Fig.8(b)Thecontrastofaccelerationofjointundertwocontrol
從圖8(a)可以看出,在循環運行P1到P2的點到點運動時,使用自適應控制時,關節一的實際運行最大力矩控制在±70Nm左右,說明慣性力模型的精度可以達到要求,而使用傳統控制時則為50Nm,自適應控制可以充分發揮電機的機械性能;同時,采用自適應控制時,關節的加速度和減速度根據起點和終點處的慣性項(M11,M12,M14)大小不同,呈現不對稱分布,整體的運動節拍減小13.83%。
在循環運行P3到P4的點到點運動時,此時傳統控制下,全速運行時機器人關節一電機因電流過大而報警,所以傳統控制時按照85%倍率的運動學參數運行,兩種控制方法下的關節一關節力矩和關節角加速度的濾波后對比曲線圖分別如圖9(a)和9(b)所示,同時也分析了兩種控制情況下關節一電機軌跡跟蹤誤差曲線如圖10所示:
圖9(a)兩種控制下關節一力矩對比圖
Fig.9(a)Thecontrastofjointtorqueoftwokindsofcontrol
圖9(b)兩種控制下關節一角加速度對比圖
Fig.9(b)Thecontrastofaccelerationofjointundertwocontrol
圖10兩種控制下關節一電機軌跡跟蹤誤差對比圖
Fig.10Thecontrastoftrackingerrorofjointmotortrajectoryundertwocontrol
從圖9(a)可以看出,在循環運行P3到P4的點到點運動時,使用自適應控制時,關節一的實際運行最大力矩控制在±70Nm左右,說明慣性力模型的精度可以達到要求,而使用傳統控制時,因為加減速度不能自適應調整,起終點處的慣性力大小不同,造成起終點處的極限力矩分別為70Nm和-90Nm,終點處的實際驅動力矩已經超過極限力矩,使機器人抖動加大;而采用自適應控制時,關節的加速度和減速度根據起點和終點處的慣性力項大小不同(M11,M12,M14),呈現不對稱分布。從圖10可以看出,進行自適應控制時,關節一電機的軌跡跟蹤誤差有所減小,在路徑終點附近最大減小19.76%,說明自適應控制時機器人運動的抖動較傳統控制有一定程度的減小。
4總結
本文對基于慣性力模型的SCARA機器人加速度自適應控制進行研究。通過將帶偏心負載的SCARA機器人簡化成一個三連桿模型,根據機器人的實際特點,建立機器人的慣性力模型;采用中心差分和濾波的方法進行辨識數據的采集,辨識出各慣性項系數;建立基于慣性力模型的關節一角加速度自適應控制方法。最后,在開放式控制器的機器人平臺上進行了自適應控制和傳統控制的對比實驗研究,實驗結果表明,進行自適應控制時,能根據機器人位姿在插補開始之前,自適應調整關節一運行的最大角加速度,充分發揮機器人電機的機械性能,同時防止機器人因關節電機電流過大而報警,滿足SCARA機器人高速高精度控制的要求。
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜