











摘 要:在無人駕駛領域,運動規劃是亟待解決的關鍵問題之一。無人車的運動規劃包括路徑規劃和路徑跟蹤控制兩部分。目前常用的路徑規劃方法和路徑跟蹤控制方法多依據人為制定的規則和策略,缺乏靈活性。針對此問題使用DQN算法,規劃得到車輛的路徑點,根據規劃得到的路徑點,使用轉向神經網絡(SNN)控制車輛在相鄰路徑點之間進行轉向運動,完成對轉向關系路徑點的跟蹤,從而使車輛自主進行路徑點規劃和路徑點跟蹤。仿真結果表明,無人車沿規劃得到的由路徑點組成的全局路徑行進可避開障礙物到達終點,使用轉向神經網絡可控制車輛完成在相鄰路徑點之間的轉向,調整車輛的航向角,從而完成對規劃得到的路徑點的跟蹤。由此可知,該研究能有效提高車輛的移動效率。
關鍵詞:運動規劃;路徑點規劃;路徑跟蹤控制;DQN;SNN;無人車
中圖分類號:TP273 文獻標識碼:A 文章編號:2095-1302(2025)02-00-05
0 引 言
無人駕駛汽車(簡稱無人車)技術是利用傳感器、計算機控制車輛自主運動的新興技術[1-2]。近年來,隨著人工智能的崛起,無人車技術迅速發展。運動規劃作為無人車技術的核心技術之一,受到眾多研究者的關注。運動規劃[3]要完成兩項任務:路徑規劃和跟蹤控制。
路徑規劃即通過規劃得到一條從起點到終點的安全、高效的路徑[4]。目前常用的路徑規劃方法主要包括:A*算法[5-6]、動態窗口算法[7-8]、人工勢場法[9-10]和隨機搜索算法[11]等。
跟蹤控制即根據規劃得到的路徑,設計控制量驅動車輛沿路徑運動。路徑跟蹤控制方法可以分為PID控制、LQR (Linear Quadratic Regulator)控制[12]、MPC(Model Predictive Control)控制。PID控制使用PID控制器控制車輛運動,文獻[13]使用模糊推理設計參數值自適應PID控制器來控制車輛跟蹤路徑。LQR控制使用LQR控制器將非線性控制系統簡化為線性控制系統,設計最優控制器,使系統沿著預定義的期望軌跡運動,以最小化狀態偏差和控制輸入成本。MPC控制通過預測系統未來狀態,迭代優化控制輸入序列,并選擇當前最優輸入,使系統沿著期望軌跡運動。文獻[14]將MPC與模糊控制相結合,使用MPC實現路徑跟蹤,借助模糊控制器提高跟蹤精度。
上述路徑規劃方法和跟蹤控制方法都是根據人工制定規則和策略來實現的,依賴于預定義的規則和參數,對于變化的環境可能缺乏適應性,無法靈活地根據環境狀態信息調整策略,策略較為固定。本文使用神經網絡進行路徑點規劃,使無人車具備學習能力,經過學習之后,車輛在某個路徑點可以根據環境狀態尋找到下一合理的路徑點。此外,控制車輛實現對規劃所得路徑點的跟蹤,重點針對相鄰兩個路徑點之間需要轉向的情況,在從當前路徑點移動到下一路徑點的過程中,使用轉向神經網絡將當前路徑點處航向角調整到下一路徑點處所需的航向角,提高車輛移動效率。
1 運動規劃算法
1.1 路徑點規劃
規劃路徑點即車輛在當前點處尋找下一步的目標點,直到到達終點。每一步規劃所得路徑點需避開障礙物所在位置,以保證車輛運動的安全性。這一系列路徑點組成了車輛的全局路徑。
本文采用深度Q網絡(Deep Q Network, DQN)[15]在位置點L(t)尋找下一路徑點L(t+1)。DQN使無人車不斷與環境進行交互獲得獎勵信息,根據獎勵信息進行學習,無需任何先驗知識,最終學習到最優策略,并按照最優策略執行。DQN算法使用主網絡輸入狀態S(t)得到動作空間中各動作的值Q(S(t), a(t)),根據動作值使用ε貪婪策略從動作空間中選擇執行一個動作a(t),從而得到下一狀態S(t+1)和獎勵R(t),將S(t)、a(t)、S(t+1)和R(t)作為一組樣本存放到回放記憶池中,從回放記憶池中隨機抽取樣本,使用目標值網絡協同R(t)得到更新目標值,根據更新目標值得到損失函數,再使用損失函數更新主網絡。
主網絡輸入狀態S(t)由車輛當前位置L(t)、障礙物位置以及終點位置所組成。本文未設計動作空間,但為無人車設計了可選路徑點空間,它包含當前位置點L(t)的上、下、左、右4個點,每次使用神經網絡選擇一個點作為下一路徑點L(t+1)。獎勵R(t)根據所選下一路徑點與障礙物、目標點的關系得到,R(t)如式(1)所示:
(1)
在本文中,使用V(S(t), L(t+1))代替Q(S(t), a(t))用來評估當前狀態S(t)下選擇的下一路徑點的優劣程度。
DQN訓練過程如圖1所示。
在訓練完成之后,可使用訓練得到的主網絡規劃得到車輛從起點到終點的路徑點,路徑點規劃流程如圖2所示。如果主網絡的實際應用環境相較于訓練環境障礙物的分布情況發生變化,在規劃路徑點時可能會碰上新出現的障礙物。為避免碰撞的發生,在規劃路徑點時增加避障流程,避免選擇障礙物所在位置為路徑點。
1.2 路徑點跟蹤控制
在規劃得到路徑點之后,需要控制相鄰兩個路徑點之間的運動。路徑跟蹤控制需要根據相鄰的3個路徑點L(t)、L(t+1)、L(t+2)進行判斷,主要分為以下兩種情況:
(1)若L(t)、L(t+1)、L(t+2)在同一條直線上,車輛從L(t)到L(t+1)的過程中無需轉向,按恒定速度、恒定航向角沿直線運動即可。相鄰路徑點直線關系如圖3所示。
(2)若L(t)、L(t+1)、L(t+2)不在同一條直線上,根據本文采用的阿克曼轉向模型,車輛無法實現原地轉向,即車輛不能在到達L(t+1)后,在L(t+1)原地將航向角調整到指向L(t+2)的方向。因此,車輛要在從L(t)到L(t+1)的過程中完成轉向,在到達L(t+1)時航向角就已經調整為指向L(t+2)的方向,也就是說在從L(t)到L(t+1)的過程中,車輛要從L(t)處的狀態s(t)調整成L(t+1)處的狀態s(t+1),狀態s(t)如式(2)所示:
(2)
式中:px(t)、py(t)、ψ(t)分別表示t時刻車輛的橫縱坐標以及航向角。相鄰路徑點轉向關系如圖4所示。
1.2.1 車輛運動學模型
圖5是車輛運動學模型。
將四輪車簡化為兩輪單車模型。圖5中,A為車輛前輪的中心點,B為車輛后輪的中心點,C是車輛的質心;lr是B點到C點的距離,lf是A點到C點的距離,lr+lf=l為車輛的軸距;δf和δr分別為車輛前輪轉角和后輪轉角;車輛的速度為v,其與車輛縱軸的夾角為β;ψ為車輛的航向角,描述了車輛的前進方向。在ΔOCA和ΔOBC中,由正弦定理可得:
(3)
(4)
(5)
(6)
(7)
1.2.2 局部轉向路徑跟蹤
由于在轉彎時設定為恒定低速轉彎,即v不變,所以車輛的控制量為前輪轉角δf。使用SNN在每一步選擇車輛的前輪轉角,以及在每一步輸入當前位置與目標點之間的位置差向量,通過神經網絡得到各前輪轉角的動作值,根據動作值選擇前輪轉角,控制車輛的每一步運動。SNN如圖6所示。
圖6中p(t)表示在局部轉向過程中車輛當前位置與目標點之間的位置差向量。由于車輛在轉向過程中連續兩個位置的坐標相近,如果直接將兩個位置與目標點之間的坐標差輸入神經網絡,神經網絡可能無法區分,因此采用位置差向量增加區分度。t時刻位置差向量p(t)的計算方法如下:將t時刻車輛橫坐標與目標點橫坐標之間的坐標差xg-xt轉化到一個10×M的矩陣中,該矩陣的行依次對應“0~9”共10個數字,列對應xg-xt值的各數位,若xg-xt的第m(m的取值范圍為
[1, M])位數字為n,則矩陣的第m列第n+1行所對應元素為1,該列的其余元素為0;將橫縱坐標差分別轉換為一個矩陣,再將橫縱坐標差對應的矩陣分別按列展開后拼接成一個列向量,即為位置差向量p(t)。
V(δf1), V(δf2), ..., V(δf21)表示車輛前輪轉角的動作值,本文設置21個前輪轉角動作,前輪轉角范圍為[-30°,30°],相鄰兩個動作之間相差3°。
在SNN訓練時,每一步輸入位置差向量p(t),輸出各前輪轉角的動作值,根據動作值選擇前輪轉角執行操作,執行操作后車輛到達下一位置,將下一位置的狀態與局部轉向目標點狀態比較,得到所選前輪轉角的獎勵R(t),使用R(t)更新SNN。其中,局部轉向目標點狀態如式(8)所示:
(8)
式中:px(g)、py(g)、ψ(g)分別表示局部轉向目標點的橫縱坐標及航向角。R(t)的計算如式(9)所示:
(9)
SNN的訓練流程如圖7所示。
在SNN訓練完成之后,車輛使用訓練后的SNN跟蹤轉向路徑點,完成局部轉向運動,局部轉向路徑跟蹤控制流程如圖8所示。
將上述路徑點規劃與路徑點跟蹤控制結合得到車輛運動規劃的全流程,完成車輛從起點至終點的完整運動流程,車輛運動規劃全流程如圖9所示。在完成轉向路徑跟蹤之后,存在一定的誤差,圖9中的L'(t+1)就是跟蹤局部轉向路徑完成后所得到的與L(t+1)誤差很小的點。
2 仿真與結果分析
為驗證算法效果,通過MATLAB進行仿真,并根據結果做出分析。
2.1 路徑點規劃仿真結果
圖10為按照路徑點規劃方法所得的路徑點,其中,車輛的行駛區域面積為30×30,空心圈和大實心圓分別表示位于(5,5)的全局起點和位于(25,25)的全局終點,空心方塊和實心方塊分別表示訓練環境中的原始障礙物和實際路徑點規劃環境中的新障礙物,小圓圈是規劃所得的一系列路徑點,將各路徑點相連就得到了一條從起點到終點的全局路徑。從圖10中可以看出:規劃所得的各路徑點可以避開各障礙物并能順利到達任務終點。
2.2 局部轉向路徑跟蹤仿真結果
針對圖10的全局路徑中存在轉彎的情況,在路徑跟蹤過程中需控制車輛在到達拐點前將航向角調整為朝向下一路徑點,使車輛完成狀態調整。以完成狀態從(2,2,π/2)調整為(2,3,0)為例,局部轉向路徑跟蹤如圖11所示。
圖11中,空心圈代表車輛,實心圓代表目標點,黑色曲線是得到的轉向運動軌跡。從圖11中可以看出:車輛的航向角ψ從π/2調整到了0,雖然調整存在位置誤差,但后續車輛可以從該誤差點繼續規劃路徑點,完成從起點到終點的路徑點規劃以及路徑點跟蹤。
2.3 車輛運動規劃全流程仿真結果
將路徑點規劃與路徑點跟蹤相結合,車輛從起點至終點的全局運動軌跡示例如圖12所示,圖12中元素的意義與圖10中的相同。從圖12中可以看出:在規劃得到路徑點的基礎上,針對規劃所得的相鄰兩個路徑點之間需要轉向的情況,車輛在從當前路徑點前往下一路徑點的過程中就已經將航向角調整為所需的角度,避免出現車輛在到達下一路徑點之后,在下一路徑點處再調整航向角的情況,提高了車輛移動效率,然后在下一路徑點重復上述過程,直到到達任務終點,使車輛按照平滑連續的路徑行駛。
表1統計了5次仿真車輛最終到達終點的橫縱坐標誤差。由表1可知,橫坐標誤差的平均值為0.103 33,縱坐標誤差的平均值為0.019 784,位置誤差為0.105 21,認為車輛到達了目標點。
3 結 語
本文研究了無人車的運動規劃問題,提出了一種使用SNN控制車輛實現轉向路徑跟蹤的方法,使車輛跟蹤路徑點的同時完成航向角調整。本文使用DQN規劃得到路徑點,基于規劃得到的路徑點,判斷當前路徑點到下一路徑點的情況:對于兩路徑點之間無需轉向的情況,車輛沿直線運動到下一路徑點;對于兩路徑點之間需轉向的情況,使用SNN控制車輛運動。仿真結果表明,DQN規劃得到的路徑點所組成的全局路徑可以到達終點,使用SNN可以實現在從當前路徑點前往下一路徑點的過程中,將航向角調整為所需角度的目標,避免出現車輛在到達下一路徑點之后,在下一路徑點處再調整航向角的情況,實現車輛運動過程的平滑連續,提高車輛移動效率。
參考文獻
[1]王鵬,雷誠.自動駕駛汽車對城市發展的影響及規劃應對[J].規劃師,2019,35(8):79-84.
[2] CHEN W, MA M, YE Y, et al. IoT service based on jointcloud blockchain: the case study of smart traveling [C]// 2018 IEEE Symposium on Service-Oriented System Engineering. Bamberg, Germany: IEEE, 2018: 216-221.
[3]郭丙華.非完整移動機器人運動規劃研究[D].廣州:華南理工大學,2003.
[4]馮酉南.某無人駕駛車輛路徑規劃算法設計與實驗研究[D].長春:吉林大學,2019.
[5] ZHANG Z, WANG S, ZHOU J. A-star algorithm for expanding the number of search directions in path planning [C]// 2021 2nd International Seminar on Artificial Intelligence, Networking and Information Technology. Shanghai, China: IEEE, 2021: 208-211.
[6]王中玉,曾國輝,黃勃,等.改進A*算法的機器人全局最優路徑規劃[J].計算機應用,2019,39(9):2517-2522.
[7]徐保來,管貽生,蘇澤榮,等.改進動態窗口法的阿克曼移動機器人局部路徑規劃器[J].機電工程技術,2016,45(9):21-26.
[8]槐創鋒,郭龍,賈雪艷,等.改進A*算法與動態窗口法的機器人動態路徑規劃[J].計算機工程與應用,2021,57(8):244-248.
[9] KHABIT O. Real-time obstacle avoidance for manipulators and mobile robots [C]// 1985 IEEE International Conference on Robotics and Automation. Saint Louis, MO, USA: IEEE, 1985: 500-505.
[10]楊凱,龍佳,馬雪燕,等.移動機器人改進人工勢場的路徑規劃方法研究[J].現代電子技術,2020,43(7):141-145.
[11]朱紅秀,鄭權,杜闖,等.改進RRT算法用于電磁驅動機器魚路徑規劃[J].火力與指揮控制,2020,45(10):100-105.
[12]吳晟博,曹理想.無人駕駛車輛軌跡跟蹤控制研究[J].汽車實用技術,2020(1):51-53.
[13]龔毅.一種無人駕駛車輛路徑跟蹤控制方式研究[D].南京:南京理工大學,2014.
[14]石振新,馮劍波,王衍學.基于MPC和模糊控制的智能汽車路徑追蹤研究[J].車輛與動力技術,2022(2):7-11.
[15] MNIH V, KAVUKCUOGLU K, SILVER D, et al. Playing atari with deep reinforcement learning [EB/OL]. (2013-12-19). https://doi.org/10.48550/arXiv.1312.5602.
作者簡介:王 陽(1985—),男,博士,講師,研究方向為移動機器人主動嗅覺、機場地面保障設備、自動駕駛車輛。
張 沖(1994—),男,在讀碩士研究生,研究方向為自動駕駛車輛。
張一宸(1985—),男,碩士,研究方向為機場地面保障設備。
曲振東(2000—),男,在讀碩士研究生,研究方向為自動駕駛車輛。
桂成一(2000—),男,在讀碩士研究生,研究方向為自動駕駛車輛。
姬雨初(1986—),男,博士,講師,研究方向為物聯網、無線通信、機場地面保障設備、自動駕駛車輛。
收稿日期:2024-01-12 修回日期:2024-02-27
基金項目:中國民航大學中央高校基本科研業務費項目(3122019 045)