劉明磊 李捍東 龐愛平 劉曉燕 陳進(jìn)軍
摘 ?要: 機(jī)器人控制技術(shù)在全球范圍內(nèi)飛速發(fā)展,人與機(jī)器人之間的交互方式正朝著方便、直觀的方向發(fā)展。通過體感表征操作人員的骨骼和腕部信息,可以為機(jī)器人的遠(yuǎn)程操控提供必要的控制信息。該文融合視覺和可穿戴體感,研究了交互式6自由度機(jī)械手臂控制系統(tǒng),使用人體肩、肘的旋轉(zhuǎn)角度和握拳動作,來分別控制機(jī)械手臂的6個(gè)關(guān)節(jié)和抓取;并構(gòu)建了分布式遠(yuǎn)程操控實(shí)驗(yàn)平臺,數(shù)據(jù)和指令通過無線方式進(jìn)行傳輸。實(shí)驗(yàn)結(jié)果表明,采用融合視覺和可穿戴體感的交互式機(jī)器人能有效直觀地控制機(jī)械臂進(jìn)行物體抓取。
關(guān)鍵詞: 遠(yuǎn)程控制系統(tǒng); 6自由度機(jī)械臂; 機(jī)器人控制; 體感融合; 數(shù)據(jù)傳輸; 系統(tǒng)測試
中圖分類號: TN876?34; TM45 ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼: A ? ? ? ? ? ? ? ? ? ? ?文章編號: 1004?373X(2020)02?0037?05
Research on remote control system for 6?DOF robot arm
LIU Minglei, LI Handong, PANG Aiping, LIU Xiaoyan, CHEN Jinjun
Abstract: With the rapid development of robot control technology in the world, the interaction between human and robot is developing in the direction of convenience and intuitionistic. The skeleton and wrist information of the operator is represented by the somatosensory, which can provide the necessary control information for remote control of robot. The interactive 6?DOF robot arm control system is researched in combination with the vision and wearable somatosensory. The rotation angle and clenching action of human shoulder and elbow are used to control the 6 joints and grabs of the robot arm, respectively. A distributed remote control experiment platform is constructed, and the data and instructions are transmitted wirelessly. The experimental results show that the interactive robot with fusion vision and wearable somatosensory can effectively control the robot arm to grab objects.
Keywords: remote control system; 6?DOF robot ram; robot control; somatosensory fusion; data transmission; system testing
0 ?引 ?言
隨著智能化技術(shù)的飛速發(fā)展,機(jī)器人應(yīng)用不斷擴(kuò)展和深化。基于虛擬技術(shù)的交互式控制系統(tǒng)使得機(jī)器人能在惡劣環(huán)境下,代替操作人員進(jìn)行遠(yuǎn)程操控,友好的人機(jī)界面用于特殊環(huán)境下人類的感官和控制,能創(chuàng)造機(jī)器人作業(yè)環(huán)境的第一視覺,而不需要有人在現(xiàn)場[1?3]。
近年來,視覺傳感器和可穿戴體感發(fā)展十分迅速,已廣泛應(yīng)用于醫(yī)療、教育培訓(xùn)、動畫娛樂業(yè)、游戲、展覽展會等行業(yè)[4?6]。視覺傳感器能采集人體深度圖像,而可穿戴傳感器能獲取人體肌肉電勢[7]。
本文將機(jī)器視覺和可穿戴體感技術(shù)結(jié)合,將用戶的自然運(yùn)動與機(jī)器人動作相結(jié)合,通過提取人體手臂骨骼和腕部動作信息,模擬用戶動作,進(jìn)行機(jī)械臂控制。
1 ?機(jī)械臂控制系統(tǒng)結(jié)構(gòu)
本文研究的6自由度機(jī)械手臂控制系統(tǒng)由體感信息獲取和解析部分、機(jī)械臂控制部分構(gòu)成。骨骼傳感器、臂章、計(jì)算機(jī)完成體感信息獲取和解析,機(jī)械臂控制部分則由嵌入式處理器和6自由度機(jī)械手組成,如圖1所示。
圖中,視覺傳感器、可穿戴式傳感器和計(jì)算機(jī)構(gòu)成體感信息獲取和解析系統(tǒng),機(jī)械臂控制系統(tǒng)包含控制器和機(jī)械臂。
圖1中,上半部分的體感信息獲取和解析系統(tǒng)與下半部分的機(jī)械臂控制系統(tǒng)之間可通過有線或者無線方式連接,構(gòu)成遠(yuǎn)程分布式控制系統(tǒng)。系統(tǒng)可包含多個(gè)機(jī)械臂,接收同一體感系統(tǒng)的信息,實(shí)現(xiàn)單一操作員對多個(gè)機(jī)械臂的控制,如圖2所示。
2 ?傳感器及控制器
2.1 ?視覺傳感器
視覺傳感器主要用來獲取手臂的深度和紅外信息,可得到人體的25個(gè)骨骼數(shù)據(jù)。型號為微軟公司的Kinect Xbox One(下文統(tǒng)一稱為Kinect),其主要由1 080P 彩色攝像頭、深度攝像頭、紅外發(fā)射器、紅外攝像頭和麥克風(fēng)矩陣組成。Kinect外形如圖3 所示,其主要技術(shù)指標(biāo)如表1所示。
2.2 ?可穿戴傳感器
可穿戴體感傳感器使用的是Thalmic Labs公司的Myo臂章。臂章由微處理器(ARM Cortex M4)、醫(yī)用級不銹鋼肌電傳感器(EMG)、高靈敏度九軸慣性測試單元(IMU)組成,內(nèi)置三軸陀螺儀、三軸加速度計(jì)、三軸磁力計(jì);Myo手勢檢測原理基于肌肉電信號,工作時(shí)緊貼小臂,具有8個(gè)肌肉脈沖探測模塊,內(nèi)側(cè)為金屬觸點(diǎn),用來貼近手臂探測肌肉脈沖。Myo外形如圖4所示。
2.3 ?機(jī)械臂控制器
機(jī)器人及控制系統(tǒng)通常位于工業(yè)現(xiàn)場或者需要進(jìn)行操作的現(xiàn)場,一般使用嵌入式控制平臺作為其控制器。本文選用的樹莓派是一款基于ARM的控制器,內(nèi)置操作系統(tǒng),使用Python作為開發(fā)平臺,如圖5所示。
3 ?體感信息解析及關(guān)節(jié)角計(jì)算
3.1 ?手臂關(guān)節(jié)數(shù)據(jù)采樣
Kinect傳感器的數(shù)據(jù)包括彩色圖像、景深數(shù)據(jù)流、骨骼數(shù)據(jù)流和紅外數(shù)據(jù)流。
首先對Kinect傳感器進(jìn)行標(biāo)定,步驟如下:
1) 根據(jù)系統(tǒng)提示,使人體在Kinect傳感器正前方移動,設(shè)定最佳采集距離和視角;
2) 根據(jù)系統(tǒng)提示,使人體右(左)手臂分別處于水平伸展?fàn)顟B(tài)和水平彎曲狀態(tài),以便傳感器記錄數(shù)據(jù)。
上述步驟使Kinect傳感器記錄了人體的大小臂長度等基本信息。
通過內(nèi)置的采集程序動態(tài)獲取人體大小臂活動圖像,內(nèi)部解析和運(yùn)算出三維空間內(nèi)大小臂關(guān)節(jié)點(diǎn)分別在二維坐標(biāo)系x?y,y?z,x?z內(nèi)投影,如圖6所示。
3.2 ?人體關(guān)節(jié)旋轉(zhuǎn)角度計(jì)算
根據(jù)前述的大小臂關(guān)節(jié)點(diǎn)在x?y,x?z,y?z內(nèi)投影即可求解:
1) 大臂相對于人體軀干的水平旋轉(zhuǎn)和相對于人體軀干的垂直旋轉(zhuǎn);
2) 小臂的垂直于大臂的旋轉(zhuǎn)。
[α1]在x?y平面方向向量的定義范圍是0°~180°。二維矢量由腕點(diǎn)x?y坐標(biāo)和肘點(diǎn)x?y坐標(biāo)的差來定義。在方向矢量定義后,可用式(1)得出角度:
[α1=57.2arctanyx, ? ? ? ? ? ? ? ? ?0°<α1<90°180-57.2arctanyx, ? ? ?90°<α1<180°] (1)
根據(jù)圖6,分別使用三角度表示的[α1],[α2]和[α3]。用于計(jì)算[α1]的方法是矢量分析,對于[α2]和[α3],用二維逆運(yùn)動學(xué)來計(jì)算角度。
通過求解[α1],將問題轉(zhuǎn)化為二維平面,可以用二維逆運(yùn)動學(xué)的方法求解[α2]和[α3]。由于其復(fù)雜性,忽略了詳細(xì)的分析方法。該方法的一般建模如圖7所示。圖中的[θ1]對應(yīng)[α2], [θ2]對應(yīng)[α3]。
3.3 ?通過臂章獲取手抓控制角度
Myo臂章通過采集手臂不同動作下的肌肉釋放的電流信號,通過藍(lán)牙4.0傳輸至計(jì)算機(jī)進(jìn)行分析處理,識別出圖8所示的位移、雙擊、握拳、手指伸展、手腕左擺、手腕右擺和手臂旋轉(zhuǎn)7種手勢狀態(tài)。
圖8e)手勢 “手腕左擺”狀態(tài)使角[α5] 累加;圖8f)手勢“手腕右擺”狀態(tài)使角[α5]依次遞減;圖8b)手勢“雙擊”狀態(tài)暫停角[α5]至當(dāng)前位置 ;圖8c)手勢“握拳”讓夾持器握緊;圖8d)手勢“手指伸展”讓夾持器張開。
4 ?機(jī)械臂控制系統(tǒng)
將視覺傳感器(Kinect)采樣計(jì)算得出的角度和Myo臂章獲取的數(shù)據(jù)通過WiFi遠(yuǎn)程傳輸,通過主控制器反解求得PWM數(shù)據(jù)來驅(qū)動機(jī)械臂上的伺服電機(jī)。該算法應(yīng)用逆運(yùn)動學(xué)原理,由于該算法以人體手臂姿態(tài)為導(dǎo)向,伺服電機(jī)的實(shí)際角度并不一定等于或接近于人體大臂與小臂之間的真實(shí)角度。這表明,Kinect計(jì)算得出的角度決定末端執(zhí)行器的位置,而不是人體手臂的實(shí)際位置。通過安裝在執(zhí)行器末端的地磁傳感器,檢測返回6個(gè)關(guān)節(jié)點(diǎn)的三維空間數(shù)據(jù)進(jìn)行優(yōu)化校準(zhǔn)機(jī)械臂的最終姿態(tài)。
控制系統(tǒng)軟件流程:首先對所有對象進(jìn)行初始化,然后獲取視覺傳感器和Myo臂章數(shù)據(jù),通過PC進(jìn)行處理,在GUI面板上描繪骨骼點(diǎn)和顯示相關(guān)數(shù)據(jù)。同時(shí),傳輸數(shù)據(jù)到主控制器內(nèi)進(jìn)行驗(yàn)證解析,以驅(qū)動整個(gè)機(jī)械臂動作。按下鍵盤“Ctrl+C”即終止程序。
此控制系統(tǒng)采用C++編程語言編寫,編寫工具為 Visual Studio 2017,編寫環(huán)境為NetFrameWork 4.5以及 Kinect sdk 2.0工具包,控制系統(tǒng)軟件的UI 界面如圖9所示。
5 ?系統(tǒng)測試
本文系統(tǒng)測試分為視覺傳感系統(tǒng)和可穿戴體感系統(tǒng)。兩個(gè)子系統(tǒng)分別經(jīng)過近100次測試,狀態(tài)穩(wěn)定,誤差為5%,在允許范圍內(nèi)。圖10為視覺傳感系統(tǒng)的部分優(yōu)秀測試結(jié)果??纱┐鱾鞲凶酉到y(tǒng)測試圖11為小臂轉(zhuǎn)動的數(shù)據(jù)測試,圖12為手腕左擺測試,圖13為握拳測試。
為保證兩個(gè)子系統(tǒng)融合后的整機(jī)系統(tǒng)穩(wěn)定運(yùn)行,通過測試延遲指標(biāo)能判斷負(fù)載是否可以正常運(yùn)行,其中延遲測試曲線如圖14所示,可見系統(tǒng)潛在的延遲很低,可確保整個(gè)系統(tǒng)正常運(yùn)行。整機(jī)系統(tǒng)測試效果如圖15所示。
6 ?結(jié) ?論
通過對視覺傳感器采集計(jì)算人體骨骼的關(guān)節(jié)坐標(biāo)數(shù)據(jù)[α1~α3],和可穿戴體感傳感器獲取小臂及手腕的動作信息,最終實(shí)現(xiàn)對6 自由度機(jī)械手臂進(jìn)行控制。從而實(shí)現(xiàn)了對體感控制這種自然人機(jī)互動方式來進(jìn)行人與機(jī)器人之間的交互方式的改良。通過實(shí)驗(yàn)數(shù)據(jù)可以看出使用視覺傳感器和可穿戴式體感傳感器的GUI交互方式能實(shí)現(xiàn)精準(zhǔn)控制機(jī)械臂,大大提高人機(jī)交互的效率,極大地簡化了人與機(jī)器人之間的交互;而且實(shí)現(xiàn)方式簡單,對于以后醫(yī)學(xué)康復(fù)、拆彈、航天遠(yuǎn)程操控領(lǐng)域都有非常重要的意義。
注:本文通訊作者為李捍東。
參考文獻(xiàn)
[1] 鐘君,曹建樹.基于Kinect V2. 0的6自由度機(jī)械臂控制系統(tǒng)的實(shí)現(xiàn)[J].機(jī)床與液壓,2018(5):88?92.
[2] 王松林.基于Kinect的手勢識別與機(jī)器人控制技術(shù)研究[D].北京:北京交通大學(xué),2014.
[3] 陳杰,方浩,辛斌.多智能體系統(tǒng)的協(xié)同群集運(yùn)動控制[M].北京:科學(xué)出版社,2017.
[4] 李紅波,李雙生,孫舶源.基于Kinect骨骼數(shù)據(jù)的人體動作姿勢識別方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2016(4):969?975.
[5] 辛義忠,邢志飛.基于Kinect的人體動作識別方法[J]. 計(jì)算機(jī)工程與設(shè)計(jì),2016,37(4):224?229.
[6] 辛菁,茍蛟龍,馬曉敏,等.基于Kinect的移動機(jī)器人大視角3維V?SLAM[J].機(jī)器人,2014(5):560?568.
[7] 潘溯源.現(xiàn)場交互藝術(shù)的交互系統(tǒng)與控制行為設(shè)計(jì):以Myo腕帶為例[J].中國傳媒科技,2018(3):14?17.
[8] 吳國斌.Kinect人機(jī)交互開發(fā)實(shí)踐[M].北京:人民郵電出版社,2013.
[9] 韓崢,劉華平,黃文炳,等.基于Kinect的機(jī)械臂目標(biāo)抓取[J].智能系統(tǒng)學(xué)報(bào),2013,8(2):1?9.
[10] 余濤.Kinect應(yīng)用開發(fā)實(shí)戰(zhàn):用最自然的方式與機(jī)器對話[M].北京:機(jī)械工業(yè)出版社,2013.
[11] GORDON McComb.Arduino機(jī)器人制作指南[M].唐樂,譯.北京:科學(xué)出版社,2014.
[12] WAHED M A, GABER A, TAHER M F. Automated grading of facial paralysis using the Kinect v2: a proof of concept study [C]// International Conference on Virtual Rehabilitation. Valencia: IEEE, 2015: 258?264.
[13] IFR. IFR forecast: 1.7 million new robots to transform the world′s factories by 2020 [R]. Frankfurt, 2017.
作者簡介:劉明磊(1993—),男,碩士,研究方向?yàn)榭刂乒こ獭?/p>
李捍東(1966—),男,貴州遵義人,碩士,教授,研究方向?yàn)橛?jì)算機(jī)控制、機(jī)器人控制。