国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于機(jī)器視覺的智能小車自動(dòng)循跡及避障系統(tǒng)

2020-04-17 04:05岳俊峰李秀梅
關(guān)鍵詞:舵機(jī)障礙物小車

岳俊峰,李秀梅

(杭州師范大學(xué)信息科學(xué)與工程學(xué)院 浙江 杭州 311121)

0 引言

隨著集成電路的發(fā)展,高性能低功耗的單片機(jī)在圖像處理以及機(jī)器控制領(lǐng)域發(fā)揮重要的作用,結(jié)合強(qiáng)大外圍電路,用嵌入式編程等手段可以制作拓展性良好的移動(dòng)機(jī)器人.智能小車具備環(huán)境感知、路徑規(guī)劃、自主控制運(yùn)行狀態(tài)等功能,成為移動(dòng)機(jī)器人領(lǐng)域一個(gè)重要研究方向.另外,智能小車在圖像處理、控制策略等方面與當(dāng)下發(fā)展火熱的智能汽車有相似之處,因此研究智能小車對(duì)智能汽車的發(fā)展具有實(shí)際價(jià)值[1-3].

本文利用STM32單片機(jī)協(xié)同機(jī)器視覺模塊OpenMV組成智能小車系統(tǒng),針對(duì)攝像頭提取的道路圖像信息,采用閾值法和魯棒線形回歸算法提取道路引導(dǎo)線,采用多重模版匹配法提取障礙物信息,并結(jié)合傳統(tǒng)PID控制技術(shù)和模糊控制技術(shù),實(shí)現(xiàn)了智能小車系統(tǒng)的引導(dǎo)線自動(dòng)循跡和避障功能.

1 基于機(jī)器視覺的智能小車系統(tǒng)硬件電路設(shè)計(jì)

基于機(jī)器視覺的智能小車系統(tǒng)硬件電路部分以意法半導(dǎo)體公司STM32F103RCT6芯片作為核心控制器,由電源分壓模塊、機(jī)器視覺模塊、電機(jī)驅(qū)動(dòng)模塊、速度檢測(cè)模塊、人機(jī)交互模塊等共同組成.總體硬件設(shè)計(jì)如圖1所示.

圖1 系統(tǒng)硬件設(shè)計(jì)框圖Fig.1 Block diagram of system hardware design

為改善道路環(huán)境信息的失真情況,以及減輕單片機(jī)的圖像處理負(fù)擔(dān),本文采用新型機(jī)器視覺模塊OpenMV作為圖像處理部分.機(jī)器視覺模塊將處理得到的圖像信息通過串口數(shù)據(jù)發(fā)送給主控制器,STM32核心主控制器將對(duì)處理完畢的圖像數(shù)據(jù)進(jìn)行解析和利用,通過電機(jī)和舵機(jī)達(dá)到對(duì)智能小車的速度和方向進(jìn)行控制.速度檢測(cè)模塊使用了光電編碼器,將小車的速度反饋給核心控制器實(shí)現(xiàn)車速閉環(huán)控制.整體硬件系統(tǒng)組成模塊所需的工作電源不盡相同,因此需要穩(wěn)壓模塊對(duì)電池能量進(jìn)行分配.電機(jī)驅(qū)動(dòng)模塊對(duì)智能小車性能表現(xiàn)起到至關(guān)重要的作用,本文設(shè)計(jì)了由2個(gè)P形場(chǎng)效應(yīng)管(IRF4905用作大功率驅(qū)動(dòng))與2個(gè)N形場(chǎng)效應(yīng)管(75N75用作高速開關(guān))組成的H橋驅(qū)動(dòng)電路,并采用光耦元件對(duì)使能信號(hào)進(jìn)行隔離,保證小車運(yùn)行到較高速度.

2 基于機(jī)器視覺的智能小車系統(tǒng)軟件設(shè)計(jì)

圖2 系統(tǒng)軟件設(shè)計(jì)框圖Fig.2 Block diagram of system software design

系統(tǒng)軟件的總體設(shè)計(jì)包含兩方面:1)通過Python語言實(shí)現(xiàn)機(jī)器視覺模塊OpenMV對(duì)圖像的處理以及發(fā)送處理完畢的環(huán)境圖像信息;2)通過嵌入式C語言,根據(jù)硬件和控制需求,進(jìn)行模塊化編程,使得主控制器STM32有效利用圖像信息.在巡線模式下,采用增量式PID控制算法控制智能小車的電機(jī)速度,采用位置式PD控制算法對(duì)舵機(jī)轉(zhuǎn)向進(jìn)行控制,從而實(shí)現(xiàn)自動(dòng)循跡功能;在避障模式下,建立針對(duì)速度和方向控制的模糊控制器,并結(jié)合多重模版匹配法檢測(cè)到的環(huán)境障礙物位置信息,及時(shí)引導(dǎo)避障策略,完成避障路徑規(guī)劃.系統(tǒng)軟件總體設(shè)計(jì)如圖2所示.

2.1 道路引導(dǎo)線信息提取方法

本節(jié)具體介紹了基于機(jī)器視覺的智能小車系統(tǒng)的引導(dǎo)線信息提取方法,針對(duì)于巡線實(shí)驗(yàn)自主搭建的道路引導(dǎo)線,如圖3所示,其中黑色引導(dǎo)線寬度為4 mm(±1).

圖3 黑色道路引導(dǎo)線循跡Fig.3 Track the black road guide-line

2.1.1 閾值分割法

閾值分割法在算法上容易實(shí)現(xiàn),在重視運(yùn)算效率的單片機(jī)上,得到了廣泛應(yīng)用.閾值分割法一般流程是先設(shè)定閾值,對(duì)采集的圖像中像素點(diǎn)的屬性值與閾值對(duì)比,來確定圖像中該像素點(diǎn)對(duì)應(yīng)的是白點(diǎn)還是黑點(diǎn),從而將一幅灰度圖像轉(zhuǎn)換成二值化圖像[4].

用數(shù)學(xué)表達(dá)式來表示,則可設(shè)原始圖像為f(x,y),T為閾值,分割圖像時(shí)則滿足下式:

(1)

其中f(x,y)表示灰度值,可取0(黑),1(白),即圖像二值化.

本系統(tǒng)利用OpenMV自帶的圖像類模板函數(shù),定義閾值列表 threshold來追蹤顏色范圍,根據(jù)像素是否在閾值列表threshold中的閾值內(nèi),將所有圖像進(jìn)行二值化處理.為獲取所跟蹤對(duì)象的閾值,只需在OpenMV的IDE幀緩沖區(qū)中選擇跟蹤對(duì)象.直方圖會(huì)相應(yīng)地更新到所在區(qū)域,然后需寫下顏色分布在每個(gè)直方圖通道中起始與下降位置,這些將是 thresholds 的低值和高值,故可手動(dòng)確定閾值.

2.1.2 魯棒線性回歸算法

實(shí)際二值化圖像信號(hào)中,會(huì)有噪聲影響,因而二值化數(shù)據(jù)樣本中會(huì)有異常點(diǎn),傳統(tǒng)基于最小二乘法的直線回歸方法將不適用,常用魯棒線性回歸又稱穩(wěn)健回歸作為替代算法,本文主要介紹泰爾森線性回歸(Theil-Sen Regression)算法.

泰爾森線性回歸算法將計(jì)算圖像中所有閾值像素斜率的中位數(shù),因此對(duì)異常點(diǎn)有很強(qiáng)的魯棒性[5].

一般回歸模型為:

y=α+βx+ε,

(2)

其中,α,β為模型參數(shù),ε為模型的隨機(jī)誤差.

與普通最小二乘法不同的是,泰爾森線性回歸算法是一種基于對(duì)中值估計(jì)的非參數(shù)方法,式(3)表征了泰爾森回歸的處理方法:

(3)

在本系統(tǒng)的OpenMV函數(shù)圖像類模板中,泰爾森方法的線性回歸估計(jì)器可以在給出錯(cuò)誤的模型之前,容忍近25%的像素異常點(diǎn). 但是,若在閾值處理后有太多像素,即使在80*60分辨率的圖像上,這個(gè)時(shí)間復(fù)雜度O(N2)操作也可能造成較大計(jì)算量,因此采用40*30的全局圖像采集分辨率,更少的像素點(diǎn)可以加快算法速度.

2.1.3 引導(dǎo)線信息提取結(jié)果

雖然泰爾森線性回歸算法速度較慢、計(jì)算量較大,但基于低分辨率二值化圖像,其可以在攝像頭采集視野的任何有效圖像區(qū)域快速得到回歸直線,因此通過這種引導(dǎo)線提取方法,允許智能小車系統(tǒng)做到更好的跟蹤控制,圖4顯示了基于閾值分割法的二值化圖像的線性回歸結(jié)果,圖像中的回歸直線準(zhǔn)確反映了當(dāng)前位置引導(dǎo)線的提取情況.

圖4 二值化圖像的線性回歸結(jié)果Fig.4 Linear regression result of binary image圖5 坐標(biāo)系中直線與圖像區(qū)域關(guān)系圖Fig.5 Relationship diagram between line and image region in coordinate system

此外,線性回歸處理函數(shù)返回的是直線類對(duì)象,在此基礎(chǔ)上,利用直線類返回的位置信息和直線探測(cè)函數(shù),并設(shè)置閾值去過濾不符合條件的直線回歸結(jié)果,圖5顯示了極坐標(biāo)和直角坐標(biāo)系中直線中值和角度與圖像區(qū)域的關(guān)系.

2.2 電機(jī)速度控制

智能小車的直流電機(jī)可以采用PID控制中的增量式控制策略,根據(jù)單位時(shí)間速度傳感器反饋的電機(jī)速度信息,可以構(gòu)建基于增量式PID的速度閉環(huán)控制器,如圖6所示.

圖6 電機(jī)速度閉環(huán)控制框圖Fig.6 Block diagram of closed-loop control for Motor Speed

增量式PID控制算法公式:

ΔU=Kp[e(k)-e(k-1)]KIe(k)+KD[e(k)-2e(k-1)+e(k-2)],

(4)

其中,k表示采樣序號(hào),在電機(jī)速度閉環(huán)控制中,增量式PID控制器的計(jì)算需要保存前兩次的偏差e(k)-e(k-1),增量輸出ΔU可以直接作為電機(jī)控制返回值,因此參數(shù)整定和計(jì)算都較為簡(jiǎn)便.

2.3 舵機(jī)轉(zhuǎn)向控制

舵機(jī)的轉(zhuǎn)角與控制信號(hào)脈沖寬度(高電平持續(xù)時(shí)間)存在對(duì)應(yīng)關(guān)系,區(qū)別于增量式PID控制方法,位置式PID可以通過誤差量計(jì)算期望的控制量,因此采用位置式PID控制策略對(duì)舵機(jī)的轉(zhuǎn)向速度進(jìn)行有效控制,控制算法公式:

(5)

位置式PID控制不僅可以節(jié)省單片機(jī)資源,又簡(jiǎn)化了參數(shù)整定,同時(shí)也能滿足控制要求.

2.4 避障算法研究

本節(jié)將針對(duì)環(huán)境中靜態(tài)障礙物避障策略進(jìn)行研究,基于機(jī)器視覺的智能小車能夠憑借單目攝像頭,不依賴于額外的傳感器完成簡(jiǎn)單而有效的避障功能.

2.4.1 基于圖像模版匹配法的障礙識(shí)別

圖像模板匹配法是指在已有目標(biāo)模板的子圖集合中,尋找與實(shí)時(shí)圖像最相近的子圖,從而達(dá)到目標(biāo)的識(shí)別和定位,這種方法的魯棒性比基于障礙物特征的圖像檢測(cè)方法好.常規(guī)的匹配算法是基于灰度圖的歸一化互相關(guān)(Normalized Cross Correlation,NCC)系數(shù)法[6].

歸一化互相關(guān)匹配算法公式定義為:

(6)

其中圖像搜索區(qū)域S大小為M×N,E(Si,j)表示圖像(i,j)處的子圖,E(T)表示模板的平均灰度值.相關(guān)度系數(shù)滿足下式:

|R(i,j)| ≤1.

(7)

因此在[-1,1]的絕對(duì)尺度范圍之內(nèi)衡量模板圖像和整幅樣本圖像的集合相似性,一般來說,相關(guān)度系數(shù)R越接近1,兩者匹配程度越高并呈現(xiàn)近似線性關(guān)系.

在OpenMV實(shí)驗(yàn)平臺(tái)中,可以將事先提取的障礙物模板保存在儲(chǔ)存卡里,以低分辨率和灰度圖的形式供程序調(diào)用,加快了算法速度.另外,模板匹配并不適應(yīng)于動(dòng)態(tài)移動(dòng)情況,結(jié)合智能小車實(shí)際運(yùn)行狀況,需要進(jìn)行多角度多大小地進(jìn)行匹配,因此需要多個(gè)障礙物模板,采用多模板匹配方案以提高動(dòng)態(tài)運(yùn)行時(shí)障礙物識(shí)別成功率.

2.4.2 運(yùn)動(dòng)學(xué)模型分析

后輪雙電機(jī)差速的智能小車需要建立運(yùn)動(dòng)學(xué)模型以得到更好的控制效果,結(jié)合人類駕駛體驗(yàn),驅(qū)動(dòng)后輪之前在小車轉(zhuǎn)向時(shí)存在差速問題,以下將對(duì)小車的運(yùn)動(dòng)學(xué)模型進(jìn)行簡(jiǎn)要分析.

由圖7可得,設(shè)小車車速為v,舵機(jī)轉(zhuǎn)角為θ,后輪輪距為T,前后輪中心距離為L,轉(zhuǎn)彎時(shí),參考點(diǎn)分別距左輪、車體中線、右輪為R1,R,R2.根據(jù)差速器控制原理,設(shè)左輪(轉(zhuǎn)彎內(nèi)側(cè))速度為v1,右輪(轉(zhuǎn)彎外側(cè))速度為v2,又因角速度的一致性,可分析可知:

圖7 小車運(yùn)動(dòng)學(xué)模型分析
Fig.7 Analysis of Kinematic model analysis of smart car

(8)

(9)

(10)

(11)

計(jì)算可得:

(12)

(13)

舵機(jī)的轉(zhuǎn)向依舊進(jìn)一步可以通過運(yùn)動(dòng)學(xué)模型優(yōu)化,將前輪的轉(zhuǎn)向角度α和實(shí)際控制舵機(jī)的PWM脈沖寬度a之間進(jìn)行轉(zhuǎn)換,測(cè)試可以得到歸一化系數(shù)K:

(14)

在實(shí)際測(cè)試中,智能小車能夠在不同彎道處呈現(xiàn)差異性的速度轉(zhuǎn)向表現(xiàn),符合運(yùn)動(dòng)學(xué)模型設(shè)計(jì)要求.

2.4.3 基于模糊控制的智能小車避障策略

當(dāng)環(huán)境中存在靜態(tài)障礙物時(shí),智能小車需要進(jìn)行及時(shí)的路徑規(guī)劃,進(jìn)而避免撞擊障礙物,而路徑規(guī)劃系統(tǒng)具有不確定性,是一種多輸入多輸出的系統(tǒng).模糊控制方法可以融入人類駕駛經(jīng)驗(yàn),使得系統(tǒng)可以像有經(jīng)驗(yàn)的操作者一樣去控制復(fù)雜、激勵(lì)源不明的情況,而模糊控制系統(tǒng)的建立是基于專家知識(shí)的語言來描述的,因此本節(jié)提出了基于模糊控制的智能小車避障策略[7].

2.4.3.1 避障算法設(shè)計(jì)

智能小車先以自動(dòng)巡線模式運(yùn)行,設(shè)定為較慢速度,攝像頭通過變焦后,增大視野提供額外的圖像信息,當(dāng)?shù)缆分谐霈F(xiàn)障礙物時(shí),切換到避障模式,小車將引導(dǎo)避障程序.障礙物在視野中出現(xiàn)的位置大致分為3種,避障可分為3種情況處理.

情況1:障礙物位置出現(xiàn)在引導(dǎo)線中值附近即在小車的正前方,根據(jù)多重模板匹配算法提取障礙物大致坐標(biāo),可以建立二維參考坐標(biāo)系如圖8:

圖8 障礙物在車體正前方Fig.8 The obstacle is directly in front of the car圖9 障礙物在車體左側(cè)Fig.9 The obstacle is on the left side of the car

由圖8可知,定義小車前端中心對(duì)稱位置為坐標(biāo)系原點(diǎn)O,距離碰撞最大制動(dòng)距離是小車前端到障礙物重心坐標(biāo)的長度為s,攝像頭視野范圍為a×b,下端視野邊界距離障礙物重心坐標(biāo)的長度為d.模擬人類駕駛經(jīng)驗(yàn),避障路徑分為兩段:小車提取前方障礙物坐標(biāo)g(x,y),立即向左運(yùn)行避開障礙物并計(jì)算出避障引導(dǎo)時(shí)間T;在避障模式持續(xù)時(shí)間結(jié)束后,還原為引導(dǎo)線提取模式.注意,運(yùn)行過程中偏轉(zhuǎn)角度與障礙物相對(duì)位置和當(dāng)前車速有關(guān),成功返回引導(dǎo)線巡線模式需要保證以下條件:

(15)

情況2:障礙物位置出現(xiàn)在引導(dǎo)線的左邊,小車將從障礙物右側(cè)運(yùn)行,具體情況參考圖9.

情況3:障礙物位置出現(xiàn)在引導(dǎo)線的右邊,具體情形同上.

避障策略成功的關(guān)鍵在于t時(shí)刻和t+T時(shí)刻能夠識(shí)別障礙物以及提取引導(dǎo)線,且避障引導(dǎo)全程小車相對(duì)于障礙物保持在安全距離,因此合理的引導(dǎo)時(shí)間T是關(guān)鍵因素,經(jīng)過實(shí)際測(cè)試,在車速較慢時(shí)(vmax<1 m/s),平均測(cè)試樣本中,T均不大于300 ms.

2.4.3.2 模糊控制器的設(shè)計(jì)

針對(duì)避障路徑規(guī)劃中小車在方向上的偏轉(zhuǎn),根據(jù)障礙物方位和車速信息,轉(zhuǎn)向控制系統(tǒng)需要進(jìn)一步優(yōu)化,因此輸入輸出變量模糊語言描述如下.

距離變量采用隸屬度函數(shù)模糊子集{Near,Far},對(duì)應(yīng)障礙物的距離{近,遠(yuǎn)},論域范圍為[0,30]障礙物位置變量上定義隸屬度函數(shù){LB,LS,Z,RS,RB},分別對(duì)應(yīng){左大,左小,中間,右小,右大},論域范圍為[-15,15],輸出變量轉(zhuǎn)角的模糊語言描述為{LB,LS,Z,RS,RB},分別對(duì)應(yīng){左大,左小,中,右小,右大},論域范圍[-45°,45°],速度變量的隸屬度函數(shù)定義為{RS,IE,RF},分別對(duì)應(yīng){較慢,中等,較快},論域范圍[0,20],輸入輸出變量的隸屬度函數(shù)如圖10所示.

圖10 輸入輸出變量的隸屬度函數(shù)Fig.10 Membership function of input and output variables

確立模糊規(guī)則是模糊控制系統(tǒng)的核心部分,通過對(duì)模糊條件集合的描述,模糊控制規(guī)則構(gòu)成了模糊規(guī)則庫.根據(jù)前述確定的輸入輸出集,可以定義模糊規(guī)則為因果關(guān)系的集合表述,模糊規(guī)則一般形式:

IF 復(fù)合條件THEN 結(jié)果.

根據(jù)3種避障情況的具體分析,可以得到一系列多重條件語句的控制規(guī)則,篇幅限制只列舉典型5條:

Rule1:IFsis Far AND |x|is LB ANDvis RS THENθis Z;

Rule2:IFsis Far AND |x|is LS ANDvis RF THENθis RS;

Rule3:IFsis Far AND |x|is RS ANDvis IE THENθis LS;

Rule4:IFsis Near AND |x|is RB ANDvis IE THENθis LS;

Rule5:IFsis Near AND |x|is Z ANDvis RF THENθis LB;

小車轉(zhuǎn)向的基本規(guī)則是根據(jù)障礙物遠(yuǎn)近和相對(duì)于引導(dǎo)線的左右位置決定的,障礙物距離越近,轉(zhuǎn)向角度越大,障礙物相對(duì)引導(dǎo)線中值偏差越大,轉(zhuǎn)向角度越小.引入了當(dāng)前的車速信息,目的是為了便于計(jì)算避障引導(dǎo)時(shí)間,同時(shí)也一定程度上確保了避障的成功率.以上的輸入變量經(jīng)過模糊控制器的模糊化和模糊推理后,輸出舵機(jī)方向控制量,結(jié)合小車運(yùn)動(dòng)學(xué)模型,針對(duì)障礙物情況,對(duì)速度和方向進(jìn)行控制,旨在執(zhí)行規(guī)避動(dòng)作.

使用MATLAB軟件建立模糊規(guī)則和關(guān)系曲面圖,通過圖11可知,設(shè)計(jì)的模糊控制系統(tǒng)從障礙物位置關(guān)系和小車速度的模糊映射與理論設(shè)計(jì)匹配良好,顯示出良好的梯度分布特點(diǎn).

3 測(cè)試結(jié)果

實(shí)驗(yàn)測(cè)試結(jié)果表明,智能小車能夠在直線時(shí)加速,過彎性能良好,抗環(huán)境光干擾能力較強(qiáng),引導(dǎo)線跟蹤精準(zhǔn)快速,完全符合設(shè)計(jì)標(biāo)準(zhǔn).當(dāng)障礙物在進(jìn)入攝像頭有效視野范圍后,靜態(tài)障礙物能夠被有效識(shí)別,在較短時(shí)間內(nèi)引導(dǎo)避障,可以規(guī)避約70%的障礙物,而且在避障引導(dǎo)之后,有接近半數(shù)的情況能夠使小車回歸引導(dǎo)線循跡模式,總體達(dá)到避障路徑規(guī)劃要求.

4 結(jié)論

本文基于機(jī)器視覺模塊OpenMV實(shí)現(xiàn)了智能小車系統(tǒng),使用STM32單片機(jī)作為核心控制器,針對(duì)攝像頭提取的道路圖像信息,利用閾值法和魯棒線形回歸算法提取道路引導(dǎo)線,采用多重模版匹配法提取障礙物信息,并結(jié)合傳統(tǒng)PID控制技術(shù)和模糊控制技術(shù),實(shí)現(xiàn)了智能小車系統(tǒng)的引導(dǎo)線自動(dòng)循跡和避障功能.實(shí)驗(yàn)表明,在直徑為4 mm引導(dǎo)線場(chǎng)地中,小車巡線性能表現(xiàn)良好;在靜態(tài)障礙物環(huán)境下,小車能夠有效識(shí)別障礙物,并完成避障路徑規(guī)劃.

猜你喜歡
舵機(jī)障礙物小車
快樂語文(2020年36期)2021-01-14
自制小車來比賽
高低翻越
SelTrac?CBTC系統(tǒng)中非通信障礙物的設(shè)計(jì)和處理
趕飛機(jī)
劉老師想開小車
兩輪自平衡小車的設(shè)計(jì)與實(shí)現(xiàn)
基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
超音速舵機(jī)保護(hù)器
菜鳥看模型
阳高县| 溧阳市| 泾川县| 阳泉市| 延川县| 云龙县| 沂水县| 苏尼特左旗| 涿鹿县| 汝阳县| 灵山县| 和静县| 苏州市| 秭归县| 古丈县| 崇信县| 德惠市| 全椒县| 安福县| 桂阳县| 石棉县| 佛坪县| 汉寿县| 郑州市| 宿州市| 青神县| 濉溪县| 如皋市| 时尚| 南华县| 广水市| 民乐县| 灵石县| 丰顺县| 基隆市| 公安县| 若尔盖县| 迁安市| 东光县| 长治市| 阿拉善右旗|