基於手勢識別的自動避障小車及其控制裝置和控制方法
2023-12-05 17:26:51
基於手勢識別的自動避障小車及其控制裝置和控制方法
【專利摘要】基於手勢識別的自動避障小車,涉及人機互動智能圖像信息處理,屬於基於深度相機非接觸式三維虛擬空間領域和雙目立體視覺領域,其車體前部設置分開的兩個攝像頭,車體內部設置包含單片機的下位機,車體安置兩個無線wifi模塊,一個無線wifi模塊連接一個攝像頭,車體還安置一個藍牙模塊,兩個小車後輪分別連接著一個精密直流電機。上述自動避障小車的控制裝置,其深度體感相機連接上位機,上位機設置串口藍牙和一個無線wifi模塊。本發明通過手勢控制小車並繪製地圖,在自動運行模式下實現小車自動避障,利用自動控制、網絡通信和圖像處理技術,操作方便,適合在危險環境下檢查周圍環境是否有危險和在障礙物多的地形下進行搬運工作。
【專利說明】基於手勢識別的自動避障小車及其控制裝置和控制方法
【技術領域】
[0001]本發明涉及人機互動智能圖像信息處理,屬於基於深度相機非接觸式三維虛擬空間領域和雙目立體視覺領域,具體涉及一種基於手勢識別的自動避障小車及其控制裝置和控制方法。
【背景技術】
[0002]在現在計算機普遍智能化的時代,人機互動智能圖像信息處理已成為計算機視覺領域的重要應用。自上世紀90年代PC出現以來,人機互動這門交叉綜合學科,已成為用戶體驗的主流研究技術,體感交互模式的出現讓人機互動技術進入一個新時代。隨著用戶對層出不窮的移動智能設備的剛性需求,智能圖像處理愈趨向龐大複雜的數據處理及多功能應用發展,由此為人機互動平臺帶來了更大的挑戰與機遇。現在,計算機處理的交互信息量越來越龐大,促使日漸高效、穩定、實時的新型交互技術飛速發展。現代交互技術主要分為語言識別技術和身體語言識別技術,其中手勢識別是身體語言識別技術的重要分支技術。
[0003]隨著科學技術的發展,移動機器人的應用領域越來越廣泛,同時對人類生產和生活帶來了重大影響。視覺作為機器人獲取周圍環境信息的重要手段,以信息量大為特點,對移動機器人自動導航和自動避障具有重要意義。避障小車有通過類似紅外傳感器實現硬體避障,但是這種避障方式只能在近距離避障,而且判斷不準確。而雙目視覺通過視差獲取周圍環境的三維點雲,可以精確得到障礙物離小車的距離,障礙物的左右邊距,可以為自動導航和自動避障提供很好的可行性方案。
【發明內容】
[0004]本發明所要解決的技術問題是提供一種基於深度相機的手勢控制小車並繪製地圖,並能在自動運行模式下實現小車自動避障的算法及裝置,該裝置能有效以多種操作方式控制小車,並能自動避開障礙物,識別出地形並繪製地圖。該裝置利用自動控制技術、網絡通信技術、圖像處理技術,操作方便,且能繪製出地圖和小車此時在地圖中的坐標位置,適合在危險環境下檢查周圍環境是否有危險和障礙物多的地形下搬運工作。
[0005]基於上述,本發明的第一個目的是提供一種基於手勢識別的自動避障小車。
[0006]本發明的基於手勢識別的自動避障小車,包括車體和輪子,其車體前部設置分開的兩個攝像頭,車體內部設置包含單片機的下位機,車體安置兩個無線wifi模塊,一個無線wifi模塊連接一個攝像頭,車體還安置一個藍牙模塊,兩個小車後輪分別連接著一個精密直流電機。
[0007]小車上的無線wifi模塊將攝像頭獲取的視頻信號,通過編碼發送到上位端,上位機通過wifi熱點連結到wifi模塊,上位機再去解碼,並讀取視頻,再做後面的視頻處理過程。
[0008]由於有兩個wifi模塊,有兩個熱點,所以通過網口線,將兩個wifi模塊連起來,這樣上位機只需連接一個熱點,就可獲取兩路視頻信號。這種方案有利於簡化結構。[0009]小車上除了兩個攝像頭,兩個wifi模塊,還有一個藍牙模塊,負責小車運動控制信號的傳輸。
[0010]兩個攝像頭是分開的,他們各自獲取各自的視頻圖像,通過圖像處理的方法,具體就是雙目視覺的方法,獲取深度圖,這個深度圖是實時移動的,因為小車在移動,獲取的深度圖是為了做自動避障。
[0011]本發明中,單片機優選Atmegal28 AVR單片機。
[0012]本發明的第二個目的是提供上述自動避障小車的一種控制裝置。
[0013]上述自動避障小車的控制裝置,其深度體感相機連接上位機,上位機設置串口藍牙和一個無線wifi模塊。
[0014]作為優選,深度體感相機選用Kinect體感相機。
[0015]本發明的第三個目的是提供上述自動避障小車的一種控制方法。
[0016]上述自動避障小車的控制方法,使用上述所述的控制裝置,在上位機中配置opencv和openni庫,上位機安裝地圖繪製算法、手勢識別算法、自動避障算法,手勢識別算法存儲手掌平面參數,在上述所述的自動避障小車下位機中安裝自動避障算法,然後按照下述步驟:
步驟I):將上位機的藍牙與車體藍牙配對,連接上位機的無線wifi與車體的無線wifi ;
步驟2):發出手勢。
[0017]本發明所述手勢包括:
手勢5:為停車手勢,表示小車立即停止,等待新的手勢;
手勢O:為進入手動控制模式手勢,移動該手勢到合適的位置,小車做相應的移動;同時也是進入手勢控制狀態的手勢,只有檢測到手勢O後,手勢5或者手勢2才會進入算法中進行判斷;
手勢2:為進入自動控制模式手勢,小車按照程序自行移動。
[0018]所述手勢識別算法中,手勢通過kinect獲取,在上位機中獲取到圖像後,通過openni和opencv結合的方法,具體通過深度閾值獲取手勢(這是openni的功能),通過手勢圖像中凹凸點個數和最小hu矩方法,匹配手勢(這是用到了 opencv的方法),手勢識別完以後,只需要發出手勢對應的藍牙輸出信號給下位機控制即可。
[0019]當手勢O進行移動,並超過移動最小距離3cm時,即進行判斷移動方向,根據移動方向,藍牙輸出對應的控制信號。移動方向有以下四種:前進,後退,左拐,右拐。當手勢偏離這幾個正對方向時,計算向哪邊的趨勢多,並輸出對應控制信號。當檢測到手勢5時,小車立即停止。也可通過手勢5移動手到適合kinect檢測的位置。當檢測到手勢2時,小車進入自動控制模式,小車通過自動避障,進行運動。當再次檢測到手勢5時,停止自動控制模式,並進入手動控制模式。
[0020]這裡,手勢深度信息的閾值範圍控制在70cm?80cm ;
利用三維點雲的計算公式得到手勢點雲,然後對手勢點雲做數據篩選;
具體過程是:通過深度體感相機獲取實時的深度圖像和RGB彩色圖像,利用Openni對圖像中人體進行用戶定位和骨骼跟蹤,根據人體跟蹤的骨骼關節信息提取出目標手勢的關節點; 對手關節點進行跟蹤預測定位。設定以手關節點為中心的合適手勢區域範圍,同時設定手勢深度信息的閾值,結合場景深度圖像將手勢從背景圖像中分割出來,實時得到目標手勢的深度信息和RGB彩色信息。
[0021]對分割後的手勢深度信息和RGB彩色信息,利用三維點雲的計算公式得到手勢點雲,計算後的點雲數據只包括點的三維坐標位置信息,然後對手勢點雲做數據篩選,濾除掉手勢中的噪聲幹擾點。
[0022]根據手勢幾何模型,找到手勢的最外輪廓,對比保存的手掌平面參數,利用最小hu矩法計算提取出手指輪廓的hu矩,將計算出的hu矩與模板的hu矩進行匹配,識別最相近的手勢hu矩值。
[0023]所述地圖繪製算法中,下位機的單片機通過外部中斷,獲取小車後輪轉動產生的脈衝,並通過定時中斷判斷小車脈衝數是否到達指定脈衝;
小車用紅點標註,地圖原點為小車初始放置的位置,上位機檢測到更新數據後重新標註小車紅點坐標;
上位機讀取下位機傳送的電腦視頻流,並做雙目視差處理,獲取圖像視差,用視差圖得到空間點雲,將空間點雲中低於15cm的點雲設為地面,高於15cm低於IOOcm的物體作為障礙物;
判別I軸低於15cm的為地面,提取從地面點集的外輪廓進行地圖繪製,即為小車經過的外界地形。
[0024]具體過程是:通過小車後輪兩個精密直流電機,可以精確控制小車走的距離,量出小車輪子的直徑(小車輪子直徑是通過買來時廠家提供的技術參數獲得),由此可以精確計算小車自行距離和轉彎角度。
[0025]由直流電機技術和小車後輪參數可知,小車後輪轉一圈,直流電機會產生650個脈衝,所以要使小車轉的角度對應的脈衝數=Θ *360/650,小車直行的距離d=脈衝數*2n*R/650。下位機的AVR單片機通過外部中斷,獲取小車脈衝,並通過定時中斷判斷小車脈衝數是否到達指定脈衝。通過計算出的轉的角度和自行距離,距離和轉的角度發送到上位機,上位機檢測到更新數據後重新標註小車紅點坐標。
[0026]上位機讀取下位機傳到電腦視頻流,將兩個攝像頭獲取的視頻先做雙目標定,再做立體矯正,獲取圖像視差,用視差圖得到空間點雲。
[0027]上述的自動避障算法中,判別y軸高於15cm,低於IOOcm的為障礙物,提取障礙物點集,判斷z軸距離和X軸最左最右距離進行自動避障。
[0028]本發明中,控制裝置中的深度體感相機獲取人發出的手勢,上位機識別手勢,通過藍牙傳輸至下位機,下位機控制小車進行運動。同時下位機實時地將小車坐標通過藍牙傳至上位機,上位機實時更新地圖,小車的攝像頭採集到的視頻流通過wifi傳輸到上位機,上位機進行雙目視差圖像處理,獲取雙目圖像視差,用視差圖得到空間點雲,將點雲中低於15cm的點雲設為地面,將高於15cm低於IOOcm的物體作為障礙物,將低於15cm的點集之中最外層的點畫在地圖上,即為小車經過的外界地形。小車的下位機判別y軸高於15cm,低於IOOcm的障礙物,提取障礙物點集,判斷z軸距離和X軸最左最右距離,控制小車在自動控制模式下進行自動避障。【專利附圖】
【附圖說明】
[0029]圖1是本發明的手勢控制過程圖;
圖2是手勢5的手勢圖;
圖3是手勢O的手勢圖;
圖4是手勢2的手勢圖。
【具體實施方式】
[0030]基於手勢識別的自動避障小車,包括車體和輪子,其車體前部設置分開的兩個攝像頭,車體內部設置包含單片機的下位機,車體安置兩個無線wifi模塊,一個無線wifi模塊連接一個攝像頭,車體還安置一個藍牙模塊,兩個小車後輪分別連接著一個精密直流電機。
[0031]通過網口線,將兩個wifi模塊連起來。
[0032]單片機優選Atmegal28 AVR單片機。
[0033]上述自動避障小車的控制裝置,其深度體感相機連接上位機,上位機設置串口藍牙和一個無線wifi模塊。
[0034]深度體感相機選用Kinect體感相機。
[0035]見圖1。上述自動避障小車的控制方法,使用上述的控制裝置,在上位機中配置opencv和openni庫,上位機安裝地圖繪製算法、手勢識別算法、自動避障算法,手勢識別算法存儲手掌平面參數,在自動避障小車下位機中安裝自動避障算法,然後按照下述步驟:
步驟I):將上位機的藍牙與車體藍牙配對,連接上位機的無線wifi與車體的無線wifi ;設置小車上兩個無線wifi模塊的物理地址,模塊I的物理地址為192.168.1.1,模塊2的物理地址為192.168.1.2。通過網口線,將兩個wifi模塊連起來。
[0036]步驟2):發出手勢。
[0037]見圖疒圖4。手勢5:為停車手勢,表示小車立即停止,等待新的手勢;
手勢O:為進入手動控制模式手勢,移動該手勢到合適的位置,小車做相應的移動;同時也是進入手勢控制狀態的手勢,只有檢測到手勢O後,手勢5或者手勢2才會進入算法中進行判斷;
手勢2:為進入自動控制模式手勢,小車按照程序自行移動。
[0038]所述手勢識別算法中,手勢通過kinect獲取,在上位機中獲取到圖像後,通過openni和opencv結合的方法,具體通過深度閾值獲取手勢(這是openni的功能),通過手勢圖像中凹凸點個數和最小hu矩方法,匹配手勢(這是用到了 opencv的方法),手勢識別完以後,只需要發出手勢對應的藍牙輸出信號給下位機控制即可。
[0039]當手勢O進行移動,並超過移動最小距離3cm時,即進行判斷移動方向,根據移動方向,藍牙輸出對應的控制信號。移動方向有以下四種:前進,後退,左拐,右拐。當手勢偏離這幾個正對方向時,計算向哪邊的趨勢多,並輸出對應控制信號。當檢測到手勢5時,小車立即停止。也可通過手勢5移動手到適合kinect檢測的位置。當檢測到手勢2時,小車進入自動控制模式,小車通過自動避障,進行運動。當再次檢測到手勢5時,停止自動控制模式,並進入手動控制模式。
[0040]這裡,手勢深度信息的閾值範圍控制在70cm?80cm ; 利用三維點雲的計算公式得到手勢點雲,然後對手勢點雲做數據篩選;
具體過程是:通過深度體感相機獲取實時的深度圖像和RGB彩色圖像,利用Openni對圖像中人體進行用戶定位和骨骼跟蹤,根據人體跟蹤的骨骼關節信息提取出目標手勢的關節點;
對手關節點進行跟蹤預測定位。設定以手關節點為中心的合適手勢區域範圍,同時設定手勢深度信息的閾值,結合場景深度圖像將手勢從背景圖像中分割出來,實時得到目標手勢的深度信息和RGB彩色信息。
[0041]對分割後的手勢深度信息和RGB彩色信息,利用三維點雲的計算公式得到手勢點雲,計算後的點雲數據只包括點的三維坐標位置信息,然後對手勢點雲做數據篩選,濾除掉手勢中的噪聲幹擾點。
[0042]根據手勢幾何模型,找到手勢的最外輪廓,對比保存的手掌平面參數,利用最小hu矩法計算提取出手指輪廓的hu矩,將計算出的hu矩與模板的hu矩進行匹配,識別最相近的手勢hu矩值。
[0043]所述地圖繪製算法中,下位機的單片機通過外部中斷,獲取小車後輪轉動產生的脈衝,並通過定時中斷判斷小車脈衝數是否到達指定脈衝;
小車用紅點標註,地圖原點為小車初始放置的位置,上位機檢測到更新數據後重新標註小車紅點坐標;
上位機讀取下位機傳送的電腦視頻流,並做雙目視差處理,獲取圖像視差,用視差圖得到空間點雲,將空間點雲中低於15cm的點雲設為地面,高於15cm低於IOOcm的物體作為障礙物;
判別I軸低於15cm的為地面,提取從地面點集的外輪廓進行地圖繪製,即為小車經過的外界地形。
【權利要求】
1.基於手勢識別的自動避障小車,包括車體和輪子,其特徵在於:車體前部設置分開的兩個攝像頭,車體內部設置包含單片機的下位機,車體安置兩個無線Wifi模塊,一個無線wif i模塊連接一個攝像頭,車體還安置一個藍牙模塊,兩個小車後輪分別連接著一個精密直流電機。
2.根據權利要求1所述的自動避障小車,其特徵在於:單片機選用Atmegal28AVR單片機。
3.根據權利要求1所述的自動避障小車,其特徵在於:兩個無線wifi模塊通過網口線連接。
4.權利要求1的基於手勢識別的自動避障小車的控制裝置,其特徵在於:深度體感相機連接上位機,上位機設置串口藍牙和一個無線wifi模塊。
5.根據權利要求4所述的控制裝置,其特徵在於:深度體感相機選用Kinect體感相機。
6.權利要求1所述的基於手勢識別的自動避障小車的控制方法,其特徵在於:使用權利要求4所述的控制裝置,在上位機中配置opencv和openni庫,上位機安裝地圖繪製算法、手勢識別算法、自動避障算法,手勢識別算法存儲手掌平面參數,在權力要求I所述的自動避障小車下位機中安裝自動避障算法,然後按照下述步驟: 步驟I):將上位機的藍牙與車體藍牙配對,連接上位機的無線wifi與車體的無線wifi ; 步驟2):發出手勢。
7.根據權利要求6所述的控制方法,其特徵在於:所述手勢包括: 手勢5:為停車手勢,表示小車立即停止,等待新的手勢; 手勢O:為進入手動控制模式手勢,移動該手勢到合適的位置,小車做相應的移動;同時也是進入手勢控制狀態的手勢,只有檢測到手勢O後,手勢5或者手勢2才會進入算法中進行判斷; 手勢2:為進入自動控制模式手勢,小車按照程序自行移動。
8.根據權利要求6所述的控制方法,其特徵在於:所述手勢識別算法中, 涉及手勢深度信息的閾值範圍控制在70cm~80cm ; 涉及利用三維點雲的計算公式得到手勢點雲,然後對手勢點雲做數據篩選; 涉及根據手勢幾何模型,找到手勢的最外輪廓,對比保存的手掌平面參數,利用最小hu矩法計算提取出手指輪廓的hu矩,將計算出的hu矩與模板的hu矩進行匹配,識別最相近的手勢hu矩值。
9.根據權利要求6所述的控制方法,其特徵在於:所述地圖繪製算法中, 涉及下位機的單片機通過外部中斷,獲取小車後輪轉動產生的脈衝,並通過定時中斷判斷小車脈衝數是否到達指定脈衝; 涉及小車用紅點標註,地圖原點為小車初始放置的位置,上位機檢測到更新數據後重新標註小車紅點坐標; 涉及上位機讀取下位機傳送的電腦視頻流,並做雙目視差處理,獲取圖像視差,用視差圖得到空間點雲,將空間點雲中低於15cm的點雲設為地面,高於15cm低於IOOcm的物體作為障礙物;涉及判別I軸低於15cm的為地面,提取從地面點集的外輪廓進行地圖繪製,即為小車經過的外界地形。
10.根據權利要求6所述的控制方法,其特徵在於:自動避障算法中,涉及判別y軸高於15cm,低於IOOcm的為障礙物,提取障礙物點集,判斷z軸距離和x軸最左最右距離進行自動避障。
【文檔編號】G05D1/02GK103955215SQ201410149890
【公開日】2014年7月30日 申請日期:2014年4月15日 優先權日:2014年4月15日
【發明者】張彤, 蘆愛餘, 莫建文, 劉鵬, 袁華, 陳利霞, 首照宇, 歐陽寧, 趙暉 申請人:桂林電子科技大學, 桂林宇輝信息科技有限責任公司