本發(fā)明屬于汽車自動駕駛技術(shù)領(lǐng)域,尤其涉及一種汽車的自動駕駛方法及裝置。
背景技術(shù):
近年來,隨著經(jīng)濟(jì)的發(fā)展和城鎮(zhèn)化的推進(jìn),全球汽車保有量和道路里程逐步增加,諸如交通擁堵、事故、污染、土地資源緊缺等一系列傳統(tǒng)汽車無法妥善解決的問題日益凸顯。智能汽車技術(shù)被視為有效解決方案,其發(fā)展備受矚目。美國電氣和電子工程師協(xié)會(ieee)預(yù)測,至2040年自動駕駛車輛所占的比例將達(dá)到75%。
市面上已經(jīng)出現(xiàn)了多種用于輔助駕駛系統(tǒng)的傳感器和產(chǎn)品,比如:激光雷達(dá)、自適應(yīng)巡航系統(tǒng)、車輛接近通報裝置、夜視輔助裝置、自適應(yīng)前照明系統(tǒng)等,而目前輔助駕駛系統(tǒng)中使用的控制方法都是基于規(guī)則的控制決策,即根據(jù)已知的駕駛經(jīng)驗,構(gòu)建對車況信息輸出控制決策的專家規(guī)則系統(tǒng)。然而,自動駕駛場景類別多樣,路況復(fù)雜,自動駕駛中高度復(fù)雜的場景很難用有限的規(guī)則來定義清楚,因此,傳統(tǒng)的控制方法往往難以滿足自動駕駛的要求。類似專家規(guī)則系統(tǒng)利用了淺層學(xué)習(xí)算法,淺層學(xué)習(xí)算法可以看作是從被標(biāo)記的數(shù)據(jù)之間尋找規(guī)則的過程,當(dāng)規(guī)則很難被抽象成公式或簡單邏輯之時,淺層學(xué)習(xí)算法就難以達(dá)到預(yù)定的效果。深度學(xué)習(xí)算法對感知有非常強(qiáng)的能力,在圖像識別、語音識別等領(lǐng)域已經(jīng)取得了極大的突破,然而,深度學(xué)習(xí)算法并不能把這種感知轉(zhuǎn)化為決策能力。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種汽車的自動駕駛方法及裝置,旨在解決由于現(xiàn)有技術(shù)無法提供一種有效的自動駕駛動作決策方法,導(dǎo)致自動駕駛汽車在面臨駕駛場景類別多樣、路況復(fù)雜時難以做出及時、有效的駕駛動作的問題。
一方面,本發(fā)明提供了一種汽車的自動駕駛方法,所述方法包括下述步驟:
通過汽車上預(yù)設(shè)的傳感器獲取所述汽車當(dāng)前位置的汽車狀態(tài);
根據(jù)所述汽車狀態(tài)和預(yù)先建立的策略網(wǎng)絡(luò)模型,獲取所述汽車當(dāng)前可用駕駛動作的回報值,所述策略網(wǎng)絡(luò)模型通過預(yù)設(shè)的深度強(qiáng)化學(xué)習(xí)算法建立;
將所述回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為所述汽車下一執(zhí)行動作并執(zhí)行。
另一方面,本發(fā)明提供了一種汽車的自動駕駛裝置,所述裝置包括:
狀態(tài)獲取單元,用于通過汽車上預(yù)設(shè)的傳感器獲取所述汽車當(dāng)前位置的汽車狀態(tài);
回報值獲取單元,用于根據(jù)所述汽車狀態(tài)和預(yù)先建立的策略網(wǎng)絡(luò)模型,獲取所述汽車當(dāng)前可用駕駛動作的回報值,所述策略網(wǎng)絡(luò)模型通過預(yù)設(shè)的深度強(qiáng)化學(xué)習(xí)算法建立;以及
動作執(zhí)行單元,用于將所述回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為所述汽車下一執(zhí)行動作并執(zhí)行。
本發(fā)明通過汽車上預(yù)設(shè)的傳感器獲取汽車當(dāng)前位置的汽車狀態(tài),根據(jù)該汽車狀態(tài)和預(yù)先通過深度強(qiáng)化學(xué)習(xí)算法建立的策略網(wǎng)絡(luò)模型,獲取汽車當(dāng)前可用駕駛動作的回報值,將回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為汽車下一執(zhí)行動作并執(zhí)行,從而在面臨駕駛場景類別多樣、路況復(fù)雜時及時、有效地獲取到較優(yōu)的駕駛動作并執(zhí)行,實現(xiàn)汽車的自動駕駛。
附圖說明
圖1是本發(fā)明實施例一提供的汽車的自動駕駛方法的實現(xiàn)流程圖;
圖2是本發(fā)明實施例一提供的汽車的自動駕駛方法的實現(xiàn)示意圖;
圖3是本發(fā)明實施例二提供的汽車的自動駕駛裝置的結(jié)構(gòu)示意圖;以及
圖4是本發(fā)明實施例三提供的汽車的自動駕駛裝置的結(jié)構(gòu)示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以下結(jié)合具體實施例對本發(fā)明的具體實現(xiàn)進(jìn)行詳細(xì)描述:
實施例一:
圖1示出了本發(fā)明實施例一提供的汽車的自動駕駛方法的實現(xiàn)流程,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,詳述如下:
在步驟s101中,通過汽車上預(yù)設(shè)的傳感器獲取汽車當(dāng)前位置的汽車狀態(tài)。
本發(fā)明實施例適用于汽車、汽車上的自動駕駛平臺或設(shè)備,汽車狀態(tài)是指汽車行駛過程中的一種狀態(tài),可用汽車輪胎、方向盤、發(fā)動機(jī)等各部件的當(dāng)前參數(shù)值表示,具體可從汽車上設(shè)置或安裝的各類傳感器(例如,雷達(dá)、超聲、視覺傳感器等)獲取。作為示例地,狀態(tài)可通過表示汽車離道路中線的距離、汽車前進(jìn)方向與道路切向的夾角以及汽車在道路切向上的速度分量等參數(shù)進(jìn)行表示。
在步驟s102中,根據(jù)汽車狀態(tài)和預(yù)先建立的策略網(wǎng)絡(luò)模型,獲取汽車當(dāng)前可用駕駛動作的回報值,策略網(wǎng)絡(luò)模型通過預(yù)設(shè)的深度強(qiáng)化學(xué)習(xí)算法建立。
在本發(fā)明實施例中,預(yù)先建立一策略網(wǎng)絡(luò)模型,該策略網(wǎng)絡(luò)模型通過預(yù)設(shè)的深度強(qiáng)化學(xué)習(xí)算法建立,從而汽車在實際高度復(fù)雜、易變的道路環(huán)境下快速準(zhǔn)確地進(jìn)行決策。如圖2所示,通過該策略網(wǎng)絡(luò)模型可準(zhǔn)確獲得汽車當(dāng)前可用駕駛動作的回報值,即每個駕駛動作的評價值或獎勵,可以認(rèn)為評價值或獎勵越大,對應(yīng)的駕駛動作越準(zhǔn)確。
優(yōu)選地,通過下述步驟建立該策略網(wǎng)絡(luò)模型:
a、對設(shè)置的策略網(wǎng)絡(luò)模型進(jìn)行初始化,設(shè)定汽車駕駛動作的立即回報函數(shù),并對立即回報函數(shù)的回報值進(jìn)行初始化;
b、接收汽車當(dāng)前訓(xùn)練狀態(tài)的樣本,根據(jù)當(dāng)前訓(xùn)練狀態(tài)以及立即回報函數(shù)計算汽車的動作集中每個駕駛動作的立即回報值,獲取立即回報值中的最大立即回報值;
c、將所述汽車狀態(tài)和通過預(yù)設(shè)方式選擇的駕駛動作作為策略網(wǎng)絡(luò)模型的輸入值,將最大立即回報值和策略網(wǎng)絡(luò)模型不同駕駛動作下的最大回報值的累計折算值之和作為輸出值,對策略網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,并更新策略網(wǎng)絡(luò)模型的權(quán)值;
d、根據(jù)當(dāng)前訓(xùn)練狀態(tài)和立即回報值對應(yīng)的駕駛動作,獲取汽車的下一狀態(tài),判斷下一狀態(tài)是否為終止訓(xùn)練狀態(tài),是則返回策略網(wǎng)絡(luò)模型,否則將下一狀態(tài)設(shè)置為當(dāng)前訓(xùn)練狀態(tài)的樣本并傳送給步驟b,從而進(jìn)入策略網(wǎng)絡(luò)模型的下一輪訓(xùn)練。
在本發(fā)明實施例中,策略網(wǎng)絡(luò)模型具體為一系列函數(shù),以在通過樣本訓(xùn)練后得到較為精確的權(quán)值,從而在輸入汽車狀態(tài)和動作時,得到對應(yīng)的回報值,而立即回報函數(shù)則反映了僅考慮當(dāng)前狀態(tài)時實施一駕駛動作所得到的回報。作為示例地,例如,立即回報函數(shù)可以為r=δdis*cos(α*angle)*sgn(trackpos-threshold),其中,δdis表示相鄰狀態(tài)跑過的有效距離,angle表示行駛方向與道路切線夾角,α表示權(quán)重縮放因子,sgn符號函數(shù)在汽車離道路中線的距離trackpos大于預(yù)設(shè)閾值threshold的時候,取值無窮小,意在表達(dá)車輛太靠近道路邊界時的懲罰。
在本發(fā)明實施例中,在步驟c中選擇駕駛動作時,可按隨機(jī)選取或小概率隨機(jī)選取任一駕駛動作作為選擇的駕駛動作,否則將步驟b中最大回報值對應(yīng)的駕駛動作作為選擇的駕駛動作。另外,由于有些駕駛動作并不能用于當(dāng)前訓(xùn)練狀態(tài),因此,在根據(jù)當(dāng)前訓(xùn)練狀態(tài)以及立即回報函數(shù)計算汽車的動作集中每個駕駛動作的立即回報值時,優(yōu)選地,可先根據(jù)當(dāng)前訓(xùn)練狀態(tài)對汽車的動作集中的駕駛動作進(jìn)行篩選,根據(jù)當(dāng)前訓(xùn)練狀態(tài)以及立即回報函數(shù)計算篩選后的每個駕駛動作的立即回報值,從而減少遍歷動作集中動作的時間,提高策略網(wǎng)絡(luò)模型的訓(xùn)練速度。
可選地,在對策略網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練時,可通過后向傳播算法對策略網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,在通過后向傳播算法對策略網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練時,將汽車狀態(tài)和通過預(yù)設(shè)方式選擇的駕駛動作作為策略網(wǎng)絡(luò)模型的輸入值,將該汽車狀態(tài)下的最大立即回報值和策略網(wǎng)絡(luò)模型不同駕駛動作下的最大回報值的累計折算值之和作為輸出值,從而在訓(xùn)練時考慮駕駛中未來環(huán)境的不確定性,進(jìn)一步提高策略網(wǎng)絡(luò)模型訓(xùn)練時的真實性,提高策略網(wǎng)絡(luò)模型中權(quán)值的準(zhǔn)確度。
在步驟s103中,將回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為汽車下一執(zhí)行動作并執(zhí)行。
在本發(fā)明實施例中,若通過汽車狀態(tài)和訓(xùn)練好的策略網(wǎng)絡(luò)模型獲取到最大回報值,則說明該最大回報值對應(yīng)的駕駛動作是當(dāng)前汽車在當(dāng)前位置汽車狀態(tài)下的最佳選擇,因此,將該最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為汽車下一執(zhí)行動作并執(zhí)行。
在本發(fā)明實施例中,通過汽車上預(yù)設(shè)的傳感器獲取汽車當(dāng)前位置的汽車狀態(tài),根據(jù)該汽車狀態(tài)和預(yù)先通過深度強(qiáng)化學(xué)習(xí)算法建立的策略網(wǎng)絡(luò)模型,獲取汽車當(dāng)前可用駕駛動作的回報值,將回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為汽車下一執(zhí)行動作并執(zhí)行,從而在面臨駕駛場景類別多樣、路況復(fù)雜時及時、有效地獲取到較優(yōu)的駕駛動作并執(zhí)行,實現(xiàn)汽車的自動駕駛。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如rom/ram、磁盤、光盤等。
實施例二:
圖3示出了本發(fā)明實施例二提供的汽車的自動駕駛裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,其中包括:
狀態(tài)獲取單元31,用于通過汽車上預(yù)設(shè)的傳感器獲取汽車當(dāng)前位置的汽車狀態(tài);
回報值獲取單元32,用于根據(jù)汽車狀態(tài)和預(yù)先建立的策略網(wǎng)絡(luò)模型,獲取汽車當(dāng)前可用駕駛動作的回報值,其中,策略網(wǎng)絡(luò)模型通過預(yù)設(shè)的深度強(qiáng)化學(xué)習(xí)算法建立;以及
動作執(zhí)行單元33,用于將回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為汽車下一執(zhí)行動作并執(zhí)行。
在本發(fā)明實施例中,自動駕駛裝置的各單元可由相應(yīng)的硬件或軟件單元實現(xiàn),各單元可以為獨立的軟、硬件單元,也可以集成為一個軟、硬件單元,在此不用以限制本發(fā)明。各單元的具體實施方式可參考實施一的描述,在此不再贅述。
實施例三:
圖4示出了本發(fā)明實施例三提供的汽車的自動駕駛裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分,其中包括:
初始化單元41,用于對設(shè)置的策略網(wǎng)絡(luò)模型進(jìn)行初始化,設(shè)定汽車駕駛動作的立即回報函數(shù),并對立即回報函數(shù)的回報值進(jìn)行初始化;
最大值獲取單元42,用于接收汽車當(dāng)前訓(xùn)練狀態(tài)的樣本,根據(jù)當(dāng)前訓(xùn)練狀態(tài)以及立即回報函數(shù)計算汽車的動作集中每個駕駛動作的立即回報值,獲取立即回報值中的最大立即回報值;
動作篩選單元43,用于隨機(jī)選取任一駕駛動作作為選擇的駕駛動作,否則將最大回報值對應(yīng)的駕駛動作作為選擇的駕駛動作;
權(quán)值更新單元44,用于將汽車狀態(tài)和通過預(yù)設(shè)方式選擇的駕駛動作作為策略網(wǎng)絡(luò)模型的輸入值,將最大立即回報值和策略網(wǎng)絡(luò)模型不同駕駛動作下的最大回報值的累計折算值之和作為輸出值,對策略網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,并更新策略網(wǎng)絡(luò)模型的權(quán)值;
結(jié)果處理單元45,用于根據(jù)當(dāng)前訓(xùn)練狀態(tài)和立即回報值對應(yīng)的駕駛動作,獲取汽車的下一狀態(tài),判斷下一狀態(tài)是否為終止訓(xùn)練狀態(tài),是則返回策略網(wǎng)絡(luò)模型,否則將下一狀態(tài)設(shè)置為當(dāng)前訓(xùn)練狀態(tài)的樣本并傳送給最大值獲取單元;
狀態(tài)獲取單元46,用于通過汽車上預(yù)設(shè)的傳感器獲取汽車當(dāng)前位置的汽車狀態(tài);
回報值獲取單元47,用于根據(jù)汽車狀態(tài)和預(yù)先建立的策略網(wǎng)絡(luò)模型,獲取汽車當(dāng)前可用駕駛動作的回報值,其中,策略網(wǎng)絡(luò)模型通過預(yù)設(shè)的深度強(qiáng)化學(xué)習(xí)算法建立;以及
動作執(zhí)行單元48,用于將回報值中的最大回報值對應(yīng)的當(dāng)前可用駕駛動作設(shè)置為汽車下一執(zhí)行動作并執(zhí)行。
在本發(fā)明實施例中,最大值獲取單元42包括回報值計算單元421,用于根據(jù)當(dāng)前訓(xùn)練狀態(tài)對汽車的動作集中的駕駛動作進(jìn)行篩選,根據(jù)當(dāng)前訓(xùn)練狀態(tài)以及立即回報函數(shù)計算篩選后的每個駕駛動作的立即回報值。權(quán)值更新單元44包括模型訓(xùn)練單元441,用于通過后向傳播算法對策略網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。
在本發(fā)明實施例中,自動駕駛裝置的各單元可由相應(yīng)的硬件或軟件單元實現(xiàn),各單元可以為獨立的軟、硬件單元,也可以集成為一個軟、硬件單元,在此不用以限制本發(fā)明。各單元的具體實施方式可參考實施一的描述,在此不再贅述。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。