?

基于仿生機械臂的體態遙控與可視化系統設計

2015-02-21 07:49張雨薇林雄民
電子技術應用 2015年12期
關鍵詞:體態舵機手掌

張雨薇,林雄民

(武漢大學 電子信息學院,湖北 武漢 430072)

0 引言

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

1 系統工作原理

1.1 系統概述

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

1.2 系統框架

圖1 系統結構圖

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

2 系統硬件設計

2.1 仿生機械臂的控制

仿生機械手臂有5個自由度,分別由5個舵機構成。一號、二號、三號舵機分別負責機械臂左右、前后和上下的擺動,四號舵機負責手腕的運動,五號舵機負責手掌抓取動作的實現。

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

2.2 光耦隔離放大電路

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

圖2 電路的組成框圖

2.3 FPGA控制機械臂的流程圖

系統通過FPGA產生信號來控制機械臂運動,其流程如圖3所示。

圖3 FPGA控制機械臂的流程圖

3 系統軟件設計

3.1 體態數據采集核心算法

3.1.1 骨骼坐標的采集與濾波

用戶骨骼位置主要是通過捕獲右手手腕、右手肘關節及右肩關節的三維坐標來獲取的。

程序初始化完成之后,OpenNI開始檢測當前可視區域是否存在用戶。區域內出現用戶后,用戶會被體態傳感器一直跟蹤。隨后,OpenNI開始檢測用戶是否做出“校驗”姿勢。所謂的“校驗”姿勢,即用戶雙手舉過頭,作投降狀。當用戶做出“校驗”動作并且被OpenNI成功檢測出來后,生產鏈路開始工作,OpenNI開始捕獲用戶的骨骼信息。

3.1.2 手臂移動角度的采集與濾波

通過上述算法,得到了所需要的骨骼坐標。用戶手臂擺動時,其骨骼坐標也會隨之變化,將這些變化的坐標轉化成各關節的角度變化。

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

工科新教師培訓為復雜系統工程。培訓方式應根據培訓內容、培訓層次、培訓目標的不同,本著服務為導向實施差異化選擇[7]。兩種或多種培訓方式統合使用,是提高培訓吸引力,激發工科新教師培訓動力,提高培訓質量的基本策略。

圖4 各關節移動角度的采集

3.1.3 手掌張合檢測算法

由于體態傳感器無法直接獲取手指的坐標,通過下面的算法來捕獲手掌的張合:

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

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

圖5 手掌張合檢測

3.2 視頻的采集與傳輸算法

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

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

3.3 系統軟件流程

圖6 系統軟件流程

4 測試結果

按照系統工作流程,對系統進行測試。測試過程分為以下3個部分:

(1)遠程視頻傳輸與接收測試

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

圖7 測試界面

(2)體態傳感器用戶識別測試

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

(3)用戶控制機械手臂的動作測試

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

表1 機械手臂各關節測試

5 結論

本文引入體態控制技術及遠程視頻監控技術,設計了仿生機械臂遠程實時控制系統。該系統可以模擬完成大多數人體手臂的基本動作,并且無線視頻傳輸與接收的實時性良好。因此,人體手臂無需穿戴任何傳感器即可直接進行遠程控制。該系統為人機交互在抗災搶險領域的運用提供了新思路。

測試結果表明,本系統運行穩定,實時性較好,且具有良好的操控性能,能夠很好地完成輕量級的任務。為現代社會突發事件的處置或惡劣環境下的作業提供了一種新型可靠的解決方案,在國防和民用中都有廣泛的用途,應用前景良好。

[1]盧小輝.RoboCup救援仿真系統中的移動智能體行為決策研究[D].廣州:廣東工業大學,2012.

[2]劉金國,王越超,李斌,等.災難救援機器人研究現狀、關鍵性能及展望[J].機械工程學報,2006,42(12):1-12.

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

[4]蔡睿妍.基于 Arduino的舵機控制系統設計[J].電腦知識與技術,2012,08(15).

[5]程全.基于電話線的單片機遠程控制系統[D].鄭州:鄭州大學,2009.

[6]王艷淑.基于人機工程學評價與仿真的人體模型建模[D].哈爾濱:哈爾濱工程大學,2013.

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

猜你喜歡
體態舵機手掌
SET懸吊訓練對中青年女性圓肩體態的療效觀察
含齒隙彈載舵機的全局反步模糊自適應控制
攤開手掌
手掌上的童話
“體態矯正”到底是什么?
基于dsPIC單片機的飛艇舵機控制實現
鋼琴基礎教學中的歌唱和體態律動
隨、律、衡:體態律動教學的三個核心原則
基于高速同步485總線通信的多通道舵機控制器設計
把手掌放在畫紙上描一描,畫出一只考拉吧
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合