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