張博瑋
【摘 要】設計和制造一個模塊化的機械手臂,模仿人的手臂動作。整個系統(tǒng)由控制、軟件、通信和手動/工具子系統(tǒng)組成。機械臂系統(tǒng)利用Kinect技術將手臂運動采樣信號發(fā)送到機械手臂。一個開發(fā)的圖形用戶界面(GUI)使用c++快速工具包(FLTK)庫輸出用戶的主要骨骼跟蹤數(shù)據(jù)。在采樣階段,Kinect捕捉到的人體關節(jié)的實時數(shù)據(jù)將顯示在窗口上。該數(shù)據(jù)進一步處理,定義了脈沖寬度調(diào)制(PWM)信號,用于在機械臂上驅動多個伺服電機。這些伺服電機中有五個集成在機械臂上。運動是由這些伺服電機的旋轉方向決定的。機器人手臂的模塊化是通過整合Myo手勢控制器實現(xiàn)的,這樣用戶就可以控制機械手臂,根據(jù)不同的場景來選擇和替換工具。當一個特定的手勢被執(zhí)行時,機器人手臂將執(zhí)行自動的動作,包括分離當前的工具并獲取下一個工具。此外,所有的數(shù)據(jù)和指令都通過wi - fi無線傳輸。這個概念機器人的證明為那些在危險情況下工作的人創(chuàng)造了一個更好的用戶界面,同時還能捕捉人類的視角和互動。
【關鍵詞】Kinect;機械臂;MYO
0 引言
機器人臂車是一個概念系統(tǒng)的證明,它被設計和構造,以創(chuàng)造一個更好的用戶界面,通過無線模仿一個用戶來控制機器人。它不只是在機械臂的末端有一只手,而是由一個夾子組成,可以在各種應用中使用不同的物體。這個項目的主要焦點是一輛炸彈巡邏車,因為它是無線和移動的特征。這個機器人的目的是為緊急情況創(chuàng)造一個更好的用戶界面,在這種情況下,人類的感覺和控制是至關重要的,而沒有一個人在場。這種機器人與傳統(tǒng)機器人之間的不同之處在于,它可以通過模擬的方式進行無線控制,僅僅基于用戶的動作,同時還可以使用多種工具的可用性。這將用戶的自然運動與機器的能力結合起來,這樣問題就可以通過一個人的直接的視角來解決。最后,從接口處理的所有數(shù)據(jù)將通過wi-fi發(fā)送,以建立一個大型的移動范圍的操作。這個概念結合了ARM的機動性和機器的可用性。
1 系統(tǒng)組成
該系統(tǒng)的主要組件包括微軟Kinect、MYO臂帶控制器、Raspberry Pi2、Lynxmotion機械臂、兩個外部電源,以及3D打印手。這個項目的主要目的之一是使機器人手臂控制無線從Kinect數(shù)據(jù)和用戶界面。用戶的動作和手勢被Kinect和MYO捕獲,并被發(fā)送到筆記本電腦。這些數(shù)據(jù)被處理并發(fā)送到樹莓Pi2中,而樹莓Pi2則驅動產(chǎn)生控制移動的馬達來復制用戶的手臂。
1.1 系統(tǒng)規(guī)范
接下來的子系統(tǒng)集成需要每個子系統(tǒng)的以下規(guī)范。
a.控制規(guī)范
為了正確地將用戶運動轉化為機器人運動,臂控系統(tǒng)的位置必須具有特定的位置邊界。這是為了使每一個動作看起來與用戶同步時看起來比較相似。當手臂被設置為一個特定的位置,顯示的輸出數(shù)據(jù)必須小于±10°角輸入精度。輸出數(shù)據(jù)也應小于±3英寸為每個位置的徑向。與此相結合的是,主要外部供應的總功耗小于55瓦超過2.5小時。
b.軟件規(guī)范
為了正確解釋用戶運動,軟件系統(tǒng)必須能夠解釋每個位置精度小于±10°角輸入。輸出數(shù)據(jù)也應小于±3英寸為每個位置的徑向。此外,在軟件設計中包含的圖形用戶界面,在整個采樣和模擬階段,必須對整個系統(tǒng)提供一個簡單的控制。
c.通信規(guī)范
系統(tǒng)各部件之間的通信必須快速而安全。從樹莓Pi到計算機(最大的數(shù)據(jù)包發(fā)送)的總最大比特傳輸速率估計為13.06mb,最大時間估計為0.045s,假設在設備之間傳輸是即時的,而不考慮中斷。對于范圍來說,機器人擴展和筆記本電腦之間的通信必須被高度考慮。這個范圍取決于路由器的無線范圍。然而,對于這個應用,范圍估計至少有10米范圍。
d.手/工具規(guī)范
Myo臂章應該能夠讀取用戶的手勢和滾動的方向數(shù)據(jù)。為了關閉和打開手指,步進電機應該能夠以正確的方向和角度旋轉,作為用戶的輸入。電機每步旋轉1.8度。指尖上的力傳感器應該能夠探測和顯示施加了多少力。步進電機不斷旋轉,直到力的值達到設計值。而手腕上的伺服電機應該能夠以正確的方向和角度連續(xù)旋轉,作為用戶的滾動數(shù)據(jù)。
2 Kinect抽樣算法
Kinect采樣算法負責將Kinect的原始數(shù)據(jù)轉換為pwm數(shù)據(jù),這些數(shù)據(jù)可以用來驅動機器人手臂上的伺服馬達。該算法在結構上嵌入到用戶界面的編碼中。該算法的最新版本設計為面向任務的逆運動學技術。采用該算法生成的角度表示,用于驅動機械臂的伺服電機。由于該算法是以任務為導向的,伺服電機的角度表示并不一定等于或接近于人臂下肢與下肢之間的真實角度。這表明,在計算中,只有末端執(zhí)行器的位置,而不是人類手臂的實際配置。
伺服電機1改變旋轉機械臂的方向向量x-y平面,并在x-y平面方向向量的定義范圍是0°~180°。二維矢量由腕點x-y坐標和肘點x-y坐標的差來定義。在方向矢量定義后,可以用下面所示的數(shù)學公式找到角度:
Angle=57.2arctan(YX)
如果超過90°角,使用公式如下所示:
Angle=180-57.2arctan(YX)
在測試中,算法生成的末端執(zhí)行器位置將與人類手臂的末端執(zhí)行器位置進行比較,以確定算法是否達到了理想的精度。為了驗證準確性,必須設計一種定量的測試方法。此外,由于Kinect傳感器的精度有限,從Kinect中提取的坐標數(shù)據(jù)也會不斷變化。如果對機器人手臂提供的不穩(wěn)定的數(shù)據(jù)值引起的神經(jīng)過敏,將開發(fā)一個濾波器功能來過濾掉小的數(shù)據(jù)變化,這樣就可以實現(xiàn)穩(wěn)定的機器人運動。通過對Kinect的后數(shù)據(jù)進行分析,確定最優(yōu)濾波器的功能特征。此外,從Kinect產(chǎn)生的坐標數(shù)據(jù)也在公制單位中,因此,用矢量分析可以實現(xiàn)映射到另一個的過程。最后的結果是,兩個幀中的端點的坐標數(shù)據(jù)可以進行比較,因為它們被轉換成相同的度量單位。
3 手/工具系統(tǒng)
手/工具系統(tǒng)連接到手臂的其余部分,設計用來模擬用戶手勢和手腕動作的動作。該系統(tǒng)由Myo臂帶、步進電機、力傳感器和伺服電機四個主要組成部分組成。Myo臂帶讀取和發(fā)送手勢數(shù)據(jù)到筆記本電腦和筆記本電腦將這些數(shù)據(jù)發(fā)送到樹莓pi,然后樹莓pi通過一個步進馬達驅動器將這些手勢數(shù)據(jù)發(fā)送到步進電機。力傳感器讀取在指尖上施加的力,并將數(shù)據(jù)發(fā)送到樹莓pi中,通過模擬到數(shù)字轉換器。Myo臂章也讀取滾動的方向數(shù)據(jù),并以同樣的方式發(fā)送方向數(shù)據(jù)伺服電機。
第一部分是手動控制。手由步進電機控制,步進電機由Myo臂帶讀取的手勢數(shù)據(jù)控制。現(xiàn)在步進電機控制完成,它可以旋轉,在預期的方向和角度。第二部分是力傳感器。力傳感器安裝在指尖上,它能夠探測到應用于指尖的力量的價值。這些值可以在Rapsberry pi上讀取和顯示。手系統(tǒng)尚未完成的部分是實現(xiàn)力傳感器與步進電機之間的中斷。力傳感器讀取的值應該用來決定手能舉起工具的范圍。步進電機應該一直旋轉,直到力傳感器探測到設計范圍內(nèi)的力為止。第三部分是手腕控制。現(xiàn)在這個系統(tǒng)能夠模擬滾動臂的運動。手腕上有兩個伺服馬達:一個是用來模擬滾動的,另一個是用來模擬音高的。伺服電機可以從Myo臂帶讀出定向數(shù)據(jù),并在預期的方向和角度旋轉。未完成的部分是由myo的EMG數(shù)據(jù)控制另一個伺服電機,實現(xiàn)俯仰運動。
4 結論
通過構建一套實驗系統(tǒng)對本系統(tǒng)的研究內(nèi)容進行驗證,結果表明基于Kinect的機器臂車系統(tǒng)可以較理想地完成自主抓取任務。endprint