







摘" 要:針對露天礦區用于物料運輸的礦車控制需求,設計一種基于手勢識別的礦車智能控制系統。首先,通過配有加速度傳感器的數據手套采集手勢數據,經藍牙模塊實現信息的無線傳輸,再利用微控制器ATmega328P實現控制信息的分析和處理,采用PID控制算法得出礦車的電機轉動參數,從而實現對礦車車輪的控制。同時,設計以樹莓派4B為主控,搭載有LCD顯示器、揚聲器、麥克風和攝像頭等模塊的系統,用以實現音視頻的實時互傳等功能。實驗結果表明,該系統能根據手勢的變化對礦車的行駛進行準確地控制,具有十分可觀的應用前景。
關鍵詞:礦車智能控制;手勢識別;MPU6050;數據手套;軌跡追蹤
中圖分類號:TP183" " " 文獻標志碼:A" " " " "文章編號:2095-2945(2024)09-0033-05
Abstract: Aiming at the driving control needs of mine cars used for material transportation in open pit mining areas, an intelligent driving control system for mine cars based on gesture recognition is designed. Firstly, the hand gesture data is collected by the data glove equipped with acceleration sensor, the wireless transmission of information is realized by the Bluetooth module, and then the Microcontroller ATmega328P is used to realize the analysis and processing of the control information, and the PID control algorithm is used to derive the motor rotation parameter of the mine car, so as to realize the control of the wheels of the mine car. At the same time, a system with Raspberry Pi 4B as the main control and equipped with modules such as LCD monitor, speaker, microphone, camera, etc. is designed to realize real-time audio and video intercommunication and other functions. The experimental results show that this system can accurately control the traveling of the mine car according to the change of hand gestures, which has a very promising application prospect.
Keywords: intelligent control of mine car; gesture recognition; MPU6050; data glove; trajectory tracking
礦車是礦區中進行物料運輸的重要設備,且大型露天礦區場地空曠,運輸路線較為單一,此場景下十分適合應用車輛的智能控制技術[1]。手勢作為一種重要的肢體語言在人類社會中長期存在,并具有簡單直接、高效清晰、內容豐富等特點,這使得手勢識別技術在車輛智能控制領域得到了廣泛應用。當駕駛員控制汽車時,除使用方向盤和操縱桿外還能通過車內的攝像頭實時監控虛擬控制面板進行控制[2]。
近年來,國內外學者在研究基于可穿戴式傳感器的手勢識別技術方面取得了初步成果。為提升手勢識別的準確性,Jian等[3]設計了一種基于可穿戴運動傳感器的手勢識別設備,并探索了一種與方位無關的動態手勢識別方法;范浩等[4]研制了一種基于STM32和MPU6050的姿態控制系統,并采用了二階互補濾波的新型濾波方法,實現了高質量的姿態控制效果。本文設計了一種基于手勢識別的礦車智能控制系統,實現了手勢信息的交互以及礦車行駛狀態的智能控制。通過加速度傳感器、微控制器ATmega328P與一系列模塊的結合,設計了數據手套這一可穿戴傳感器設備,將傳感器布置在數據手套的關節部位,能將使用者的手部動作攜帶的空間數據信息、加速度信息、指關節彎曲程度準確發送給數據處理設備,通過對采集到的數據設計相應模型完成手勢動作的識別,從而達到使用手勢動作控制車輛行駛狀態的目的。
1" 系統總體設計
本文設計的手勢控制系統主要分為3個模塊:手勢控制模塊、驅動控制模塊、實時顯示模塊。驅動控制模塊是礦車的重要組成部分,也是其能夠正常接受目標指令運行的基礎,包括微控制器 ATmega328p(Arduino UNO)、無線通信芯片BT24等。手勢控制模塊內部集成有微控制器ATmega328p和六軸陀螺儀MPU6050等,使用藍牙協議實現與礦車實時雙向無線通信功能,通過微控制器對手部姿態數據的解算,進一步控制礦車的行駛。實時顯示模塊是安裝在礦車結構上的額外模塊,以樹莓派4B作為主控,搭載有LCD顯示器、揚聲器、麥克風和攝像頭等模塊,用以實現音視頻實時互傳等功能,系統硬件設計框圖,如圖1所示。
2" 驅動控制
本設計基于Arduino Uno平臺,采用蓋板的設計將擴展板安裝至上方,可滿足主控芯片和其他各個部件之間的連接需求。驅動控制模塊以ATmega328p微控制器為主控,負責電機的驅動、數據分析、傳感器數據獲取等,此外控制板擁有USB接口可與上位機連接用于燒寫固件以及回傳測試數據等。BT24藍牙芯片以UART形式與主控連接,負責接收手勢控制模塊發出的控制信號并將控制信息發送給主控進行處理,驅動模塊硬件設計框圖,如圖2所示。
2.1" 電機控制
電路中每組編碼器分別與MCU的2個IO口相連,直接將IO口作為輸入就可以監測編碼器的工作狀態以及獲得相應的運動數據。每組編碼器電機模塊包含一個直流電機和一個AB相正交編碼器,直流電機的速度可由輸入電壓控制,也可短接正負極實現剎車功能。AB相正交編碼器是一種常用的旋轉角度測量器件,可以通過檢測旋轉軸的旋轉方向和轉動的角度,輸出相應的電信號。其是由A相和B相2個信號相互垂直組成的,A相和B相之間的相位差為90°,也被稱為正交信號,編碼器的工作原理圖,如圖3所示。
在AB相正交編碼器中,A相和B相的信號由傳感器組件產生,并經過信號調理電路進行處理。當旋轉軸轉動時,A相和B相的信號會按照一定規律變化,通過解碼器可以將這些信號轉換成相應的角度值。在使用AB相正交編碼器進行角度測量時,通常需要一個起始位置的參考點。這個參考點可以是編碼器自帶的零點或者通過另外一種信號源(如限位開關)進行定義。在旋轉軸轉動過程中,通過對A相和B相的信號進行計數和解碼,可以精確測量旋轉軸的角度,同時可以進行速度與加速度的測量。
2.2" 軟件設計
當系統進行初始化時,BT24藍牙芯片自動進入被動接收狀態等待發送端芯片匹配連接以節省功耗,主控MCU在完成初始化后進入循環待命狀態,默認不進行任何動作,直到接收到有效命令;通過藍牙芯片接收手勢控制模塊發送過來的指令后,解析指令,讀取編碼器傳來的實時速度,計算電機速度,待計算完成后發送控制指令,通過帶動電機旋轉使車輪運動;最后,判斷車輪是否完成指定動作達到預期狀態。驅動控制部分軟件設計流程圖,如圖4所示。
3" 手勢識別
手勢控制模塊選取ATmega328P作為主控MCU,主要傳感器為電位器及MPU6050陀螺儀,主控MCU接收傳感器發送的數據信息,將姿態解算后將控制命令編輯為數據包通過HC08藍牙芯片發送給小車驅動模塊,以此實現手勢控制功能。手勢控制模塊硬件設計框圖,如圖5所示。
3.1" 電位器組件設計
每組電位器組件結構包括3個部件:指套、轉接板和電位器。這些部件通過硬性支撐桿連接在一起,形成一個完整的傳感器模塊。當手指的第一關節在垂直方向上旋轉時,指套部件會上下移動,將這種垂直旋轉轉化為水平方向上的平移。轉接板部件位于指套和電位器之間,起到傳遞力的作用,將指套上下運動的力轉換為水平方向上的力,從而使電位器可以讀取水平方向上的旋轉角度。本設計通過檢測使用者的手勢動作帶來的電位器狀態變化從而獲取攜帶手勢動作信息的電位器數據,實現對車輪的控制,在降低傳感器設計成本的同時,還可以提高系統的精度和可靠性。
3.2" MPU6050傳感器設計
MPU6050以I2C方式與主控芯片相連,是一款集成了三軸加速度計和三軸陀螺儀的慣性測量單元(Inertial Measurement Unit,簡稱IMU),具有低功耗、高精度的優點,能夠輸出角速度、加速度和溫度等數據。支持多種采樣率和測量范圍的配置,能夠滿足不同應用場景的要求。此外,MPU6050還具有內置的運動檢測和姿態估計算法,能夠實現自動檢測和跟蹤運動狀態。MPU6050的硬件設計采用了MEMS(微機電系統)技術,利用微小的機械結構和電子器件來實現運動測量和控制。其加速度計和陀螺儀都采用了微型壓電晶體振蕩器(MEMS Gyroscope)技術,實現數據處理和計算的同時能夠提高系統的精度和靈敏度。
3.3" 數據預濾波
對獲取的加速度和角速度數據進行濾波和檢測時,滑動窗口法[5]、閾值檢測法[6]等方法的應用最為廣泛。滑動窗口法對于滑動窗口的長度以及重疊部分的長度的選擇有嚴格的要求,長度過長或過短都有可能影響到手勢識別結果的判定;閾值檢測法則需要去除微小抖動的干擾,防止將抖動誤判為一個真實手勢。除此之外,還可以采用有限幅濾波算法、中值濾波算法、算術平均濾波算法、加權平均濾波算法和滑動平均濾波算法等。其中,有限幅濾波算法、中值濾波算法比較適合處理因偶然因素而引起的干擾,但是傳感器噪聲有可能是周期性的,且速度變化較快。因此,有限幅濾波、中值濾波并不適合應用于本設計,而算術平均濾波和滑動平均濾波難以消除偶然的脈沖干擾引起的誤差,去極值平均濾波算法[7]更適用于出現脈沖嚴重的情況。基于以上考慮,本設計采用了既適合濾除隨機干擾又能夠有效去除明顯脈沖的去極值平均濾波算法,得到了很好的平滑效果。
3.4" 手勢解算
在完成濾波后,需要將數據減去在初始化階段獲得的校準值以得到盡可能準確的數據,對于加速度還需要除以重力加速度的數據以轉化為重力加速度的倍數值。最后分別互補計算x軸和y軸的傾角,采用互補濾波算法結合加速度計和陀螺儀數據,以獲得更準確的手勢姿態解算。
首先使用atan2函數計算x軸方向上的傾角,atan2函數的定義如下所示可以計算在x軸上的傾角為θacc=atan2(ay,az),再根據陀螺儀獲得的加速度數據通過積分計算出角度的變化量為θe=?gxdt(其中gx為加速度值),由此可以計算出在x軸上的旋轉角度為θgyro=θgyro_last+θe(θgyro、θgyro_last分別為陀螺儀旋轉前后的角度值),最終使用互補濾波算法結合加速度和角速度的數據計算得到最終的傾角,即θ=α*θacc+(1-α)*θgyro,其中,α是互補濾波的權重系數,通常取值范圍在0到1之間。其控制了加速度計和陀螺儀在姿態估計中的權重,較大的α值會使加速度計在手勢解算中的影響更大,較小的α值會使陀螺儀的角度估計更加顯著。
手勢解算結果由伸出手指的種類以及手掌的水平及垂直傾角決定,手勢動作和控制命令對應關系見表1。
在完成手勢解算后,程序將手勢對應的控制命令和速度控制值封裝成數據包,再由串口發送給藍牙芯片HC08,最后由HC08將命令發送至小車驅動模塊。
4" 系統測試
按要求佩戴好數據手套,上電并完成初始化動作,此時藍牙指示燈未亮起,表明正在等待連接。將動力電池組連接至驅動模塊,并平放在平整地面上,此時驅動模塊上的藍牙芯片和手勢控制模塊上的藍牙指示燈同步閃爍,則表明連接成功。
使用者按照圖6的方式佩戴數據手套,接下來伸出右手的食指和中指,微微向上抬起,可以看到車以較慢的速度直線前進,慢慢增加抬起的幅度,則車的運動速度也隨之增加。如果運動軌跡始終為直線,則表明該動作測試完成。同理,完成其他所有動作的控制測試,如果所有動作都能正常識別且能夠完成對速度的控制,則表明手勢控制環節一切正常,系統通過測試。
將移動電源連接至樹莓派4B上,進入Ubuntu系統,啟動遠程視頻軟件以及軌跡追蹤功能,在上位機上啟動遠程視頻軟件并開啟會話,最終可以成功在上位機上獲得車攝像頭的視頻音頻信息及車運動軌跡追蹤的信息,表明功能測試正常。
5" 結束語
手勢是人類社會長期存在的重要肢體語言,具有簡單、直接、高效和內容豐富的特點。手勢識別技術要求用戶佩戴具有傳感器的機械裝置,傳感器將人與機器進行連接,采集數據信息,并將信息傳遞給計算機進行分析和處理,最終得到我們想要的結果。由于計算機結果的分析處理過程對其應用環境有嚴格要求,且耗費更多的人力物力,因此,不適用于礦區這樣的簡陋露天環境。本文將傳統的手勢識別技術與一系列數據處理及無線通信模塊相結合,設計了一套完整的基于手勢識別的礦車智能控制系統,使用者通過佩戴數據手套作出手勢動作來實現手勢控制及音視頻的實時互傳等功能,具有單手控制、易于操作、擴展性強等優點,有著十分重要的應用價值。
參考文獻:
[1] 李凡.無人駕駛礦車自適應模型預測控制方法研究[D].西安:長安大學,2019.
[2] 何鑫.購物小車的手勢識別方法研究[D].哈爾濱:哈爾濱理工大學,2019.
[3] JIAN W,ROOZBEH J.Orientation Independent activity/gesture recognition using wearable motion sensors[J].IEEE internet of things journal,2019,6(2):1427-1437.
[4] 范浩,徐龍,賴福明,等.基于STM32和MPU6050的姿態控制系統[J].電子元器件與信息技術,2020,4(2):74-75,86.
[5] HUANG Y, ENGLEHART K B, HUDGINS B, et al. A gaussian mixture model based classification scheme for myoelectric control of powered upper limb prostheses[J].IEEE Transactions on Biomedical Engineering,2005,52(11):1801-1811.
[6] SMITH L H, HARGROVE L J, LOCK B A, et al. Determining the optimal window length for pattern recognition-based myoelectric control: balancing the competing effects of classification error and controller delay[J].IEEE transactions on neural systems and rehabilitation engineering,2010,19(2):186-192.
[7] 吳桐.基于彈性傳感器的手勢識別技術研究[D].哈爾濱:哈爾濱工業大學,2021.
基金項目:遼寧省科學技術計劃項目(2021JH1/10400011)
第一作者簡介:鮑喜榮(1978-),男,博士,講師。研究方向為數字信號處理、嵌入式系統技術。
通信作者:武祎雪(2001-),女,碩士研究生。研究方向為數字信號處理。