《簡(jiǎn)單手勢(shì)控制的機(jī)器人設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《簡(jiǎn)單手勢(shì)控制的機(jī)器人設(shè)計(jì)(2頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、簡(jiǎn)單手勢(shì)控制的機(jī)器人設(shè)計(jì)
簡(jiǎn)單手勢(shì)控制的機(jī)器人設(shè)計(jì)
2014/09/01
《黑龍江科技信息雜志》2014年第二十期
1設(shè)計(jì)方法
首先獲得Wiimote控制器中加速度計(jì)的數(shù)據(jù)。收到這些數(shù)據(jù)后,采用三次樣條插值理論將它轉(zhuǎn)換成我們?cè)诔绦蛑惺褂玫淖藨B(tài)數(shù)據(jù)。然后,判斷程序的當(dāng)前模式是訓(xùn)練模式還是控制模式,為訓(xùn)練模式時(shí),該數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器中作為訓(xùn)練數(shù)據(jù);為控制模式時(shí),數(shù)據(jù)發(fā)送給識(shí)別器,通過(guò)以前訓(xùn)練的姿態(tài)數(shù)據(jù)來(lái)識(shí)別它代表的當(dāng)前姿態(tài)。如果用戶認(rèn)為訓(xùn)練數(shù)據(jù)不夠,還可以在任何時(shí)候切換為
2、訓(xùn)練模式。手勢(shì)被識(shí)別后,其關(guān)聯(lián)命令即會(huì)發(fā)送給機(jī)器人執(zhí)行。
1.1加速度數(shù)據(jù)。正如上面的討論,收集的Wiimote的數(shù)據(jù)通過(guò)藍(lán)牙傳輸。為此使用CWiid幫助連接到遙控器手柄從而得到按鈕和加速度傳感器的狀態(tài)。該加速度計(jì)給出一個(gè)包含三個(gè)值的數(shù)據(jù)點(diǎn)。這些值的范圍從0到255,三個(gè)數(shù)值分別代表圖1中所示不同的軸。得到的Wiimote數(shù)據(jù)會(huì)隨著姿勢(shì)的變化不斷改變。
1.2數(shù)據(jù)歸一化。當(dāng)從Wiimote獲得數(shù)據(jù)后,對(duì)其進(jìn)行處理并加入到訓(xùn)練集或進(jìn)行手勢(shì)識(shí)別。因?yàn)椴煌謩?shì)所持續(xù)的時(shí)間不同,必須統(tǒng)一他們,使其持續(xù)時(shí)間大小固定且獨(dú)立。為次,數(shù)據(jù)進(jìn)行時(shí)間歸一化處理,用三個(gè)長(zhǎng)度為250的數(shù)組存儲(chǔ)加速度傳感器的數(shù)據(jù)。
3、
1.3訓(xùn)練。首先應(yīng)該按下Wiimote的按鈕1選擇進(jìn)入訓(xùn)練模式。然后,通過(guò)四個(gè)方向鍵中的其中一個(gè)下達(dá)移動(dòng)命令。最后按下的方向按鈕為想要訓(xùn)練的移動(dòng)方向。為了記錄手勢(shì),應(yīng)該在按下按鈕A的同時(shí)完成手勢(shì),然后松開(kāi)按鈕A。這樣一來(lái),發(fā)送的數(shù)據(jù)點(diǎn)將被存儲(chǔ)為一個(gè)手勢(shì)。
1.4控制。控制機(jī)器人時(shí)數(shù)據(jù)的獲取與訓(xùn)練時(shí)一樣,唯一不同的是應(yīng)該先按下按鈕2切換到控制模式。接收到數(shù)據(jù)后,識(shí)別器會(huì)識(shí)別出當(dāng)前動(dòng)作。
1.4.1識(shí)別器。對(duì)于識(shí)別器,采用K最鄰近節(jié)點(diǎn)算法(KNN)。首先根據(jù)數(shù)據(jù)的時(shí)間將數(shù)據(jù)劃分為250個(gè)階段,編號(hào)從0到249,在每一個(gè)時(shí)間段中,都需要判斷數(shù)值所代表的動(dòng)作并將其分組,總共為四組,分為上,下,
4、左,右。識(shí)別手勢(shì)時(shí),對(duì)于250個(gè)時(shí)間段,都使用KNN算法將其中數(shù)據(jù)分組。最終,選擇其中最常見(jiàn)的組點(diǎn)作為識(shí)別出的姿態(tài)。
1.4.2機(jī)器人控制。識(shí)別階段完成后,與手勢(shì)相關(guān)聯(lián)的命令被發(fā)送到機(jī)器人。機(jī)器人控制器是使用libplayerc++庫(kù)實(shí)現(xiàn)的。運(yùn)動(dòng)方向控制是通過(guò)調(diào)用SetSpeed(XSpeed,YSpeed)函數(shù)。將與手勢(shì)的關(guān)聯(lián)定義如下:向上-前進(jìn)(y方向速度為0)向下-后退(y方向速度為0)向右-右轉(zhuǎn)(x方向速度為0)向左-左轉(zhuǎn)(x方向速度為0)在此控制模型中,每當(dāng)用戶做出可被識(shí)別的手勢(shì),機(jī)器人就會(huì)做相關(guān)聯(lián)的動(dòng)作。按下B鍵,用戶暫停機(jī)器人,按下Home鍵可以結(jié)束控制,并停止機(jī)器人。
2結(jié)論
在這個(gè)項(xiàng)目中,我們發(fā)現(xiàn),使用Wiimote實(shí)現(xiàn)機(jī)器人體感控制是可行的,其中我們使用的是簡(jiǎn)單算法KNN。廉價(jià)的硬件和簡(jiǎn)單的算法可以幫助改善人與機(jī)器人之間的溝通。使用手勢(shì)控制機(jī)器人是非常直觀的,在今后的工作中,研究重點(diǎn)應(yīng)該在使用其他分類算法來(lái)實(shí)現(xiàn)更復(fù)雜的手勢(shì)控制。
作者:倪欣高昌單位:東北林業(yè)大學(xué)
上一個(gè)文章: 低壓成套開(kāi)關(guān)設(shè)備保護(hù)下一個(gè)文章: 變頻器應(yīng)用技術(shù)的研究