劉曉萌
摘 要:智能循跡小車的設(shè)計包括車的機(jī)械結(jié)構(gòu)設(shè)計,硬件電路設(shè)計和控制算法設(shè)計三個方面。文章采用模糊控制和PID算法進(jìn)行電機(jī)和舵機(jī)的控制,完成智能循跡小車的控制算法設(shè)計。該控制算法能夠使得智能循跡小車在指定賽道內(nèi)完成自動行駛的功能,達(dá)到設(shè)計要求。
關(guān)鍵詞:算法設(shè)計;智能循跡小車;行駛控制
中圖分類號:TP872 文獻(xiàn)標(biāo)志碼:A 文章編號:2095-2945(2017)27-0010-02
引言
隨著人工智能技術(shù)的發(fā)展,智能行車軟件開發(fā)已成為計算機(jī)科學(xué)領(lǐng)域的研究熱點之一,許多的實驗平臺和駕駛輔助系統(tǒng)已經(jīng)開發(fā)出來。
自動駕駛的實現(xiàn)需要依靠人工智能、視覺計算、雷達(dá)、監(jiān)控裝置和全球定位系統(tǒng)協(xié)同合作,讓電腦可以在沒有任何人類主動的操作下,自動安全地操作機(jī)動車輛?;跀z像頭的智能循跡小車的設(shè)計與控制軟件研發(fā)是探索自動駕駛技術(shù)的一種有效途徑,它以攝像頭為路況監(jiān)測傳感器,完成在指定道路上的不同任務(wù)。
智能循跡小車的設(shè)計與控制軟件研發(fā)主要包含三個基本方面[1-3]:機(jī)械結(jié)構(gòu)的設(shè)計、硬件系統(tǒng)的搭建、軟件系統(tǒng)的編寫。機(jī)械結(jié)構(gòu)調(diào)整模仿汽車的機(jī)械結(jié)構(gòu),包括重心調(diào)整,前輪定位等。硬件電路的設(shè)計遵從可靠性,穩(wěn)定性和完整性,設(shè)計出一套符合要求的硬件電路。軟件設(shè)計通過道路識別算法和控制算法完成控制,同時以大量的賽道數(shù)據(jù)為基礎(chǔ)保證了智能車的穩(wěn)定性。
1 智能循跡小車的機(jī)械結(jié)構(gòu)
小車的機(jī)械結(jié)構(gòu)主要由電機(jī),底盤,舵機(jī)和攝像頭四個部分構(gòu)成。
在智能車底板與后驅(qū)動模塊之間增加墊片可以降低底盤離地的間隙,為了保證智能車在彎道行駛時不發(fā)生側(cè)滑,底盤離地的間隙應(yīng)該是越小越好,但還要考慮車模在坡道處底盤不會碰到賽道,經(jīng)過實驗設(shè)置底盤離地間隙為8mm。
舵機(jī)采用前置懸置方式安裝,使擺臂和舵機(jī)始終處于同一個水平面,有利于轉(zhuǎn)向的靈活性,縮短舵機(jī)反應(yīng)時間。
智能車CMOS攝像頭的安裝主要考慮了三個因素[4-5]:首先,保證攝像頭的位置絕對居中且正對前方;其次,在安裝高度上要盡量高,獲取足夠多的路況信息;最后,近瞻距離智能車20CM之內(nèi),用來保證智能車不偏離賽道。遠(yuǎn)瞻在1M左右,在高速行駛的時候能夠提前判斷出前方賽道的類型。
2 智能循跡小車的硬件設(shè)計
系統(tǒng)硬件電路由K60最小系統(tǒng)、電源模塊,驅(qū)動模塊和傳感器模塊電路構(gòu)成,各個模塊都集成在一塊PCB板上,相比較各個模塊分離減輕了整車重量,同時保證了各個模塊在同時工作時的穩(wěn)定性。
智能車的控制芯片采用恩智浦公司的32位微處理器MK60FN1M,該芯片具有GPIO模塊FTM占空比(PWM)模塊、中斷模塊、A/D(模數(shù))轉(zhuǎn)換模塊和串口通信(UART)模塊。最小系統(tǒng)模塊包括輸入電源、復(fù)位電路、下載接口以及50MHz有源晶振,單片機(jī)最小工作電壓為3.3V。
3 控制軟件設(shè)計
智能循跡小車通過CMOS攝像頭獲取黑白的賽道圖像,利用黑線提取算法提取賽道并計算賽道中心位置,通過比較智能車位置與賽道中線的偏移量的大小來控制舵機(jī)的打角,實現(xiàn)對智能車方向的控制。此外,在速度控制上采用不同的賽道類型對應(yīng)不同的速度來確保智能車在各種賽道上的穩(wěn)定性,速度控制的算法采用模糊控制法,通過采集編碼器獲得的脈沖值的多少計算當(dāng)前速度值,用來實現(xiàn)速度的閉環(huán)控制。
3.1 圖像矯正與黑線提取的計算
由于攝像頭采集到的圖像是一幅發(fā)散式的圖像,會產(chǎn)生縱向和橫向畸變,如果不進(jìn)行矯正,無法保證采集到的賽道圖像的正確性,會影響對賽道類型的判斷,嚴(yán)重時還會造成智能車沖出賽道,無法完成任務(wù)。
由于攝像頭的畸變是梯形畸變,先不考慮縱向的畸變,攝像頭的橫向畸變近似為一個梯形。梯形矯正的方法為圖像最近一行為基準(zhǔn),假設(shè)賽道寬度為50個像素點,那么第二行也要把賽道寬度拓展成50個像素點,進(jìn)行逐行矯正,這樣最后得到的圖像就是等寬的。
賽道中線提取算法基本思路:(1)掃描最底部三行數(shù)據(jù),找出賽道的黑線坐標(biāo);(2)利用前一行的黑線位置判斷下一行黑線的大概位置,確定一個掃描的范圍,避免進(jìn)行逐行掃描,節(jié)省大量時間;(3)根據(jù)掃描到的賽道寬度,判斷是否符合真正賽道的寬度,消除噪聲干擾。
3.2 分類賽道控制算法
(1)直道的方向控制算法。直道是所有賽道元素中最簡單最容易識別的元素,也是智能車速度最快的路段。在直道中的方向控制是很好實現(xiàn)的,當(dāng)智能車偏離賽道一個偏移量時,通過計算賽道中心的位置與預(yù)定中心位置的差值,將這個差值反饋到PID方向控制上,智能車就會慢慢的回到賽道中心位置,這樣就實現(xiàn)了智能車在直道路段的方向控制。(2)大彎的方向控制算法。在賽道中遇到彎道需要轉(zhuǎn)彎時要考慮多個因素:彎道的彎曲程度、當(dāng)前的速度值和距離彎道的距離。由于舵機(jī)的轉(zhuǎn)向有一定的延時,為了減小延時增大舵機(jī)的電壓為最大電壓。由于智能車的速度很快,舵機(jī)轉(zhuǎn)過一定的角度過程中智能車已經(jīng)行駛了一段距離,所以遇到彎道時要提前轉(zhuǎn)彎,而且速度越快就要越提前轉(zhuǎn)彎,智能車提前轉(zhuǎn)彎多少由速度來決定,而轉(zhuǎn)彎轉(zhuǎn)多少由賽道的彎曲程度決定,賽道越彎轉(zhuǎn)過的角度就越大,同時速度要控制的越低,不然會發(fā)生側(cè)滑甚至側(cè)翻的情況。通過大量的實驗獲取了豐富的數(shù)據(jù),通過工具分析數(shù)據(jù)得到了彎曲程度、智能車速度和距離彎道距離之間的關(guān)系,通過實際的測試此關(guān)系完全滿足設(shè)計要求。(3)急彎的方向控制算法。遇到急彎的處理方式和大彎的處理方式相似,需要提前減速和轉(zhuǎn)彎,轉(zhuǎn)彎的轉(zhuǎn)向角也相應(yīng)增大,急彎的方向控制更加困難,要更加注意。(4)“小S型“道的方向控制算法?!靶型”彎道是一段類似于“S”形狀的來回彎道組成的,智能車通過時如果不做處理就會連續(xù)打彎,增加通過的時間。如果遇到“小S型”彎道時能從中間直線通過就好了,能大大減少通過的時間。因此找到“小S型”彎道的中心非常重要,只有找到了中心位置,智能車才能全速通過,如果找不準(zhǔn)中心位置,那么智能車就很容易沖出賽道。具體方法是“小S型”彎道的圖像通過掃描黑線的算法可以掃描到最后一行,此時賽道的中線都能計算出來,然后把賽道所有的中線進(jìn)行加權(quán)平均就能得到通過“小S型”彎道的最佳路徑。
4 結(jié)束語
只有出色的控制算法才能使智能車的各個部分完美配合,完成預(yù)定的任務(wù)。本文在基于攝像頭的智能循跡小車結(jié)構(gòu)設(shè)計與硬件電路設(shè)計的基礎(chǔ)上,進(jìn)行了控制算法的設(shè)計,為下一步整車系統(tǒng)的開發(fā)與調(diào)制奠定了基礎(chǔ)。
參考文獻(xiàn):
[1]尹杰,楊宗帥,聶海,等.基于紅外反射式智能循跡遙控小車系統(tǒng)設(shè)計[J].電子設(shè)計工程,2013,23:178-184.
[2]黃春平,萬其明,葉林.基于51單片機(jī)的智能循跡小車的設(shè)計[J].儀表技術(shù),2011(2):54-56.
[3]陸曉琳.基于PIC16F648的智能尋跡小車設(shè)計與實現(xiàn)[J].電測與儀表,2011,7:65-68.
[4]宮紀(jì)波.基于紅外反射循跡小車的傳感器布局研究[J].工業(yè)控制計算機(jī),2009,8:97.
[5]陳華偉,熊慧.智能循跡小車硬件設(shè)計及路徑識別算法[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010,12:26-31.endprint