盧佳偉,張秋菊,趙宏磊
(1.江南大學機械工程學院,江蘇無錫214122;2.江蘇省食品先進制造裝備技術重點實驗室,江蘇無錫214122)
智能助老服務機器人的主要功能是為老年人提供生活上的便利,因此在設計過程中需更加注重機器人的安全性、實用性和可操作性[1-3]。同時,由于老年人在生理認知上存在障礙,加上缺乏相關專業知識,要求服務機器人在操作方式上必須具備簡單、自然和友好等特性[4]。基于視覺傳感器采集人體肢體動作、手勢等信息,經信號處理后傳遞給服務機器人控制系統以實現機器人仿人運動的控制過程稱為體感控制。與傳統控制方式相比,體感控制操作起來更加簡單、自然、友好,非常適合老年人[5-9]。
人體手臂包含豐富的運動信息,鑒于機械臂與人體手臂在外形及運動狀態上較為接近,因此,通過建立人體手臂與機械臂的關節運動映射模型實現機械臂仿人運動的方法應用廣泛。目前,常用的人機關節映射方法主要包括關節空間映射法和末端笛卡爾空間映射法[10]。關節空間映射法通常適用于人體手臂與機械臂的外形、結構較為接近或者追求主從對象空間關節運動軌跡一致的情況;末端笛卡爾空間映射法主要適用于主從對象的結構、工作空間差距較大的機器人控制系統,該方法僅強調人體手臂與機械臂末端位姿的一致性,對主從機構間的結構相似性要求較低[11-12]。
為實現助老服務機器人雙機械臂的仿人運動控制,并最大限度地使機械臂各關節與人體手臂各關節在空間內的運動特性具備一致性,采用關節空間映射法構建人機關節映射模型。同時,針對人體手臂與機械臂在結構、自由度與工作空間上的差異性,將助老服務機器人的移動底盤、升降機構與機械臂組合成六自由度串聯機構,使機械臂最大限度地復現人體手臂的運動。
圖1所示為自主搭建的助老服務機器人的結構。該助老服務機器人主要由頭部、雙機械臂、升降機構和移動底盤四部分組成。其頭部裝有Kinect視覺傳感器,負責人體姿態信息的采集,Kinect視覺傳感器下面裝有單自由度的云臺,通過云臺的旋轉可調整傳感器水平方向的視野。

圖1 助老服務機器人結構示意圖Fig.1 Structure diagram of service robot for the elderly
雙機械臂的結構如圖2所示,每個機械臂各有4個關節,它是助老服務機器人最主要的運動執行機構,承擔夾取、搬運物品,攙扶老人,與老人互動等大部分日常護理工作。鑒于雙機械臂在結構上具備左右對稱性,選取左機械臂為研究對象,對左機械臂運動學模型進行分析。目前,最為常用的機械臂運動學模型構建方法為D-H 參數法[13],該方法僅通過4個參數便可以對機械臂各關節的空間位姿變換進行描述,分別為連桿扭轉角α(i-1)、連桿長度a(i-1)、連桿偏移量di及關節轉角θi。按照D-H 參數法可初步建立左機械臂運動學模型,如圖3 所示。通過實際測量確定左機械臂D-H 參數,如表1所示,表中同時給出了關節轉角θRi的初始角度及其范圍。

圖2 雙機械臂結構示意圖Fig.2 Structure diagram of double manipulators

圖3 左機械臂運動學模型Fig.3 Kinematic model of left manipulator

表1 左機械臂D-H參數Table 1 D-H parameters of left manipulator
升降機構的結構如圖4所示,直流電機驅動滾珠絲杠旋轉,帶動工作臺豎直上下移動,雙機械臂和頭部結構均與工作臺固連,使其上下移動的同時帶動機械臂等結構沿著直線導軌在豎直方向移動。升降機構主要起輔助作用,其豎直上下移動可擴大雙機械臂的工作空間,調整Kinect的視野,方便與老人交互。
移動底盤采用雙輪差速驅動模式,并通過2個萬向輪輔助支撐以確保助老服務機器人的平穩性。如圖5所示為移動底盤的運動學模型,選取2個驅動輪的中心點M作為移動底盤的坐標系原點,圖中L表示左輪,R表示右輪。在基坐標系XOY中,移動底盤任意時刻的姿態可用[xM yM φ]T表示,其中(xM,yM)表示移動底盤在基坐標系中的位置,φ表示移動底盤在基坐標系中的方向。助老服務機器人可在平坦路面上任意行走,配備相應的傳感器結合智能算法即可實現自主導航、路徑規劃、目標跟隨等功能。

圖4 升降機構結構示意圖Fig.4 Structure diagram of lifting mechanism

圖5 移動底盤運動學模型Fig.5 Kinematic model of mobile chassis
按照助老服務機器人各功能模塊的運動特性,對機器人結構進行簡化,簡化后的機器人構型如圖6所示(圖6未標示移動底盤平移的自由度)。助老服務機器人各模塊的功能及自由度數如表2所示。

圖6 助老服務機器人構型簡化Fig.6 Configuration simplification of service robot for the elderly
為實現助老服務機器人雙機械臂的仿人運動控制,需要對人體關節的運動學模型進行分析,并與機器人的關節運動學模型進行對比,從而找出兩者中運動特性最為相近的關節并建立映射關系,使機器人的仿人運動控制效果達到最佳。

表2 助老服務機器人各模塊的功能及自由度數Table 2 Function and number of degree of freedom ofeach module of service robot for the elderly
人體手臂共有7 個自由度,屬于S-R-S 構型,其中,肩關節與腕關節均有3個自由度,屬于球窩關節,肘關節有1個自由度[14-15]。以人體左臂為研究對象,當人體雙手自然下垂、掌心朝內、身體直立時,手臂各關節的運動學模型可簡化成圖7所示(人體手臂關節模型的構建可參考文獻[14]),圖中Oi表示各關節的坐標原點。按照圖7所示的運動學模型確定人體手臂的D-H參數,如表3所示,其中:L1為大臂長度,L1=0.28~0.35 m;L2為小臂長度,L2=0.207~0.269 m;L3為手掌長度,L3=0.16~0.21 m。

圖7 人體左臂運動學模型Fig.7 Kinematic model of human left arm
根據圖3 和圖7 所示的機械臂與人體手臂的運動學模型,以及各關節所具備的運動形式及運動范圍[4],初步建立人體手臂與機械臂的關節映射規則,如表4所示。

表3 人體左臂D-H參數Table 3 D-H parameters of human left arm

表4 人體手臂與機械臂的關節映射規則Table 4 Joint mapping rules of human arm and manipulator
機械臂的工作空間通常能直接反映機械臂的運動性能,是衡量機械臂工作能力的重要指標[16-17]。為了驗證人體手臂和機械臂的關節映射效果,對兩者的工作空間進行對比。采用蒙特卡羅方法求解人體手臂和機械臂的工作空間,具體方法和流程參考文獻
[16]。根據表1和表3的D-H參數(取人體手臂尺寸:L1=0.28 m、L2=0.26 m、L3=0.16 m),在MATLAB 中對兩者的工作空間進行仿真分析,結果如圖8所示。
為了更清晰地對人體手臂與機械臂的工作空間進行對比,將兩者的工作空間分別向坐標系的二維平面進行投影,工作空間的投影視圖如圖9所示,通過對比可以明顯看出人體手臂的工作空間大于機械臂的工作空間。由于機械臂不具備人體手臂外展/內收動作的能力,即不存在與人體手臂關節角θ2對應的關節角,導致機械臂的大臂只能在豎直平面內擺動。因此,若按照表4的D-H參數來建立人機關節映射模型,則無法較好地實現機械臂的仿人運動控制。

圖8 人體左臂和左機械臂工作空間仿真結果Fig.8 Simulation result of workspace of human left arm and left manipulator

圖9 人體左臂和左機械臂工作空間投影視圖Fig.9 Projection view of workspace of human left arm and left manipulator
圖10所示為人體左臂空間位姿,建立人體坐標系OH-XHYHZH,A、B、C三點分別表示人體左臂的肩關節、肘關節和腕關節,其中:A點位于坐標系原點;α為左大臂AB在平面XHOHZH中的投影與XH軸的夾角,代表人體手臂的水平擺角;β為AB與XH軸的夾角,代表人體手臂的豎直擺角。當空間角度α、β確定后,大臂在人體坐標系中的方向就確定了。對于機器人而言,通過調整移動底盤的旋轉角度φ及機器人左臂關節1的轉角θR1便可確定機械臂的空間方向。如圖11所示,將人體手臂的水平擺角α映射到移動底盤的旋轉角φ,再將人體手臂豎直擺角β映射到θR1,即可確保人體手臂與機械臂在空間方向的一致性,但由于移動底盤只能單向旋轉,因此只能實現單臂仿人運動。

圖10 人體左臂空間位姿示意圖Fig.10 Diagram of human arm spatial pose

圖11 人體手臂水平擺角與移動底盤旋轉角的映射關系Fig.11 Mapping relation between horizontal swing angle of human arm and rotation angle of mobile chassis
移動底盤在輔助機械臂仿人運動的過程中只涉及原地旋轉而不涉及平移,因此移動底盤的旋轉角φ與其左、右驅動輪的轉角φL和φR的關系為:

式中:r為驅動輪半徑,W為兩驅動輪的中心距。
升降機構的上下移動帶動助老服務機器人雙機械臂上下移動,類似于為實現屈腿、下蹲動作而進行的人體脊柱的豎直上下移動。為充分發揮機械臂的運動性能,擴大機械臂的運動空間,建立人體脊柱與機器人升降機構之間的運動映射模型,實現升降機構的仿人運動。
如圖12所示為人體脊柱與升降機構的運動映射關系。初始時刻,人體呈自然站立姿勢,相對應地,升降機構自動上移至最高處,將此狀態下升降機構的位置設為初始位置。此時Kinect視覺傳感器采集到的人體脊柱的高度記作LH1;設Kinect視覺傳感器的采樣周期為ΔT,經過1個采樣周期后,采集到的脊柱高度為LH2,則人體脊柱在豎直方向的位移ΔLH=LH1-LH2,當ΔLH大于設定的閾值即判定人體開始移動,根據映射關系可知,升降機構的位移ΔLS及滾珠絲杠的轉速NS為:

式中:S為滾珠絲杠的導程,K為比例系數。

圖12 人體脊柱與升降機構的運動映射關系Fig.12 Mapping relation between human spine and lifting mechanism
圖13所示為移動底盤、升降機構及機械臂組合機構的運動學模型,其中θ'R1代表移動底盤的旋轉角度φ,d′2表示升降機構的豎直移動范圍ΔLS,組合機構的D-H參數表見表5。按照圖13所示的運動學模型,可以建立重映射后人體手臂與機械臂的關節映射模型,見表6。

圖13 移動底盤、升降機構及機械臂組合機構的運動學模型Fig.13 Kinematic model of the combined mechanism of mobile chassis,lifting mechanism and manipulator
參照表5 的D-H 參數,在MATLAB 中對機械臂工作空間進行仿真分析,結果如圖14所示。重映射后機械臂工作空間在各二維平面的投影如圖15 所示,與圖9對比后發現重映射后機械臂工作空間明顯增大,改進效果顯著。

表5 移動底盤、升降機構及機械臂組合機構的D-H參數Table 5 D-H parameters of the combined mechanism of mobile chassis, lifting mechanism and manipulator

表6 重映射后人體手臂與機器臂的關節映射規則Table 6 Joint mapping rules of human arm and manipulator after remapping

圖14 重映射后機械臂工作空間仿真結果Fig.14 Simulation result of workspace of manipulator after remapping
人機關節映射模型建立后,便可以確定在映射過程中具體要用到哪些人體關節,從而對需要用到的人體關節的空間位置信息進行采集。Kinect視覺傳感器內部集成了RGB(red,green,blue,紅綠藍)相機、深度相機和紅外相機,將3個相機采集的數據進行融合便能獲得人體關節的空間坐標,空間坐標的原點位于深度攝像機的中心[18]。

圖15 重映射后機械臂工作空間投影視圖Fig.15 Projection view of workspace of manipulator after remapping
如圖16 所示為需要采集位置信息的人體關節點的分布,包括左肩A、左肘B、左腕C、右肩D、右肘E、右腕F、脊柱G等關節點。由于最初采集的關節點空間坐標均在Kinect 坐標系OK-XKYKZK下的,還需將坐標轉換到以人體左肩關節點A為原點建立的人體坐標系OH-XHYHZH下。

圖16 人體關節點分布Fig.16 Distribution of joint points in human body
圖16 中,坐標系OK-XKYKZK與OH-XHYHZH之間的坐標變換包括平移變換與旋轉變換,將待轉換的關節點坐標與關節點A在OK-XKYKZK坐標系中的坐標作差即可實現平移變換。此時,關節點A在人體坐標系中的坐標為A(0,0,0)。設定任意一個關節點P在OK-XKYKZK坐標系中的坐標為P(xK,yK,zK),旋轉變換后在人體坐標系中的坐標為P(xH,yH,zH),則:

式中RT是旋轉變換矩陣,可以表示為[19]:

式中:ix、jy、kz是OK-XKYKZK坐標系中的標準正交基,
[3] 王小民:《東南亞國家的城市化:原因與可持續發展》,《東南亞研究》2002年第4期,第42-46頁。

在所需求解的人體關節變量中,除脊柱在豎直方向的位移ΔLH是相對于Kinect 坐標系OK-XKYKZK測得的,其余各關節變量的求解均相對于人體坐標系OH-XHYHZH而言。
對于人體大臂和小臂的環旋角度θ3、θ5,可采用文獻[19]中基于肘部約束的冗余七自由度逆運動學解法進行求解,其余關節角度或變量可通過空間向量法求解。
人體手臂水平擺角α的計算式如下:

人體手臂豎直擺角β可通過空間向量法求解,計算式如下:

人體手臂肘關節的屈曲/伸展角度θ4為:

另外,在移動底盤旋轉過程中,為保證Kinect傳感器絕對靜止,需實時調整云臺的旋轉角度μ,使它和移動底盤的旋轉角度φ滿足μ=-φ。
由于助老服務機器人的移動底盤在某一時刻只能單方向旋轉,因此在進行仿人運動控制時,需要對左右機械臂進行交替控制。
另外,由于機械臂與人體手臂在結構、自由度分布上存在明顯差異,導致它們在空間坐標系中的初始位置以及運動范圍也存在較大差異,為更好地實現機械臂各關節的仿人運動控制,還需明確機械臂與人臂各關節運動范圍之間的關系,兩者間的關系可以描述為:

式中:ΔR表示機器人各關節的運動范圍,ΔH表示人體各關節的運動范圍,k為比例系數,b為補償量。
通過比例系數k可調整因實際運動范圍和運動方向的不同引起的差異,補償量b可調整因坐標系初始位置不同引起的差異。基于此,選取不同的比例系數及補償量可得到不同的控制效果。
為使機械臂最大限度地復現人體手臂的運動,設定兩者之間的控制關系為:

對于不同的操作對象,脊柱的位移ΔLH差異較大,所以無法確定具體的運動范圍,因此,在滾珠絲杠的行程內,只要ΔLH超出設定閾值就立即動作直到觸發升降機構的上下限位裝置才停止運行。此外,在操作過程中,為避免機械臂與機器人本體碰撞,還需對人體關節和機械臂各關節的運動范圍進行限制,基于完全復現人體手臂運動的控制策略,參照表6制定人體手臂與機械臂的安全運動范圍,如表7所示。從表中數據可知,此種控制方法雖能保證機械臂完全復現人體手臂的運動,但卻極大地限制了機械臂的運動范圍,難以充分發揮其運動優勢。

表7 人體手臂與機械臂各關節的安全運動范圍Table 7 The safe motion range of each joint of human arm and manipulator
仿人運動實驗平臺如圖17 所示,由操作人員、Kinect 視覺傳感器、中央處理器和助老服務機器人組成。

圖17 仿人運動實驗平臺結構示意圖Fig.17 Structure diagram of human-like motion experiment platform
當人體出現在Kinect 視覺傳感器的視野中,Kinect 視覺傳感器便開始采集人體關節點坐標。實驗平臺的啟停信號由預先設定的肢體動作進行控制。當中央處理器接收到啟動觸發信號后,便開始對Kinect視覺傳感器采集的關節點坐標進行處理,然后傳輸給服務機器人的執行機構,實現仿人運動控制;當接收到停止信號后,實驗平臺便立即停止仿人運動控制。
實驗過程中以助老服務機器人的左機械臂為研究對象。通過右手手臂的張開/閉合實現控制系統的啟停切換,將手掌從閉合到張開的過程設定為控制系統的啟動,從張開到閉合的過程設定為控制系統的停止。為了更加直觀、清楚地分析機械臂各關節仿人運動的效果,共進行了3組實驗。
實驗1:人體脊柱的位移ΔLH與機器人升降機構在豎直方向位移d'2的映射。從圖18(a)可以看出升降機構能夠與人體脊柱同步豎直移動,實現跟隨控制。
實驗2:人體手臂水平擺角α、豎直擺角β以及肘關節的伸展/屈曲θ4與機器人的移動底盤旋轉角度θ'R1、機械臂的關節角θ'R3和θ'R5的映射。如圖18(b)所示,兩者在空間中的方向基本一致,同時,隨著肘關節的彎曲,機械臂的末端方向始終與人體手臂的末端保持一致,證明機械臂能同步人體手臂的動作。
實驗3:人體手臂的環旋運動角度θ3與機械臂關節角度θ'R4的映射。為保證實驗效果,在運動過程中通過添加肘關節的彎曲動作來判斷大臂的環旋運動。如圖18(c)所示,通過小臂的方向可以判斷大臂能夠復現人臂的環旋運動。

圖18 助老服務機器人機械臂仿人運動實驗結果Fig.18 Experimental results of human-like motion of manipulator of service robot for the elderly
對助老服務機器人的整體結構進行了分析與簡化,確定了其各部分的運動學模型,建立了人體手臂與機械臂之間的關節映射模型。根據人體手臂臂與機械臂的D-H參數,通過MATLAB仿真分析了兩者的工作空間并進行對比分析。根據兩者工作空間的差異,重新構建了人機關節映射模型,有效地改善了機械臂的工作空間。通過Kinect視覺傳感器采集人體關節點坐標,在進行坐標系轉換后,結合空間向量法與基于肘部約束的冗余七自由度逆運動學解法更加精確地求解出人體手臂關節角度。最后通過仿人運動實驗驗證了人機關節映射模型的映射效果。
本研究為人體與服務型機器人之間的自然交互提供了參考,同時,為助老服務機器人后續的開發奠定了基礎。未來將對改進后的機械臂模型進行逆運動學計算,結合Kinect視覺傳感器實現空間物體的自動定位與夾取,實現服務機器人對目標的自動跟隨等功能。