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