《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于仿生機(jī)械臂的體態(tài)遙控與可視化系統(tǒng)設(shè)計(jì)
基于仿生機(jī)械臂的體態(tài)遙控與可視化系統(tǒng)設(shè)計(jì)
電子技術(shù)應(yīng)用2015年第12期
張雨薇,林雄民
武漢大學(xué) 電子信息學(xué)院,湖北 武漢430072
摘要: 基于以Intel Atom E645C處理器為核心的嵌入式系統(tǒng),采用多種虛擬現(xiàn)實(shí)和視覺傳感技術(shù),設(shè)計(jì)了災(zāi)難救援機(jī)器人系統(tǒng)。實(shí)現(xiàn)了遠(yuǎn)程控制機(jī)械臂同步模擬人體手臂動(dòng)作的功能,以期能替代危險(xiǎn)環(huán)境下的人工作業(yè)。系統(tǒng)采用C/S模式,服務(wù)器平臺(tái)負(fù)責(zé)用戶手臂動(dòng)作信息的采集,客戶端平臺(tái)負(fù)責(zé)現(xiàn)場(chǎng)視頻的采集傳輸以及仿生機(jī)械手臂的控制。該系統(tǒng)很好地實(shí)現(xiàn)了預(yù)期功能,實(shí)時(shí)性和魯棒性較好。
中圖分類號(hào): TP241
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.004

中文引用格式: 張雨薇,林雄民. 基于仿生機(jī)械臂的體態(tài)遙控與可視化系統(tǒng)設(shè)計(jì)[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.
Design of motion sensing remote control and visualization system based on bionic robot arm
Zhang Yuwei,Lin Xiongmin
School of Electronic Information,Wuhan University,Wuhan 430072,China
Abstract: The disaster rescue robot system based on the embedded system which uses Intel Atom E645C processor as the core is designed, it uses a variety of virtual reality and visual sensor technologies. In order to replace the manual work in hazardous environments, we realize the function of remote-controlling robot arm to synchronously simulate the human arm′s movements. The system uses C/S mode, and the server platform is responsible for the information collection of arm′s movements, while the client platform is in charge of the collection and transmission of live video, as well as the control of bionic robot arm. The System can achieve the expected function, and has a good performance on the feature of real timing and robustness.
Key words : bionic robot arm;remote body control;RTP wireless video communication;motion simulation

    

0 引言

    近年來,多發(fā)的自然災(zāi)害、各種突發(fā)事件以及由生化病毒、輻射性物質(zhì)等帶來的恐怖影響威脅著人類的安全。雖然人類對(duì)各種災(zāi)難的警覺和反應(yīng)能力有所提高, 但救援工作仍然面臨著環(huán)境的復(fù)雜性和危險(xiǎn)性[1]。因此,救援人員在自身安全得不到保證的情況下很難進(jìn)入現(xiàn)場(chǎng)開展救援工作,而救援機(jī)器人可以替代人類在危險(xiǎn)的環(huán)境中完成偵察、作業(yè)等任務(wù)[2]。本文開發(fā)了一套可用于搜救的災(zāi)難救急機(jī)器人系統(tǒng),為現(xiàn)代社會(huì)突發(fā)事件的處置或惡劣環(huán)境的作業(yè)提供了一種新型可靠的解決方案,可以滿足輕量級(jí)任務(wù)的使用。

1 系統(tǒng)工作原理

1.1 系統(tǒng)概述

    以Intel Atom EPCM-505C開發(fā)平臺(tái)為核心,借助E645C處理器,F(xiàn)PGA以及Intel IPP、OpenMP、OpenNI、OpenCV等開發(fā)工具完成了該系統(tǒng)的搭建。本系統(tǒng)采用服務(wù)器—客戶端架構(gòu)模式??蛻舳似脚_(tái)裝于遙控小車上,負(fù)責(zé)采集、傳回現(xiàn)場(chǎng)視頻,并在客戶端的屏幕上顯示小車周遭場(chǎng)景。位于服務(wù)器端的用戶根據(jù)傳回的視頻控制小車躲避障礙物進(jìn)入危險(xiǎn)區(qū)域后,首先通過體態(tài)傳感器獲取人體手臂的運(yùn)動(dòng)姿態(tài)并實(shí)時(shí)傳輸給客戶端平臺(tái),然后由平臺(tái)CPU通過PCIe接口將捕獲的數(shù)據(jù)傳至FPGA,進(jìn)而控制仿生機(jī)械臂的運(yùn)動(dòng)。

1.2 系統(tǒng)框架

    系統(tǒng)結(jié)構(gòu)圖如圖1所示。其中,客戶端包括基于以Intel Atom E645C處理器為核心的嵌入式系統(tǒng)、裝載在遙控車上的機(jī)械臂以及電源系統(tǒng),并外擴(kuò)了攝像頭。服務(wù)器端包括采集用戶信息的體態(tài)傳感器及視頻顯示終端。

qrs2-t1.gif

2 系統(tǒng)硬件設(shè)計(jì)

2.1 仿生機(jī)械臂的控制

    仿生機(jī)械手臂有5個(gè)自由度,分別由5個(gè)舵機(jī)構(gòu)成。一號(hào)、二號(hào)、三號(hào)舵機(jī)分別負(fù)責(zé)機(jī)械臂左右、前后和上下的擺動(dòng),四號(hào)舵機(jī)負(fù)責(zé)手腕的運(yùn)動(dòng),五號(hào)舵機(jī)負(fù)責(zé)手掌抓取動(dòng)作的實(shí)現(xiàn)。

    舵機(jī)控制線的輸入是一個(gè)脈沖寬度調(diào)制(Pulse Width Modulation,PWM)信號(hào),脈沖信號(hào)的周期為20 ms[3]。我們利用調(diào)制占空比來控制舵機(jī)的位置。輸出的轉(zhuǎn)動(dòng)角度和脈沖寬度的關(guān)系式為[4]:α=90(t-0.5)。式中,α為舵機(jī)的輸出轉(zhuǎn)角;t為脈沖寬度,其定義域?yàn)?.5≤t≤2.5。因此,可通過編程在FPGA的輸出端口得到需要的脈沖信號(hào)。

2.2 光耦隔離放大電路

    在該系統(tǒng)的電路設(shè)計(jì)中,在機(jī)械臂驅(qū)動(dòng)前增加了高速光電耦合模塊,并且在電源信號(hào)輸入光耦前加入了電流負(fù)反饋放大電路,如圖2所示。由于光電耦合器的輸入輸出之間互相隔離,其具有良好的電絕緣能力和抗干擾能力[5]。PWM信號(hào)經(jīng)過光耦隔離后,再輸入機(jī)械臂的控制線,能夠排除系統(tǒng)的潛在干擾。

qrs2-t2.gif

2.3 FPGA控制機(jī)械臂的流程圖

    系統(tǒng)通過FPGA產(chǎn)生信號(hào)來控制機(jī)械臂運(yùn)動(dòng),其流程如圖3所示。

qrs2-t3.gif

3 系統(tǒng)軟件設(shè)計(jì)

3.1 體態(tài)數(shù)據(jù)采集核心算法

3.1.1 骨骼坐標(biāo)的采集與濾波

    用戶骨骼位置主要是通過捕獲右手手腕、右手肘關(guān)節(jié)及右肩關(guān)節(jié)的三維坐標(biāo)來獲取的。

    程序初始化完成之后,OpenNI開始檢測(cè)當(dāng)前可視區(qū)域是否存在用戶。區(qū)域內(nèi)出現(xiàn)用戶后,用戶會(huì)被體態(tài)傳感器一直跟蹤。隨后,OpenNI開始檢測(cè)用戶是否做出“校驗(yàn)”姿勢(shì)。所謂的“校驗(yàn)”姿勢(shì),即用戶雙手舉過頭,作投降狀。當(dāng)用戶做出“校驗(yàn)”動(dòng)作并且被OpenNI成功檢測(cè)出來后,生產(chǎn)鏈路開始工作, OpenNI開始捕獲用戶的骨骼信息。

3.1.2 手臂移動(dòng)角度的采集與濾波

    通過上述算法,得到了所需要的骨骼坐標(biāo)。用戶手臂擺動(dòng)時(shí),其骨骼坐標(biāo)也會(huì)隨之變化,將這些變化的坐標(biāo)轉(zhuǎn)化成各關(guān)節(jié)的角度變化。

    用戶擺動(dòng)手臂的動(dòng)作,可以分解為左右、前后、上下3個(gè)方向的運(yùn)動(dòng)。手臂的左右擺動(dòng)由右手肩關(guān)節(jié)與腕關(guān)節(jié)的三維坐標(biāo)獲取得到,如圖4中(a)所示。胳膊的前后變動(dòng)主要反映到肘關(guān)節(jié)坐標(biāo)的變動(dòng),如圖4中(b)所示。小臂的前后擺動(dòng)主要反映到腕關(guān)節(jié)相對(duì)肘關(guān)節(jié)的坐標(biāo)的變化[6],如圖4中(c)所示。

qrs2-t4.gif

3.1.3 手掌張合檢測(cè)算法

    由于體態(tài)傳感器無法直接獲取手指的坐標(biāo),通過下面的算法來捕獲手掌的張合:

    (1)通過OpenNI得到用戶的深度資料圖,然后用平滑算法將深度圖二值化為灰度圖,并根據(jù)最小的Z值(即指尖的位置)得到手掌區(qū)域部分。

    (2)將手掌部分的灰度圖轉(zhuǎn)化成2D矩陣的點(diǎn)集合。通過算法篩選出位于指尖和掌心的點(diǎn),并以此判斷手掌的張合情況。如圖5(a)所示,手掌張開時(shí)可檢測(cè)到指尖點(diǎn)和掌心點(diǎn)。而當(dāng)手掌握合的時(shí)候,只能捕獲到掌心點(diǎn),如圖5(b)所示。

qrs2-t5.gif

3.2 視頻的采集與傳輸算法

    本系統(tǒng)的視頻傳輸采用的是實(shí)時(shí)傳輸協(xié)議(Real-time Transport Protocol,RTP),利用該協(xié)議能有效解決TCP傳輸速度慢和UDP數(shù)據(jù)丟失的問題[7]。

    通過OpenCV獲取攝像頭的視頻流,為了給體態(tài)信息提取騰出更多CPU空間,我們沒有對(duì)視頻進(jìn)行壓縮,而是通過直接截取視頻流里的一幀圖片來進(jìn)行傳輸。由于系統(tǒng)對(duì)視頻清晰度要求不高,我們將行位置和行包含的像素點(diǎn)一起打包,采用隔行傳輸?shù)乃惴?,先傳奇?shù)像素行,再傳偶數(shù)像素行,循環(huán)交替。RTP的傳輸速率很高,隔行傳輸可以明顯提高效率且不影響視頻的實(shí)時(shí)顯示。

3.3 系統(tǒng)軟件流程

    系統(tǒng)軟件流程可以分為以下兩個(gè)部分:仿生機(jī)械手臂控制流程和視頻采集傳輸流程,如圖6示。

qrs2-t6.gif

4 測(cè)試結(jié)果

    按照系統(tǒng)工作流程,對(duì)系統(tǒng)進(jìn)行測(cè)試。測(cè)試過程分為以下3個(gè)部分:

    (1)遠(yuǎn)程視頻傳輸與接收測(cè)試

    程序開始,軟件界面下面的提示欄出現(xiàn)“Waiting For Connection”的消息,幾秒鐘后又出現(xiàn)“Connection Success”。接著,遠(yuǎn)程服務(wù)器軟件界面的視頻顯示窗口出現(xiàn)遙控小車上的攝像頭拍攝到的畫面。如圖7所示,說明本次測(cè)試成功。

qrs2-t7.gif

    (2)體態(tài)傳感器用戶識(shí)別測(cè)試

    當(dāng)視頻傳輸開始的時(shí)候,軟件界面下方的信息提示欄出現(xiàn)了如下的信息:“Please Hand Up Both Your Hands And Wait For Detection”。隨后,測(cè)試者舉雙手過頭,信息欄馬上提示“Identification Success, The Program is Capturing data”。同時(shí),軟件界面上開始顯示5路舵機(jī)角度變化的數(shù)據(jù),說明體態(tài)傳感器用戶識(shí)別測(cè)試成功。

    (3)用戶控制機(jī)械手臂的動(dòng)作測(cè)試

    測(cè)試(2)成功后,我們分析了用戶控制機(jī)械臂運(yùn)動(dòng)的工作情況。采用體型各異的5個(gè)人對(duì)機(jī)械臂各關(guān)節(jié)的運(yùn)動(dòng)進(jìn)行測(cè)試,轉(zhuǎn)動(dòng)角度分別設(shè)為-80°、-50°、30°和90°。每人對(duì)每個(gè)關(guān)節(jié)的每個(gè)角度測(cè)試6組數(shù)據(jù),即每個(gè)舵機(jī)測(cè)試120次,如表1所示。分析下表可知,運(yùn)動(dòng)角度變化越大,識(shí)別的成功率越高。手掌張合檢測(cè)在小角度時(shí)成功率略低,而其他各關(guān)節(jié)的識(shí)別率都高于90%,具有較高的成功率,符合控制要求。

qrs2-b1.gif

5 結(jié)論

    本文引入體態(tài)控制技術(shù)及遠(yuǎn)程視頻監(jiān)控技術(shù),設(shè)計(jì)了仿生機(jī)械臂遠(yuǎn)程實(shí)時(shí)控制系統(tǒng)。該系統(tǒng)可以模擬完成大多數(shù)人體手臂的基本動(dòng)作,并且無線視頻傳輸與接收的實(shí)時(shí)性良好。因此,人體手臂無需穿戴任何傳感器即可直接進(jìn)行遠(yuǎn)程控制。該系統(tǒng)為人機(jī)交互在抗災(zāi)搶險(xiǎn)領(lǐng)域的運(yùn)用提供了新思路。

    測(cè)試結(jié)果表明,本系統(tǒng)運(yùn)行穩(wěn)定,實(shí)時(shí)性較好,且具有良好的操控性能,能夠很好地完成輕量級(jí)的任務(wù)。為現(xiàn)代社會(huì)突發(fā)事件的處置或惡劣環(huán)境下的作業(yè)提供了一種新型可靠的解決方案,在國防和民用中都有廣泛的用途,應(yīng)用前景良好。

參考文獻(xiàn)

[1] 盧小輝.RoboCup救援仿真系統(tǒng)中的移動(dòng)智能體行為決策研究[D].廣州:廣東工業(yè)大學(xué),2012.

[2] 劉金國,王越超,李斌,等.災(zāi)難救援機(jī)器人研究現(xiàn)狀、關(guān)鍵性能及展望[J].機(jī)械工程學(xué)報(bào),2006,42(12):1-12.

[3] 韓慶瑤,洪草根,朱曉光,等.基于AVR單片機(jī)的多舵機(jī)控制系統(tǒng)設(shè)計(jì)及仿真[J].計(jì)算機(jī)測(cè)量與控制,2011,19(2):332-334.

[4] 蔡睿妍.基于Arduino的舵機(jī)控制系統(tǒng)設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2012,08(15).

[5] 程全.基于電話線的單片機(jī)遠(yuǎn)程控制系統(tǒng)[D].鄭州:鄭州大學(xué), 2009.

[6] 王艷淑.基于人機(jī)工程學(xué)評(píng)價(jià)與仿真的人體模型建模[D].哈爾濱:哈爾濱工程大學(xué),2013.

[7] 劉濤.基于RTP的視頻流可靠傳輸[D].鄭州:鄭州大學(xué),2004.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。