王 劍,李成剛,岳云雙,韓 宇,韓林昌,伏子豪
(南京航空航天大學機電學院,江蘇 南京 210016)
隨著機器人技術的不斷發(fā)展,機器人在現(xiàn)代工業(yè)生產中扮演著越來越重要的角色[1]。機器人示教是機器人投入工業(yè)生產前的重要步驟,對于大部分工業(yè)機器人而言,使用示教器進行示教操作是最普遍的示教方式。但這一示教方式過程煩瑣、效率低下,對操作者的技能水平要求高[2],若能直接拖動機器人進行示教,則可以極大地提升效率、簡化操作,也能降低對操作者的要求。
機器人零力控制技術使直接拖動示教這一設想成為現(xiàn)實,零力控制的目標是實現(xiàn)操作者可以不用克服機器人的重力和摩擦力,僅以較小的外力就能輕松地控制機器人的關節(jié)位置[3],其核心原理是電機實時補償所需要的力矩,用以克服機器人拖動過程中的重力和摩擦力[4]。當機器人處于零力控制狀態(tài)時,操作者就可以對機器人進行直接拖動,完成示教操作。
近年來,國內外學者針對零力控制開展了廣泛的研究,并提出了許多理論方案,應用于不同的需求場景。游有鵬等[5]參考了Goto等[6]的零力控制方法提出了基于力矩控制的零力控制拖動方法,針對摩擦力模型和重力模型難以精確建模的問題,還提出了自測量的計算方案。Tungpataratanawong等[7]基于Hogan[8]的理論提出了無力矩傳感器的零力控制方案,但是由于所設計的觀測器復雜度高,且對動力學模型精度的要求高,該方案難以應用于實際場景之中。機器人零力控制更多時候采用基于傳感器信號反饋的方式實現(xiàn),通過在機器人末端安裝六維力傳感器可以直接采集操作人員作用在末端的外力,實現(xiàn)笛卡爾空間下的零力控制,這一方法實現(xiàn)原理相對簡單。Lee等[9]利用2個六維力傳感器分別測量操作人員與機械臂末端的接觸力和工件與機器人末端的接觸力,實現(xiàn)工件去毛刺環(huán)境下的拖動示教任務。雖然基于六維力傳感器的零力控制實現(xiàn)原理相對簡單,但在實際應用中對于末端接觸力的穩(wěn)定性有較高要求,而且還需要在機器人運動過程中不斷進行逆運動學求解,計算量大。同時,由于傳感器安裝在末端,導致只能在笛卡爾空間下對末端進行拖動,無法實現(xiàn)任意關節(jié)的拖動。
針對上述問題,本文提出了一種基于關節(jié)力矩反饋的零力控制方法,利用關節(jié)力矩傳感器反饋的力矩信息可實現(xiàn)關節(jié)空間下的零力控制,進而實現(xiàn)對機械臂任意部位的拖動。同時,區(qū)別于一般的基于力矩的零力控制方法,本方法采用阻抗控制框架,充分利用阻抗控制魯棒性強的優(yōu)點,無需獲取精確的動力學參數(shù),通過設置較低的剛度增益,在使用設計參數(shù)的條件下便能達到良好的零力控制效果。為了驗證該方法的可行性,利用實驗室自行設計搭建的機器人平臺進行了拖動實驗。
機器人零力控制實現(xiàn)的前提是建立其動力學模型,本文所描述的機器人是應用于工業(yè)生產的機械臂。在與外部環(huán)境接觸時,其關節(jié)空間下的動力學方程為
(1)
為了實現(xiàn)良好的零力控制效果,關節(jié)處的摩擦力矩τf是不可忽略的影響因素之一??紤]到摩擦力會受到位置、速度和安裝結構等因素的影響,同時為了降低控制系統(tǒng)的復雜度,本文選用經典的C-V模型,模型為
(2)
為了便于后續(xù)零力控制器的設計,還需要列出以下3點重要性質:
a.慣性矩陣M(q)∈Rn×n是正定對稱的,即
M(q)=M(q)T,λTM(q)λ>0 ?λ≠0∈Rn×1
(3)
(4)
c.慣性矩陣M(q)∈Rn×n的特征值始終大于0且有界,即
0<λmin≤λ(M(q))≤λmax<∞
(5)
λmin為慣性矩陣的最小特征值;λmax為最大特征值。
為了實現(xiàn)良好的零力控制效果,并實現(xiàn)對機械臂任意關節(jié)的拖動,控制系統(tǒng)需要滿足以下要求:
a.機械臂各關節(jié)都安裝力矩傳感器,用以實現(xiàn)對任意關節(jié)外力矩的實時反饋。
b.控制器需要實時補償機械臂的重力、摩擦力和慣性力等非接觸力,滿足操作者以較小的外力便可對機械臂進行拖動牽引的要求。
c.操作者將機械臂拖動至任意位置松手后,必須保證機械臂能夠維持當前姿態(tài),不受重力影響而下墜。
本文的零力控制器采用阻抗控制框架,可通過調節(jié)力和位置之間的動態(tài)關系實現(xiàn)對機械臂的柔順控制,表現(xiàn)出類似彈簧和阻尼的性質,因此可用質量-彈簧-阻尼系統(tǒng)來描述,如圖1所示。
圖1 質量-彈簧-阻尼系統(tǒng)模型
在質量-彈簧-阻尼系統(tǒng)中,力和位置之間動力學關系為
(6)
Md、Dd和Kd分別為系統(tǒng)的期望慣性、阻尼和剛度系數(shù),系數(shù)均為正定對角矩陣。qe為關節(jié)連桿期望角度和實際角度之間的差值,即
qe=q-qd
(7)
在阻抗控制中,力矩為輸入量,位置為輸出量,其原理框架如圖2所示。
圖2 阻抗控制模型
將式(6)代入式(1)中消去τext,進而推導出阻抗控制下的關節(jié)驅動力矩τimp,即
(8)
式(8)為阻抗控制律,在控制律中包含加速度信號,但實際系統(tǒng)中加速度信號難以獲取,即使獲取到,也無法忽略信號噪聲的干擾,因此,在設計控制器時應避免加速度信號反饋。本文中的機器人實驗平臺安裝有關節(jié)力矩傳感器,所以可以直接引入接觸力反饋,消去式中的加速度項,即
(9)
將式(9)代入式(1)可以得到最終的阻抗控制律為
(10)
由彈簧系統(tǒng)特性可知,當期望剛度Kd很小時,操作者僅需很小的力便可改變關節(jié)連桿的角度。當撤去外力后,根據(jù)阻抗控制律式(10),等式左側的關節(jié)驅動力矩τimp維持在抵消機械臂重力和摩擦力的水平。由于摩擦力的阻礙作用,關節(jié)連桿便會穩(wěn)定在當前位置,而不受重力影響下墜。因此,可通過在阻抗控制框架下設置低期望剛度的方式達到零力控制的效果,進而實現(xiàn)對機械臂的直接拖動示教。
為驗證本文零力控制方法的可行性,以實驗室自行設計搭建的機器人作為實驗平臺,設計了拖動實驗。實驗平臺的主體包括1個二自由度機械臂,由伺服電機驅動關節(jié)運動,各關節(jié)均安裝有角度編碼器,可測得關節(jié)連桿角度,關節(jié)內部安裝有力矩傳感器(型號為M2210B,量程為±250 N·m,精度為±1.25 N·m),可測得關節(jié)所受外力矩。
下位機采用CSAPCE控制器,采樣周期最小為5 ms,可下載搭建好的控制算法程序,下發(fā)指令,實現(xiàn)對機械臂的控制??刂破鬟€提供配套的上位機軟件,可與控制器進行通信,并實時監(jiān)測反饋數(shù)據(jù),如圖3所示。
圖3 二自由度機器人實驗平臺
為了實現(xiàn)良好的零力控制效果,設定合適的動力學參數(shù)是十分重要的。其中,需要特別說明的是,期望剛度Kd應設定較小的值。經實驗,各關節(jié)的期望動力學參數(shù)設定如表1所示。
表1 期望動力學參數(shù)表
分別對大小臂關節(jié)進行拖動實驗,拖動過程中,力矩傳感器和連桿編碼器實時監(jiān)測并記錄接觸力矩和關節(jié)角度的變化情況,如圖4和圖5所示。
圖4 大臂拖動實驗
圖5 小臂拖動實驗
從圖4和圖5可以看出,當操作者對機械臂施加外力時,關節(jié)角度隨即發(fā)生改變,表明實現(xiàn)了對機械臂的拖動。在拖動過程中,大臂所需的最大拖動力矩僅為7.3 N·m,小臂所需的最大拖動力矩僅為3.1 N·m,遠小于大小臂關節(jié)自身的重量。同時,關節(jié)角度變化曲線平滑,啟停波動小,表明本文提出的零力控制方法性能穩(wěn)定、效果良好。
圖6為末端拖動實驗數(shù)據(jù),表明該方法不僅可實現(xiàn)各關節(jié)的零力控制,還可實現(xiàn)笛卡爾空間下對機械臂末端的零力控制。
圖6 末端拖動實驗
本文提出一種阻抗控制框架下基于關節(jié)力矩反饋的零力控制方法,可輔助操作者對機械臂進行直接拖動示教,簡化示教過程,提高示教效率。該方法通過設置低剛度增益,在無需獲取精確動力學參數(shù)的條件下便可實現(xiàn)良好的零力控制效果。實驗表明,相較于一般的零力控制方法,該方法魯棒性強、性能穩(wěn)定,并可實現(xiàn)對機器人任意關節(jié)的零力控制。