LeapMotion體感控(kòng)製器的智能移動機械臂控製(zhì)係統
2017-3-17 來源:北京理工大學(xué)珠海學院 作者(zhě):羅回彬,劉春麗,董思奇,陳錫柯,楊哲宇
摘要(yào):設計一(yī)種新(xīn)型的移動機械臂控製係統,可以利用(yòng) Leap Motion體感控製器替(tì)代傳(chuán)統的人機交互方式,進行手部數據采集,將其識別到的手勢動作經過計算機分析處(chù)理後,通過 WiFi傳輸(shū)給開發板,進而控製機械臂模仿人手的動作,同時由於(yú)機械臂的載體是一個加載(zǎi)攝(shè)像頭的移動小車,可以很好地結合機械臂執行各(gè)種遠程遙控任務。實驗結果表明,該移動機械臂便(biàn)捷靈活(huó)、操作簡單,能很好地應用在各種領域。
關鍵詞:leap motion;手(shǒu)勢識別;移動機械臂
0.引言
機器人是一種(zhǒng)能夠進行編程並(bìng)在自動化控製下執行某些(xiē)操作和移(yí)動作業任務的機(jī)械裝置,在工業、醫 學、農業、建(jiàn)築業甚至軍事等領域中均有重要用途[1-2]。目(mù)前機器人很(hěn)少是通過體感操控的[3-4],人機交互通常都是(shì)依靠鼠標、鍵盤(pán)、觸摸屏(píng)。因此,人與機(jī)器人交互方式不(bú)夠直接和簡單。基於這點提出(chū)了一種新的(de)機器人控製方式———體感控製,即操作者可(kě)以通(tōng)過(guò)手勢對機器人進行控製,讓人直接用自己的手(shǒu)來指揮機器人進行動作,完(wán)成需要人機協作才能完成的任務。本項目研究的智能移動機械臂可通過 Leap Motion控製,實現機械(xiè)臂模仿人類所做的手勢動作的功能(néng),同時小車搭(dā)載攝像頭模塊更方便地實現機械臂的可操作性,實現機器人控製方式上的創(chuàng)新和更加自然的人機交互(hù)。
1.總體(tǐ)結構與原理
本項目主要利用 Leap Motion的小巧 而 且 識 別 度 精準的特(tè)性,通過其對手(shǒu)勢的(de)動作進(jìn)行分析轉化,並在機械臂及小車自帶搭載的 WiFi環境下,進行對機械臂(bì)的控(kòng)製,如圖1所示。
圖1 整體效果示意圖
本係統主要由上位機(jī)係(xì)統和下位機係統(tǒng)組成,上位機係統由 PC機、Leap通過(guò) WiFi把控製指令(lìng)傳送給(gěi) Arduino開發板(bǎn);而(ér) Arduino開發根據不同的指令控製機械臂各關節的旋轉(zhuǎn)角度和小車的運動,從而完成預期的動(dòng)作。同時,PC端和手機端也(yě)可(kě)以通過按鍵方式進行相應的命令操作,控製機(jī)械臂(bì)和小車完成預(yù)期(qī)的動作。
圖2 係統結構框圖
2.主要硬件模塊選型與設計
2.1LeapMotion體感(gǎn)控製器
Leap Motion是當下(xià)流(liú)行的以手部運動捕獲為主(zhǔ)的體感設備(bèi),利用紅外成像的原理獲取手的運動圖像,檢測並跟蹤手、手指和類似手指的工具,可(kě)以實時獲取它們的位置、手勢和動作,並將這些靜態與動態(tài)信息提供(gòng)給操作者。利用 LeapMotion根據每(měi)幀和前幀檢測到的數據所(suǒ)生成的運動數(shù)據(jù),捕獲不(bú)同手勢和手勢的運(yùn)動變化信息[5]。Leap Motion采用了笛(dí)卡爾坐標係(Cartesian coordinates),坐標的原點是設備的中心,坐標的 X軸平行(háng)於設備,Y軸指向上方,Z軸指向(xiàng)背離屏幕的方向,單位為真實世界的 mm[6-8],如圖3所示。
圖3 Leap Motion的笛卡爾(ěr)坐標係
Leap Motion檢(jiǎn)測 到 手 掌 或 者 手 指 等 目 標 對 象 的 時候,其軟件係統還會自動(dòng)為這個對象分配一個獨一(yī)無二的標識符(fú),在設備的視野範圍內如果持續檢測到目(mù)標對象存在,這個標識符就(jiù)保持不(bú)變。如(rú)果目標超出有效視野範圍,整 個 追 蹤 過 程 出 現 丟 失 或 者 失 而 複 得 的 情 況,LeapMotion便會重新為(wéi)目標對(duì)象分配一個新的標識符,同時使舊的標識符(fú)失效。
2.2機械臂模塊
如圖4所示,機械臂主要由大臂、小臂、舵機(jī)和機械臂爪組成。當(dāng)手勢信(xìn)息或按鍵命令傳給 Arduino控製器後,它就先解析出動作指令再操控機械臂的舵機,讓機械臂做出相應的(de)動(dòng)作,具體功(gōng)能描述如(rú)表1所列。
圖4 機械臂結構圖
表1 機械臂功能描述
2.3Arduino開發板
Arduino開發板具 有 開 源,模 塊 化 組(zǔ) 裝,簡 單 實(shí) 用 等特性[9-11],本項目就是利用它的這些特性控製機械臂的舵機和小車的馬達,從而實現對(duì)小(xiǎo)車和機械臂的控製,大(dà)大地縮(suō)短了開發的周期。
3.軟(ruǎn)件設計及實現
3.1整體軟件設計及(jí)實(shí)現
本項目在軟件設計與實現中,PC端采(cǎi)用 Windows係統(tǒng)、C# 語 言,手 機(jī) 端(duān) 采 用 Android 係(xì) 統、Java語 言(yán)。 如圖5所示,主程序啟動後,進行 Leap Motion操作和 按 鍵操作的選擇界麵(miàn),當(dāng)操作者執行一個手勢或者一個按鍵操(cāo)作後,PC端或手機端會有相應的函數對操作進行解析,再(zài)通過 WiFi通信發送給 Arduino開發板(bǎn),然 後 Arduino開發板就會控製機械臂的舵機或者小車(chē)的馬達,從而讓它(tā)們運動(dòng)。
3.2手勢識別
手勢動作具有以下三個特點:
① 時間可變(biàn)性:完成同一個(gè)手勢所用的時間不一致。
② 空間可(kě)變性:完成同一個手勢的空間差異性。
③ 完整可(kě)變性:缺少信息或出現重複信(xìn)息。
這些特點決定了動態手勢的識別難度,開發人員無法(fǎ)抽樣或將其作為一個整體來(lái)識別。因此,本項目主要通過對一隻手手指的運動來進(jìn)行捕(bǔ)獲,再轉換為指定的(de)字母,化繁為簡(jiǎn),來控製機械臂和小車。
圖5 總(zǒng)體流程圖
在手勢(shì)轉換過(guò)程中,函數 OnFrame()為最 核 心 的 函數。在這個函數中,主(zhǔ)要利用 Leap Motion SDK 開發包的函數 Extended()對獲得數據進行處理,提取手部的運(yùn)動(dòng)特征。本係統可(kě)識別兩類手勢:一種是手指在(zài)空間運動,獲得手指數(shù)量;另一種是(shì)手(shǒu)指在平麵內畫圈,包括順時針畫圈和逆時針畫圈(quān)。隨後,通過一個 Switch()語句對手指數量的判斷來轉換為(wéi)相應的字母(mǔ)命令,每一個字母都有自己的指示動作,然後(hòu)通(tōng) 過 SendData()函 數 將 字 母 傳 送 到Arduino開發板,具體流(liú)程如圖(tú)6所示。
圖6 手勢轉換過程流程圖(tú)
3.3小車(chē)與機(jī)械臂控製
進(jìn)行手勢識別和轉換後,PC端將數據通過 WiFi傳(chuán) 送(sòng)至 Arduino,Arduino 開 發板會通過調用Serial.read()函數和 witch()語(yǔ)句進一步判斷和指定機械臂或小車做出相應的動作,具體流程如圖7所示。
圖7 Arduino控製機(jī)械臂或小車操作的流程圖
3.4WiFi通信
在 Internet 中,TCP/IP使用一個網(wǎng)絡地(dì)址和一(yī)個服(fú)務端 口 號 來 唯 一 標 識 設 備。其中,網 絡IP 地 址 用 於(yú) 標 識網絡上的特定設備(bèi);端(duān)口號用於標(biāo)識要連(lián)接到的該設(shè)備上的特定服務。根據上述原理,本項目的服務(wù)器(qì)可以理解為PC端和手機端,而客戶端(duān)則是 Arduino開發板。利用 Ar-duino開發板自帶的串口(kǒu) WiFi模塊構建 WiFi局域網,將電腦或手機連接到已經(jīng)搭建的(de) WiFi環境中,實現(xiàn) Socket連接及(jí)通信(xìn)。
在本項目中(zhōng),用指定的(de)地址(zhǐ)和端口號初始化(huà) IPEnd-Point類(lèi)的新實例,然後通過 Socket編程就可以(yǐ)實現(xiàn)連接並通 信。 其 中(zhōng),設 置 的 IP 為 192.168.8.1,端(duān) 口 號(hào) 為2001,協(xié)議是 TCP/IP,IPEndPoint類 主 要 有 服 務 器 的IP地址(zhǐ)和端口信息,實現(xiàn)客戶端(duān)到服務器端的(de)連接(jiē)。Socket編程的基本過程如(rú)下:
① 創建一(yī)個 Socket實例對象。
② 運用 Connect()方法將 Socket實例對(duì)象連(lián)接到IPEndPoint。
③ 接收並發送信息。
④ 最後用(yòng) Close()方法來關閉 Socket。
4.實驗結果
本項 目 在 Windows7 係 統 和(hé) Android 智能手機進行實驗,實驗演示過程具體如下:
① Leap Motion體感控製器將 手 部 信 息發給 PC端,PC 端 經 過 數 據 處 理 識 別 出 手 勢和手掌的 運 動 軌 跡(jì),並 將(jiāng) 處 理 後 的 結 果 傳 輸給 Arduino,小車(chē) 接 收 命 令(lìng) 和 數 據,然(rán) 後 做 出(chū)相應的動作,如(rú)圖8所示。
② 手機(jī)端通過按鍵操作命令,將相(xiàng)應的命令(lìng)數據傳輸給 Arduino,機械臂和小車根據接收 的 命 令 和 數 據 做 出(chū) 相 應 的 動 作,如 圖 9所示。
圖8 Leap Motion控製小車停止(左)和向前運動(右)
圖9 按鍵控製(上)攝像頭觀(guān)測顯示(下)
實驗(yàn)結果表明(míng),在各功能部件連接通暢的情況下,通過 Leap Motion體感控製能很好地識別操作手勢,實(shí)現對機械臂、小車的便捷(jié)控製。
5.結語
本項目設備成本低、體積小巧(qiǎo)、操作簡便、便攜靈活,能適用(yòng)於各種複雜環境和特殊任務,在軍事偵察、可疑物品排爆、工業操作、醫療應用及日常生活等(děng)都(dōu)有較(jiào)好的應用前景和實用價值。
投稿箱:
如果您有機床行業、企業相關新聞稿件發(fā)表,或進行資訊合作,歡迎聯係本網編輯部, 郵箱:skjcsc@vip.sina.com
如果您有機床行業、企業相關新聞稿件發(fā)表,或進行資訊合作,歡迎聯係本網編輯部, 郵箱:skjcsc@vip.sina.com
更多相關信息
業界視點
| 更多
行業數(shù)據
| 更多
- 2024年11月 金屬切削機床產(chǎn)量數據
- 2024年11月 分地(dì)區金屬切削機床產量數據
- 2024年(nián)11月 軸承(chéng)出口情況
- 2024年11月 基本型乘用車(轎車)產量數據
- 2024年11月 新能源汽車產(chǎn)量數據
- 2024年11月 新能源汽車銷量情況
- 2024年10月(yuè) 新能源汽車產(chǎn)量數據
- 2024年10月 軸承出口(kǒu)情況
- 2024年10月 分地區金屬切削機床產量數據(jù)
- 2024年10月 金屬切削機床產量數據
- 2024年9月 新能源汽車銷量情況
- 2024年8月 新能源汽車產量(liàng)數據
- 2028年8月 基本型(xíng)乘用車(轎車(chē))產量數據
博文選萃
| 更多
- 機械加工過程圖示
- 判斷一台加(jiā)工中心精度的幾種辦(bàn)法
- 中走絲線切割機(jī)床的發展(zhǎn)趨勢
- 國產數控係統和數(shù)控機床何去何從?
- 中國的(de)技術工人都去哪裏了?
- 機械(xiè)老板做了十多年(nián),為何還是小作坊?
- 機械行業最新自殺(shā)性營銷,害人害己(jǐ)!不倒閉(bì)才
- 製造業大逃亡
- 智能時代,少談點智造,多談點製造
- 現實麵前,國人沉默。製造(zào)業的騰(téng)飛(fēi),要從機床
- 一文搞懂(dǒng)數控車床加工(gōng)刀具補(bǔ)償(cháng)功能
- 車床(chuáng)鑽孔攻螺紋加工方法及工(gōng)裝設計
- 傳統鑽削與螺旋銑孔加工工藝的區別