999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Kinect模擬和跟蹤人體動作的機械手臂

2014-04-29 00:00:00朱銳
消費電子·下半月 2014年3期

摘 要:基于Kinect體感傳感器的人體機械臂控制系統,實現捕捉分析并在五指機械手和仿真機械臂上同步模擬出人體手指和手臂的動作,以及實現機械臂頂端位置對人體部位的實時跟隨,跟隨間距誤差在10cm內,延時誤差0.5s以內。首先通過Kinect捕捉人手臂和手部RGB圖像和紅外圖像分析,在嵌入式系統上位機上利用模式識別和紅外、RGB圖像識別來捕捉人體手臂和手指的位置參數,進行分析計算出相應的關節角度,通過以太網協議發送至舵機控制器,舵機控制器根據數據發送相應的驅動電流控制各舵機做出角度調整。本系統為精確的基于圖像和紅外傳感器的機械手臂和手指控制提供了一個可行以及新穎的解決方案。

關鍵詞:Kinect;手指識別;嵌入式系統;上位機;機械手臂

中圖分類號:TP242;TP368 文獻標識碼:A 文章編號:1674-7712 (2014) 06-0000-03

一、引言

仿真機械臂一直是人體工程學和機器人領域的熱點研究方向之一。高性能的仿真機械臂在醫療、救援、工業和教學等方面起著無可替代的作用[1]。目前的大型仿真機械臂使用的傳感器結構復雜造價昂貴[2],而民用的機械臂由大多通過設定的指令或操縱桿或者攝像頭進行控制,精度低靈活性差。Kinect是微軟公司推出的體感傳感器,主要用于游戲領域,造價低廉,又配備有RGB光學攝像頭和紅外攝像頭,可以提供超越普通攝像頭的豐富數據和高精度。特別是其紅外攝像頭提供的三維深度數據,經過圖像識別和模式匹配之后可以實現將人體和背景環境分離的效果,對于機械臂控制有很大的幫助。本文將Kinect傳感器用于機械臂控制,實現了比較好的人體識別和機械控制效果。

系統總體方案整個系統由Kinect傳感器,基于Windows Embedded的Atom平臺工控主板,上位機程序,無線路由器,基于Atmel單片機的QSC32E舵機控制器以及6自由度4關節機械臂,五指仿真機械手等模塊組成。

Kinect為微軟公司2012年推出的Kinect For Windows傳感器,上位機(基于Windows Embedded的Atom平臺工控主板)和下位機(基于Atmel單片機的舵機控制器)通信通過使用TP-LINK TL-WR740N無線寬帶路由器進行以太網通信,舵機控制器型號為32路QSC32E舵機控制器,機械臂為共配原件自行組裝,舵機型號為Towardpro公司的MG996R。

系統框架結構如圖1所示。系統的工作原理如下:(1)操作者對著Kinect傳感器做出手部和手臂的動作,由Kinect傳感器(2)捕捉后交由嵌入式平臺(3)上的上位機進行處理,進行建模并計算出每個舵機應該調整到的角度,通過無線輸出通訊數據到舵機控制器(4),(4)上的單片機和控制電路根據命令輸出不同占空比的PWM方波到機械手(5)上的指部關節舵機和機械臂(6)上的肘部關節舵機以實現角度調整,模擬人體動作。

二、系統軟件設計和實現

系統軟件結構主要由嵌入式平臺上的上位機軟件程序和舵機板上的下位機軟件程序組成。上位機軟件程序主要有基Open NI和Nite的圖像源數據采集模塊,三維立體仿真模塊,基于C# GUI的圖像編程模塊和基于C#的通訊模塊和無線傳輸模塊組成。下位機軟件由以太網接收模塊,單片機命令解釋模塊和舵機控制模塊組成。以下對各部分的設計及其實現進行詳細介紹。

基于Open NI和Nite的圖像源數據采集模塊:采用開源的Open NI和Nite項目實現精確的指部和手臂圖像源數據采集,平臺為Visual Studio2010, 基于C#語言開發。用于獲取Kinect傳感器生成的實時攝像頭RGB數據和紅外攝像頭獲得的三維深度數據,基于圖像識別和模式匹配分離并處理出手指和手臂關鍵節點的位置數據,并且對照機械臂實物模型計算出每個舵機的角度數據。

三維立體仿真模塊:基于Java3D進行機械手和機械臂的實物建模,并對上個模塊的數據進行仿真分析調試,以期在調試階段更少的設計實物交互,減少調試風險和難度。

基于C# GUI的圖像編程模塊:基于C# GUI編程的上位機程序,將處理后的手臂數據實時繪制出來,使得使用者實時看到抽象的手臂模型。

基于C#的通訊模塊,無線發送模塊和以太網接收模塊:基于C#的通訊模塊,根據預訂的協議將所有的角度數據編碼成字符串,交由基于TCP/IP協議的無線射頻模塊傳輸至舵機控制器。

單片機命令解釋模塊和舵機控制模塊:基于C++程序語言開發,解釋指令字符串并生成相應的控制方波,通過RS232串行通信的方式將接收模塊所接收的數據發送給相應的舵機,控制舵機進行相應的轉動。

系統軟件框架結構如圖2所示。

(一)利用Kinect進行圖像源數據的采集

首先利用Kinect傳感器上的RGB圖像傳感器和紅外傳感器進行彩色圖像和紅外圖像深度數據的采集。RGB圖像和紅外圖像深度數據的可視化示意見圖4。利用OpenNI內置的SDK獲得檢測到的人手掌中心坐標和手腕以及手肘坐標。然后取在手掌中心附近的深度數據,根據表示距離傳感器距離的Z坐標將人體手部和環境分離出來,同時根據紅外圖像和人體作為一個整體進行運動的特點對手掌附近可能存在的環境干擾物進行去除。從而可以獲得手掌整個的范圍輪廓和輪廓內的RGB和深度數據。將這些數據和已經建立的人手模型進行匹配,通過模式識別和邊緣檢測的算法[3]檢測出人手指尖和根部的位置以及區分出左右手,然后不斷采集上述部位的位置數據變化以建立人手的三維動態模型。

(二)根據位置數據計算出關節角度數據

如圖5,利用已經獲得的手掌位置B,手指根部位置A以及指尖位置C可以在三維坐標系O-XYZ內建立向量和.利用下列公式可以計算手指和手掌的夾角θ。

機械手的構造如如圖6. 固定在手掌上的5只舵機分別控制五根手指。舵機通過調整自身的旋轉角度α來轉動舵盤,舵盤帶動用螺絲與其連接的拉線,舵盤的轉動從而帶動拉線的伸展和收緊,從而帶動手指的屈伸。利用反復測試建立θ和α角度之間的映射關系,從而在上位機中實現根據坐標計算出θ并轉換為相應的α。

以上完成了手指動作的捕捉和映射,實現了機械手對人體手指動作的同步跟隨。同樣的原理可以實現機械臂對人體手臂動作的跟隨。

本系統的另外一個功能是實現機械臂頂端位置即機械手位置對人手或者人頭位置的同步跟隨,即,人手或者人頭移動時機械臂的各個關節進行自動調整,是的機械臂頂端始終跟人手或者人頭保持在一定的距離內,從而實現遞送話筒或者攝像頭的效果,解決了在演講或者視頻聊天時由于人體的移動而導致麥克風或者攝像頭無法跟隨移動的問題。

圖7展示了機械臂的構造。機械臂上有4個舵機,其中K1對應手腕,K2和K3控制機械臂的前傾角度,K4使得上部的機械臂部分實現環繞底座180°的旋轉。為了實現機械臂頂端即K1的位置和人手或者頭部的跟隨,在三維空間中建立如圖8的模型。

Z1為Kinect指對方向的平面即機械臂下方的旋轉舵機K4的默認位置的朝向。當手中心坐標在Z1平面內是,K4舵機角度維持0°不變,調節K1~K3舵機即可實現人手追蹤,此時所有舵機、機械臂和人手中心坐標都在默認的Z1平面內。當人手中心坐標移除Z1平面內時,Kinect捕捉人手中心坐標,計算出偏離角度β,根據β結合幾何方法和實測數據計算出舵機K4的旋轉角度,控制舵機K4旋轉機械臂上部和人手重新回到同一個平面Z2內,再利用前面的方法即可視線追蹤。

(三)數據的穩定和濾波

Kinect傳感器每秒捕獲約30幀數據[4],幀數大大超過了控制舵機需要的幀數,同時由于傳感器誤差、環境干擾和算法不穩定的因素會產生大量的異常數據點,剔除這些數據點并進行采樣就成了必須的任務。濾波的主要算法有閾值控制、延遲分組采樣和線性擬合。首先通過最基本的閾值判斷剔除明顯存在錯誤的角度點。然后采用分組抽樣的策略,積累10幀數據為一組,進行線性擬合,如圖9 (圖9為更高頻率下的擬合示意),剔除偏差過大的數據點,然后去剩下數據的平均值作為這組數據的樣本點傳送給舵機控制器。這樣一來既將數據幀率降到了可以接受的每秒3幀,保證了舵機的穩定運行,又實現了數據的濾波。

(四)基于Java3D的三維仿真模塊

基于Java3D三維圖形庫開發了跟實際模型參數相同的三維仿真模型。每個關節都可以設定轉動的角度,為測試上位機生成的角度數據提供了很大的幫助。這樣做是遵循硬件軟件分離開發的思路,提高了開發效率,同時又在完全還原真實情況的前提下避免了不合適的測試對硬件造成的可能的傷害。模型如圖10所示。

(五)通訊模塊

上位機和下位機之間通過字符串轉字節流的形式傳輸每個舵機的編號、轉動角度、移動速率、轉動到該角度所需的動作時間等參數。為此我們自定義了一套傳輸協議,如表1所示。每條指令為一條字符串,使用C#編寫的上位機輸出到無線發射模塊,在下位機上使用無線接收模塊接受并在下位機的單片機平臺中進行解釋,生成每個舵機的PWM方波傳送給各個舵機實現實時控制。

三、系統實現效果實驗結果

該方案能實現對五個手指張開與握起的動作比較精確的捕捉和模擬,如圖11,并且能利用手勢激活和關閉上位機,實現了全自動手指空置,如圖12. 機械臂部分能夠對手臂在50cm*50cm*50cm的空間中的運動進行比較準確的跟蹤,跟隨間距誤差在10cm內,延時誤差0.5s以內,四個關節能實現全自由度的穩定運動和動作保持。Java3D模型能實時輸出三維模擬圖像,動作與機械臂實物一致。傳輸模塊基本沒有體驗到延遲。

四、總結與展望

本文提出了一種基于Kinect傳感器的人體模擬和追蹤機械臂的方案,并測試了相關的性能指標,結果較為滿意。與現有的民用方案相比,本方案在普遍使用的攝像頭數據之外加入了深度數據,使得人體與背景分離、手指識別和追蹤更加準確,同時紅外傳感器的使用使該系統受光線條件的影響大大減小。

本方案的不足之處在于,Kinect傳感器同樣不能解決肢體遮擋情況且偵測方向單一,即,不能建立無死角的人體手臂模型,改進方法可以考慮增加傳感器數量,使用環繞型傳感器陣列實現更好的三維偵測和建模。同時,數據處理要求上位機有較強的性能,這也是我們選擇能耗大的Atom平臺的原因。后續工作可以考慮將上位機遷移至能耗和造價更低也更穩定的Linux嵌入式平臺,更好的實現產品化。

參考文獻:

[1]Ummul Azki,Musa.Humanoid Robot Development[D].Durian Tunggal:Universiti Teknikal Malaysia Melaka,2009.

[2]Belinda Lange,Chien-Yen Chang,Evan Suma,Bradley Newman,Albert Skip Rizzo,Mark Bolas.Development and evaluation of low cost game-based balance rehabilitation tool using the Microsoft Kinect sensor[C].Engineering in Medicine and Biology Society,EMBC,2011 Annual International Conference of the IEEE.2011:1831-4.

[3]韓崢,劉華平,黃文炳.基于Kinect的機械臂目標抓取[J].智能系統學報,2013(04):149-155.

[4]Jarrett Webb, James Ashley.Beginning Kinect Programming with the Microsoft Kinect SDK[M].United State: Apress,2012:87-88.

[作者簡介]朱銳(1993-),男,江蘇淮安人,現為東南大學本科在讀。

[基金項目]國家大學生創新訓練計劃項目,(項目編號:1310286011)。

主站蜘蛛池模板: 亚洲人成高清| 91免费国产高清观看| 欧美精品H在线播放| 精品成人一区二区三区电影| 国产极品美女在线观看| 亚洲成年人网| 久久综合丝袜日本网| 国产永久无码观看在线| 久久久久久国产精品mv| 日韩精品欧美国产在线| 日本高清有码人妻| 久久人午夜亚洲精品无码区| 国产偷国产偷在线高清| 亚洲中文字幕在线观看| 四虎永久在线精品影院| 18禁黄无遮挡网站| 国产成人91精品| 国产在线精彩视频论坛| 丁香婷婷激情综合激情| 尤物亚洲最大AV无码网站| 波多野结衣在线se| 国产成人免费手机在线观看视频 | jizz亚洲高清在线观看| 成人日韩视频| 欧美影院久久| 伊人婷婷色香五月综合缴缴情 | 青青草原国产免费av观看| 久久精品国产999大香线焦| 欧美97欧美综合色伦图| 毛片免费在线视频| 午夜少妇精品视频小电影| 国产午夜不卡| 国产精品无码影视久久久久久久| 成年人国产网站| 成人福利在线观看| 欧美在线一级片| 尤物精品视频一区二区三区| AV不卡国产在线观看| 人妻免费无码不卡视频| 无码人妻免费| 人妻精品久久久无码区色视| 成人在线观看不卡| 九九热在线视频| 成人午夜视频网站| 99这里只有精品在线| 中文字幕有乳无码| 美女被狂躁www在线观看| 国产一级在线观看www色| 三级欧美在线| 国产丝袜第一页| 欧美精品二区| 亚洲综合精品香蕉久久网| 白丝美女办公室高潮喷水视频| 99热这里都是国产精品| 啪啪永久免费av| 992tv国产人成在线观看| 特级毛片8级毛片免费观看| 欧美不卡在线视频| 亚洲国产精品VA在线看黑人| h网址在线观看| 8090午夜无码专区| 欧洲亚洲一区| 天堂成人在线| 亚洲人人视频| 久久久久久午夜精品| 国产一级妓女av网站| 黄色福利在线| 国产熟睡乱子伦视频网站| 亚洲第一区在线| 国产成人乱无码视频| 欧美一级专区免费大片| 精品欧美视频| 伊人AV天堂| 熟妇人妻无乱码中文字幕真矢织江 | 亚洲精品午夜无码电影网| 中文字幕在线观| 国产精品自在线天天看片| 国产一在线观看| 久久精品国产国语对白| 国产成人精品一区二区秒拍1o| 欧美成a人片在线观看| 在线观看国产精品第一区免费 |