“恩智浦”杯智能车竞赛总结
?
暑假參加了第十三屆全國(guó)大學(xué)生“恩智浦”杯智能車(chē)競(jìng)賽。由于我們是第一屆雙車(chē)對(duì)抗,沒(méi)有任何前人的經(jīng)驗(yàn),在比賽的過(guò)程中遇到了很多問(wèn)題,繞了很多路,甚至有的問(wèn)題是在比賽現(xiàn)場(chǎng)在想到解決方案,更改已經(jīng)來(lái)不及,留下了一些遺憾。
??? 我們的比賽分為兩個(gè)部分,硬件和軟件。硬件部分包括,賽車(chē)的車(chē)模,賽車(chē)要用到的核心板,賽車(chē)要用到的傳感器,以及PCB板電池在車(chē)上位置即機(jī)械結(jié)構(gòu)。我和另一個(gè)隊(duì)友負(fù)責(zé)軟件部分。
?? 軟件和硬件分開(kāi)調(diào)試,但在調(diào)試之前應(yīng)該想好要使用的傳感器,雙車(chē)追逐,建議使用攝像頭,和車(chē)尾加上測(cè)距的鴛鴦模塊或者其他模塊(我們就沒(méi)有加這個(gè)模塊導(dǎo)致無(wú)法精確確定雙車(chē),車(chē)身是否錯(cuò)開(kāi))。在確定所有的硬件之后,就要設(shè)計(jì)機(jī)械結(jié)構(gòu),電池、pcb、以及攝像頭的位置(嚴(yán)格按照比賽要求設(shè)置)。這些的設(shè)計(jì)要考慮到,賽車(chē)的重心,賽車(chē)防撞,反光等問(wèn)題。結(jié)構(gòu)將影響賽車(chē)跑起來(lái)的穩(wěn)定性,轉(zhuǎn)彎性能和剎車(chē)性能(重心影響特別嚴(yán)重,建議中心放低靠前一點(diǎn)點(diǎn)),在設(shè)計(jì)機(jī)械機(jī)構(gòu)的同時(shí)也要利用上一屆的賽車(chē)進(jìn)行軟件調(diào)試。
??? 軟件調(diào)試一般有兩個(gè)同學(xué)完成,一個(gè)做圖像處理,一個(gè)做舵機(jī)、電機(jī)PID、即雙車(chē)通信的處理。
??? 兩個(gè)同學(xué)都應(yīng)該測(cè)試小車(chē)用到的傳感器,測(cè)試24L01通信、藍(lán)牙、攝像頭、電機(jī) 、舵機(jī)、編碼器、oled顯示、這些硬件一定要提前測(cè)試,后面再發(fā)現(xiàn)問(wèn)題進(jìn)行修改會(huì)增加時(shí)間成本,修改起來(lái)也比較麻煩。
??? 當(dāng)準(zhǔn)備工作做好之后就可以進(jìn)行賽車(chē)調(diào)試了,在我主要負(fù)責(zé),通信、舵機(jī)、電機(jī)的調(diào)試。
??? 采用迷你編碼器采集脈沖數(shù)(不推薦使用迷你編碼器,采集的脈沖數(shù)變化范圍比歐姆龍的大很多,建議采用歐姆龍的編碼器),由于使用k60單片機(jī),發(fā)現(xiàn)k60的脈沖采集通道只有一個(gè),無(wú)法同時(shí)采集雙脈沖信號(hào)。但幸好我們的迷你編碼器兼容正交解碼,所以分析我們有兩種方案可以選擇。
??? 第一種方案,采用分時(shí)方案,每隔10m采集一次脈沖,先采集左輪脈沖,再采集右輪脈沖,采集一次控制一次電機(jī),即時(shí)間間隔10ms采集一次脈沖,20ms控制一次電機(jī),經(jīng)過(guò)測(cè)試在宏觀運(yùn)行上該方案完全能讓小車(chē)穩(wěn)定高速運(yùn)行,以及PID參數(shù)很容易調(diào)節(jié)。
??? 第二種方案,采用正交解碼的方式,獲取脈沖數(shù),經(jīng)PID參數(shù)整定比較麻煩,難以找到合適的PID,在宏觀上的運(yùn)行也不是很理想。綜上兩種方案最后采用第一種方案。
濾波方案,沒(méi)有對(duì)輸入的信號(hào)進(jìn)行特殊濾波,根據(jù)實(shí)際測(cè)試,編碼器的誤差對(duì)賽車(chē)的宏觀速度沒(méi)有多少影響,所以沒(méi)有對(duì)輸入脈沖進(jìn)行特殊濾波,但需要進(jìn)行限幅濾波考慮到會(huì)有個(gè)別失真的脈沖。
??? 電機(jī)PID控制,增量式對(duì)速度有較好的控制,所以電機(jī)采用增量式PID的控制方式并且使用PI控制,。在增量式中加入了積分分離(賽車(chē)在調(diào)試過(guò)程中出現(xiàn)了超調(diào)分析原因是啟動(dòng)過(guò)程中因?yàn)榉e分作用產(chǎn)生超調(diào),因此加入積分分離,這個(gè)問(wèn)題解決)、限幅、以及誤差分離(根據(jù)實(shí)際現(xiàn)象添加,賽車(chē)運(yùn)行過(guò)程中發(fā)現(xiàn)賽車(chē)無(wú)法進(jìn)入穩(wěn)態(tài),經(jīng)過(guò)多次測(cè)試以及分析算法,分析原因是賽車(chē)上次誤差與本次誤差相同,導(dǎo)致,比例部分失去作用,又因?yàn)榉e分作用比較弱,或者積分被分離出去沒(méi)有作用,導(dǎo)致速度無(wú)法到達(dá)穩(wěn)態(tài),形成有差系統(tǒng),類似于純比例系統(tǒng),在引入誤差分離后解決該問(wèn)題)。速度PID的調(diào)試采用經(jīng)驗(yàn)法,先調(diào)節(jié)P觀察賽車(chē)的速度波形變化,能夠快速達(dá)到穩(wěn)態(tài)時(shí),加入積分環(huán)節(jié)。
??? 差速方案,為了讓賽車(chē)快速過(guò)彎,讓賽車(chē)進(jìn)行根據(jù)舵機(jī)的反饋值進(jìn)行差速,分析差速方案兩種,方案一采用一個(gè)PID進(jìn)行差速,類似于軟件實(shí)現(xiàn)差速器的功能,取兩輪速度的平均值進(jìn)行PID控制后,與舵機(jī)的反饋值進(jìn)行差速。沒(méi)有測(cè)試該方案,但通過(guò)觀察其他隊(duì)采用該方案的同學(xué)發(fā)現(xiàn)實(shí)際運(yùn)行效果并沒(méi)有方案二號(hào)好。
??? 方案二采用,分別差速的方式,即左輪、右輪在PID計(jì)算后分別與舵機(jī)反饋值進(jìn)行差速,觀察該方案差速效果明顯,小車(chē)過(guò)彎能力有明顯提升尤其是提升小車(chē)通過(guò)急彎的能力。最后采用方案二。
??? 剎車(chē)減速方案,剎車(chē)減速采用點(diǎn)剎的控制方式,即不停地檢查當(dāng)前速度(沒(méi)20ms檢測(cè)一次),與期望速度的大小,當(dāng)前速度如果大于期望速度,開(kāi)啟剎車(chē)系統(tǒng)剎車(chē),當(dāng)檢測(cè)到當(dāng)前的速度小于實(shí)際速度時(shí),關(guān)閉剎車(chē)系統(tǒng),當(dāng)檢測(cè)到賽道速變化時(shí),即需要檢測(cè)剎車(chē)時(shí)在開(kāi)啟剎車(chē)系統(tǒng)。該方案經(jīng)實(shí)際測(cè)試,剎車(chē)效果明顯,剎車(chē)距離短,即使高速也能較快的進(jìn)行減速剎車(chē)。
?????? 舵機(jī)PID控制,因舵機(jī)控制需要知道上次的值故采用位置式pid,根據(jù)圖像得到的中性線誤差控制舵機(jī),采用PD控制。
?????? 舵機(jī)與電機(jī)PID控制采用分段控制,不同的賽道元素采用不同的PID,以及速度,主要分為兩段,直道和彎道,包括差速剎車(chē)測(cè)也是在直道彎道切換時(shí)開(kāi)啟。通過(guò)這樣的方式是,舵機(jī)PID,電機(jī)PID,剎車(chē)控制,差速控制有效的結(jié)合在一起使賽車(chē)能夠穩(wěn)定快速的運(yùn)行。
?????? 通信方案,雙車(chē)通信采用24L01通信,經(jīng)過(guò)分析兩車(chē)在賽道上的通信為鏡像關(guān)系。因此兩車(chē)采用相同的通信協(xié)議,而在通信過(guò)程中會(huì)出現(xiàn)許多邏輯問(wèn)題,需要長(zhǎng)時(shí)間調(diào)試解決,因此通信建議使用一到兩周的時(shí)間進(jìn)行調(diào)試。
?????? 競(jìng)賽遺留問(wèn)題:
1,只有攝像頭模塊,無(wú)法確定賽車(chē)是否完全錯(cuò)開(kāi)。
2,通信會(huì)出現(xiàn)延時(shí)問(wèn)題。
3,一個(gè)車(chē)停車(chē)后可能會(huì)出現(xiàn)另一個(gè)車(chē)停止不動(dòng)
轉(zhuǎn)載于:https://www.cnblogs.com/sheng520/p/9580076.html
總結(jié)
以上是生活随笔為你收集整理的“恩智浦”杯智能车竞赛总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Unity 编辑器下控制播放粒子
- 下一篇: Winrar无广告版下载地址