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

        ?

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

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

        沈中坤,徐勁節(jié)

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

        0 引言

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

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

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

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

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

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

        圖1 道路顏色識別示例

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

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

        1.1.2 算法設計

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

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

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

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

        圖3 小車左偏

        1.2.2 算法設計

        設置目標道路閾值(THRESHOLD),將圖像二值化,調用泰爾森線性回歸函數(shù)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()函數(shù),判斷圖像中是否存在與導入模板相匹配的圖像,若存在,判斷是左轉、右轉還是直行。識別成功后傳達指令給MSP430單片機。

        2 小車系統(tǒng)

        2.1 硬件設計

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

        圖5 小車實物圖

        圖6 小車硬件設計示意圖

        2.1.1 轉向舵機

        舵機又稱為伺服電機,是一種帶有輸出軸的裝置。向伺服器發(fā)送一個控制信號時,輸出軸就可以轉到特定的位置。只要控制信號持續(xù)不變,伺服機構就會保持軸的角度位置不改變。如果控制信號發(fā)生變化,輸出軸的位置也會相應發(fā)生變化。舵機角度是由控制信號脈沖的持續(xù)時間決定的,這叫做脈沖編碼調制(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加速度計,以及一個可擴展的數(shù)字運動處理器DMP。用它可以測得小車x、y、z軸的傾角(俯仰角Pitch、翻滾角Roll、偏航角Yaw)。單片機通過 I2C 讀取到 MPU6050 的六個數(shù)據(jù)(三軸加速度 AD 值、三軸角速度 AD 值)經過姿態(tài)融合后就可以得到 Pitch、Roll、Yaw角。在此課題中,MPU6050用來控制小車每次轉向的角度,因此僅需考慮偏航角。式(2)為MPU6050的偏航角(Yaw)的解算式,其中q0,q1,q2,q3是DMP輸出的四元數(shù)。

        2.2 算法設計

        2.2.1 巡線控制算法

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

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

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

        2.2.2 轉向控制算法

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

        2.2.3 整車算法

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

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

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

        3 系統(tǒng)測試

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

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

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

        4 結語

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

        猜你喜歡
        巡線平均值小車
        “平均值代換”法在數(shù)學解題中的應用
        春光美巡線忙
        大車拉小車
        快樂語文(2020年36期)2021-01-14 01:10:32
        自制小車來比賽
        科學大眾(2020年17期)2020-10-27 02:49:02
        出沒風波里,踏浪去巡線
        劉老師想開小車
        文苑(2018年22期)2018-11-19 02:54:18
        無人機在電力巡線中的應用模式研究
        無人機(2018年1期)2018-07-05 09:51:06
        兩輪自平衡小車的設計與實現(xiàn)
        電子制作(2018年8期)2018-06-26 06:43:02
        飛滑式巡線機器人自平衡控制方案設計與實現(xiàn)
        電測與儀表(2015年3期)2015-04-09 11:37:48
        平面圖形中構造調和平均值幾例
        欧美牲交a欧美牲交aⅴ免费真| 都市激情亚洲综合一区| 亚洲白嫩少妇在线喷水| 久久精品99国产精品日本| 精品亚洲成在人线av无码| 亚洲国产福利精品一区二区| 中文字幕亚洲精品第一页| 不卡一本av天堂专区| 国产成人精品a视频| 国产精品99久久精品爆乳| 亚洲日产国无码| 人妻少妇艳情视频中文字幕| 久久久久久久综合综合狠狠| 久久亚洲黄色| 日韩精品夜色二区91久久久| 开心五月婷婷激情综合网| 国产台湾无码av片在线观看| 人妻无码aⅴ中文系列久久免费| 色哟哟精品中文字幕乱码| 不卡的av网站在线观看| 免费无码黄动漫在线观看| av无码av在线a∨天堂app| 国产麻豆极品高清另类| 手机看片福利日韩国产| 亚洲中字永久一区二区三区| 华人在线视频精品在线| 国产丶欧美丶日本不卡视频| 热の国产AV| av二区三区在线观看| 粗大猛烈进出高潮视频大全| 日本不卡一区二区三区在线| 国产桃色在线成免费视频| 日韩亚洲在线观看视频| 亚洲国产精品无码中文字 | 日日碰狠狠躁久久躁96avv| 热re99久久精品国产66热6| 国产亚洲午夜精品久久久| 国产尤物av尤物在线观看| 欧美国产日本精品一区二区三区 | 99久久免费国产精品| 精品国产高清一区二区广区|