李斯雨,閔華松,王 琪
武漢科技大學(xué) 機(jī)器人與智能系統(tǒng)研究院,武漢 430080
隨著工業(yè)技術(shù)的發(fā)展,支持操作員遠(yuǎn)程控制的協(xié)作機(jī)器人在遠(yuǎn)程醫(yī)療[1-2]、空間探測(cè)[3]、抗災(zāi)救援[4]等復(fù)雜環(huán)境下的任務(wù)都取得了一定的成果。其中機(jī)器人從人類演示中學(xué)習(xí)技能,通常比代碼編程更加容易[5]。將人的動(dòng)作或技能遷移到機(jī)器人身上的挑戰(zhàn)之一是運(yùn)動(dòng)學(xué)映射[6]。目前根據(jù)機(jī)械臂類型不同將映射方案廣義分成了兩大類:人臂到工業(yè)機(jī)械臂[7],人臂到擬人機(jī)械臂[8]。其中廣泛應(yīng)用的是人臂到擬人機(jī)械臂的映射,該類型系統(tǒng)結(jié)合了人臂的高度靈活性以及冗余七自由度機(jī)械臂的適應(yīng)性。但由于人臂與擬人機(jī)械臂的結(jié)構(gòu)有差異以及關(guān)節(jié)的驅(qū)動(dòng)方式不同,人臂到擬人機(jī)械臂的運(yùn)動(dòng)學(xué)映射算法的開發(fā)較為困難。
人臂到擬人機(jī)械臂的運(yùn)動(dòng)學(xué)映射算法主要有基于關(guān)節(jié)空間的映射算法和任務(wù)空間的映射算法。在關(guān)節(jié)空間內(nèi),Savevska等[9]和Gong等[10]將人臂等效為七自由度機(jī)械臂,獲取人臂關(guān)節(jié)位姿后,以幾何方法求解人臂關(guān)節(jié)角,將擁有相同自由度的關(guān)節(jié)一一對(duì)應(yīng)映射。李家霖等[11]構(gòu)建手臂外骨骼,進(jìn)而將人臂轉(zhuǎn)換成機(jī)械臂模型,完成運(yùn)動(dòng)映射。將人臂等效為七自由度機(jī)械臂模型避免擬人機(jī)械臂復(fù)雜的逆運(yùn)動(dòng)學(xué),具有高效的映射效率,但人臂等效為機(jī)械臂模型后喪失了人臂關(guān)節(jié)的靈活性與自由度,導(dǎo)致機(jī)械臂位形相似度與末端位姿精度較差。為此在相同人臂模型下,Tomi? 等[12]加入關(guān)鍵幀數(shù)據(jù),優(yōu)化末端精度。Wang 等[13]以機(jī)械臂連桿方向與人臂的相似性,優(yōu)化機(jī)械臂位形相似度,但在末端姿態(tài)上仍有較大誤差。關(guān)節(jié)空間映射能直接快速完成運(yùn)動(dòng)學(xué)映射,但關(guān)節(jié)空間映射的人臂模型提取喪失了部分人臂運(yùn)動(dòng)信息,難以在末端位姿精度和位形相似度上得到良好效果。
為優(yōu)化末端位姿精度和位形相似度,一部分學(xué)者在任務(wù)空間內(nèi)將人臂看作整體,以人臂末端位姿和臂形建立人臂模型,并基于此完成運(yùn)動(dòng)學(xué)映射。Luo 等[14]通過Kinect 相機(jī)獲取人臂末端坐標(biāo),建立人臂模型,采用笛卡爾阻抗控制機(jī)械臂臂形。Shi等[15]提取人臂末端的位置和姿態(tài),并設(shè)計(jì)一種相似度控制算法篩選符合要求的機(jī)械臂逆解。然而先求機(jī)械臂逆解,后對(duì)解進(jìn)行篩選,優(yōu)化機(jī)械臂運(yùn)動(dòng),完成映射。此類方法映射時(shí)間長,穩(wěn)定性差,無法完成實(shí)時(shí)模仿。為此Li等[16]和趙京等[17]通過人臂末端位姿與臂形角,建立人臂模型,提取人臂運(yùn)動(dòng)特征,在機(jī)械臂逆解完成前進(jìn)行約束,提高映射效率。在任務(wù)空間內(nèi),以人臂末端位姿與臂形約束建立人臂模型,完成運(yùn)動(dòng)學(xué)映射,具有高末端精度,但在位形相似度上表現(xiàn)不好,以及求擬人機(jī)械臂逆解效率低,在實(shí)時(shí)映射中機(jī)器人響應(yīng)速度慢。
為了完整地將人臂運(yùn)動(dòng)信息傳遞給擬人機(jī)械臂,提高擬人機(jī)械臂末端位姿精度和位形相似度,及在擬人機(jī)械臂對(duì)人臂運(yùn)動(dòng)的模仿中具有較好實(shí)時(shí)性,提出了一種基于等效關(guān)節(jié)的運(yùn)動(dòng)學(xué)映射方法。該方法將機(jī)械臂的多個(gè)關(guān)節(jié)融合等效為人臂生理關(guān)節(jié),使得多個(gè)機(jī)械關(guān)節(jié)在一定條件下保持約束,重點(diǎn)解決了人臂關(guān)節(jié)與擬人機(jī)械臂關(guān)節(jié)之間驅(qū)動(dòng)方式和關(guān)節(jié)旋轉(zhuǎn)軸線不同的問題,以此為基礎(chǔ)提取人臂到機(jī)械臂的轉(zhuǎn)換模型。其次針對(duì)擬人機(jī)械臂逆運(yùn)動(dòng)學(xué)求解復(fù)雜的問題,根據(jù)人臂到擬人機(jī)械臂的轉(zhuǎn)換模型,以及球關(guān)節(jié)的關(guān)節(jié)角的集合組成ZYZ歐拉角集合的特點(diǎn),將擬人機(jī)械臂運(yùn)動(dòng)學(xué)逆解分解成多個(gè)子問題,分別求得各關(guān)節(jié)角。為驗(yàn)證提出算法的性能,設(shè)計(jì)了單臂跟隨實(shí)驗(yàn)和雙臂協(xié)調(diào)實(shí)驗(yàn)并分別與文獻(xiàn)[10]的基于關(guān)節(jié)空間的運(yùn)動(dòng)學(xué)映射算法和文獻(xiàn)[16]的基于任務(wù)空間的運(yùn)動(dòng)學(xué)映射方法進(jìn)行了比較。
為直觀表示機(jī)械臂關(guān)節(jié)旋轉(zhuǎn)軸線,使用旋量法對(duì)機(jī)械臂進(jìn)行運(yùn)動(dòng)學(xué)建模,如圖1 所示,S1 到S7 分別表示擬人機(jī)械臂七個(gè)關(guān)節(jié)的旋轉(zhuǎn)軸線。
圖1 擬人機(jī)械臂運(yùn)動(dòng)學(xué)模型Fig.1 Kinematic model of anthropomorphic robotic arm
當(dāng)剛體繞某一單位矢量軸ω=[ω1,ω2,ω3]T純轉(zhuǎn)動(dòng)θ角時(shí),剛體的運(yùn)動(dòng)變換可以用矩陣指數(shù)形式表示:
式(1)中,為反對(duì)稱矩陣:
由羅德里格斯公式可得:
式(3)中,I為單位矩陣。
擬人機(jī)械臂的運(yùn)動(dòng)本質(zhì)上可以看成各關(guān)節(jié)的運(yùn)動(dòng)旋量復(fù)合而成,可以采用指數(shù)積公式進(jìn)行表示:
式(4)、(5)、(6)中,gst(θ)是擬人機(jī)械臂末端位姿,為關(guān)節(jié)運(yùn)動(dòng)旋量,qi為關(guān)節(jié)轉(zhuǎn)動(dòng)位置。
聯(lián)立式(4)、(5)得:
式(7)中,ωi≠0。
HR2 擬人機(jī)械臂旋量坐標(biāo)ξi=[wi vi]T見表1,其中機(jī)械臂連桿長度為d1=174 mm,d3=292 mm,d5=242 mm,d7=234 mm,機(jī)械臂初始位姿gst(0)可用式(8)表達(dá):
表1 擬人機(jī)械臂旋量坐標(biāo)Table 1 Coordinates of anthropomorphic robotic arm screwtheory
根據(jù)機(jī)器人學(xué)研究[18],可以將人臂的小臂的旋前/旋后和腕關(guān)節(jié)的2個(gè)關(guān)節(jié)進(jìn)行合并,從而在腕關(guān)節(jié)處形成一個(gè)球關(guān)節(jié),因此人類手臂可以等效為一個(gè)S-R-S構(gòu)型的七自由度機(jī)械臂,擬人機(jī)械臂和人類手臂具有相同的構(gòu)型,在功能實(shí)現(xiàn)上能夠完成人類手臂的所有動(dòng)作。
人類手臂關(guān)節(jié)是靠骨骼和肌肉驅(qū)動(dòng)的,以肩關(guān)節(jié)為例,肩關(guān)節(jié)以整體的形式進(jìn)行運(yùn)動(dòng),在完成任務(wù)時(shí)該關(guān)節(jié)自由度減少,關(guān)節(jié)旋轉(zhuǎn)軸線會(huì)發(fā)生變化,如圖2 所示在肩關(guān)節(jié)中心點(diǎn)位置建立右手笛卡爾坐標(biāo)系,O為坐標(biāo)原點(diǎn),E點(diǎn)是肘關(guān)節(jié)中心點(diǎn)。當(dāng)肘關(guān)節(jié)中心點(diǎn)E運(yùn)動(dòng)到E′位置時(shí),在人體上表現(xiàn)為兩個(gè)旋轉(zhuǎn)軸運(yùn)動(dòng),一個(gè)繞軸運(yùn)動(dòng)負(fù)責(zé)改變位置,一個(gè)繞軸運(yùn)動(dòng)負(fù)責(zé)調(diào)整姿態(tài),其中改變位置的軸線可以隨運(yùn)動(dòng)的改變而變化,使得人臂具有很強(qiáng)的靈活性。而擬人機(jī)械臂的關(guān)節(jié)轉(zhuǎn)動(dòng)軸線與機(jī)械結(jié)構(gòu)相關(guān),無法隨任務(wù)變化,在運(yùn)動(dòng)中與人臂具有較大差異,給運(yùn)動(dòng)映射帶來挑戰(zhàn)。
圖2 簡(jiǎn)化肩關(guān)節(jié)物理模型Fig.2 Simplifying physical model of shoulder joint
擬人機(jī)械臂的各個(gè)關(guān)節(jié)滿足固定的運(yùn)動(dòng)學(xué)關(guān)系,每一個(gè)關(guān)節(jié)都是獨(dú)立驅(qū)動(dòng)的,可以通過合理的配合和控制來實(shí)現(xiàn)各個(gè)關(guān)節(jié)的聯(lián)動(dòng),實(shí)現(xiàn)人臂到機(jī)械臂的運(yùn)動(dòng)映射。為完成各個(gè)關(guān)節(jié)的聯(lián)合配置,暫時(shí)拋開擬人機(jī)械臂的機(jī)械結(jié)構(gòu),將其轉(zhuǎn)化成三個(gè)生理關(guān)節(jié),在生理結(jié)構(gòu)上完成映射,確定擬人機(jī)械臂整體構(gòu)型然后再映射回關(guān)節(jié)空間執(zhí)行。定義機(jī)械臂第2個(gè)關(guān)節(jié)中心為肩關(guān)節(jié)中心,機(jī)械臂第4 個(gè)關(guān)節(jié)中心為肘關(guān)節(jié)中心,機(jī)械臂第6 個(gè)關(guān)節(jié)中心為腕關(guān)節(jié)中心。
圖3 為人臂到機(jī)械臂在生理結(jié)構(gòu)上的運(yùn)動(dòng)映射模型,SH、E H、WH和HH分別代表人臂的肩、肘、腕關(guān)節(jié)和手掌的中心,SR、E R、WR和HR分別是機(jī)械臂轉(zhuǎn)化后的生理關(guān)節(jié)中心,lup和d3分別代表人臂和機(jī)械臂肩關(guān)節(jié)中心點(diǎn)到肘關(guān)節(jié)中心點(diǎn)的上臂長度,lfore和d5分別代表人臂和機(jī)械臂肘關(guān)節(jié)中心點(diǎn)到腕關(guān)節(jié)中心點(diǎn)的小臂長度,lh和d7分別代表人臂與機(jī)械臂代表腕關(guān)節(jié)中心點(diǎn)到手掌中心點(diǎn)長度。βH和βR分別是人臂與機(jī)械臂的上臂與小臂的夾角。
圖3 運(yùn)動(dòng)學(xué)映射模型Fig.3 Kinematic mapping model
人臂運(yùn)動(dòng)特征函數(shù)為可用公式(9)進(jìn)行表示:
式(9)中,qE、qW、qH分別是肘關(guān)節(jié)、腕關(guān)節(jié)和手掌中心的相對(duì)于肩部基坐標(biāo)系的單位四元數(shù)。
將機(jī)械臂轉(zhuǎn)化為生理關(guān)節(jié)后,以生理關(guān)節(jié)為映射單元,確定人臂與機(jī)械臂的比例,保證機(jī)械臂的特征姿態(tài)跟隨人臂特征姿態(tài),因此可以定義映射函數(shù)為:
式(10)中,i表示不同的關(guān)節(jié),K為人臂與擬人機(jī)械臂連桿長度的比例,、分別表示人臂關(guān)節(jié)與擬人機(jī)械臂等效的關(guān)節(jié)的中心位置,(t)、(t)分別表示人臂關(guān)節(jié)與擬人機(jī)械臂等效的關(guān)節(jié)在某一時(shí)刻下的單位四元數(shù)。
(1)坐標(biāo)系轉(zhuǎn)換
映射函數(shù)確定映射關(guān)系,將人臂運(yùn)動(dòng)信息傳遞給機(jī)械臂,通過映射信息求解出機(jī)械臂關(guān)節(jié)角。在機(jī)器人中間軀干建立機(jī)器人系統(tǒng)基坐標(biāo)系{B},同時(shí)坐標(biāo)系{B}也為世界坐標(biāo)系,在擬人機(jī)械臂的基座處分別建立機(jī)械臂基坐標(biāo){Rl}和{Rr}。選擇在人體腰部軀干上建立人體基坐標(biāo)系{HB},以避免人上肢部分在運(yùn)動(dòng)過程中導(dǎo)致的基坐標(biāo)系漂移。在人臂左肩關(guān)節(jié)中心和右肩關(guān)節(jié)中心建立人臂基坐標(biāo)系{Hl}和{Hr}。坐標(biāo)建立與轉(zhuǎn)換關(guān)系如圖4所示,下文計(jì)算均在世界坐標(biāo)系{B}下完成。
圖4 人體基坐標(biāo)系與基坐標(biāo)轉(zhuǎn)換關(guān)系Fig.4 Human base coordinate system and base coordinate conversion relationship
人體基坐標(biāo)系到世界坐標(biāo)系轉(zhuǎn)換關(guān)系約束方程如下:
在統(tǒng)一基座標(biāo)系下,由人臂到機(jī)械臂的轉(zhuǎn)換模型可以求解出擬人機(jī)械臂的三個(gè)關(guān)節(jié)中心的位姿,因此擬人機(jī)械臂關(guān)節(jié)角可以分成子問題求解。
(2)求解θ1、θ2和θ3
肩關(guān)節(jié)決定了肘關(guān)節(jié)中心的姿態(tài)并且球形關(guān)節(jié)的關(guān)節(jié)角是構(gòu)成基座標(biāo)系下的ZYZ歐拉角的集合,因而可以根據(jù)肘關(guān)節(jié)中心的旋轉(zhuǎn)矩陣R計(jì)算擬人機(jī)械臂的前三個(gè)關(guān)節(jié)角θ1、θ2、θ3:
式(12)是右手坐標(biāo)系下單位四元數(shù)q=[w,x,y,z]到旋轉(zhuǎn)矩陣的變化公式,式(13)、(14)分別表示θ2在不同的取值范圍下的解。
(3)求解θ4
如圖4所示肘關(guān)節(jié)只有一個(gè)自由度,通過四元數(shù)的變換即可求得肘關(guān)節(jié)夾角βR:
式(15)中Δq是在基坐標(biāo)系下肘關(guān)節(jié)姿態(tài)qE到腕關(guān)節(jié)姿態(tài)qW的中間旋轉(zhuǎn)變換。式(16)是單位四元數(shù)轉(zhuǎn)軸角公式。
聯(lián)立(15)、(16)求得βR,再由幾何關(guān)系求得擬人機(jī)械臂第四關(guān)節(jié)的關(guān)節(jié)角θ4:
(4)求解θ5、θ6和θ7
由于腕關(guān)節(jié)角的配置與肩關(guān)節(jié)類似,只需求出人臂手掌旋轉(zhuǎn)矩陣相對(duì)于腕關(guān)節(jié)旋轉(zhuǎn)矩陣,就可由式(13)、(14)求得擬人機(jī)械臂后三個(gè)關(guān)節(jié)θ5、θ6、θ7的角度。
上述人臂到擬人機(jī)械臂的運(yùn)動(dòng)映射方法最多可以求出四組解,解的選取和驗(yàn)證在3.1.3小節(jié)詳細(xì)說明。
3.1.1 實(shí)驗(yàn)平臺(tái)
為驗(yàn)證提出映射算法,搭建遙操作系統(tǒng)的框架如圖5所示。系統(tǒng)由擬人雙臂機(jī)器人和慣性動(dòng)作捕捉系統(tǒng)組成。
圖5 實(shí)驗(yàn)系統(tǒng)結(jié)構(gòu)圖Fig.5 Experimental system structure diagram
3.1.2 實(shí)驗(yàn)流程
為驗(yàn)證人臂到擬人機(jī)械臂運(yùn)動(dòng)學(xué)映射算法的性能,設(shè)計(jì)單臂軌跡跟隨和雙臂協(xié)調(diào)任務(wù)實(shí)驗(yàn),分別與文獻(xiàn)[10]的運(yùn)動(dòng)學(xué)映射算法和文獻(xiàn)[16]的運(yùn)動(dòng)學(xué)映射算法進(jìn)行了對(duì)比,其中操作者的上臂和小臂參數(shù)分別為lup=280 mm和lfore=265 mm。
單臂軌跡跟隨中,操作者通過手臂運(yùn)動(dòng)改變手臂末端位姿與姿態(tài),擬人機(jī)械臂復(fù)現(xiàn)操作者手臂動(dòng)作實(shí)驗(yàn)。雙臂協(xié)調(diào)任務(wù)中,操作者控制雙臂協(xié)調(diào)完成端盆,機(jī)器人實(shí)時(shí)精準(zhǔn)復(fù)現(xiàn)人臂動(dòng)作完成任務(wù)。
3.1.3 實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
(1)解的選取。
機(jī)械臂關(guān)節(jié)速度的限制,實(shí)驗(yàn)中將關(guān)節(jié)速度大于3.14 rad/s 的數(shù)據(jù)將會(huì)拋棄,因此在遙操作過程中,需要操作者對(duì)于動(dòng)作速度進(jìn)行控制,避免人為誤差。
人臂的初始位姿及構(gòu)型與機(jī)械臂的初始位姿及構(gòu)型可能不盡相同,為保持運(yùn)動(dòng)的一致性,需要將機(jī)械臂的初始位姿和構(gòu)型運(yùn)動(dòng)到人臂的初始位姿和構(gòu)型,稱該過程為映射對(duì)齊。擬人機(jī)械臂各關(guān)節(jié)轉(zhuǎn)動(dòng)的角度,直接反映了映射對(duì)齊的響應(yīng)速度,并通過關(guān)節(jié)角度轉(zhuǎn)動(dòng)權(quán)重來減少靠近基座的關(guān)節(jié)運(yùn)動(dòng)對(duì)后面關(guān)節(jié)的影響。因此映射對(duì)齊過程需要對(duì)解進(jìn)行選擇,采用擬人機(jī)械臂關(guān)節(jié)轉(zhuǎn)動(dòng)角度的權(quán)重和進(jìn)行衡量,衡量標(biāo)準(zhǔn)Mθ表達(dá)為下式:
式(18)中,ki表示機(jī)械臂各個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié)的轉(zhuǎn)動(dòng)權(quán)值,由關(guān)節(jié)參數(shù)確定。θi_goal表示機(jī)械臂需要運(yùn)動(dòng)到的目標(biāo)位姿的各個(gè)關(guān)節(jié)角,θi_ref表示機(jī)械臂初始位姿的各個(gè)關(guān)節(jié)角。
(2)位形相似度
其次通過以下標(biāo)準(zhǔn)進(jìn)行評(píng)估人臂與機(jī)械臂位形相似度,在三維空間內(nèi),可將手臂到機(jī)械臂的相似程度轉(zhuǎn)化成空間向量的相似度,通過擬人機(jī)械臂上臂向量和人臂上臂向量之間的夾角的均方根誤差進(jìn)行衡量整個(gè)運(yùn)動(dòng)過程的相似度。
式(19)中,d3、lup分別表示機(jī)械臂上臂和人臂上臂的方向向量,eupper(i)表示一幀動(dòng)作的位形相似度。
對(duì)于小臂位形相似度衡量標(biāo)準(zhǔn)同上臂類似。從位形相似度進(jìn)行約束保證機(jī)器人各個(gè)生理關(guān)節(jié)中心位置跟隨人臂生理關(guān)節(jié)中心運(yùn)動(dòng),同時(shí)保證機(jī)械臂末端姿態(tài)與人臂末端姿態(tài)保持一致。為直觀顯示,可將人臂與機(jī)械臂末端姿態(tài)轉(zhuǎn)化成ZYZ歐拉角。
式(20)中,rot=α,β,γ,erot(i)表示人臂末端與機(jī)械臂末端歐拉角度的誤差。
(3)運(yùn)動(dòng)學(xué)映射耗時(shí)時(shí)間
運(yùn)動(dòng)學(xué)映射方法的耗時(shí)時(shí)間包含人體數(shù)據(jù)轉(zhuǎn)換時(shí)間和擬人機(jī)械臂關(guān)節(jié)角求解時(shí)間,直接影響擬人機(jī)械臂的響應(yīng)速度。耗時(shí)時(shí)間采用式(21)進(jìn)行計(jì)算。
式(21)中,tover為映射任務(wù)結(jié)束時(shí)間,tstart為映射任務(wù)開始時(shí)間,Sframe為數(shù)據(jù)總幀數(shù)。
3.2.1 解的選取
一幀人臂運(yùn)動(dòng)數(shù)據(jù)映射到機(jī)械臂上可以求得四組解。相同的人臂位姿映射到擬人機(jī)械臂,求得四組解,其中每一組解的關(guān)節(jié)角度見表2。圖6為同一個(gè)人臂動(dòng)作姿態(tài)映射到擬人機(jī)械臂上,仿真得到的四種映射解??梢钥吹讲煌慕庀聶C(jī)械臂肘關(guān)節(jié)中心的位姿和末端的位姿是相同的,而圖6中虛線框標(biāo)注出的擬人機(jī)械臂肩關(guān)節(jié)(圖6 中藍(lán)色虛線框)和腕關(guān)節(jié)(圖6 中紅色虛線框)的關(guān)節(jié)角不同。
表2 不同解結(jié)果Table 2 Different results
圖6 人臂位形到擬人機(jī)械臂位形的映射解Fig.6 Mapping solution of human arm bit shape to anthropomorphic robot arm bit shape
以圖6為例,得到四組映射解,通過式(18)計(jì)算Mθ的值進(jìn)行解的選擇。首先需要人為確定ki值,其中越靠近擬人機(jī)械臂基座的關(guān)節(jié)對(duì)后面關(guān)節(jié)影響越大,其ki也越大。最終計(jì)算得到四組Mθ分別為5.043 6、4.316 5、5.758 3 和3.601 9,其中第四組解的Mθ是最小的,因此使用第四組解進(jìn)行映射對(duì)齊的響應(yīng)時(shí)間和關(guān)節(jié)變化幅度較少。ki的值與計(jì)算結(jié)果在表2。
3.2.2 單臂跟隨實(shí)驗(yàn)
在單臂跟隨實(shí)驗(yàn)中,提出方法、文獻(xiàn)[16]方法和文獻(xiàn)[10]方法的實(shí)驗(yàn)結(jié)果見圖7 和表3。圖8 為三種不同運(yùn)動(dòng)學(xué)映射方法得到的末端運(yùn)動(dòng)軌跡對(duì)比圖。其中圖(a)為三維空間下的末端軌跡對(duì)比,其XYZ軸坐標(biāo)為位移;圖(b)、(c)和(d)分別為末端軌跡在不同坐標(biāo)軸下的投影對(duì)比,橫軸坐標(biāo)代表動(dòng)捕數(shù)據(jù)幀數(shù),縱坐標(biāo)為不同坐標(biāo)軸下的位移。從圖8 中可以看出在Y軸方向上的誤差比沿著X,Z方向上稍大。位形相似度上RMSEupper與RMSEfore的值為2%~4%,RMSErot小于1%,表明使用提出方法,擬人機(jī)械臂與人臂位形相似度高,機(jī)械臂末端較完美地跟蹤了人臂末端姿態(tài),提出方法成功復(fù)現(xiàn)了人臂動(dòng)作。運(yùn)動(dòng)學(xué)映射消耗時(shí)間Mtime為0.082 ms。
表3 實(shí)驗(yàn)結(jié)果Table 3 Experimental results
圖7 人臂與擬人機(jī)械臂末端運(yùn)動(dòng)軌跡對(duì)比圖Fig.7 Comparison of trajectory of human arm and end of robot arm
圖8 遙操作雙臂端盆任務(wù)Fig.8 Teleoperated dual-arms to carry basin task
文獻(xiàn)[16]運(yùn)動(dòng)學(xué)映射方法,采用末端位姿和臂形角進(jìn)行運(yùn)動(dòng)學(xué)映射,實(shí)驗(yàn)結(jié)果表明完美復(fù)現(xiàn)了人臂的位姿和末端軌跡,RMSErot小于1%,但RMSEupper與RMSEfore的值均接近20%,這意味著增加臂形角參數(shù)也無法完全保證位形相似度。其運(yùn)動(dòng)學(xué)映射消耗時(shí)間Mtime為0.096 ms。
文獻(xiàn)[10]運(yùn)動(dòng)學(xué)映射方法,將人臂等效為擬人機(jī)械臂,并在關(guān)節(jié)空間里一一對(duì)應(yīng)映射,實(shí)驗(yàn)結(jié)果表明,機(jī)械臂復(fù)現(xiàn)人臂軌跡存在一定誤差,RMSErot在40%左右,RMSEupper與RMSEfore的值均接近10%,意味著末端位姿精度與位形相似度較低,其運(yùn)動(dòng)學(xué)映射消耗時(shí)間Mtime為0.078 ms。
由圖7和表3實(shí)驗(yàn)結(jié)果分析得到:
在末端精度上,軌跡跟隨提出方法和文獻(xiàn)[16]方法都有良好的表現(xiàn),而文獻(xiàn)[10]方法末端軌跡精度較差。其中文獻(xiàn)[16]方法中的末端位置軌跡是由計(jì)算誤差得到的,提出方法和文獻(xiàn)[10]方法的位置跟隨誤差主要是由人體運(yùn)動(dòng)過程中肩關(guān)節(jié)漂移帶來的,可以看出提出方法肩關(guān)節(jié)漂移較文獻(xiàn)[10]方法得到抑制。在提出方法和文獻(xiàn)[10]方法的末端運(yùn)動(dòng)軌跡得到驗(yàn)證,在圖8 子圖(b)、(c)和(d)中可以看出擬人機(jī)械臂軌跡開始和終點(diǎn)與人臂軌跡重合,中間部分軌跡產(chǎn)生分離,其中文獻(xiàn)[10]方法肩關(guān)節(jié)中心漂移未抑制,末端軌跡中間部分偏離嚴(yán)重。末端姿態(tài)通過RMSErot指標(biāo)可以看出,提出方法和文獻(xiàn)[16]方法產(chǎn)生的誤差是由計(jì)算帶來,而文獻(xiàn)[10]方法喪失了末端姿態(tài)精度。
在位形相似度上,提出方法遠(yuǎn)遠(yuǎn)大于文獻(xiàn)[10]方法和文獻(xiàn)[16]方法,其中提出方法和文獻(xiàn)[16]方法相比,都保持?jǐn)M人機(jī)械臂臂形角與人臂臂形角一致,但文獻(xiàn)[16]方法未對(duì)肘關(guān)節(jié)中心的姿態(tài)進(jìn)行約束,使得在位形相似度上產(chǎn)生了較大的誤差。提出方法與文獻(xiàn)[10]方法相比,提出方法從整體出發(fā)考慮到人臂與機(jī)械臂的結(jié)構(gòu)差異,文獻(xiàn)[10]方法直接將關(guān)節(jié)一一對(duì)應(yīng)映射,因此提出方法在位形相似度上優(yōu)于文獻(xiàn)[10]。
在運(yùn)動(dòng)學(xué)消耗時(shí)間上,運(yùn)動(dòng)學(xué)算法映射耗時(shí)時(shí)間與計(jì)算機(jī)性能擁有很大關(guān)系,但是在同一實(shí)驗(yàn)平臺(tái)下,提出方法較文獻(xiàn)[10]方法基本持平,較文獻(xiàn)[16]方法計(jì)算效率提升了14%。其中提出方法將運(yùn)動(dòng)學(xué)映射問題分成三個(gè)階段分開計(jì)算機(jī)械臂的逆解,從而避免了七自由度機(jī)械臂的逆運(yùn)動(dòng)學(xué)問題。實(shí)驗(yàn)結(jié)果表明提出的算法也具有較好的實(shí)時(shí)性。
綜上所述,提出方法能夠更好復(fù)現(xiàn)人臂的運(yùn)動(dòng),計(jì)算效率高,在末端軌跡與位形相似度上,都達(dá)到了較好效果。
3.2.3 雙臂協(xié)調(diào)端盆實(shí)驗(yàn)
完成了單臂的運(yùn)動(dòng)映射實(shí)驗(yàn)后,還進(jìn)行了雙臂端盆實(shí)驗(yàn)。實(shí)驗(yàn)過程如圖8所示,每一步完成示意圖:(a)初始位姿,(b)端上盆子,(c)端至一定高度。在運(yùn)動(dòng)過程中準(zhǔn)確地復(fù)現(xiàn)了臂型和位姿,成功地完成了端盆任務(wù)。其中機(jī)械臂夾爪姿態(tài)復(fù)現(xiàn)人手掌心位姿而并非人手握取時(shí)手指姿態(tài)。
在此次任務(wù)中,統(tǒng)計(jì)了擬人機(jī)械臂各個(gè)關(guān)節(jié)角的變化。如圖9 所示,端盆任務(wù)中雙臂各個(gè)關(guān)節(jié)角變化曲線,關(guān)節(jié)角變化曲線可以看出關(guān)節(jié)運(yùn)動(dòng)具有連續(xù)性且平滑并且各個(gè)關(guān)節(jié)的角度變化范圍都處于擬人機(jī)械臂關(guān)節(jié)可達(dá)范圍中,可以有效地滿足復(fù)雜任務(wù)。
圖9 雙臂各關(guān)節(jié)角變化曲線Fig.9 Change curve of each joint angle of both arms
研究了基于等效關(guān)節(jié)的擬人機(jī)械臂運(yùn)動(dòng)學(xué)映射算法,該方法以人臂運(yùn)動(dòng)特點(diǎn)出發(fā),將擬人機(jī)械臂等效為人臂生理關(guān)節(jié),提出人臂到擬人機(jī)械臂的轉(zhuǎn)換模型,重點(diǎn)解決了人臂關(guān)節(jié)與機(jī)械臂關(guān)節(jié)之間驅(qū)動(dòng)方式和旋轉(zhuǎn)軸線不同的問題。針對(duì)擬人機(jī)械臂關(guān)節(jié)角求解復(fù)雜的問題,將其分解成多個(gè)子問題,簡(jiǎn)化擬人機(jī)械臂逆運(yùn)動(dòng)學(xué)求解。通過仿真和實(shí)際實(shí)驗(yàn)表明,所提出映射算法能使操作者以更自然的方式控制擬人雙臂機(jī)器人,同時(shí)機(jī)器人可以完美復(fù)現(xiàn)人臂動(dòng)作,完成復(fù)雜的任務(wù)。
所提出方法仍然具有一定局限性,首先,未能完全通過算法抑制肩部漂移帶來的誤差,導(dǎo)致末端位姿有一定偏差。其次,可穿戴設(shè)備固定在人體表面,當(dāng)操作者做一些特殊動(dòng)作時(shí),會(huì)出現(xiàn)傳感器偏移造成誤差,不能準(zhǔn)確反映人體動(dòng)作,從而造成擬人機(jī)械臂任務(wù)失敗。
在未來工作中,希望設(shè)計(jì)一種更加合理的映射算法,抑制人臂運(yùn)動(dòng)過程中肩關(guān)節(jié)漂移帶來的誤差,以及更進(jìn)一步將所提出算法推廣到非擬人機(jī)械臂上,使其擁有更大的應(yīng)用場(chǎng)景。