亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2022-02-17 11:58:30沈中坤徐勁節(jié)
        電子制作 2022年3期
        關(guān)鍵詞:巡線平均值小車

        沈中坤,徐勁節(jié)

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

        0 引言

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

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

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

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

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

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

        圖1 道路顏色識別示例

        (2)隨后計算圖像的灰度平均值,根據(jù)灰度平均值的大小判斷十字路口是否出現(xiàn)在OpenMV拍攝的畫面中。若灰度平均值達(dá)到目標(biāo)值,即對十字路口識別成功,同時根據(jù)灰度平均值的大小判斷小車前端到十字路口的距離?;叶绕骄档拇笮∨c車前端到十字路口的距離關(guān)系如圖2所示。當(dāng)十字路口開始出現(xiàn)在OpenMV拍攝的圖像中時,圖像的灰度平均值會隨著小車前端到十字路口距離的減小逐漸增大,當(dāng)距離減小到12.5cm時,灰度平均值將達(dá)到最大。之后十字路口會在圖像中逐漸消失,同時灰度平均值也逐漸減小至初始值。

        圖2 經(jīng)過十字路口時灰度平均值變化圖

        1.1.2 算法設(shè)計

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

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

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

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

        圖3 小車左偏

        1.2.2 算法設(shè)計

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

        1.3 基于模板匹配的路標(biāo)識別方法

        1.3.1 模板匹配識別路標(biāo)的基本原理

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

        圖4 路標(biāo)識別

        1.3.2 算法設(shè)計

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

        2 小車系統(tǒng)

        2.1 硬件設(shè)計

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

        圖5 小車實物圖

        圖6 小車硬件設(shè)計示意圖

        2.1.1 轉(zhuǎn)向舵機(jī)

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

        2.1.2 MPU6050角度傳感器

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

        2.2 算法設(shè)計

        2.2.1 巡線控制算法

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

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

        根據(jù)PID算法輸出的結(jié)果,調(diào)整舵機(jī)的轉(zhuǎn)角和后輪的轉(zhuǎn)速,實現(xiàn)巡線功能。

        2.2.2 轉(zhuǎn)向控制算法

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

        2.2.3 整車算法

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

        圖7 系統(tǒng)算法流程圖

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

        3 系統(tǒng)測試

        小車行駛示意圖如圖8所示,對圖中每個目標(biāo)點均進(jìn)行超過30次的測試,測試結(jié)果如圖表1所示。

        表1 不同目標(biāo)點的測試結(jié)果

        由表1可知,小車前往行駛路線較為簡單的目標(biāo)點時,成功率達(dá)到100%,前往所有目標(biāo)點的成功率均可達(dá)到95%。①號點和⑥號點少次失敗的原因為:較短時間內(nèi)連續(xù)轉(zhuǎn)彎時的系統(tǒng)可能會出現(xiàn)故障??梢酝ㄟ^降低速度來避免。

        4 結(jié)語

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

        猜你喜歡
        巡線平均值小車
        “平均值代換”法在數(shù)學(xué)解題中的應(yīng)用
        春光美巡線忙
        快樂語文(2020年36期)2021-01-14 01:10:32
        自制小車來比賽
        出沒風(fēng)波里,踏浪去巡線
        劉老師想開小車
        文苑(2018年22期)2018-11-19 02:54:18
        無人機(jī)在電力巡線中的應(yīng)用模式研究
        無人機(jī)(2018年1期)2018-07-05 09:51:06
        兩輪自平衡小車的設(shè)計與實現(xiàn)
        電子制作(2018年8期)2018-06-26 06:43:02
        飛滑式巡線機(jī)器人自平衡控制方案設(shè)計與實現(xiàn)
        電測與儀表(2015年3期)2015-04-09 11:37:48
        平面圖形中構(gòu)造調(diào)和平均值幾例
        精品国产日韩亚洲一区在线| 亚洲福利视频一区 | 无码人妻一区二区三区免费n鬼沢 人禽无码视频在线观看 | 综合网自拍| av毛片一区二区少妇颜射| 日本美女在线一区二区| 日日天干夜夜狠狠爱| 亚洲在AV极品无码天堂手机版 | 亚洲一区二区三区偷拍自拍| 青青草小视频在线播放| 日韩视频中文字幕精品偷拍| 伊人久久大香线蕉免费视频 | 久久精品国产亚洲av网在 | 国产极品大秀在线性色| 好大好湿好硬顶到了好爽视频| 亚洲国产人在线播放首页| 九九久久精品大片| 国产一级一区二区三区在线播放| 国产偷国产偷精品高清尤物| 99这里只有精品| 亚洲精品熟女乱色一区| 男女男精品视频网站免费看| 日本japanese丰满多毛| 亚洲午夜无码久久yy6080| 午夜国产精品一区二区三区| 日日摸夜夜添夜夜添高潮喷水| 久久久国产一区二区三区四区小说| 国内精品视频成人一区二区| 久久亚洲春色中文字幕久久| 久久香蕉国产线看观看精品yw| 狼人国产精品亚洲| 精品蜜臀国产av一区二区| 日本丰满少妇裸体自慰| 1717国产精品久久| 中文字幕乱码亚洲无线| 国产一区二区三区在线视频观看| 亚洲精品乱码久久久久久金桔影视 | 久久狠狠色噜噜狠狠狠狠97| 国产精品无码精品久久久| 在线精品亚洲一区二区三区 | 中国精品久久精品三级|