從原理到落地 :純跟蹤算法如何讓自動駕駛車“走直線”?
本文來源:智車科技
在自動駕駛的“駕駛技能”里,橫向控制算法就像司機的雙手——它決定車輛能否精準沿著規(guī)劃好的路線行駛。而在眾多橫向控制算法中,純跟蹤算法(PurePursuit)憑借“簡單好用”的特質(zhì),成為低速場景(比如園區(qū)物流車、自動泊車)的首選方案。今天我們就用最通俗的語言,拆解這個算法的底層邏輯:它如何模仿人類駕駛?工程落地時要避開哪些坑?又適合哪些場景?
從人類駕駛到算法:純跟蹤的“模仿秀”
人類開車時,從不會死盯著車頭,而是會看向前方幾十米的目標點,然后自然轉(zhuǎn)動方向盤對準它。純跟蹤算法的核心邏輯,就是把這個過程“數(shù)學化”。
先給汽車“瘦身”:從四輪到兩輪的簡化
真實汽車的轉(zhuǎn)彎原理很復(fù)雜(比如阿克曼轉(zhuǎn)向,四個車輪繞同一圓心轉(zhuǎn)動,內(nèi)側(cè)車輪轉(zhuǎn)角更大),但純跟蹤算法用了個“偷懶”的辦法——自行車模型:
圖 真實車輛的阿克曼轉(zhuǎn)向幾何(上)及其簡化的自行車模型(下)
把汽車簡化成“兩個輪子”(前軸和后軸各一個),只考慮平面運動。這樣一來,前輪轉(zhuǎn)角δ和轉(zhuǎn)彎半徑R的關(guān)系就變得簡單:tan(δ)=軸距L/轉(zhuǎn)彎半徑R
也就是說,只要算出目標轉(zhuǎn)彎半徑R,就能直接得到需要轉(zhuǎn)多少方向盤(δ=arctan(L/R))。
這個模型在60km/h以下的低速場景非常好用,實測橫向偏差能控制在15cm以內(nèi)(相當于一個拳頭的寬度)。
核心操作:盯準目標點,畫個圓弧沖過去
純跟蹤算法的工作步驟,像極了新手司機練車:
選目標點:以車輛后軸為起點,沿規(guī)劃路線向前找一個“預(yù)瞄點”(距離自己ld米)
算轉(zhuǎn)彎半徑:計算從當前位置到目標點,需要畫一個多大半徑的圓弧
打方向盤:根據(jù)圓弧半徑,用上面的公式算出前輪該轉(zhuǎn)多少角度
整個過程就像用圓規(guī)畫圓——后軸是圓心,預(yù)瞄距離ld是半徑,目標點是圓上的一點。
圖 純跟蹤算法的幾何關(guān)系推導
工程落地:把公式變成“能跑的代碼”
理論好懂,但落地時藏著不少細節(jié)。我們按算法運行的步驟,一步步拆解關(guān)鍵操作。
第一步:給目標點“定位
規(guī)劃好的路線坐標是“全局地圖”里的(比如經(jīng)緯度),而車輛需要知道目標點在“自己的坐標系”里的位置(比如“前方5米,偏右0.3米”)。這就需要做坐標轉(zhuǎn)換:
簡單說,就是把“地圖上的點”轉(zhuǎn)化成“相對于自己的位置”,這樣才能算清楚“該往左轉(zhuǎn)還是右轉(zhuǎn)”。
圖 坐標轉(zhuǎn)化
第二步:預(yù)瞄距離怎么定?
速度快就看遠點預(yù)瞄距離ld(就是看前方多遠的點)是個關(guān)鍵參數(shù),直接影響控制效果:
太慢的車(比如泊車時<5km/h):看1-2米就行
園區(qū)里跑的車(30-40km/h):看3-5米
速度再快?抱歉,純跟蹤算法不太擅長(后面會說原因)
工程上常用速度自適應(yīng)策略:速度v越快,預(yù)瞄距離ld越遠(比如ld=k×v,k取1.1-1.5)。但要注意:
車速單位要轉(zhuǎn)成m/s(CAN總線常給km/h,別忘除以3.6)
最低預(yù)瞄距離留3-5米(防止車速為0時出錯)
圖 預(yù)瞄距離與速度關(guān)系
第三步:目標點怎么選?別找錯了!
選目標點時,要找到“剛好超過預(yù)瞄距離ld”的那個點,步驟很簡單:
1.先在規(guī)劃路線上,找到離自己最近的點(相當于“當前位置”)
2.從這個點往前數(shù),累加路線長度,直到超過ld,這個點就是目標點
最后一步:方向盤轉(zhuǎn)角怎么算?還要做什么處理?
有了目標點,用下面的公式直接算前輪轉(zhuǎn)角:
轉(zhuǎn)向角δ=arctan(2×軸距L×sin(α)/預(yù)瞄距離ld)
(α是車輛當前航向與目標點方向的夾角,用坐標轉(zhuǎn)換后的局部坐標就能算)
但工程落地時,這一步還要做兩件事:
轉(zhuǎn)成方向盤角度:前輪轉(zhuǎn)角×轉(zhuǎn)向傳動比(比如傳動比16,就是前輪轉(zhuǎn)1度,方向盤要轉(zhuǎn)16度)
平滑處理:用一階低通濾波消除抖動(比如濾波系數(shù)0.2,新角度=0.8×舊角度+0.2×計算值)
純跟蹤算法:哪些場景“能用”,哪些場景“頭疼”?
優(yōu)勢:簡單就是王道
計算快:單幀處理<5ms,普通單片機都能跑
魯棒性強:定位有小誤差(比如10cm)也不影響
參數(shù)少:主要調(diào)預(yù)瞄距離相關(guān)的2-3個參數(shù),新手也能上手
缺點:高速場景“hold不住”
忽略動力學:沒考慮輪胎打滑(比如雨天路面滑,算法算出來的轉(zhuǎn)角會不準)
高速易跑偏:車速超過60km/h后,穩(wěn)定性明顯下降(急彎容易“切彎”)
參數(shù)敏感:預(yù)瞄距離差1米,控制效果可能天差地別
最適合的場景
低速園區(qū)車:廠區(qū)、校園里的配送車(速度<40km/h)
自動泊車:10km/h以內(nèi)的泊車場景,短預(yù)瞄距離能精準入位
農(nóng)業(yè)機械:農(nóng)田里直線作業(yè),結(jié)合PID補償能提高精度
工程落地避坑指南
預(yù)瞄距離不是越大越好:
低速(<20km/h):3-5米
中速(20-40km/h):5-8米
急彎處:比直道縮短20%(防止切彎)
濾波參數(shù)別亂調(diào):
抑制抖動選強濾波(系數(shù)0.1-0.3)
高速場景選弱濾波(系數(shù)0.5-0.8),避免響應(yīng)滯后
別忽略單位轉(zhuǎn)換:
車速單位:km/h→m/s(除以3.6)
角度單位:弧度→度(算法算的是弧度,CAN總線發(fā)的是度)
簡單算法的“生存智慧”
純跟蹤算法就像自動駕駛領(lǐng)域的“老黃!薄凰阕钕冗M,但勝在簡單可靠。在低速封閉場景里,它的表現(xiàn)甚至不輸復(fù)雜的模型預(yù)測控制(MPC)。
理解它的原理,不僅能幫你快速實現(xiàn)一個可用的橫向控制模塊,更能讓你明白:好的算法不是越復(fù)雜越好,而是能在特定場景下解決問題。
下次坐園區(qū)無人車時,不妨觀察一下它過彎的路線——說不定,你就能看出純跟蹤算法的“影子”呢。
- End -
免責聲明:
凡本公眾號注明“來源:XXX(非智車科技)”的作品,均轉(zhuǎn)載自其它媒體,轉(zhuǎn)載目的在于傳遞和分享更多信息,并不代表本平臺贊同其觀點和對其真實性負責,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系我們刪除。
原文標題 : 從原理到落地:純跟蹤算法如何讓自動駕駛車“走直線”?

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
-
7.30-8.1火熱報名中>> 全數(shù)會2025(第六屆)機器人及智能工廠展
-
7月31日免費預(yù)約>> OFweek 2025 具身機器人動力電池技術(shù)應(yīng)用大會
-
免費參會立即報名>> 7月30日- 8月1日 2025全數(shù)會工業(yè)芯片與傳感儀表展
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍皮書》
-
8月5日立即報名>> 【在線會議】CAE優(yōu)化設(shè)計:醫(yī)療器械設(shè)計的應(yīng)用案例與方案解析
-
8月14日立即報名>> 【在線研討會】解析安森美(onsemi)高精度與超低功耗CGM系統(tǒng)解決方案
推薦專題
- 1 AI產(chǎn)業(yè)的新高度!英偉達成為全球首家市值破4萬億美元的公司
- 2 傳魏建軍與賈躍亭合作,長城汽車出海美國
- 3 一文讀懂:到底什么是 “具身智能” ?
- 4 黃仁勛:與雷軍長期合作,共探AI智駕
- 5 具身智能泡沫爭議下,華映資本尋找「穿越周期者」
- 6 中國平安們欲靠AI守“陣地”
- 7 華為讓渡“三界”銷售主導權(quán),智界高管:終于能全力奔跑了
- 8 官宣:智元機器人借殼上市,A股人形機器人第一股!
- 9 借仿生手實現(xiàn)突圍,國產(chǎn)靈巧手破局“不可能三角”
- 10 DeepSeek R2加持,中國AI與芯片產(chǎn)業(yè)迎來新一輪協(xié)同進化