基于OpenMV機器視覺模塊進行目標識別算法的研究。利用圖像的濾波、二值化等算法對攝像頭采集的圖像進行預處理;利用邊緣檢測和形狀識別算法獲得引導線的路線信息,擬合計算得到無人機正面方向與地面軌道路線的轉向角度; 將該角度數據傳輸給STM32控制無人機實現尋跡行駛。
本文源自《電子世界》 2020年第4期175-176,共2頁《電子世界》雜志由中國電子學會主辦,創刊于1979年,讀者遍及全國30個省、市、自治區。本刊全方位推崇E時代大眾電子科學意識,傳播電子與信息領域的新知識、新技術,發表最新科研成果和展示技術進展狀況,始終注重扶持學術新人,尤其關注廣大青年科技工作者,優先發表理工科青年教師和研究生中的優秀學術稿件。
目前自動循跡無人機的研究取得了極大的發展,我們研制了一種基于openMV的自動循跡無人機。其主要功能是實現針對地面上的黑線自主飛行。循跡無人機是一個集有環境感知、規劃決策、自主飛行等功能于一身的光機電一體化系統(劉杰,蔣沁宏,基于OpenMV的尋的賽車,電子技術與軟件工程,2018年第14期)。目前,循跡無人機已在許多行業得到廣泛應用。本文利用 OpenMV機器視覺模塊進行圖像采集與處理,通過 STM32模塊控制無人機實現自主循跡飛行。
1 控制工作原理分析
1.1 OpenMV
OpenMV是一個開源,低成本,功能強大的機器視覺模塊。以STM32F427CPU為核心,集成了OV7725攝像頭芯片,在小巧的硬件模塊上高效地實現了核心機器視覺算法,提供Python編程接口。OpenMV采用的STM32F427擁有豐富的硬件資源,可用于擴展UART,I2C,SPI, PWM,ADC和 GPIO等接口。帶有Micro Python解釋器的OpenMV可以提供的Python語言機器視覺,包括尋找顏色,面部檢測,眼睛跟蹤,邊緣檢測等功能。
1.2 STM32
STM32是由意法半導體推出的一款基于 ARM Cortex-M 系列內核的高性能32 位單片機。STM32微控制器包括一系列 32位產品,集高性能、實時功能、數字信號處理、低功耗與低電壓操作等特性于一身。
1.3 無人機整體結構
該循跡無人機控制部分采用STM32為主控芯片,以飛控模塊、OpenMV模塊、動力模塊構成硬件系統。數字攝像頭將無人機采集的圖像信息傳給OpenMV模塊進行處理,將無人機控制在合理運動速度內。經過一系列算法,輸出無人機應該移動的距離, 通過串口通訊,將控制信息傳輸給STM32 主控板, 控制電機速度。整體結構圖如圖1所示。
2 系統軟件設計
2.1 圖像預處理
圖像采集或傳輸過程產生噪聲干擾直接影響了后面我們的分析,改善圖像數據,抑制不需要的變形或者增強某些對后續處理重要的圖像特征,要求我們在對圖像進行識別與檢測時要對采集的圖像進行預處理。
2.1.1 圖像灰度化
圖像灰度化的處理就是對這個像素點矩陣的操作,只要在這個像素點矩陣中找到這個像素點的位置,灰度圖像上每個像素的顏色值又稱為灰度,指黑白圖像中點的顏色深度。所謂灰度值是指色彩的濃淡程度,灰度直方圖是指一幅數字圖像中,對應每一個灰度值統計出具有該灰度值的象素數,也即灰度值,在OpenMV視覺模塊中包含灰度化的算法函數。
2.1.2 圖像濾波
噪音,這主要由于平時的工作和環境引起的,圖像濾波可以在保證細節的情況下對目標圖像的噪聲進行抑制,是圖像預處理中不可缺少的操作。
2.2 直線尋跡識別
巡線時,采用擬合識別條紋邊緣方法,使用簡單角度和距離的計算方法。返回條紋底色邊界線的擬合直線,此函數的計算結果為擬合直線距離畫面左邊界距離和中心線的偏離角度。當檢測到條紋邊界的時候,會計算擬合出條紋邊界的直線。
由OpenMV采集的圖像經圖像濾波后,對圖像進行色塊檢測(張毅,高進可,王琪 等,視覺導引智能車的自適應路徑識別及控制研究,測控技術, 2017年第11期23頁)和二值化圖像處理,尋找到引導線,之后對引導線進行回歸處理(劉義亭,董夢超 等,基于OpenMV的目標跟蹤系統設計,南京工程學院學報(自然科學版),2019年第 3期),得到該引導線的直線參數,判斷是否匹配到直線,若沒有匹配到,則放棄該幀圖像,返回上一步,取出下一幀圖像;若匹配到了,則計算出該直線與無人機的偏角,轉換成無人機應該轉角的角度。通過串口將對應的數據幀發送給飛控,在飛控端再進行幀格式解析,得出對應的數據后,再進行飛機相應的姿態調整(梅妍玭,傅榮,基于openMV的小車定位系統研究,揚州職業大學學報,2017年第12 期)。程序流程如圖2所示。
2.3 圓點尋跡識別定特定顏色的原點時,運用顏色識別函數返回色塊其中心坐標即可。對于不同的顏色的色塊,需要實地測試得到不同的閾值。這里的返回值為圓點中心坐標、像素大小和標志位(莊瓊云,基于 OpenMV的智能尋跡小車設計與實現,黎明職業大學學報, 2018年第12期)。
3 結束語
基于 OpenMV機器視覺模塊和STM32控制模塊設計了循跡無人機系統,并研究目標識別算法。利用邊緣檢測和形狀識別算法得到的路線信息,擬合計算得到路線與無人機正面方向的轉向角度,最后由STM32控制實現了循跡無人機沿引導線快速、穩定地行駛。
基金項目:2019年江蘇省高等學校大學生創新創業訓練計劃項目“基于OpenMV的自主循跡無人機設計”(課題編號:201912920028Y);2017年度院級課題項目“自動重量稀釋儀”(課題編號:NHKY-2017-01)。
作者簡介:吳松元(1998—),男,南京科技職業學院,無人機專業學生;牛宗超(1980—),男,南京科技職業學院,教師。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >