999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenMV視覺模塊和MPU6050角度傳感器的智慧尋路小車

2022-02-17 11:58:30沈中坤徐勁節
電子制作 2022年3期

沈中坤,徐勁節

(南京信息工程大學 電子與信息工程學院,江蘇南京,210000)

0 引言

傳統的智能小車巡線通常采用光電傳感器一類的解決方案,但近年來機器視覺技術的飛速發展,傳統的模擬圖像處理方式升級為嵌入式視覺處理模塊,本課題受此啟發,設計了以OpenMV視覺模塊為主,以MPU6050角度傳感器為輔的小車系統。

1 OpenMV視覺模塊對于復雜道路信息的處理

1.1 基于灰度平均值的十字路口識別方法

1.1.1 灰度平均值識別十字路口的原理

利用OpenMV進行顏色識別與圖像二值化,可以提取圖像中目標顏色并輸出圖像中的灰度平均值。本課題根據此算法識別十字路口。

(1)首先對道路顏色進行識別,道路顏色識別的關鍵在于閾值(THRESHOLD)的選取,其中THRESHOLD=(min L,maxL,minA,minB,maxB),元組里面的數值分別是LAB(L代表明度,A代表從綠色到紅色的分量,B代表從藍色到黃色的分量)的最大值和最小值。根據閾值即可確定需識別的顏色。例如在圖1中,圖1(a)為拍攝的RGB圖像,設定閾值THRESHOLD為(26, 60, 12, 72, -21, 53),該值為紅色閾值,對圖像進行二值化處理,得到黑白效果圖。二值化后的圖像如圖1(b)所示,原圖像中紅色被提取出來。同理,分別設置THRESHOLD為綠色閾值或藍色閾值,對應顏色均可被提取出來。

圖1 道路顏色識別示例

(2)隨后計算圖像的灰度平均值,根據灰度平均值的大小判斷十字路口是否出現在OpenMV拍攝的畫面中。若灰度平均值達到目標值,即對十字路口識別成功,同時根據灰度平均值的大小判斷小車前端到十字路口的距離。灰度平均值的大小與車前端到十字路口的距離關系如圖2所示。當十字路口開始出現在OpenMV拍攝的圖像中時,圖像的灰度平均值會隨著小車前端到十字路口距離的減小逐漸增大,當距離減小到12.5cm時,灰度平均值將達到最大。之后十字路口會在圖像中逐漸消失,同時灰度平均值也逐漸減小至初始值。

圖2 經過十字路口時灰度平均值變化圖

1.1.2 算法設計

設定目標顏色的閾值,提取目標顏色,調用sensou.snapshot().binary()函數,將圖像二值化,調用img.get_statistics()函數返回二值化圖像的灰度平均值。得到灰度平均值后,判斷該值是否在目標范圍內。若在,說明十字路口已出現在圖像中,則可向單片機發送指令。同時,根據灰度平均值的大小判斷小車距離目標十字路口的距離。

1.2 基于泰爾森線性回歸的巡線方法

1.2.1 泰爾森線性回歸巡線方法基本原理

在使用泰爾森線性回歸之前,需先設置目標道路的顏色閾值,將圖像二值化,利用最小二乘法對圖像中所有閾值像素進行線性回歸計算,以達到識別直線的目的。當識別到直線時,使用泰爾森線性回歸算法計算圖像中所有閾值像素的斜率的中位數。之后返回一個直線對象(image.line),由霍夫變換得到該直線的兩個參數,分別為角度值(line.theta)和偏離值(line.rho),將該直線與垂直在畫面中央直線對比,得到角度誤差(theta.error)與偏離誤差(rho.error)。圖3為小車左偏時OpenMV拍攝的道路偏置情況,此時角度誤差為21°,偏離誤差為37mm。

圖3 小車左偏

1.2.2 算法設計

設置目標道路閾值(THRESHOLD),將圖像二值化,調用泰爾森線性回歸函數image.get_regression(),得到目標道路的角度值(line.theta)和偏離值(line.rho),計算角度誤差與偏離誤差。

1.3 基于模板匹配的路標識別方法

1.3.1 模板匹配識別路標的基本原理

模板匹配采用的是歸一化互相關(NCC)算法,該算法將在圖像中找到與目標模板匹配的圖像并返回其位置的邊界框元組(x,y,w,h)。x、y、w、h分別為其位置的左上角的x坐標、左上角的y坐標、寬度和高度。使用模板匹配法可識別與模板圖片大小和擺放角度基本一致的圖案。在本課題中,OpenMV可以識別左轉,右轉和直行的路標,圖4中識別到的是直行路標,直行路標被黑色框框出。式(1)為NCC算法的計算公式,其中I為目標圖像,T為模板圖像,模板大小為m*n。

圖4 路標識別

1.3.2 算法設計

導入左轉、右轉和直行的圖片模板,將OpenMV拍攝的圖像轉為灰度圖,調用ing.find_template()函數,判斷圖像中是否存在與導入模板相匹配的圖像,若存在,判斷是左轉、右轉還是直行。識別成功后傳達指令給MSP430單片機。

2 小車系統

2.1 硬件設計

小車實物圖如圖5所示。小車以MSP430為控制芯片,控制芯片根據OpenMV視覺模塊的指令,執行前進、后退、轉向、停止指令;利用MPU6050角度傳感器控制每次轉向的角度。小車硬件設計示意圖如圖6所示。

圖5 小車實物圖

圖6 小車硬件設計示意圖

2.1.1 轉向舵機

舵機又稱為伺服電機,是一種帶有輸出軸的裝置。向伺服器發送一個控制信號時,輸出軸就可以轉到特定的位置。只要控制信號持續不變,伺服機構就會保持軸的角度位置不改變。如果控制信號發生變化,輸出軸的位置也會相應發生變化。舵機角度是由控制信號脈沖的持續時間決定的,這叫做脈沖編碼調制(PCM)。舵機的控制一般需要一個20ms左右的時基脈沖,該脈沖的高電平部分一般為0.5ms~2.5ms范圍,總間隔為2ms。脈沖的寬度將決定馬達轉動的距離。例如:1.5ms的脈沖,電機將轉向90度的位置(通常稱為中立位置);1.0ms的脈沖,電機將轉45度的位置;2.0ms的脈沖,電機將135度的位置。舵機控制信號由MSP430單片機提供,單片機輸出不同的脈沖可控制舵機轉角。

2.1.2 MPU6050角度傳感器

MPU6050是6軸運動處理傳感器,它集成了 3 軸MEMS陀螺儀,3 軸MEMS加速度計,以及一個可擴展的數字運動處理器DMP。用它可以測得小車x、y、z軸的傾角(俯仰角Pitch、翻滾角Roll、偏航角Yaw)。單片機通過 I2C 讀取到 MPU6050 的六個數據(三軸加速度 AD 值、三軸角速度 AD 值)經過姿態融合后就可以得到 Pitch、Roll、Yaw角。在此課題中,MPU6050用來控制小車每次轉向的角度,因此僅需考慮偏航角。式(2)為MPU6050的偏航角(Yaw)的解算式,其中q0,q1,q2,q3是DMP輸出的四元數。

2.2 算法設計

2.2.1 巡線控制算法

小車巡線的過程中采用PID控制算法。PID即:Proportiona(l比例)、Integra(l積分)、Differentia(l微分)的縮寫。PID控制算法是結合比例、積分和微分三種環節于一體的控制算法,它是連續系統中技術最為成熟、應用最為廣泛的一種控制算法。連續控制系統的理想PID控制規律為式(3),式中 u(t)為PID控制器的輸出信號;e(t)為誤差函數;KP為比例調節系數;KI為積分調節系數;KD為微分調節系數。

在本課題中,巡線時的誤差有角度誤差(theta.error)與偏離誤差(rho.error)。因此我們利用舵機對角度誤差(theta.error)進行修正,利用后輪差速的方法對偏離誤差(rho.error)進行修正。算法實現如下:式(4)中的error為誤差量;total_error為誤差累積量,式(5)中的u為PID算法的輸出。

根據PID算法輸出的結果,調整舵機的轉角和后輪的轉速,實現巡線功能。

2.2.2 轉向控制算法

小車在十字路口轉向時,利用MPU6050角度傳感器控制小車的轉向角度。為了簡化算法我們將傳感器固定在車頭。同樣采用PID控制算法,轉向時誤差量error的表達式為式(7),其中Target_Angle為目標轉向角度,Yaw為實時偏航角,Yaw0為轉向前的偏航角。

2.2.3 整車算法

設定目標道路的顏色閾值,當OpenMV視覺模塊識別到目標道路時,發送啟動指令,MSP430單片機啟動小車,OpenMV持續巡線,保持小車前進方向與道路方向一致。當OpenMV識別到十字路口時,啟動轉向程序,OpenMV開始識別路標,如需轉向,MPU6050角度傳感器將控制小車轉向90°,轉向完成后OpenMV再次識別直線道路,擺正小車姿態,以此循環直至終點。系統算法流程圖如圖7所示,小車行駛示意圖如圖8所示。

圖7 系統算法流程圖

圖8 小車行駛至①號點的示意圖

3 系統測試

小車行駛示意圖如圖8所示,對圖中每個目標點均進行超過30次的測試,測試結果如圖表1所示。

表1 不同目標點的測試結果

由表1可知,小車前往行駛路線較為簡單的目標點時,成功率達到100%,前往所有目標點的成功率均可達到95%。①號點和⑥號點少次失敗的原因為:較短時間內連續轉彎時的系統可能會出現故障??梢酝ㄟ^降低速度來避免。

4 結語

本系統基于OpenMV視覺模塊和MPU6050角度傳感器,實現了巡線功能、十字路口識別功能、路標識別功能。小車采用了簡單普遍的人工智能技術,具有硬件穩定,算法可靠的特點。在全球疫情的大背景下,智慧尋路小車在防疫工作中大有可為,這也是我們研究本課題的初衷。有點遺憾的是在本系統中沒有采用道路顏色閾值自適應的辦法,光線的明暗變化可能造成OpenMV視覺模塊的識別偏差,閾值自適應將會是我們下一階段的研究方向。

主站蜘蛛池模板: 在线观看欧美精品二区| 欧美一区二区丝袜高跟鞋| 欧美日韩精品综合在线一区| 无遮挡一级毛片呦女视频| 日韩福利视频导航| a在线亚洲男人的天堂试看| 国产成人福利在线视老湿机| 精品国产91爱| 国产一级毛片在线| 久久国产拍爱| 日日拍夜夜嗷嗷叫国产| 亚洲日韩精品综合在线一区二区| 97精品久久久大香线焦| 久久99热这里只有精品免费看| 亚洲第一成年网| 91高清在线视频| 国产一区二区精品福利| 国产欧美高清| 久久99热这里只有精品免费看| 蜜芽一区二区国产精品| 色欲色欲久久综合网| 欧美精品H在线播放| 2020最新国产精品视频| 91精品国产自产在线老师啪l| 激情综合婷婷丁香五月尤物| 在线观看免费人成视频色快速| 国产成人免费视频精品一区二区| 国产女人爽到高潮的免费视频| 日本欧美一二三区色视频| 欧美日韩成人| 免费观看男人免费桶女人视频| 亚洲日韩图片专区第1页| 福利视频一区| 天堂久久久久久中文字幕| 欧美激情视频二区| 福利一区三区| 亚洲综合天堂网| 欧美成人第一页| 亚洲精品免费网站| 免费jjzz在在线播放国产| 亚洲无码视频喷水| 思思99热精品在线| 成年人免费国产视频| www亚洲天堂| 亚洲天堂久久新| 国产免费久久精品99re丫丫一| 国产成人超碰无码| 久久久久久久久18禁秘| 久久久噜噜噜| 亚洲一区二区日韩欧美gif| 国产香蕉97碰碰视频VA碰碰看| 免费看av在线网站网址| 国产欧美成人不卡视频| 国产情精品嫩草影院88av| 国产精品永久在线| 一本久道热中字伊人| 日韩欧美91| 国产福利在线免费观看| 最新亚洲人成无码网站欣赏网| 欧美人与牲动交a欧美精品 | 国产欧美在线| 久久国产精品嫖妓| 99精品国产自在现线观看| 久久动漫精品| 97色婷婷成人综合在线观看| 亚洲综合激情另类专区| 国产十八禁在线观看免费| 日韩A级毛片一区二区三区| 伊人久久精品无码麻豆精品| 国产一区成人| 97av视频在线观看| 国产成人夜色91| 国产在线观看99| 51国产偷自视频区视频手机观看| 青青青亚洲精品国产| 中文字幕亚洲第一| 亚洲男人的天堂在线| 一区二区理伦视频| 免费一级成人毛片| 亚洲美女一级毛片| 日韩精品毛片人妻AV不卡| 园内精品自拍视频在线播放|