本發明涉及車輛自動駕駛技術領域,特別是一種用于無模型的自適應無人車轉向控制方法。
背景技術:
無人駕駛汽車,也稱智能汽車,是一種能夠實現自主駕駛的輪式移動機器人,是一個集環境感知、規劃決策、運動控制等功能于一體的高度智能化、信息化系統。無人駕駛汽車的研究目的是使計算機代替人來完成車輛駕駛任務,彌補人工駕駛的不足,實現車輛的安全、可靠、高效的駕駛。無人駕駛汽車將有效減輕駕駛員的負擔,減少駕駛員疲勞駕駛的現象,有利于提高交通安全;同時,配合城市交通控制系統,可以合理分配交通流,實現交通系統的順暢運行。目前,國外在無人駕駛汽車方面已經取得了長足進展。國內的很多研究機構和高校已經開始了無人駕駛汽車的相關研究,并已取得了一定的成果,但與歐洲和美國的無人駕駛技術仍有一定差距,而且使無人駕駛汽車進入產業化、實用化階段還有很長一段路要走。
車輛的在道路上的平穩行駛需要其對轉向進行一個很好的控制,特別是車輛在遇到急彎時更是對駕駛員駕駛技術的一個極大的考驗。無人車在自主行駛時,它的轉向控制是通過感知周圍行駛的道路環境,通過感知算法并融合各種濾波器算法計算出自身在賽道中的位姿,然后由內部的轉向控制器基于已獲得的位姿,計算出所需要的轉角信息控制內部的轉向執行器調節車輛的轉向,進而調節車輛的位姿。
技術實現要素:
(一)要解決的技術問題
鑒于上述問題,本發明提出的一種無人車轉向控制方法,通過在線采集數據不斷的學習進而獲得一個近似的模型,在獲得模型后,通過多次迭代獲得近似最優控制的執行網絡。
(二)技術方案
一種無人車轉向控制方法,包括以下步驟:
采集行駛車輛的轉向數據;
構建感知器網絡,并利用所述轉向數據訓練所述感知器網絡,得到近似車輛轉向的模型;
利用所述近似車輛轉向的模型獲得近似最優控制的執行網絡。
優選地,所述轉向數據包括車輛轉向控制信息和車輛在道路上的橫向偏移信息。
優選地,采集的轉向數據保存在一個數據文件中,并為每一次采集的轉向數據添加時間標簽。
優選地,采集的轉向數據作為訓練數據,利用隨機梯度下降算法訓練所述感知器網絡,直至訓練誤差小于預先設定的閾值,完成一次模型的訓練過程,如此反復進行多次,最終完成訓練得到近似車輛轉向的模型。
優選地,感知器網絡的輸入為當前時刻的轉向控制量和車輛的橫向位移偏量,輸出為下一時刻的車輛的橫向位移偏量;
優選地,所述車輛轉向控制信息從車輛的硬件控制板獲取;
所述橫向偏移信息利用攝像頭、激光雷達或gps通過計算獲得。
優選地,以所述近似車輛轉向的模型作為被控對象,利用基于策略迭代的自適應動態規劃算法離線計算獲得最優控制。
優選地,采用開源的標準的策略迭代自適應動態規劃算法計算獲得最優控制。
(三)有益效果
本發明提出的一種無人車轉向控制方法,不需要列寫復雜的方程,通過在線采集數據不斷的學習進而獲得一個近似的模型。這個近似模型的精度可以通過增加數據的采集和訓練的次數以及提高模型的復雜度來提高。在獲得模型后,控制器的設計完全通過迭代的方式獲得。
附圖說明
圖1是本發明實施例的無人車轉向控制方法流程圖。
圖2是本發明實施例的無人車轉向控制方法的整體流程圖。
具體實施方式
為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,并參照附圖,對本發明作進一步的詳細說明。
傳統的無人車轉向控制方法一般需要先建立被控對象的數學模型。這一建模的過程是非常繁瑣的,需要弄清楚各個部件的物理關系,然后再依據物理規律列寫復雜的微分甚至偏微分方程,建立模型后還需要進行大量的實驗和測量來確定方程中各個常量的值。
本發明提出的一種無人車轉向控制方法,不需要列寫復雜的方程,通過在線采集數據不斷的學習進而獲得一個近似的模型。這個近似模型的精度可以通過增加數據的采集和訓練的次數以及提高模型的復雜度來提高。在獲得模型后,控制方法完全通過迭代的方式獲得。
本發明實施例提供一種無人車轉向控制方法,圖1是本發明實施例的無人車轉向控制方法的整體流程圖,如圖1所示,通過在線采集一輛能夠輸出轉向控制信號和車輛在道路上橫向偏移信號的無人車的數據,并利用采集到的數據訓練一個三層的感知器網絡,通過檢測訓練誤差是否小于一個閾值來結束一次訓練過程,然后再通過檢測是否覆蓋所有道路來停止總的訓練過程,訓練完成后即可獲得一個可以很好近似車輛轉向的模型;利用一個基于策略迭代的自適應動態規劃算法迭代求解出最優控制,最后生成一個執行網絡來近似這個最優控制。
如圖2為本發明實施例提供的無人車轉向控制方法流程圖,如圖2所示,具體包括以下步驟:
s1:采集行駛車輛的轉向數據。
行駛無人車的轉向數據,包括車輛的轉向控制信息和車輛在道路上的橫向偏移信息,在線采集行駛車輛的轉向輸入信號和車輛在道路上的橫向偏移信號作為訓練車輛轉向模型的訓練數據。
本實施例中,采用一個基于x86或arm的并安裝有linux的車載計算機實現轉向數據的采集,計算機上安裝gcc、g++、make等c/c++開發工具,同時計算機上安裝有攝像頭、激光雷達、gps和相應的配套軟件等用于獲取環境信息,被控車輛能夠進行電動助力轉向。
利用計算機數據采集模塊從車輛的硬件控制板獲取車輛的轉向控制量作為轉向控制信息,再由計算機環境信息感知模塊利用攝像頭、激光雷達、gps或其它設備通過計算獲得車輛在道路上的位姿信息,包括車輛的橫向偏移信息,在本實施例中為車輛的橫向位移偏量。
獲得的轉向控制信息和車輛的位姿信息都保存在一個數據文件中,同時為每一次采集的數據添加時間標簽。
s2:構建三層感知器網絡并利用所述轉向數據進行訓練得到近似車輛轉向的模型。
利用計算機感知器算法訓練模塊構建一個三層的感知器網絡,在本實施例中可采用c語言編寫該感知器算法訓練模塊,三層感知器網絡的訓練過程為:在輸入數據的作用下,計算網絡的實際輸出,并與相應的目標數據進行比較,然后用比較后的誤差,根據隨機梯度下降算法進行權值的調整;重新計算網絡在新權值作用下的輸出,重復權值調整過程,直到網絡的輸出與目標矢量的誤差在一定范圍內或訓練次數達到事先設置的最大值時訓練結束。
當采集到一定數量的轉向數據時,將其作為訓練數據,利用梯度下降算法訓練感知器網絡,訓練誤差大于一個閾值時,重新采集訓練數據再進行訓練,直至模型的訓練誤差小于一個閾值,此時完成了一次模型的訓練過程。如此反復進行多次,最終完成對被控對象的建模過程。訓練時需要多次采集車輛的轉向數據進行訓練,直至訓練數據基本覆蓋所有可能的路況,停止訓練。閾值可以是1e-3,閾值越低訓練精度越高。
感知器網絡的輸入數據是當前時刻的轉向控制量和車輛的橫向位移偏量,輸出數據是預測的下一時刻的車輛的橫向位移偏量。
將訓練后的感知器網絡作為近似車輛轉向的模型。
s3:利用所述近似車輛轉向的模型獲得近似最優控制的執行網絡。
上述步驟結束后我們已經獲得了一個可以很好近似車輛轉向的模型,將步驟s2獲得的近似車輛轉向的模型作為被控模型獲得近似最優控制的執行網絡,在本實施例中,我們利用一個基于策略迭代的自適應動態規劃算法離線計算獲得最優控制,最后生成一個執行網絡來近似這個最優控制,可以采用開源的標準的策略迭代自適應動態規劃算法或者用c語言編寫最優控制的求解軟件,利用上面訓練得到的近似車輛轉向的模型作為被控對象的模型通過多次迭代以獲得用神經網絡表示的最優控制。
數據采集模塊、三層的感知器網絡都是在無人車上的計算機實現,通過在無人車上運行上述方法,并使車輛運行在不同的路況以采集更全面的轉向模型數據和更好的車輛轉向的模型。
通過在線反復的采集數據并不斷的學習進而獲得一個近似車輛轉向的模型。這個近似模型的精度可以通過增加數據的采集和訓練的次數以及提高模型的復雜度來提高。在獲得模型后,控制方法完全通過迭代的方式獲得。
以上所述的具體實施例,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。