本發(fā)明涉及一種人機交互方法,具體地說是一種采用手勢識別的方法通過上位機來對機器人的運動進行相關控制。
背景技術:
近年來,研究人員對地外星體的探測逐步深入,星體表層采樣研究成為探測星體的重要環(huán)節(jié)。目前,研究人員對地外星體的探測與采樣主要集中在月球和火星上,并使用空間探測機器人對星體資源進行了原位分析和土壤采樣。
在對地外星體表層進行采樣研究時存在著空間作業(yè)環(huán)境復雜、未知等問題;而人類操作者比空間探測機器人有更好的判斷力、洞察力,因此使用人機交互技術通過操作人員對空間探測機器人進行實時控制,以確保探測機器人能順利完成任務。在過去的幾十年里,人機交互技術受到了研究人員的廣泛關注而且得到了迅速的發(fā)展,出現(xiàn)了多種成熟的人機交互方式。語音識別和手勢識別是其中的兩大主要發(fā)展方向。由于手勢識別相比語音識別具有信息量豐富、易于實現(xiàn)等優(yōu)點,因此廣泛應用于人機交互系統(tǒng)中,是人機交互系統(tǒng)的重要技術環(huán)節(jié)之一。
在人機交互系統(tǒng)的研究發(fā)展過程之中,手勢識別系統(tǒng)主要可以分為兩類:數(shù)據(jù)手套系統(tǒng)和徒手系統(tǒng)。在本發(fā)明中使用數(shù)據(jù)手套系統(tǒng),將數(shù)據(jù)手套的手勢作為人機交互系統(tǒng)的輸入,從而實現(xiàn)對機器人的運動控制。
技術實現(xiàn)要素:
針對現(xiàn)有技術的不足,本發(fā)明提供一種基于手勢的人機交互方法,經(jīng)過對操作者手勢數(shù)據(jù)的采集和歸一化處理構建了手勢模板,為了使得手勢模板能夠進行準確分類,提出的改進pso-svm分類算法,克服了傳統(tǒng)分類算法不能對數(shù)據(jù)進行準確分類以及傳統(tǒng)pso算法容易陷入局部最優(yōu)的問題。
本發(fā)明為實現(xiàn)上述目的所采用的技術方案是:
一種基于手勢的人機交互方法,包括:
步驟1:根據(jù)數(shù)據(jù)手套的彎曲度值,構建手勢初始模板,并對手勢初始模板數(shù)據(jù)進行歸一化處理,得到手勢訓練集模板;
步驟2:采用改進的pso算法對svm支持向量機分類器進行參數(shù)尋優(yōu),得到懲罰參數(shù)和核參數(shù)最優(yōu)值;
步驟3:將尋優(yōu)后的參數(shù)結果導入svm支持向量機分類器預測函數(shù)中,對手勢訓練集模板進行訓練,對訓練后的手勢訓練集模板用測試集進行預測,得到svm支持向量機分類預測模板;
步驟4:實時采集手勢數(shù)據(jù),并對實時手勢數(shù)據(jù)進行歸一化處理,將歸一化處理后的數(shù)據(jù)在svm支持向量機分類器中進行分類;
步驟5:將分類后的數(shù)據(jù)進行手勢匹配,得到匹配結果,通過控制器控制采樣機器人。
構建手勢初始模板的過程為:
對每一種手勢,采集其數(shù)據(jù)手套的對應彎曲度值若干次,得到n*5的矩陣,從而建立手勢初始模板。
所述歸一化處理過程為:
其中,x表示要歸一化的初始數(shù)據(jù),y表示歸一化的結果,xmax初始數(shù)據(jù)最大值,xmin表示初始數(shù)據(jù)最小值,ymax表示歸一化結果數(shù)據(jù)最大值,ymin表示歸一化結果最小值。
所述改進的pso算法為:
其中,搜索空間為d維;總粒子數(shù)為n;第i個粒子的位置表示為pi=(pi1,pi2,…pid);vi為第i個粒子飛行位置變化率,vi=(vi1,vi2,...vid);pbesti為第i個粒子在飛行的歷史中去過的最優(yōu)位置(即該粒子的個體最優(yōu)值),pbesti=(pi1,pi2,…pid);當前種群在飛行中全部粒子的最優(yōu)位置,即全局最優(yōu)值表示為gbest(該值為所有pbesti中的最優(yōu)值)。ω表示改進的慣性權重,c1,c2是加速因子,是兩個正實數(shù),分別稱為認知學習率和社會學習率,通常取值為c1=c2=2,rand()為[0,1]范圍內相互獨立的隨機數(shù)。tmax和t分別代表種群的最大迭代次數(shù)和當前迭代次數(shù);ωstart和ωend分別代表初始迭代權重和終止迭代權重,其中ωstart=0.9,ωend=0.4。對于學習因子的取值過大或過小都不利于粒子群尋優(yōu),一般情況下c1和c2的關系是c1+c2>4,c1和c2取值范圍為[1,2.5]。學習因子改進策略按c1由大變小,c2由小變大改進。
將對每一種手勢采集其數(shù)據(jù)手套的對應彎曲度值次數(shù)的一部分用于對手勢訓練集模板進行訓練。
所述對手勢訓練集模板進行訓練為:
根據(jù)數(shù)據(jù)手套的對應彎曲度值,將手勢訓練集模板劃分為若干區(qū)間,作為分類區(qū)間。
所述用測試集進行預測過程為:
將測試集的手勢數(shù)據(jù)輸入到手勢訓練集模板中,進行分類,判斷分類值是否滿足分類區(qū)間;
如果滿足分類區(qū)間,則得到svm支持向量機分類預測模板;否則返回步驟3。
所述手勢匹配過程為:
將分類后的數(shù)據(jù)根據(jù)分類進行編號,得到的編號與已有的控制編號進行匹配;
如果匹配成功,則根據(jù)對應的控制編號的控制狀態(tài)對采樣機器人進行控制;否則返回步驟3。
所述數(shù)據(jù)手套包括在每根手指彎曲處設置彎曲傳感器,連接arm控制器,采集彎曲度值發(fā)送到arm控制器;分壓電路連接arm控制器,通過串聯(lián)電阻分壓控制電流大小。
本發(fā)明具有以下有益效果及優(yōu)點:
本發(fā)明通過人機交互方法,使用正確識別和匹配后的手勢數(shù)據(jù),對機器人進行了實時的控制,從實驗效果可以看出改進pso-svm分類算法在識別的正確率有了顯著的提高,使得整套人機交互系統(tǒng)在對采樣機器人實時控制更加便利和高效,從而有效地減少了誤操作次數(shù),提高了控制的準確度。
附圖說明
圖1是本發(fā)明的方法流程圖;
圖2是本發(fā)明的改進的pso算法尋優(yōu)流程圖;
圖3是本發(fā)明的人機交互系統(tǒng)結構圖;
圖4是本發(fā)明的數(shù)據(jù)手套結構圖。
具體實施方式
下面結合附圖及實施例對本發(fā)明做進一步的詳細說明。
如圖1所示為本發(fā)明的方法流程圖。
首先,通過數(shù)據(jù)手套對操作者的手勢進行采集,每個手勢的活動值可以唯一確定。同一種手勢采集20次,這樣每個手勢就會有20個不同的樣本描述。樣本集一共包含了11種手勢樣本,每種樣本由5個數(shù)據(jù)組成,從而構成了220×5的特征樣本矩陣。建立手勢初始模板。然后對手勢模板中的數(shù)據(jù)進行歸一化處理使得原始數(shù)據(jù)被規(guī)整到[0,1]范圍內。在歸一化數(shù)據(jù)里把訓練集和測試集提取出來,并對每組樣本數(shù)據(jù)標注類別標簽。其中1-20個樣本屬于第一類(類別標簽為1),第21-40個樣本為屬于第二類(類別標簽為2);依次類推,每20個樣本為一類,一共將樣本分成11類,然后用改進的pso算法對數(shù)據(jù)進行訓練并svm支持向量機進行參數(shù)尋優(yōu)。訓練后的手勢訓練集模板劃分為若干區(qū)間,作為分類區(qū)間。將測試集的手勢數(shù)據(jù)輸入到手勢訓練集模板中,進行分類,判斷分類值是否滿足分類區(qū)間。如果滿足分類區(qū)間,則得到svm支持向量機分類預測模板。將分類后的數(shù)據(jù)根據(jù)分類進行編號,得到的編號與已有的控制編號進行匹配;如果匹配成功,則根據(jù)對應的控制編號的控制狀態(tài)對采樣機器人進行控制。
如圖2所示為本發(fā)明的改進的pso算法尋優(yōu)流程圖。
其中,搜索空間為d維,總粒子數(shù)為n。第i個粒子的位置表示為pi=(pi1,pi2,…pid);第i個粒子飛行位置變化率(即“速度”)表示為vi=(vi1,vi2,...vid);第i個粒子在飛行的歷史中去過的最優(yōu)位置(即該粒子的個體最優(yōu)值)表示為pbesti=(pi1,pi2,…pid);當前種群在飛行中全部粒子的最優(yōu)位置,即全局最優(yōu)值表示為gbest(該值為所有pbesti中的最優(yōu)值)。ω表示改進的慣性權重,c1,c2是加速因子,是兩個正實數(shù),分別稱為認知學習率和社會學習率,通常取值為c1=c2=2,rand()為[0,1]范圍內相互獨立的隨機數(shù)。tmax和t分別代表種群的最大迭代次數(shù)和當前迭代次數(shù);ωstart和ωend分別代表初始迭代權重和終止迭代權重,其中ωstart=0.9,ωend=0.4。對于學習因子的取值過大或過小都不利于粒子群尋優(yōu),一般情況下c1和c2的關系是c1+c2>4,c1和c2取值范圍為[1,2.5]。學習因子改進策略按c1由大變小,c2由小變大改進。
如圖3所示為本發(fā)明的人機交互系統(tǒng)結構圖。
用數(shù)據(jù)手套采集操作人員的相關手勢的彎曲度數(shù)據(jù),通過無線傳輸模塊發(fā)送給上位機系統(tǒng),在matlab數(shù)學節(jié)點中進行相關的數(shù)據(jù)、指令處理,處理后的結果形成控制指令,通過無線傳輸模塊發(fā)送給采樣機器人從而進行相關的運動控制。為了滿足對手勢進行實時匹配,需要設計上位機系統(tǒng)對數(shù)據(jù)進行處理。labview是美國ni公司研發(fā)的一種工業(yè)標準圖形化編程工具,主要用于研發(fā)測試、測量和控制系統(tǒng),它是專門為工程師和科學家而設計的直觀圖形化編程語言。為了使操作人員能夠簡明、直觀地看到手勢識別與控制機器人的全部過程。上位機操作界面主要包括三個部分:手勢數(shù)據(jù)采集區(qū),手勢匹配與機器人控制區(qū),用來顯示手勢數(shù)據(jù)對應的控制指令是否,無線監(jiān)控區(qū)主要作用是實時顯示機器人上攝像機的圖像采集結果,方便操作者實時掌握機器人運動作業(yè)環(huán)境。
如圖4所示為本發(fā)明的數(shù)據(jù)手套結構圖。
數(shù)據(jù)手套由手套部分和外圍分壓電路兩部分組成。其中手套的手指部位由5個flex2.2彎曲傳感器制成,傳感器實質上是一個可變電阻,通過對傳感器進行彎曲來改變表面導電粒子的分布,從而改變電阻。彎曲程度越大,傳感器的電阻值就越大。為了保護好arm控制器和彎曲傳感器不在通電過程中因為電壓過大而損壞,因此設計由n個電阻組成的外圍分壓電路,從而使得arm控制器和彎曲傳感器滿足額定工作電壓。經(jīng)過實驗證明,數(shù)據(jù)手套的使用,不僅在輸入端對操作人員的手勢進行了實時數(shù)據(jù)采集,同時還能提高操作者對采樣機器人控制的靈活度和自由度。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出:對于本技術領域的普
通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進的潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。