智能車(chē)單片機(jī)的分段PID控制
發(fā)布時(shí)間:2021-08-09 責(zé)任編輯:lina
【導(dǎo)讀】自動(dòng)尋跡智能車(chē)涉及到當(dāng)前高技術(shù)領(lǐng)域內(nèi)的許多先進(jìn)技術(shù),其中 主要的是傳感技術(shù)、路徑規(guī)劃和運(yùn)動(dòng)控制。本課題是以飛思卡爾智能車(chē)競(jìng)賽為背景,以單片機(jī)作為 控制單元,以攝像頭作為路徑識(shí)別傳感器,以直流電機(jī)作為小車(chē)的驅(qū)動(dòng)裝置,以舵機(jī)控制小車(chē)轉(zhuǎn)向。
自動(dòng)尋跡智能車(chē)涉及到當(dāng)前高技術(shù)領(lǐng)域內(nèi)的許多先進(jìn)技術(shù),其中 主要的是傳感技術(shù)、路徑規(guī)劃和運(yùn)動(dòng)控制。本課題是以飛思卡爾智能車(chē)競(jìng)賽為背景,以單片機(jī)作為 控制單元,以攝像頭作為路徑識(shí)別傳感器,以直流電機(jī)作為小車(chē)的驅(qū)動(dòng)裝置,以舵機(jī)控制小車(chē)轉(zhuǎn)向。車(chē)模競(jìng)賽的賽道是一個(gè)具有特定幾何尺寸約束、摩擦系數(shù)及光學(xué)特性的KT板,其中心貼有對(duì)可見(jiàn)光及不可見(jiàn)光均有較強(qiáng)吸收特性的黑色條帶作為引導(dǎo)線,寬度為2.5 cm。在行駛過(guò)程中,系統(tǒng)通過(guò)攝像頭獲取前方賽道的圖像數(shù)據(jù),同時(shí)通過(guò)測(cè)速傳感器實(shí)時(shí)獲取智能車(chē)的速度,采用路徑搜索算法進(jìn)行尋線判斷和速度分析,然后作控制決策,控制轉(zhuǎn)向舵機(jī)和直流驅(qū)動(dòng)電機(jī)工作。智能車(chē)通過(guò)實(shí)時(shí)對(duì)自身運(yùn)動(dòng)速度及方向等進(jìn)行調(diào)整來(lái)“沿”賽道快速行駛。本文主要介紹攝像頭通過(guò)提取賽道黑線信息交予單片機(jī)處理,通過(guò)單片機(jī)輸出控制信號(hào)控制舵機(jī)轉(zhuǎn)向來(lái)控制車(chē)模的轉(zhuǎn)向,從而很好的自動(dòng)循跡。
1 總體軟硬件結(jié)構(gòu)及思路
此智能車(chē)輛定位系統(tǒng)用攝像頭拍攝車(chē)輛前方的賽道,通過(guò)MC9S12XS128采樣視頻信號(hào),獲得圖像數(shù)據(jù)。然后用合適的算法,如跟蹤邊緣檢測(cè)算法,分析圖像數(shù)據(jù),提取目標(biāo)指引線。然后,系統(tǒng)根據(jù)目標(biāo)指引線的位置信息,對(duì)舵機(jī)和電機(jī)施以合適的控制。本智能車(chē)運(yùn)動(dòng)系統(tǒng)的結(jié)構(gòu)圖如圖1所示。
因?yàn)橄到y(tǒng)是一個(gè)有機(jī)的整體,所以需配合好系統(tǒng)的攝像頭、控制單片機(jī)、電機(jī)(包括直流伺服電動(dòng)機(jī)、光電編碼器)、舵機(jī)和輔助電路(電源板、電機(jī)驅(qū)動(dòng)板)等各個(gè)部分。舵機(jī)是實(shí)時(shí)控制車(chē)模的轉(zhuǎn)向,是比賽快速性和穩(wěn)定性的關(guān)鍵,舵機(jī)控制有很多的控制算法,如:PID經(jīng)典控制算法、模糊算法、算法等。
2 系統(tǒng)程序總體控制流程
系統(tǒng)的基本軟件流程是:首先,對(duì)各功能模塊和控制參數(shù)進(jìn)行初始化;然后,通過(guò)圖像采集模塊獲取前方賽道的圖像數(shù)據(jù),同時(shí)通過(guò)速度傳感器模塊獲取賽車(chē)的速度。采用PID對(duì)舵機(jī)進(jìn)行反饋控制。另外根據(jù)檢測(cè)到的速度,結(jié)合速度控制策略,對(duì)賽車(chē)速度不斷進(jìn)行適當(dāng)調(diào)整,使賽車(chē)在符合比賽規(guī)則的前提下,沿賽道快速行駛。系統(tǒng)的基本軟件結(jié)構(gòu)流程圖,如圖2所示。
系統(tǒng)的軟件要求控制的準(zhǔn)確性、穩(wěn)定性。采樣提取黑線是控制輸入量的基礎(chǔ),要求采樣的 穩(wěn)定。輸入量給舵機(jī)以后又要求舵機(jī)輸出的快速相應(yīng)性、穩(wěn)定性和準(zhǔn)確性。經(jīng)過(guò)多次實(shí)驗(yàn)及近一個(gè)學(xué)期的調(diào)車(chē)經(jīng)驗(yàn),選用了并改進(jìn)了經(jīng)典的PID控制器對(duì)車(chē)模的舵機(jī)進(jìn)行控制調(diào)節(jié)。
3 圖像識(shí)別
用CCD攝像頭采集車(chē)模前方一定距離內(nèi)的黑線,從中提取相關(guān)量,用來(lái)控制舵機(jī)的轉(zhuǎn)向,實(shí)現(xiàn)智能車(chē)的自動(dòng)循跡。由于單片機(jī)數(shù)據(jù)處理能力和速度有限,不能在短短的20 ms時(shí)間內(nèi)處理整場(chǎng)圖像。本系統(tǒng)設(shè)置攝像頭前瞻為1.2 m。在不影響道路檢測(cè) 需要的前提下,本系統(tǒng)采用隔行采集來(lái)壓縮圖像數(shù)據(jù),即相隔不同的有效行采集一行數(shù)據(jù)(近處相隔的少,遠(yuǎn)處相隔的多),一共可采集 44行數(shù)據(jù)。此外為了進(jìn)一步提高A/D轉(zhuǎn)換的速度,本系統(tǒng)還適當(dāng)?shù)貙S12的CPU超頻運(yùn)行并且設(shè)置A/D轉(zhuǎn)換器的 為8位,這樣每行能采樣到67個(gè)點(diǎn),形成了一個(gè)面陣,而黑線在其中占據(jù)了某些點(diǎn)位。由于我們一行采集67個(gè)點(diǎn),故中間值為33。圖像是智能車(chē)的底層,圖像的采集正確與否在以后的控制中尤為重要,故一定要確保采集回來(lái)的黑線的真實(shí)有效性,并且要增加濾波算法,比如在有效前瞻很小的時(shí)候,本來(lái)只要判斷出黑線的轉(zhuǎn)向即可,給舵機(jī)以極限轉(zhuǎn)角可以讓車(chē)急轉(zhuǎn)彎。但是有效行很少的時(shí)候,如果不用特殊的濾波方法,只要有一行的黑線提錯(cuò),就可能讓小車(chē)轉(zhuǎn)錯(cuò),至于轉(zhuǎn)出界。
4 分段PID控制
4.1 圖像信息提取量
從采集回來(lái)的圖像中提取控制量來(lái)控制舵機(jī)的轉(zhuǎn)向,實(shí)現(xiàn)智能車(chē)的自動(dòng)循跡。本系統(tǒng)采用黑線偏移量even_diff和黑線某段斜率 D_diff-erent對(duì)舵機(jī)進(jìn)行控制,可稱(chēng)為PD控制器。由于車(chē)模是個(gè)隨動(dòng)系統(tǒng),在攝像頭1.2 m前瞻內(nèi)覆蓋的黑線不一定有設(shè)置的44行,特別是前方的彎特別急的時(shí)候,在攝像頭前瞻視角范圍內(nèi)覆蓋的黑線會(huì)特別少,比如13行或13行以下。根據(jù)這個(gè)特點(diǎn),可設(shè)置一個(gè)有效前瞻量valid_line作為對(duì)前方的彎的平緩程度的反應(yīng)。
把每一行的黑線位置值與中間值作差,得到該行的偏移量,中間值33位賽道的中心位置點(diǎn),偏移量表示在車(chē)模的視角下黑線處于賽道中的位置值。把每一行的偏移量相加之和除以攝像頭前瞻范圍內(nèi)的提取出的黑線行數(shù),得到黑線相對(duì)于車(chē)模中心的整體偏移量even_diff,用有效行內(nèi)的遠(yuǎn)處某些行與近處某些行(如前半場(chǎng)與后半場(chǎng))偏移量之差得到有效行內(nèi)的黑線斜率D_differen。
這樣,從一場(chǎng)的黑線位置數(shù)據(jù)中,系統(tǒng)提取了有效行valid_line、even_diff、D_different 3個(gè)量來(lái)對(duì)舵機(jī)進(jìn)行控制。在實(shí)際情況中,D_different可以很靈活,因?yàn)榍胺胶诰€的斜率可以取不同段得到,可以根據(jù)實(shí)際要求得到不同段的斜率值,如速度快時(shí)可以適當(dāng)?shù)娜【嘬?chē)較遠(yuǎn)處的黑線斜率,以實(shí)現(xiàn)超前控制。
在智能車(chē)調(diào)試參數(shù)的時(shí)候,對(duì)這3個(gè)量的理解很是重要,具體來(lái)說(shuō),valid_line表征車(chē)模的有效前瞻,即看得有多遠(yuǎn),對(duì)于智能車(chē)在道路上行駛,看得遠(yuǎn)說(shuō)明黑線都在前方,看不遠(yuǎn)說(shuō)明智能車(chē)前方的黑線已經(jīng)偏左或者偏右,而這個(gè)量的大小正好可以表征彎的平緩與急切。另外,看得遠(yuǎn)則攝像頭采集的黑線多,系統(tǒng)信息量大,那么怎么處理這些大量的信息為我們所用就變得很關(guān)鍵,如看得1.2 m都能看見(jiàn),說(shuō)明小車(chē)必然在長(zhǎng)直道上,不然也是小S彎,稍作處理就可以過(guò)濾掉小S彎了,讓小車(chē)像都是在直道上跑;看得很近說(shuō)明彎已經(jīng)很急,這時(shí)候,只要能夠判斷出彎往那邊拐就可以給舵機(jī)一個(gè)極值急拐。even_diff表征在某一個(gè)特定視野下,小車(chē)與黑線偏離的程度,這個(gè)量可以讓智能車(chē)在某個(gè)特定視野下決定給舵機(jī)多大的轉(zhuǎn)角。D_different則在有效前瞻遠(yuǎn)的時(shí)候尤為關(guān)鍵,因?yàn)樗梢灶A(yù)判前方的彎,從而超前的轉(zhuǎn)彎。
4.2 PD控制器形式
系統(tǒng)把這3個(gè)量處理成PD控制器的形式:
其中a為根據(jù)賽道有效前瞻確定的不同有效行。Centre為舵機(jī)走直線的控制中間值。Steer為PD控制器給舵機(jī)的輸入量。由于車(chē)模舵機(jī)轉(zhuǎn)向控制是一個(gè)非線性系統(tǒng),而設(shè)置了入口條件“有效行判斷”,正好可以把這個(gè)非線性系統(tǒng)分割成不同段,在每一段可近似認(rèn)為轉(zhuǎn)向控制系統(tǒng)是線性的。即在某一小段范圍內(nèi),得到的黑線位置和對(duì)應(yīng)的舵機(jī)PID參照角度處理成 線性關(guān)系。 終實(shí)現(xiàn)簡(jiǎn)單分段PID控制。
5 分段PID控制參數(shù)規(guī)律
在實(shí)際的調(diào)車(chē)過(guò)程中,我們總結(jié)發(fā)現(xiàn),PD控制器的參數(shù)Kp、Kd與有效前瞻valid_line、車(chē)模的速度相關(guān)。簡(jiǎn)單點(diǎn)說(shuō),即小車(chē)速度越快,車(chē)模遇彎提前拐彎的應(yīng)越早??偨Y(jié)下來(lái),有如下關(guān)系:
其中A為Kp的基礎(chǔ)值,valid_line為車(chē)模運(yùn)行到某個(gè)狀態(tài)的有效前瞻(用提取的黑線數(shù)量來(lái)估定),speed為小車(chē)一場(chǎng)時(shí)間內(nèi)的脈沖值,表征車(chē)模時(shí)刻運(yùn)行的速度。低速時(shí),可近似認(rèn)為speed/C為零,通過(guò)試驗(yàn)法可以確定A值大小。在確定Kp基礎(chǔ)值之后,即可加速,在小車(chē)速度稍高的時(shí)候調(diào)試得出合適的B值、C值, 終使小車(chē)平穩(wěn)準(zhǔn)確的切線,循跡而行。此關(guān)系式可知,有效前瞻的變化是對(duì)Kp值影響 大也是 直接的一個(gè)量,我們平時(shí)調(diào)車(chē)經(jīng)驗(yàn)而知,B參數(shù)應(yīng)比C敏感很多才行。有效行減少一行,對(duì)舵機(jī)轉(zhuǎn)向角的影響要遠(yuǎn)大于小車(chē)速度speed對(duì)Kp的對(duì)影響。而speed對(duì)舵機(jī)急轉(zhuǎn)快速性在車(chē)模高速的時(shí)候很是明顯。
為增加系統(tǒng)的魯棒性,并且更好的解決系統(tǒng)的非線性問(wèn)題,我們將小車(chē)的前瞻分段,我們1.2 m的前瞻里面,總共有44行黑線,直道上全部提取回來(lái),可以分為有效行37行一下、有效行30行以上、有效行24行以上、有效行18行以上、有效行13行以上與有效行13行以下7段。
雖然分為7段,各段單獨(dú)控制,參數(shù)單獨(dú)調(diào)節(jié),但是,Kp值與有效行(有效前瞻)成負(fù)相關(guān)的關(guān)系仍然成立,故Kp、Kp1、Kp2、Kp3、Kp4、Kp5依然大體上遵循與有效行負(fù)相關(guān)的關(guān)系,即Kp隨有效行的減小線性增加。
在每一段里面調(diào)節(jié)PD控制器的參數(shù),使小車(chē)能夠行使不同類(lèi)別不同半徑的彎道。這樣就形成分段PD控制,小車(chē)的非線性問(wèn)題可以很好的解決,系統(tǒng)的魯棒性也能夠增強(qiáng)。同時(shí),為保護(hù)舵機(jī)不至于向左向右打得太狠,可以限定舵機(jī)的左右極限值:
通過(guò)調(diào)試參數(shù)A、B、C,調(diào)節(jié)不同的Kp值,實(shí)踐證明,小車(chē)能夠平穩(wěn)、快速的自動(dòng)巡線前行。
6 結(jié)束語(yǔ)
該算法把舵機(jī)的轉(zhuǎn)向的Kp系數(shù)與車(chē)速相關(guān)起來(lái),能夠很好地配合車(chē)速與舵機(jī)轉(zhuǎn)向,提出以具體的智能車(chē)參數(shù)分段PD參數(shù)的規(guī)律,對(duì)智能車(chē)實(shí)際制作很有幫助,在智能車(chē)比賽中具有很廣的推廣價(jià)值。
實(shí)踐證明,參數(shù)調(diào)節(jié)合適的時(shí)候智能車(chē)能夠很好的適應(yīng)賽道,跑出希望的 佳路徑。為了參加第五屆“飛思卡爾”杯全國(guó)大學(xué)生智能汽車(chē)競(jìng)賽,此控制算法在校級(jí)代表隊(duì)資格選拔賽中表現(xiàn)完美, 終跑出2.5 m/s的好成績(jī),成功入選華北賽區(qū)參加比賽。實(shí)踐證明了智能車(chē)舵機(jī)分段PID控制轉(zhuǎn)向具有可行性和實(shí)用性。
免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問(wèn)題,請(qǐng)電話或者郵箱聯(lián)系小編進(jìn)行侵刪。
特別推薦
- AMTS 2025展位預(yù)訂正式開(kāi)啟——體驗(yàn)科技驅(qū)動(dòng)的未來(lái)汽車(chē)世界,共迎AMTS 20周年!
- 貿(mào)澤電子攜手安森美和Würth Elektronik推出新一代太陽(yáng)能和儲(chǔ)能解決方案
- 功率器件熱設(shè)計(jì)基礎(chǔ)(六)——瞬態(tài)熱測(cè)量
- 貿(mào)澤開(kāi)售Nordic Semiconductor nRF9151-DK開(kāi)發(fā)套件
- TDK推出用于可穿戴設(shè)備的薄膜功率電感器
- 日清紡微電子GNSS兩款新的射頻低噪聲放大器 (LNA) 進(jìn)入量產(chǎn)
- 中微半導(dǎo)推出高性?xún)r(jià)比觸控 MCU-CMS79FT72xB系列
技術(shù)文章更多>>
- 意法半導(dǎo)體推出首款超低功耗生物傳感器,成為眾多新型應(yīng)用的核心所在
- 是否存在有關(guān) PCB 走線電感的經(jīng)驗(yàn)法則?
- 智能電池傳感器的兩大關(guān)鍵部件: 車(chē)規(guī)級(jí)分流器以及匹配的評(píng)估板
- 功率器件熱設(shè)計(jì)基礎(chǔ)(八)——利用瞬態(tài)熱阻計(jì)算二極管浪涌電流
- AHTE 2025展位預(yù)訂正式開(kāi)啟——促進(jìn)新技術(shù)新理念應(yīng)用,共探多行業(yè)柔性解決方案
技術(shù)白皮書(shū)下載更多>>
- 車(chē)規(guī)與基于V2X的車(chē)輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車(chē)安全隔離的新挑戰(zhàn)
- 汽車(chē)模塊拋負(fù)載的解決方案
- 車(chē)用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索
生產(chǎn)測(cè)試
聲表諧振器
聲傳感器
濕度傳感器
石英機(jī)械表
石英石危害
時(shí)間繼電器
時(shí)鐘IC
世強(qiáng)電訊
示波器
視頻IC
視頻監(jiān)控
收發(fā)器
手機(jī)開(kāi)發(fā)
受話器
數(shù)字家庭
數(shù)字家庭
數(shù)字鎖相環(huán)
雙向可控硅
水泥電阻
絲印設(shè)備
伺服電機(jī)
速度傳感器
鎖相環(huán)
胎壓監(jiān)測(cè)
太陽(yáng)能
太陽(yáng)能電池
泰科源
鉭電容
碳膜電位器