本發(fā)明涉及車輛智能駕駛控制技術(shù)領(lǐng)域,特別涉及一種基于攝像頭的汽車并線輔助系統(tǒng)和控制方法。
背景技術(shù):
隨著我國(guó)經(jīng)濟(jì)不斷增長(zhǎng)、城市道路以及高速公路等基礎(chǔ)設(shè)施建設(shè)力度的不斷加快,使得我國(guó)道路通行條件得到極大改善。與此同時(shí),我國(guó)汽車企業(yè)制造技術(shù)不斷提高,汽車生產(chǎn)種類不斷完善并伴隨國(guó)內(nèi)市場(chǎng)對(duì)汽車消費(fèi)需求持續(xù)旺盛,使得我國(guó)汽車的生產(chǎn)量和保有量不斷增長(zhǎng)。
雖然,我國(guó)千人汽車保有量還沒有達(dá)到發(fā)達(dá)國(guó)家的水平,但是交通傷亡人數(shù)為最多的國(guó)家之一,而汽車交通事故中,駕駛員注意力分散以及對(duì)交通狀況的誤判是誘發(fā)錯(cuò)誤操作的主要原因。
因此,研究及開發(fā)相應(yīng)的駕駛員輔助系統(tǒng),對(duì)提高駕駛過程中的行車安全性,具有極其重要意義。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的是提出一種基于攝像頭的汽車并線輔助系統(tǒng)和控制方法,旨在提高車輛行駛過程中的安全可靠性。
為實(shí)現(xiàn)上述目的,本發(fā)明提出一種基于攝像頭的汽車并線輔助系統(tǒng),包括:
用于獲取交通圖像信息的傳感器模塊;
與所述傳感器模塊電連接并可預(yù)處理交通圖像信息的單片機(jī)模塊;
可根據(jù)所述單片機(jī)模塊預(yù)處理的交通圖像信息向舵機(jī)和電機(jī)進(jìn)行控制的智能車舵機(jī)模塊;
用于向所述汽車并線輔助系統(tǒng)供電的電源管理模塊;
所述單片機(jī)模塊分別與所述傳感器模塊以及所述智能車舵機(jī)模塊電連接并可交互通信,所述智能車舵機(jī)模塊與舵機(jī)電連接并可控制舵機(jī)調(diào)整汽車前輪定位或差速機(jī)構(gòu)的轉(zhuǎn)速旋轉(zhuǎn),所述電源管理模塊分別與所述傳感器模塊、所述單片機(jī)模塊、所述智能車舵機(jī)模塊、所述舵機(jī)電連接并可供電。
優(yōu)選地,所述傳感器模塊為ov7620數(shù)字?jǐn)z像頭。
優(yōu)選地,所述單片機(jī)模塊為mk60dn512zvlq10單片機(jī)。
優(yōu)選地,所述智能車舵機(jī)模塊為pcb電路。
本發(fā)明還提出一種使用所述的基于攝像頭的汽車并線輔助系統(tǒng)的控制方法,包括以下步驟:
1)通過所述傳感器模塊掃描并采集車輛前方的交通圖像信息后,將采集到的圖像信息發(fā)送至所述單片機(jī)模塊;
2)所述單片機(jī)模塊收到圖像信息后,通過自適應(yīng)中值濾波法對(duì)圖像信息進(jìn)行去噪處理;去噪處理后,所述單片機(jī)模塊通過圖像閾值分割法對(duì)去噪后圖像中的目標(biāo)和背景進(jìn)行差異化處理,以使目標(biāo)和背景區(qū)域產(chǎn)生二值圖像;
3)所述單片機(jī)模塊通過跟蹤中線算法對(duì)二值圖像提取中線位置,并與所述傳感器掃描檢測(cè)到的圖像中心線位置作差,根據(jù)中線位置以判斷實(shí)時(shí)路況;
4)所述單片機(jī)模塊將判斷結(jié)果傳輸至所述智能車舵機(jī)模塊,所述智能車舵機(jī)模塊對(duì)舵機(jī)轉(zhuǎn)向以及電機(jī)速度進(jìn)行控制。
優(yōu)選地,所述步驟1)中所述傳感器模塊對(duì)采集到的圖像以奇場(chǎng)或偶場(chǎng)向所述單片機(jī)模塊進(jìn)行傳輸,所述奇場(chǎng)或所述偶場(chǎng)傳輸200~240行像素點(diǎn)。
優(yōu)選地,所述步驟3)中所述傳感器對(duì)遠(yuǎn)端圖像的掃描以獲取當(dāng)前中線的行數(shù)為第150行至160行。
優(yōu)選地,所述步驟4)中所述智能車舵機(jī)模塊對(duì)舵機(jī)通過pd控制算法進(jìn)行控制,所述智能車舵機(jī)模塊對(duì)電機(jī)通過pid控制算法進(jìn)行控制
本發(fā)明的基于攝像頭的汽車并線輔助系統(tǒng)和控制方法,通過視頻采集車輛行駛前方的圖像,然后進(jìn)行中值濾波、動(dòng)態(tài)閾值分割等方法探尋道路邊界信息,再利用邊界信息分別對(duì)車體進(jìn)行速度和轉(zhuǎn)向控制。
本發(fā)明對(duì)速度采用閉環(huán)增量式pid控制,明顯縮短控制周期使加減速更加及時(shí),行駛速度更加平滑。對(duì)轉(zhuǎn)向則采用閉環(huán)pd控制使舵機(jī)轉(zhuǎn)向更加靈敏,達(dá)到提前預(yù)判效果,從而實(shí)現(xiàn)并線輔助功能,相對(duì)于現(xiàn)有技術(shù),本發(fā)明的基于攝像頭的汽車并線輔助系統(tǒng)和控制方法使得車輛行駛過程更加安全可靠。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖示出的結(jié)構(gòu)獲得其他的附圖。
圖1為本發(fā)明基于攝像頭的汽車并線輔助系統(tǒng)的結(jié)構(gòu)關(guān)系圖;
圖2為本發(fā)明傳感器模塊的輸出信號(hào)示意圖;
圖3為本發(fā)明傳感器模塊圖像采集流程圖;
圖4為本發(fā)明傳感器模塊圖像采集后加椒鹽噪聲示意圖;
圖5為本發(fā)明傳感器模塊圖像去除加椒鹽噪聲的示意圖;
圖6為本發(fā)明的彎道二值圖;
圖7為本發(fā)明的十字路口二值圖;
圖8為本發(fā)明的路況中線提取示意圖;
圖9為本發(fā)明的pid算法流程結(jié)構(gòu)圖;
圖10為本發(fā)明的舵機(jī)轉(zhuǎn)向控制流程示意圖;
圖11為本發(fā)明的電機(jī)驅(qū)動(dòng)控制流程示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
需要說明,若本發(fā)明實(shí)施例中有涉及方向性指示(諸如上、下、左、右、前、后……),則該方向性指示僅用于解釋在某一特定姿態(tài)(如附圖所示)下各部件之間的相對(duì)位置關(guān)系、運(yùn)動(dòng)情況等,如果該特定姿態(tài)發(fā)生改變時(shí),則該方向性指示也相應(yīng)地隨之改變。
另外,若本發(fā)明實(shí)施例中有涉及“第一”、“第二”等的描述,則該“第一”、“第二”等的描述僅用于描述目的,而不能理解為指示或暗示其相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。另外,各個(gè)實(shí)施例之間的技術(shù)方案可以相互結(jié)合,但是必須是以本領(lǐng)域普通技術(shù)人員能夠?qū)崿F(xiàn)為基礎(chǔ),當(dāng)技術(shù)方案的結(jié)合出現(xiàn)相互矛盾或無法實(shí)現(xiàn)時(shí)應(yīng)當(dāng)認(rèn)為這種技術(shù)方案的結(jié)合不存在,也不在本發(fā)明要求的保護(hù)范圍之內(nèi)。
本發(fā)明提出一種基于攝像頭的汽車并線輔助系統(tǒng)。
參見圖1,本發(fā)明實(shí)施例的基于攝像頭的汽車并線輔助系統(tǒng)包括用于獲取交通圖像信息的傳感器模塊、與傳感器模塊電連接并可預(yù)處理交通圖像信息的單片機(jī)模塊、可根據(jù)單片機(jī)模塊預(yù)處理的交通圖像信息向舵機(jī)和電機(jī)進(jìn)行控制的智能車舵機(jī)模塊以及用于供電的電源管理模塊。
本發(fā)明還提出一種使用基于攝像頭的汽車并線輔助系統(tǒng)的控制方法,包括以下步驟:
1)通過傳感器模塊掃描并采集車輛前方的交通圖像信息后,將采集到的圖像信息發(fā)送至單片機(jī)模塊;
2)單片機(jī)模塊收到圖像信息后,通過自適應(yīng)中值濾波法對(duì)圖像信息進(jìn)行去噪處理;去噪處理后,單片機(jī)模塊通過圖像閾值分割法對(duì)去噪后圖像中的目標(biāo)和背景進(jìn)行差異化處理,以使目標(biāo)和背景區(qū)域產(chǎn)生二值圖像;
3)單片機(jī)模塊通過跟蹤中線算法對(duì)二值圖像提取中線位置,并與傳感器掃描檢測(cè)到的圖像中心線位置作差,根據(jù)中線位置以判斷實(shí)時(shí)路況;
4)單片機(jī)模塊將判斷結(jié)果傳輸至智能車舵機(jī)模塊,智能車舵機(jī)模塊對(duì)舵機(jī)轉(zhuǎn)向以及電機(jī)速度進(jìn)行控制。
具體地,傳感器模塊為ov7620數(shù)字?jǐn)z像頭,與ov7620數(shù)字?jǐn)z像頭電連接的單片機(jī)模塊為mk60dn512zvlq10單片機(jī),智能車舵機(jī)模塊為pcb電路。mk60dn512zvlq10單片機(jī)分別與ov7620數(shù)字?jǐn)z像頭以及pcb電路電連接并可交互通信,pcb電路與舵機(jī)電連接并可控制舵機(jī)以調(diào)整汽車前輪定位或差速機(jī)構(gòu)的轉(zhuǎn)速旋轉(zhuǎn)。另外,電源管理模塊分別與ov7620數(shù)字?jǐn)z像頭、mk60dn512zvlq10單片機(jī)、pcb電路電連接并可供電。
因?yàn)閿?shù)字?jǐn)z像頭的成本相對(duì)較低,并且能夠獲得包括道路車輛、行人及交通標(biāo)線以及標(biāo)志在內(nèi)的大容量交通信息,因此被廣泛應(yīng)用于行人保護(hù)、車輛偏移預(yù)警以及前向防撞控制。
參見圖2,本發(fā)明實(shí)施例用于獲取交通圖像信息的傳感器模塊為ov7620數(shù)字?jǐn)z像頭,ov7620數(shù)字?jǐn)z像頭采用隔行掃描的圖像采集方法,因此采集到的圖像可分為奇場(chǎng)和偶場(chǎng)進(jìn)行傳輸,每場(chǎng)傳輸240行像素點(diǎn)。因?yàn)槠鎴?chǎng)和偶場(chǎng)采集到的圖像基本是相同的,因此只需要使用奇場(chǎng)或偶場(chǎng)中的其中一場(chǎng)就可采集到一幅完整的交通圖像。ov7620數(shù)字?jǐn)z像頭對(duì)圖像進(jìn)行每行采集結(jié)束后,攝像頭的引腳vysn則會(huì)發(fā)出一個(gè)行中斷信號(hào);而每場(chǎng)采集結(jié)束后,攝像頭的引腳href則會(huì)發(fā)出一個(gè)場(chǎng)中斷信號(hào),這樣使得行與行、場(chǎng)與場(chǎng)之間的時(shí)間間隔內(nèi),并行數(shù)據(jù)口y產(chǎn)生消隱信號(hào)以阻止回掃線產(chǎn)生。
ov7620數(shù)字?jǐn)z像頭采集到相應(yīng)圖像信息后,因?yàn)閙k60dn512zvlq10單片機(jī)內(nèi)含有128kb的ram空間,因此程序中不需要完全采集奇場(chǎng)和偶場(chǎng)共480行像素點(diǎn)。在不影響圖像質(zhì)量的條件下,本發(fā)明實(shí)施例可只采集偶場(chǎng)數(shù)據(jù)并從中平均地取出200~240行數(shù)據(jù),這樣既可節(jié)省內(nèi)存空間,且200行數(shù)據(jù)即可滿足相應(yīng)的圖像采集要求,具體的圖像采集及處理流程如圖3所示。
參見圖4,ov7620數(shù)字?jǐn)z像頭在采集圖像過程中不可避免地引入各種噪聲,如椒鹽噪聲。引入的噪聲不僅會(huì)妨礙感官,更加會(huì)妨礙后續(xù)的圖源信息的理解和分析,造成處理結(jié)果上的誤差。因此,在對(duì)圖像閾值分割之前通常需要對(duì)目標(biāo)圖像進(jìn)行相應(yīng)去噪處理。在本發(fā)明實(shí)施例中,因?yàn)橄噜徃鼽c(diǎn)有很強(qiáng)的相關(guān)性,邊緣特征又要保證且不被模糊,所以自適應(yīng)中值濾波最為合適。
本發(fā)明實(shí)施例對(duì)目標(biāo)圖像采取去噪處理時(shí)采用自適應(yīng)中值濾波法,其中,中值濾波方式的效果依賴于濾波窗口的大小,如果濾波窗口太大則會(huì)使得邊緣模糊,太小則會(huì)造成去噪效果不佳。
因?yàn)樵肼朁c(diǎn)和邊緣點(diǎn)同樣是灰度變化較為劇烈的像素,普通中值濾波改變?cè)肼朁c(diǎn)灰度時(shí),也將一定程度上改變邊緣像素的灰度值。因?yàn)樵肼朁c(diǎn)的像素值幾乎是鄰域內(nèi)的極值,但邊緣通常不會(huì)是鄰域內(nèi)的極值,因此可以利用噪聲這一特征對(duì)噪聲點(diǎn)進(jìn)行去除。
ov7620數(shù)字?jǐn)z像頭在進(jìn)行逐行掃描圖像時(shí),當(dāng)處理每個(gè)像素時(shí),判斷該像素是否為濾波窗口覆蓋下鄰域像素的極大值或極小值。如果檢測(cè)的像素為濾波窗口覆蓋下鄰域像素的極值時(shí),則采用正常的中值濾波處理該像素,而檢測(cè)的像素不是濾波窗口覆蓋下鄰域像素的極值時(shí),可不予進(jìn)行處理。
具體地,上述關(guān)于去除噪聲像素點(diǎn)方法的具體算法為:
設(shè)aij是對(duì)象點(diǎn)(i,j)進(jìn)行中值濾波的工作窗口,fij為像素點(diǎn)(i,j)的灰度,fmin為aij中灰度最小值,fmax為aij中灰度最大值,fmed為aij中灰度中值,favg為aij中灰度均值,amax為允許的最大窗口,a0為初始默認(rèn)窗口。
自適應(yīng)中值濾波算法的基本步驟如下:
1)計(jì)算z1=fmed-fmin,z2=fmed-fmax。
2)如果z1>0且z2<0則跳轉(zhuǎn)至步驟4),否則跳轉(zhuǎn)至步驟3)。
3)若fij=fmed,輸出favg;否則,增大窗口aij的尺寸。若aij≤amax則重復(fù)步驟1)和步驟2),否則輸出fij。
4)計(jì)算g1=fij-fmin,g2=fij-fmax;
5)如果g1>0且g2<0那么輸出fij;否則輸出fmed。
在上述算法中,如果fmin<fmed<fmax,表明fmed不是噪聲,轉(zhuǎn)到步驟4)判斷fij是否為脈沖噪聲,當(dāng)fij和fmed都不是脈沖噪聲時(shí),優(yōu)先輸出fij。當(dāng)fij和fmed都是脈沖噪聲時(shí),輸出aij的灰度均值favg。
通過上述算法可有效地去除突發(fā)噪聲點(diǎn),特別應(yīng)用于椒鹽噪聲點(diǎn),從而不會(huì)影響圖像內(nèi)部的邊界,圖像進(jìn)行去除椒鹽噪聲后的效果如圖5所示。
對(duì)掃描到的圖像去除噪聲點(diǎn)后,則對(duì)掃描到的圖像進(jìn)行圖像閾值分割。圖像閾值分割是一種廣泛使用的圖像分割技術(shù),利用了圖像中要提取的目標(biāo)與背景在灰度特征上的差異化,將圖像視為具有不同灰度級(jí)別的兩類區(qū)域的結(jié)合,如目標(biāo)和背景。通過選取一個(gè)合適的閾值,以確定圖像中的每個(gè)像素點(diǎn)屬于目標(biāo)還是背景區(qū)域,從而可產(chǎn)生相應(yīng)的二值圖像,而這種方式對(duì)于物體與背景對(duì)比度較強(qiáng)的景物分割效果特別有效,不僅可大量壓縮數(shù)據(jù),減少存儲(chǔ)容量,而且能夠大大簡(jiǎn)化在后期的分析和處理步驟。
閾值分割的數(shù)學(xué)表達(dá)式為:
本發(fā)明實(shí)施例中,閾值選取上需要考慮實(shí)際系統(tǒng),在用于閾值分割的閾值選取上作出改進(jìn)的直方圖最佳門線分割。若已知圖像直方圖為雙峰型時(shí),這時(shí)圖像直方圖可看作灰度級(jí)的概率密度函數(shù)的離散估計(jì)。因此總的密度函數(shù)是兩個(gè)單峰密度函數(shù)的混合,一個(gè)是物體峰、一個(gè)是背景峰,混合參數(shù)正比于每一種圖像灰度的面積。若已知灰度的概率密度的表示式則按照最小誤差準(zhǔn)側(cè)來確定最佳門限值t。
設(shè)已知圖像的物體和背景為高斯型分布,其概率密度為:
式中的μ1,μ2分別為兩種灰度的均值;σ1,σ2分別為兩種灰度分布圍繞均值的標(biāo)準(zhǔn)差;p1,p2為兩種灰度分布的先驗(yàn)概率。
若圖像中包含這兩種分布,則混合概率密度為:
由于圖像中像元的約束條件應(yīng)該滿足
p1+p2=1
這樣混合概率密度式中的混合密度有5個(gè)未知參數(shù),若所有參數(shù)皆可知或擬合得到,則按照最小誤差準(zhǔn)則,最佳門限可確定如下:
設(shè)直方圖暗區(qū)相當(dāng)于背景,亮區(qū)為物體,即μ1<μ2,設(shè)置最佳門限為t,則使得所有灰度級(jí)低于t的像元都作為背景點(diǎn)進(jìn)行考慮,而灰度級(jí)在t以上的像元皆做為物體進(jìn)行考慮,這樣必然會(huì)引起誤差,因此將物體點(diǎn)錯(cuò)分為背景點(diǎn)的誤差概率為:
同理,把背景點(diǎn)錯(cuò)分為物體點(diǎn)的誤差概率為:
因此總的誤差概率為:
為求總的誤差概率為最小,解
當(dāng)σ12=σ22=σ2時(shí),上式可簡(jiǎn)化得到
當(dāng)先驗(yàn)概率相等時(shí),即p1=p2時(shí),則
因此,只要p1和p2已知以及概率密度函數(shù)p1和p2已知正態(tài),則很容易計(jì)算最佳門限值t。
針對(duì)直方圖閾值分割本身的局限,以及考慮多種閾值分割方法的特點(diǎn),本實(shí)施例采用直方圖最佳門限分割的觀點(diǎn)。針對(duì)不同的圖像特點(diǎn),選定最佳的閾值。對(duì)經(jīng)過預(yù)處理后的圖像,人為根據(jù)圖像的特點(diǎn),自動(dòng)更改選取閾值,能夠更加準(zhǔn)確地分離路面和背景區(qū)域,具體實(shí)施結(jié)果請(qǐng)參見圖6和圖7。
請(qǐng)參見圖8,本實(shí)施例的圖像經(jīng)圖像閾值分割后得到路況二值圖并從中提取中線位置,根據(jù)中線位置來判斷路況類型,并分別與圖像的中心線位置作差,得到數(shù)據(jù)存儲(chǔ)在error[s_row]中,即為原始偏差數(shù)組,用于對(duì)舵機(jī)、電機(jī)速度進(jìn)行控制。由于雙邊黑色引導(dǎo)線的寬度相對(duì)于整個(gè)車道窄很多,因此只要提取目標(biāo)導(dǎo)引線的某些特征點(diǎn),就能反映出導(dǎo)引線的形狀。
在黑線提取時(shí)采用跟蹤中線算法,攝像頭返回的圖像在近端比較清晰且畸變程度小,并且就算在不同光線下,變化也不是很大,于是對(duì)近端前兩行從左向右掃描并記錄兩條黑線的位置,同時(shí)計(jì)算出兩條黑線的中心位置,作為下一行開始掃描的起點(diǎn)。即從第三行開始,均由計(jì)算出的上一行的中心點(diǎn)位置開始向兩邊掃描,并記錄兩條黑線的位置。若左邊黑線丟失則由前一行的左邊的黑線位置替代進(jìn)行補(bǔ)線,若右邊的黑線丟失就由前一行的右邊黑線位置替代進(jìn)行補(bǔ)線,若兩邊線全丟,則保持上一行的數(shù)據(jù),同時(shí)計(jì)算此行的中心位置,如此反復(fù)完成對(duì)整幅圖像黑線的提取。
為了提高黑線提取的可靠性,在程序中增加限幅濾波對(duì)此場(chǎng)黑線位置和上一場(chǎng)圖像黑線位置的比較,如果相差太大,則認(rèn)為黑線提取出錯(cuò),丟棄此場(chǎng)的數(shù)據(jù)而保持上一場(chǎng)的控制量,以達(dá)到車輛行駛的實(shí)時(shí)控制。同時(shí),為了實(shí)現(xiàn)車輛行駛時(shí)的預(yù)判,本發(fā)明實(shí)施例對(duì)遠(yuǎn)端的150~160行從左向右掃描得到當(dāng)前中線,并與近端中心線求相對(duì)位移偏差作為預(yù)判系數(shù)。
利用傳感器獲取道路目標(biāo)信息后,則需要對(duì)車輛的行駛作出相應(yīng)的自動(dòng)控制,以減輕駕駛員的駕駛負(fù)擔(dān)。同時(shí),也可應(yīng)用于車輛即將發(fā)生碰撞或者失穩(wěn)等危險(xiǎn)情況。當(dāng)駕駛員未能及時(shí)采取有效措施時(shí),實(shí)現(xiàn)對(duì)車輛進(jìn)行自動(dòng)安全控制,從而避免交通事故的發(fā)生或減少交通事故的傷害程度。
本發(fā)明實(shí)施例基于攝像頭的汽車并線輔助系統(tǒng)控制的對(duì)象為舵機(jī)的方向和轉(zhuǎn)向大小控制以及電機(jī)速度控制。本發(fā)明實(shí)施例對(duì)舵機(jī)和電機(jī)的驅(qū)動(dòng)算主要是pid算法以及pid衍生的pd算法。因?yàn)閜id算法的控制策略結(jié)構(gòu)簡(jiǎn)單、穩(wěn)定性好、可靠性高,并且易于實(shí)現(xiàn),雖然pid算法參數(shù)整定相當(dāng)繁瑣,需要測(cè)試人員具備豐富的工程經(jīng)驗(yàn),但是相對(duì)于其他控制方式,在成熟性和可操行性上具有較大的優(yōu)勢(shì)。
請(qǐng)參見圖9,在計(jì)算機(jī)控制系統(tǒng)中,使用的是數(shù)字pid控制器,控制規(guī)律為:
e(k)=r(k)-y(k)
上述公式中,k為采樣序號(hào),k=0,1,2,…;r(k)為第k次給定值;y(k)為第k次實(shí)際輸出值;u(k)為第k次輸出控制量;e(k)為第k次偏差;e(k-1)為第k-1次偏差;kp為比例系數(shù);tl為積分時(shí)間常數(shù);td為微分時(shí)間常數(shù);t為采樣周期。
由u(k)公式可得:
則
得到增量式pid控制算法公式
δu(k)=kp[e(k)-e(k-1)]+kle(k)+kd[e(k)-2e(k-1)+e(k-2)]
因此可以看出由于一般計(jì)算機(jī)控制系統(tǒng)采用恒定的采樣周期t,從而確定了kp、kl、kd,只要使用前后三次量值的偏差,即可由上述公式求出控制增量。因此本發(fā)明實(shí)施例采用基于增量式pid控制算法,從而實(shí)現(xiàn)車輛車道偏離控制和自適應(yīng)速度控制。
本發(fā)明實(shí)施例中對(duì)車輛的車道偏離控制時(shí),智能車舵機(jī)采用位置式pid算法,直接輸出pwm對(duì)舵機(jī)轉(zhuǎn)角進(jìn)行控制。在智能車行駛過程中,因?yàn)椴恍枰紤]車輛之前走過的路線,因此可舍棄i控制,將車輛的舵機(jī)的pid控制簡(jiǎn)化為pd控制。
對(duì)舵機(jī)進(jìn)行pd控制需要選定偏差量,而獲得偏差前需先標(biāo)定圖像中心線,方法是將車輛假設(shè)在直道中心,標(biāo)定出標(biāo)準(zhǔn)的左右邊線位置,通過車輛行駛過程中采集到中線與圖像中心線作差得到前方一定距離處的原始偏差數(shù)組error[s_row],經(jīng)加權(quán)算法得到處理后的偏差值error作為pd控制器的輸入量。另外,在選用多遠(yuǎn)距離范圍內(nèi)的數(shù)據(jù)用作偏差量也很重要,因?yàn)橹钡郎嫌捎谒俣容^快,要選取較遠(yuǎn)處的偏差,以防止來不及轉(zhuǎn)向。而在彎道內(nèi),因?yàn)橐曇坝邢?,?yīng)該盡量使用能夠采集到的最遠(yuǎn)處的數(shù)據(jù)段,這樣能夠在連續(xù)彎的彎道內(nèi)切換時(shí)更加流暢,并且在回旋彎道內(nèi)也較為穩(wěn)定。
請(qǐng)參見圖10,舵機(jī)的pd控制程序?qū)崿F(xiàn)方法為:
pwm_control=pwm_middle+steer_kp*error+steer_kd*(error-pre_error)
上述公式中的pwm_control為輸出給舵機(jī)的pwm值,pwm_middle為舵機(jī)處于中間位置的pwm值,error為采集到的中線與圖像中心線的偏差,error-pre_error為本次偏差與上次偏差的差值。
由于車輛處于彎道和直道的轉(zhuǎn)向模型不同,若采用統(tǒng)一的pd參數(shù)整定,那么pd系數(shù)過大則會(huì)造成車輛振蕩,過少則會(huì)導(dǎo)致最大控制量偏小,小車轉(zhuǎn)向不足,車輛過彎時(shí)容易沖出車道。所以,對(duì)于pd參數(shù)進(jìn)行整定時(shí),需要根據(jù)不同類型車道的特點(diǎn),可以采用分段的pd控制方式,其中pd參數(shù)分段選擇為:
1)比例系數(shù)kp的選擇。當(dāng)車輛在直道上行駛時(shí),車輛的中心位置和車道中心的偏差較小,kp值應(yīng)該適當(dāng)縮小,而當(dāng)車輛行駛在大彎道時(shí),偏差較大,此時(shí)的kp值應(yīng)該大一些。小s彎道和大s彎道的彎曲程度比較小,這時(shí)的kp值應(yīng)該介于直道和大彎道之間。
2)微分系數(shù)kd的選擇。當(dāng)車輛在直道上進(jìn)行行駛時(shí),kd使用較小的值即可,若選擇的值過大時(shí),則會(huì)出現(xiàn)修正過度,導(dǎo)致智能車輛在直道上出現(xiàn)搖擺現(xiàn)象,影響直道快速行駛的穩(wěn)定性。車輛在大彎道上行駛時(shí),kd要設(shè)置得比較大一點(diǎn)的值,否則會(huì)造成車輛出現(xiàn)轉(zhuǎn)向的不足,容易沖出車道。在小s和大s彎道上進(jìn)行行駛時(shí),需要調(diào)整適當(dāng)大小的kd值,才能使得車輛在小s彎道實(shí)現(xiàn)直沖而在大s彎道上順利地通行。
本發(fā)明實(shí)施例中,為了實(shí)現(xiàn)車輛能夠自適應(yīng)速度控制,考慮到位置式pid控制算法存在一定的缺陷。由于控制量為全量輸出,所以每次控制量的輸出都與之前的控制相關(guān)聯(lián),并且計(jì)算時(shí)要對(duì)之前的e(k)進(jìn)行累加,這將導(dǎo)致計(jì)算量偏大,這對(duì)于mcu是不利的,而且因?yàn)閙cu輸出的u(k)對(duì)應(yīng)的是被控制對(duì)象的實(shí)際動(dòng)作,如果mcu出現(xiàn)故障而導(dǎo)致u(k)的大幅度變化,將會(huì)引起被控對(duì)象動(dòng)作的大幅變化,這種情況也是不允許的。故本發(fā)明實(shí)施例中采用了增量式pid速度閉環(huán)控制。
請(qǐng)參見圖11,本實(shí)施例對(duì)電機(jī)的pid控制程序?qū)崿F(xiàn)方法為:
motor_v=setv+(motor_kp+motor_kt+motor_kd)*speed_error-(motor_kp
+2*motor_kd)*pre_speed_error+motor_kd*last_speed_error
公式中motor_v為輸出給電機(jī)的pwm值,setv為設(shè)定速度值,speed_error為設(shè)定速度值與編碼器讀回的車輛實(shí)際速度值的偏差,pre_speed_error為上次速度偏差值,last_speed_error為上上次速度偏差值。
由上式可知道,取三次速度偏差值,經(jīng)過pid控制器的處理,得到處理后的速度改變梁,作用在設(shè)定速度setv上,通過調(diào)整后的pwm值來控制電機(jī)的轉(zhuǎn)動(dòng),從而使得車輛在不同類型的道路上行駛時(shí)有一個(gè)合適的速度。
為了提高相應(yīng)速度以及控制穩(wěn)定性,本發(fā)明實(shí)施例對(duì)pid參數(shù)進(jìn)行了多次整定。具體整定過程中,首先關(guān)閉積分項(xiàng)和微分項(xiàng),將tl設(shè)置為無窮大、td設(shè)置為零,使控制器成為純比例調(diào)節(jié)。初期比例系數(shù)tp的大小根據(jù)經(jīng)驗(yàn)數(shù)據(jù)設(shè)定,通過觀察震蕩曲線來整定tp,慢慢地使系統(tǒng)輸出達(dá)到4:1的衰減振蕩曲線,然后計(jì)入積分環(huán)節(jié)的參數(shù)整定,在此之前,需要將比例系數(shù)增大為原來的1.2倍左右。之后將積分時(shí)間tl從大到小進(jìn)行調(diào)整,再次觀察震蕩曲線是否達(dá)到4:1的狀態(tài)。最后,若控制中存在微分環(huán)節(jié),微分時(shí)間系數(shù)按td=(1/3~1/4)t來確定,這時(shí)就可以把比例系數(shù)調(diào)整到原來數(shù)值或小一些,同時(shí)將微分時(shí)間系數(shù)從小到大進(jìn)行調(diào)整,直到震蕩曲線達(dá)到較好的效果為止。需要注意的是,在不斷測(cè)試過程中,若要改變tl和td時(shí),應(yīng)保持兩者的比值不改變。
本發(fā)明實(shí)施例的基于攝像頭的汽車并線輔助系統(tǒng)和控制方法,通過視頻采集相應(yīng)的車輛行駛前方的圖像,然后進(jìn)行中值濾波、動(dòng)態(tài)閾值分割等方法探尋道路邊界信息,再利用邊界信息分別對(duì)車體進(jìn)行速度控制和轉(zhuǎn)向控制,其中,本發(fā)明對(duì)速度采用閉環(huán)增量式pid控制,明顯縮短控制周期使加減速更加及時(shí),速度更加平滑。對(duì)轉(zhuǎn)向則采用閉環(huán)pd控制使舵機(jī)轉(zhuǎn)向更加靈敏,達(dá)到提前預(yù)判的效果,從而實(shí)現(xiàn)并線輔助的功能,使得車輛行駛過程更加安全可靠。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是在本發(fā)明的構(gòu)思下,利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)變換,或直接/間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域均包括在本發(fā)明的專利保護(hù)范圍內(nèi)。