李建勇,劉雪梅,王 澤
( 西北工業(yè)大學(xué)明德學(xué)院, 陜西 西安 710124)
目前市場上已經(jīng)出現(xiàn)了很多各式各樣的家庭陪伴機器人[1],其中大多數(shù)都是沒有手臂而是偏向兒童早教方面的機器人[2],如360兒童機器人、公子小白、小憶機器人和阿爾法蛋智能機器人等,少數(shù)具有簡單的只能前后動作的手臂,如打令小寶和小度機器人等,這些機器人主要靠呆萌的外表、語音和臉部表情以及簡單的動作等來進行交互。然而隨著獨居老人[3]和留守兒童[4]等越來越多的社會現(xiàn)象不斷加劇,造成對陪伴機器人的需求日益劇增且功能要求越來越多,特別是要求陪伴機器人不僅能夠像人一樣進行肢體交互,甚至還能輔助人干一些家庭服務(wù)類的工作。雖然市場出現(xiàn)了像ASIMO[5]、HRP-4C和iCub[6]等仿人機器人,但是它們往往價格昂貴,造成大眾負擔(dān)不起而難以普及,針對這些問題,基于一款自行研制的家庭陪伴機器人,設(shè)計了一雙仿人上肢并進行了肢體交互動作的研究。
為家庭陪伴機器人設(shè)計的仿人上肢,其主要用來實現(xiàn)仿人的肢體動作,比如打招呼、再見和握手等等,因而家庭陪伴機器人的仿人上肢采用仿真人上肢結(jié)構(gòu)設(shè)計,由仿人手臂和仿人機械手兩部分組成。仿人手臂要像人臂一樣靈活需要擁有7個自由度,其中肩部3個自由度、肘部1個自由度和腕部3個自由度[7]。而家庭陪伴機器人本體采用差分驅(qū)動的輪式底盤在室內(nèi)進行移動,可與仿人手臂結(jié)合完成一些動作。經(jīng)人手臂模仿分析,發(fā)現(xiàn)采用5個自由度(即肩部3個、肘部1個和腕部1個)的旋轉(zhuǎn)關(guān)節(jié)就可以實現(xiàn)仿人的肢體交互動作,因而左右仿人手臂都是采用5個自由度的串聯(lián)關(guān)節(jié)結(jié)構(gòu)。仿人機械手采用仿人手外形設(shè)計,由5個手指組成,為簡化難度,設(shè)計成由1個直流伺服電機進行驅(qū)動的末端執(zhí)行器,使其能夠?qū)崿F(xiàn)從握拳到手掌展開以及相反過程的一系列動作。
仿人上肢的實物如圖1所示。左右仿人上肢圍繞機器人軀干對稱分布,結(jié)合機器人的尺寸(460.0 mm×400.0 mm×1 400.0 mm)和形狀并參照人體結(jié)構(gòu)進行設(shè)計,其設(shè)計參數(shù)完全相同,如表1所示。
圖1 仿人上肢的實物
表1 仿人上肢設(shè)計參數(shù)
以左臂為例,其肩部由關(guān)節(jié)1、關(guān)節(jié)2和關(guān)節(jié)3構(gòu)成以分別實現(xiàn)肩部的前屈/后伸、外展/內(nèi)收和內(nèi)旋/外旋等動作,其肘部由關(guān)節(jié)4構(gòu)成以實現(xiàn)肘部的屈伸動作,其腕部由關(guān)節(jié)5構(gòu)成以實現(xiàn)腕部的內(nèi)旋/外旋動作。
家庭陪伴機器人的仿人上肢要實現(xiàn)不同的肢體交互動作,每個關(guān)節(jié)旋轉(zhuǎn)的角度不一樣,要想實現(xiàn)精確控制,需要研究仿人上肢在空間中位姿和各關(guān)節(jié)角度之間的關(guān)系,以及仿人上肢與機器人本體之間的位姿關(guān)系,因而需要對其進行正運動學(xué)分析。
為了描述雙肢各連桿之間的位姿關(guān)系,使用改進的D-H 法[8]建立雙肢的各連桿參考坐標系。根據(jù)左右仿人上肢與機器人軀體的關(guān)聯(lián)關(guān)系,首先以過家庭陪伴機器人中心的垂線和左右2個肩關(guān)節(jié)S1的公共軸線之間的交點建立機器人軀體的基本坐標系O-XYZ,然后以基本坐標系的原點為坐標系原點分別建立左手臂基本坐標系Ol0-Xl0Yl0Zl0和右手臂基本坐標系Or0-Xr0Yr0Zr0,最后使用D-H 法依次建立各關(guān)節(jié)點坐標系,其D-H坐標系如圖2所示,其中關(guān)節(jié)W5坐標系建立在末端仿人機械手的手部中心處。以左仿人上肢為例,其D-H參數(shù)表如表2所示,其中ai-1為連桿i-1的長度;αi-1為連桿i-1的扭角;di為連桿i相對于連桿i-1的偏置偏距;θi為連桿i相對于連桿i-1繞i軸的旋轉(zhuǎn)角度即關(guān)節(jié)角。以圖2中所示為初始位置,給出關(guān)節(jié)角θi的初始值(表2中括號內(nèi))以及各個關(guān)節(jié)轉(zhuǎn)動角度范圍。
圖2 仿人雙肢D-H坐標系
表2 左仿人上肢D-H參數(shù)
注:L1=270.0 mm,L2=125.0 mm,L3=160.0 mm。
在獲取D-H參數(shù)表之后,首先把每個關(guān)節(jié)D-H參數(shù)代入式(1)[9]所示相鄰坐標系之間的齊次變換矩陣通式:
(1)
然后將各相鄰坐標系之間的齊次變換矩陣進行連乘,可得左仿人上肢的運動學(xué)正解,即左仿人腕部坐標系相對于左仿人手臂基本坐標系的變換矩陣為
(2)
最后將所取θ1~θ5關(guān)節(jié)角代入式(3),求解即可得到左仿人機械手在左仿人手臂Ol0坐標系下唯一的姿態(tài)[n,o,a]和位置[p]。同理得到右仿人機械手在右仿人手臂Or0坐標系下唯一的位姿。通過改變左右仿人上肢的每個關(guān)節(jié)角大小,即可改變左右仿人上肢在關(guān)節(jié)空間的位姿。
(3)
(4)
根據(jù)圖2中所示軀體基本坐標系和左右仿人手臂基本坐標系的關(guān)系,可得式(5)所示左右仿人手臂基本坐標系相對于機器人軀體基本坐標系的變換矩陣:
(5)
把式(3)右乘式(5),即可得到仿人機械手在家庭陪伴機器人軀體基本坐標系下的位姿。通過改變關(guān)節(jié)角的大小,即可控制左右仿人上肢在家庭陪伴機器人軀體基本坐標系中的位姿來實現(xiàn)肢體交互動作。
家庭陪伴機器人的肢體交互動作要通過肢體語言[10]與人交流并配合語音和眼部表情等交互方式,雖然可以通過關(guān)節(jié)空間規(guī)劃來實現(xiàn)肢體交互動作,但規(guī)劃出的運功軌跡有時與人的肢體交互動作差異較大,另外受到機器人軀體結(jié)構(gòu)的影響,在完成動作時可能會與機器人軀體發(fā)生碰撞,因此不能直接采取關(guān)節(jié)空間規(guī)劃控制機器人來實現(xiàn)肢體交互動作。為了使家庭陪伴機器人做出的肢體交互動作與人的上肢做出的肢體交互動作盡量一致,首先測量人體做一些肢體交互動作時與仿人上肢所對應(yīng)的關(guān)節(jié)角度,然后在表2所示的仿人上肢各關(guān)節(jié)角度范圍內(nèi)取一個合適的關(guān)節(jié)角度,最后合理安排各關(guān)節(jié)的運動順序來實現(xiàn)肢體交互動作。
目前主要設(shè)計了打招呼、再見、握手、宣誓、打氣、無奈、懊惱和生氣等15種常用肢體動作。大眾見面打招呼動作如圖3所示,左肢上臂稍抬起,在身體左側(cè),與身體成45°到90°之間,小臂自然向上,手掌自然張開,略高于頭頂,朝向招呼人,以小臂帶動腕稍微擺動。
圖3 大眾見面打招呼動作
這個動作因人而異,有的舉左手有的舉右手,每個人同時用左(右)手做出這種動作時位姿略有差異,但大體相同,因而每做出這種動作進行關(guān)節(jié)角測量時,關(guān)節(jié)角度都會不同。為便于計算,在經(jīng)過5次測量所參照人體的關(guān)節(jié)角后求平均值,取平均值的整數(shù)部分作為機器人仿人上肢關(guān)節(jié)角度的典型值,同時當平均值接近一些常用角度時,比如30.0°、45.0°、60.0°和90.0°等,就取常用角度作為關(guān)節(jié)角度的典型值,如表3所示。另外肘關(guān)節(jié)4從零點位置旋轉(zhuǎn)時會使小臂向身體方向靠攏,當肩部前屈和外展角度小以及肘部屈曲角度大時,機器人上肢幾個關(guān)節(jié)同動作時就會與機器人軀體發(fā)生碰撞,因此在機器人上肢做肢體交互動作時,有些動作需要合理安排每條上肢5個關(guān)節(jié)進行動作的先后順序。
表3 左手打招呼關(guān)節(jié)角度 (°)
左右仿人上肢采用鋁合金骨架和塑料外殼制作,每個自由度都是使用ZX20D串行總線舵機進行驅(qū)動。左右上肢各有6個舵機,按順序串接在一起,并連接串行舵機控制器,作為家庭陪伴機器人的一個功能模塊,通過USB接口與機器人主機進行通信。由于家庭陪伴機器人基于機器人操作系統(tǒng)(ROS)[11-12]進行系統(tǒng)軟件開發(fā),因而把模塊設(shè)計成一個功能包融入機器人系統(tǒng)軟件,在機器人與人通過語音或視覺節(jié)點進行交互過程中使用該功能包節(jié)點進行肢體交互。仿人上肢軟硬件與機器人本體之間關(guān)系如圖4所示。
圖4 家庭陪伴機器人硬件框圖
在仿人上肢與機器人本體融合之后,首先要進行仿人上肢各關(guān)節(jié)角的校準,然后進行肢體交互動作的測試。
由于仿人上肢安裝過程中存在偏差,需要對其關(guān)節(jié)角進行校準。首先通過程序控制家庭陪伴機器人的仿人上肢按照設(shè)定幾組θ1~θ5測試角度進行動作,然后對比式(4)仿人機械手正運動學(xué)分析計算的位置和實際測得位置的結(jié)果,最后對仿人上肢進行校準,使誤差控制在合理范圍內(nèi)。左臂關(guān)節(jié)角校準結(jié)果如表4所示,左仿人機械手在左仿人上肢基本坐標系中的位置與正運動學(xué)分析計算位置相比,在3個坐標軸上的位置誤差不超過±0.5 mm,對于肢體交互動作而言,精度滿足實際的需要。
表4 左臂關(guān)節(jié)角校準結(jié)果
在仿人上肢軟硬件融入家庭陪伴機器人之后,使家庭陪伴機器人獨立工作,通過語音和視覺等方式與機器人交互,使機器人與人進行交互時自動進行肢體交互,逐一對設(shè)計好的肢體交互動作進行測試。機器人左上肢打招呼肢體交互動作如圖5所示,在人語音喚醒機器人后,家庭陪伴機器人就會與人進行打招呼的互動,機器人眼睛變換成微笑表情以及在觸摸屏?xí)@出語音圖標和相應(yīng)的問候語,同時會進行打招呼的肢體交互動作,使其左上臂向左上方向抬起很短時間后,右肘向上彎曲使小臂開始抬起,每個關(guān)節(jié)角旋轉(zhuǎn)到動作設(shè)置的角度,如圖5a所示,同時小臂稍微前后晃動來實現(xiàn)打招呼,如圖5b所示。對15種常用肢體交互動作逐一測試,如圖6a和圖6b 所示左右晃動右小臂的再見肢體交互動作以及圖7所示的抱歉肢體交互動作,每個動作都按所設(shè)計的關(guān)節(jié)角旋轉(zhuǎn)角度和動作先后順序順利完成,使家庭陪伴機器人實現(xiàn)了肢體交互功能,達到了設(shè)計要求。
圖5 左上肢打招呼肢體交互動作
圖6 再見肢體交互動作
圖7 抱歉肢體交互動作
經(jīng)過仿人上肢融合家庭陪伴機器人測試,驗證了所設(shè)計的仿人上肢設(shè)計合理,正運動學(xué)分析正確和肢體交互動作能形象發(fā)揮肢體語言作用,使家庭陪伴機器人實現(xiàn)了肢體交互功能,為后續(xù)在此基礎(chǔ)上進行運動規(guī)劃研究和開發(fā)機器人服務(wù)工作奠定了基礎(chǔ)。