智能車賽道記憶算法的研究
本次“飛思卡爾”智能車邀請賽規則中明確指出,智能車在賽道上連續跑兩圈,并記其中最好圈成績為比賽成績。這個規則的確立使得賽道記憶算法成為了可行。
本文引用地址:http://www.j9360.com/article/95570.htm如圖1所示,賽道記憶算法在第一圈以最安全的速度緩慢駛過一圈,并將賽道信息保存下來,第二圈根據保存下來的信息進行車速和轉角決策的相應最優化,從而在第二圈取得好成績。無論智能車的傳感器前瞻距離有多遠,在跑圈時它都只能預測在一段有限距離內賽道的情況。而采用賽道記憶算法的智能車,在第二圈時已對整個賽道有了全面的認識,從而在相同條件下,將比不使用賽道記憶的智能車更具優勢。
算法實現前提
要想成功實現賽道記憶算法,必須有以下幾大前提:
1.賽車在第一圈必須安全走完全程。在第一圈,賽車的最主要目的是采集賽道信息,使用賽道記憶算法的智能車,在第一圈一般都會采用較緩慢的勻速走完全程。
2.賽車必須能明確分辨出賽道起點線和十字交叉線的區別。
3.賽車必須能夠有足夠記錄一圈賽道數據的內存空間。由于單片機芯片的Ram容量有限,算法研究者需要對算法進行優化處理,改變保存的格式以節省內存空間。
4.在跑第一圈時,賽車需即時地對當前賽道數據進行處理,避免第二圈時還在進行數據處理而對賽車的控制實時性帶來不良的影響。
初圈記憶
采用賽道記憶算法的智能車,第一圈的主要目的就是將賽道的重要特征按特定的格式記錄下來,作為第二圈的參考。初圈最終要記錄的數據的橫坐標一般為行駛的路程,而縱坐標則為賽道此點的曲率半徑。對于橫坐標,由于初圈一般勻速駛完,一般可以直接用時間來表示,也可以用車速傳感器的當前脈沖數來表示。而對于縱坐標,則無法第一時間取得當前點的曲率半徑,它需要對采集到的原始數據進行相關處理后才能得出。在初圈中,我們能記錄的只是當前的轉角設定值,可用舵機占空比或者直接轉換過來的角度值表示。
數據分析與處理
圖2是在韓國比賽賽道中初圈記錄下來的轉角變化曲線圖。對比圖3的賽道圖可以發現,真實賽道上的一些特征在記憶曲線圖上是可以有所體現的。
首先,賽道中的直道部分在曲線中的體現是值為0的直線,但會有一定的波動,如圖2中的點A部分;彎道的旋轉方向則體現在曲線中轉角值的正負,例如B部分,則對應著賽道中大角度左轉之前的一小段右轉;彎道的曲率半徑和弧度體現在曲線中轉角值大小和長度上,如C部分,它的轉角值較大,在正負之間短暫切換,在實際賽道中就是那段波浪曲線段(圖3中C部分)。綜上所述,在第一圈時將轉角值記錄下來的變化曲線,如果對其加以分析和處理,它是完全可以體現賽道的特征的。
評論