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