文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.004
中文引用格式: 張雨薇,林雄民. 基于仿生機械臂的體態(tài)遙控與可視化系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2015,41(12):22-24.
英文引用格式: Zhang Yuwei,Lin Xiongmin. Design of motion sensing remote control and visualization system based on bionic robot arm[J].Application of Electronic Technique,2015,41(12):22-24.
0 引言
近年來,多發(fā)的自然災(zāi)害、各種突發(fā)事件以及由生化病毒、輻射性物質(zhì)等帶來的恐怖影響威脅著人類的安全。雖然人類對各種災(zāi)難的警覺和反應(yīng)能力有所提高, 但救援工作仍然面臨著環(huán)境的復(fù)雜性和危險性[1]。因此,救援人員在自身安全得不到保證的情況下很難進入現(xiàn)場開展救援工作,而救援機器人可以替代人類在危險的環(huán)境中完成偵察、作業(yè)等任務(wù)[2]。本文開發(fā)了一套可用于搜救的災(zāi)難救急機器人系統(tǒng),為現(xiàn)代社會突發(fā)事件的處置或惡劣環(huán)境的作業(yè)提供了一種新型可靠的解決方案,可以滿足輕量級任務(wù)的使用。
1 系統(tǒng)工作原理
1.1 系統(tǒng)概述
以Intel Atom EPCM-505C開發(fā)平臺為核心,借助E645C處理器,F(xiàn)PGA以及Intel IPP、OpenMP、OpenNI、OpenCV等開發(fā)工具完成了該系統(tǒng)的搭建。本系統(tǒng)采用服務(wù)器—客戶端架構(gòu)模式??蛻舳似脚_裝于遙控小車上,負責(zé)采集、傳回現(xiàn)場視頻,并在客戶端的屏幕上顯示小車周遭場景。位于服務(wù)器端的用戶根據(jù)傳回的視頻控制小車躲避障礙物進入危險區(qū)域后,首先通過體態(tài)傳感器獲取人體手臂的運動姿態(tài)并實時傳輸給客戶端平臺,然后由平臺CPU通過PCIe接口將捕獲的數(shù)據(jù)傳至FPGA,進而控制仿生機械臂的運動。
1.2 系統(tǒng)框架
系統(tǒng)結(jié)構(gòu)圖如圖1所示。其中,客戶端包括基于以Intel Atom E645C處理器為核心的嵌入式系統(tǒng)、裝載在遙控車上的機械臂以及電源系統(tǒng),并外擴了攝像頭。服務(wù)器端包括采集用戶信息的體態(tài)傳感器及視頻顯示終端。

2 系統(tǒng)硬件設(shè)計
2.1 仿生機械臂的控制
仿生機械手臂有5個自由度,分別由5個舵機構(gòu)成。一號、二號、三號舵機分別負責(zé)機械臂左右、前后和上下的擺動,四號舵機負責(zé)手腕的運動,五號舵機負責(zé)手掌抓取動作的實現(xiàn)。
舵機控制線的輸入是一個脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號,脈沖信號的周期為20 ms[3]。我們利用調(diào)制占空比來控制舵機的位置。輸出的轉(zhuǎn)動角度和脈沖寬度的關(guān)系式為[4]:α=90(t-0.5)。式中,α為舵機的輸出轉(zhuǎn)角;t為脈沖寬度,其定義域為0.5≤t≤2.5。因此,可通過編程在FPGA的輸出端口得到需要的脈沖信號。
2.2 光耦隔離放大電路
在該系統(tǒng)的電路設(shè)計中,在機械臂驅(qū)動前增加了高速光電耦合模塊,并且在電源信號輸入光耦前加入了電流負反饋放大電路,如圖2所示。由于光電耦合器的輸入輸出之間互相隔離,其具有良好的電絕緣能力和抗干擾能力[5]。PWM信號經(jīng)過光耦隔離后,再輸入機械臂的控制線,能夠排除系統(tǒng)的潛在干擾。

2.3 FPGA控制機械臂的流程圖
系統(tǒng)通過FPGA產(chǎn)生信號來控制機械臂運動,其流程如圖3所示。

3 系統(tǒng)軟件設(shè)計
3.1 體態(tài)數(shù)據(jù)采集核心算法
3.1.1 骨骼坐標(biāo)的采集與濾波
用戶骨骼位置主要是通過捕獲右手手腕、右手肘關(guān)節(jié)及右肩關(guān)節(jié)的三維坐標(biāo)來獲取的。
程序初始化完成之后,OpenNI開始檢測當(dāng)前可視區(qū)域是否存在用戶。區(qū)域內(nèi)出現(xiàn)用戶后,用戶會被體態(tài)傳感器一直跟蹤。隨后,OpenNI開始檢測用戶是否做出“校驗”姿勢。所謂的“校驗”姿勢,即用戶雙手舉過頭,作投降狀。當(dāng)用戶做出“校驗”動作并且被OpenNI成功檢測出來后,生產(chǎn)鏈路開始工作, OpenNI開始捕獲用戶的骨骼信息。
3.1.2 手臂移動角度的采集與濾波
通過上述算法,得到了所需要的骨骼坐標(biāo)。用戶手臂擺動時,其骨骼坐標(biāo)也會隨之變化,將這些變化的坐標(biāo)轉(zhuǎn)化成各關(guān)節(jié)的角度變化。
用戶擺動手臂的動作,可以分解為左右、前后、上下3個方向的運動。手臂的左右擺動由右手肩關(guān)節(jié)與腕關(guān)節(jié)的三維坐標(biāo)獲取得到,如圖4中(a)所示。胳膊的前后變動主要反映到肘關(guān)節(jié)坐標(biāo)的變動,如圖4中(b)所示。小臂的前后擺動主要反映到腕關(guān)節(jié)相對肘關(guān)節(jié)的坐標(biāo)的變化[6],如圖4中(c)所示。

3.1.3 手掌張合檢測算法
由于體態(tài)傳感器無法直接獲取手指的坐標(biāo),通過下面的算法來捕獲手掌的張合:
(1)通過OpenNI得到用戶的深度資料圖,然后用平滑算法將深度圖二值化為灰度圖,并根據(jù)最小的Z值(即指尖的位置)得到手掌區(qū)域部分。
(2)將手掌部分的灰度圖轉(zhuǎn)化成2D矩陣的點集合。通過算法篩選出位于指尖和掌心的點,并以此判斷手掌的張合情況。如圖5(a)所示,手掌張開時可檢測到指尖點和掌心點。而當(dāng)手掌握合的時候,只能捕獲到掌心點,如圖5(b)所示。

3.2 視頻的采集與傳輸算法
本系統(tǒng)的視頻傳輸采用的是實時傳輸協(xié)議(Real-time Transport Protocol,RTP),利用該協(xié)議能有效解決TCP傳輸速度慢和UDP數(shù)據(jù)丟失的問題[7]。
通過OpenCV獲取攝像頭的視頻流,為了給體態(tài)信息提取騰出更多CPU空間,我們沒有對視頻進行壓縮,而是通過直接截取視頻流里的一幀圖片來進行傳輸。由于系統(tǒng)對視頻清晰度要求不高,我們將行位置和行包含的像素點一起打包,采用隔行傳輸?shù)乃惴?,先傳奇?shù)像素行,再傳偶數(shù)像素行,循環(huán)交替。RTP的傳輸速率很高,隔行傳輸可以明顯提高效率且不影響視頻的實時顯示。
3.3 系統(tǒng)軟件流程
系統(tǒng)軟件流程可以分為以下兩個部分:仿生機械手臂控制流程和視頻采集傳輸流程,如圖6示。

4 測試結(jié)果
按照系統(tǒng)工作流程,對系統(tǒng)進行測試。測試過程分為以下3個部分:
(1)遠程視頻傳輸與接收測試
程序開始,軟件界面下面的提示欄出現(xiàn)“Waiting For Connection”的消息,幾秒鐘后又出現(xiàn)“Connection Success”。接著,遠程服務(wù)器軟件界面的視頻顯示窗口出現(xiàn)遙控小車上的攝像頭拍攝到的畫面。如圖7所示,說明本次測試成功。

(2)體態(tài)傳感器用戶識別測試
當(dāng)視頻傳輸開始的時候,軟件界面下方的信息提示欄出現(xiàn)了如下的信息:“Please Hand Up Both Your Hands And Wait For Detection”。隨后,測試者舉雙手過頭,信息欄馬上提示“Identification Success, The Program is Capturing data”。同時,軟件界面上開始顯示5路舵機角度變化的數(shù)據(jù),說明體態(tài)傳感器用戶識別測試成功。
(3)用戶控制機械手臂的動作測試
測試(2)成功后,我們分析了用戶控制機械臂運動的工作情況。采用體型各異的5個人對機械臂各關(guān)節(jié)的運動進行測試,轉(zhuǎn)動角度分別設(shè)為-80°、-50°、30°和90°。每人對每個關(guān)節(jié)的每個角度測試6組數(shù)據(jù),即每個舵機測試120次,如表1所示。分析下表可知,運動角度變化越大,識別的成功率越高。手掌張合檢測在小角度時成功率略低,而其他各關(guān)節(jié)的識別率都高于90%,具有較高的成功率,符合控制要求。

5 結(jié)論
本文引入體態(tài)控制技術(shù)及遠程視頻監(jiān)控技術(shù),設(shè)計了仿生機械臂遠程實時控制系統(tǒng)。該系統(tǒng)可以模擬完成大多數(shù)人體手臂的基本動作,并且無線視頻傳輸與接收的實時性良好。因此,人體手臂無需穿戴任何傳感器即可直接進行遠程控制。該系統(tǒng)為人機交互在抗災(zāi)搶險領(lǐng)域的運用提供了新思路。
測試結(jié)果表明,本系統(tǒng)運行穩(wěn)定,實時性較好,且具有良好的操控性能,能夠很好地完成輕量級的任務(wù)。為現(xiàn)代社會突發(fā)事件的處置或惡劣環(huán)境下的作業(yè)提供了一種新型可靠的解決方案,在國防和民用中都有廣泛的用途,應(yīng)用前景良好。
參考文獻
[1] 盧小輝.RoboCup救援仿真系統(tǒng)中的移動智能體行為決策研究[D].廣州:廣東工業(yè)大學(xué),2012.
[2] 劉金國,王越超,李斌,等.災(zāi)難救援機器人研究現(xiàn)狀、關(guān)鍵性能及展望[J].機械工程學(xué)報,2006,42(12):1-12.
[3] 韓慶瑤,洪草根,朱曉光,等.基于AVR單片機的多舵機控制系統(tǒng)設(shè)計及仿真[J].計算機測量與控制,2011,19(2):332-334.
[4] 蔡睿妍.基于Arduino的舵機控制系統(tǒng)設(shè)計[J].電腦知識與技術(shù),2012,08(15).
[5] 程全.基于電話線的單片機遠程控制系統(tǒng)[D].鄭州:鄭州大學(xué), 2009.
[6] 王艷淑.基于人機工程學(xué)評價與仿真的人體模型建模[D].哈爾濱:哈爾濱工程大學(xué),2013.
[7] 劉濤.基于RTP的視頻流可靠傳輸[D].鄭州:鄭州大學(xué),2004.
