本發(fā)明涉及自動駕駛,尤其涉及一種基于行為樹的自動泊車決策模型構(gòu)建方法及裝置。
背景技術(shù):
1、隨著自動駕駛技術(shù)的發(fā)展,自動泊車(automated?parking?assistance,apa)除了傳統(tǒng)的靜態(tài)障礙物外,還需要與行人、車輛等動態(tài)交通參與者交互,應(yīng)對更加狹窄的泊車空間,適應(yīng)更加復雜的泊車環(huán)境。
2、傳統(tǒng)的有限狀態(tài)機(finite-state?machine,fsm)在復雜場景的決策處理上有一些不足之處:1)開發(fā)復雜,維護不便;2)可讀性差,缺少可視化手段。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供一種基于行為樹的自動泊車決策方法及裝置,以解決現(xiàn)有技術(shù)中存在的開發(fā)難度大、維護困難、代碼可讀性差以及缺少決策過程無法可視化的問題。
2、第一個方面,本發(fā)明提供了一種基于行為樹的自動泊車決策模型構(gòu)建方法,具體包括如下步驟:
3、步驟s1、構(gòu)建apa決策行為樹模型;
4、步驟s2、獲取感知信息;
5、步驟s3、將所述感知信息輸入所述apa決策行為樹模型,形成泊車決策信息。
6、優(yōu)選地,步驟s1中,所述行為樹包括根節(jié)點(root節(jié)點)、非葉節(jié)點(tree?node)和葉節(jié)點(leaf?node);
7、其中,所述根節(jié)點表示所述行為樹最頂層的節(jié)點;所述非葉節(jié)點表示有子節(jié)點的節(jié)點;所述葉節(jié)點表示沒有子節(jié)點的終端節(jié)點,為真正執(zhí)行動作的節(jié)點;
8、其中,所述非葉節(jié)點包括一個或至少兩個子節(jié)點。
9、其中,所述非葉節(jié)點包括控制節(jié)點(control?node)和裝飾器節(jié)點(decoratornode)。
10、其中,所述葉節(jié)點包括執(zhí)行節(jié)點(action?node)和條件節(jié)點(condition?node)。
11、優(yōu)選地,步驟s2中,所述感知信息包括車輛當前狀態(tài)、車輛軌跡跟蹤情況、車位場景信息、定位場景信息、靜態(tài)障礙物場景信息和動態(tài)障礙物場景信息;
12、其中,所述車輛當前狀態(tài)包括車速;所述車輛軌跡跟蹤情況包括跟蹤誤差。
13、優(yōu)選地,步驟s2中,所述感知信息存儲在黑板(blackboard)中,所述黑板表示一個所有節(jié)點共享的容器,用于存儲鍵值對(key-value?pair);其中,所述鍵值對中,鍵(key)表示元素的索引;值(value)表示存儲和讀取的數(shù)據(jù)。鍵值對表示根據(jù)鍵中元素的索引檢索讀取到的相應(yīng)數(shù)據(jù)。
14、更優(yōu)選地,端口(port)表示節(jié)點用來傳遞交換信息的通道;其中,兩個port之間通過存儲在blackboard中相同的key連接。
15、優(yōu)選地,步驟s3中,所述泊車決策信息包括規(guī)劃器組合信息、每個規(guī)劃器的起點和終點、靜態(tài)障礙物信息和動態(tài)障礙物信息。
16、在本技術(shù)中,所述規(guī)劃器用于自動或輔助生成車輛泊車過程中的合理路徑和動作序列。它基于車輛的運動學模型、環(huán)境信息以及泊車目標(如平行泊車、垂直泊車等),通過路徑規(guī)劃算法(例如hybrid?a?star算法、straight?line算法、target?tree算法等路徑規(guī)劃算法)計算出車輛從規(guī)劃器的起點到規(guī)劃器的終點的最佳行駛軌跡和操作指令,不同的規(guī)劃器之間的路徑規(guī)劃算法不同。
17、優(yōu)選地,步驟s3中,將所述感知信息輸入所述apa決策行為樹模型,形成泊車決策信息,具體包括如下步驟:
18、步驟s301、將所述感知信息輸入所述apa決策行為樹模型后,形成tick信號;
19、步驟s302、將所述tick信號通過root節(jié)點進行傳輸,直到傳輸至leaf?node。
20、優(yōu)選地,步驟s302中,將所述tick信號通過root節(jié)點進行傳輸,直到傳輸至leafnode,具體包括如下步驟:
21、步驟s302a、將所述tick信號傳輸至root節(jié)點,所述root節(jié)點將所述tick信號傳輸至所述root節(jié)點的一個子節(jié)點a;
22、步驟s302b、當所述節(jié)點a接收到所述tick信號后,所述節(jié)點a將所述tick信號傳輸至所述節(jié)點a的一個子節(jié)點b;
23、步驟s302c、重復執(zhí)行步驟s302b,直到所述tick信號傳輸至leaf?node為止。
24、更優(yōu)選地,對于一個節(jié)點c,將tick信號傳輸至所述節(jié)點c的下一個子節(jié)點d,所述子節(jié)點d的選擇的規(guī)則為從左到右依次執(zhí)行所述節(jié)點c的子節(jié)點。
25、優(yōu)選地,任何一個節(jié)點在接收到所述tick信號后,均執(zhí)行當前節(jié)點的回調(diào)函數(shù)(callback?function),并返回success、faliure和running三種狀態(tài)中的一種;其中,所述success表示執(zhí)行成功,所述faliure表示執(zhí)行失敗,所述running表示正在執(zhí)行;其中,所述running表示需要更多的時間返回success和faliure兩種狀態(tài)中的一種。
26、更優(yōu)選地,當一個非葉節(jié)點執(zhí)行失敗后,其子節(jié)點均不再執(zhí)行,并返回faliure狀態(tài)。
27、優(yōu)選地,對于一個節(jié)點e,其包含m個子節(jié)點,當所述m個子節(jié)點均返回success狀態(tài)時,節(jié)點e的狀態(tài)返回success;其中,m為正整數(shù)。
28、優(yōu)選地,對于一個節(jié)點f,其包含n個子節(jié)點f1,f2,...,fn,當所述n個子節(jié)點中的第一個子節(jié)點f1返回success狀態(tài)后,所述tick信號被傳輸至所述節(jié)點f的第二個子節(jié)點f2,并在所述子節(jié)點f2返回success狀態(tài)后,所述tick信號被傳輸至所述節(jié)點f的第三個子節(jié)點f3,以此類推,直至n個子節(jié)點均返回success狀態(tài)后,所述節(jié)點f執(zhí)行結(jié)束并返回success狀態(tài);其中,n為正整數(shù);在執(zhí)行子節(jié)點f1,f2,...,fn的過程中,節(jié)點f的狀態(tài)為running狀態(tài)。
29、優(yōu)選地,步驟s3中,將所述感知信息輸入所述apa決策行為樹模型,形成泊車決策信息的過程中,還包括運行狀態(tài)的可視化處理,將返回running狀態(tài)的節(jié)點顯示為橘黃色,將返回success狀態(tài)的節(jié)點顯示為綠色,將返回faliure狀態(tài)的節(jié)點顯示為紅色,未觸發(fā)的節(jié)點顯示為灰色。
30、第二個方面,本發(fā)明還提供了一種基于行為樹的自動泊車決策模型構(gòu)建裝置,具體包括如下模塊:
31、模型構(gòu)建模塊,用于構(gòu)建apa決策行為樹模型;
32、感知信息獲取模塊,用于獲取感知信息;
33、泊車決策生成模塊,用于將所述感知信息輸入所述apa決策行為樹模型,形成泊車決策信息。
34、優(yōu)選地,模型構(gòu)建模塊中,所述行為樹包括根節(jié)點(root節(jié)點)、非葉節(jié)點(treenode)和葉節(jié)點(leaf?node);
35、其中,所述根節(jié)點表示所述行為樹最頂層的節(jié)點;所述非葉節(jié)點表示有子節(jié)點的節(jié)點;所述葉節(jié)點表示沒有子節(jié)點的終端節(jié)點,為真正執(zhí)行動作的節(jié)點;
36、其中,所述非葉節(jié)點包括一個或至少兩個子節(jié)點。
37、其中,所述非葉節(jié)點包括控制節(jié)點(control?node)和裝飾器節(jié)點(decoratornode)。
38、其中,所述葉節(jié)點包括執(zhí)行節(jié)點(action?node)和條件節(jié)點(condition?node)。
39、優(yōu)選地,感知信息獲取模塊中,所述感知信息包括車輛當前狀態(tài)、車輛軌跡跟蹤情況、車位場景信息、定位場景信息、靜態(tài)障礙物場景信息和動態(tài)障礙物場景信息;
40、其中,所述車輛當前狀態(tài)包括車速;所述車輛軌跡跟蹤情況包括跟蹤誤差。
41、優(yōu)選地,感知信息獲取模塊中,所述感知信息存儲在黑板(blackboard)中,所述黑板表示一個所有節(jié)點共享的容器,用于存儲鍵值對(key-value?pair);其中,所述鍵值對中,鍵(key)表示元素的索引;值(value)表示存儲和讀取的數(shù)據(jù)。鍵值對表示根據(jù)鍵中元素的索引檢索讀取到的相應(yīng)數(shù)據(jù)。
42、更優(yōu)選地,端口(port)表示節(jié)點用來傳遞交換信息的通道;其中,兩個port之間通過存儲在blackboard中相同的key連接。
43、優(yōu)選地,泊車決策生成模塊中,所述泊車決策信息包括規(guī)劃器組合信息、每個規(guī)劃器的起點和終點、靜態(tài)障礙物信息和動態(tài)障礙物信息。
44、優(yōu)選地,泊車決策生成模塊具體包括如下子模塊:
45、第一泊車決策子模塊,用于將所述感知信息輸入所述apa決策行為樹模型后,形成tick信號;
46、第二泊車決策子模塊,用于將所述tick信號通過root節(jié)點進行傳輸,直到傳輸至leaf?node。
47、優(yōu)選地,第二泊車決策子模塊具體包括如下孫模塊:
48、第一泊車決策孫模塊,用于將所述tick信號傳輸至root節(jié)點,所述root節(jié)點將所述tick信號傳輸至所述root節(jié)點的一個子節(jié)點a;
49、第二泊車決策孫模塊,用于當所述節(jié)點a接收到所述tick信號后,所述節(jié)點a將所述tick信號傳輸至所述節(jié)點a的一個子節(jié)點b;
50、第三泊車決策孫模塊,用于重復執(zhí)行第二泊車決策孫模塊,直到所述tick信號傳輸至leaf?node為止。
51、更優(yōu)選地,對于一個節(jié)點c,將tick信號傳輸至所述節(jié)點c的下一個子節(jié)點d,所述子節(jié)點d的選擇的規(guī)則為從左到右依次執(zhí)行所述節(jié)點c的子節(jié)點。
52、優(yōu)選地,任何一個節(jié)點在接收到所述tick信號后,均執(zhí)行當前節(jié)點的回調(diào)函數(shù)(callback?function),并返回success、faliure和running三種狀態(tài)中的一種;其中,所述success表示執(zhí)行成功,所述faliure表示執(zhí)行失敗,所述running表示正在執(zhí)行;其中,所述running表示需要更多的時間返回success和faliure兩種狀態(tài)中的一種。
53、更優(yōu)選地,當一個非葉節(jié)點執(zhí)行失敗后,其子節(jié)點均不再執(zhí)行,并返回faliure狀態(tài)。
54、優(yōu)選地,對于一個節(jié)點e,其包含m個子節(jié)點,當所述m個子節(jié)點均返回success狀態(tài)時,節(jié)點e的狀態(tài)返回success;其中,m為正整數(shù)。
55、優(yōu)選地,對于一個節(jié)點f,其包含n個子節(jié)點f1,f2,...,fn,當所述n個子節(jié)點中的第一個子節(jié)點f1返回success狀態(tài)后,所述tick信號被傳輸至所述節(jié)點f的第二個子節(jié)點f2,并在所述子節(jié)點f2返回success狀態(tài)后,所述tick信號被傳輸至所述節(jié)點f的第三個子節(jié)點f3,以此類推,直至n個子節(jié)點均返回success狀態(tài)后,所述節(jié)點f執(zhí)行結(jié)束并返回success狀態(tài);其中,n為正整數(shù);在執(zhí)行子節(jié)點f1,f2,...,fn的過程中,節(jié)點f的狀態(tài)為running狀態(tài)。
56、可選的,泊車決策生成模塊還包括,狀態(tài)可視化子模塊,用于對決策行為樹模型在運行過程中的節(jié)點狀態(tài)進行可視化處理。
57、第三個方面,本發(fā)明還提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)本技術(shù)第一方面中任一項所述的一種基于行為樹的自動泊車決策模型構(gòu)建方法。
58、第四個方面,本發(fā)明還提供一種電子設(shè)備,所述電子設(shè)備包括:存儲器,存儲有一計算機程序:處理器,與所述存儲器通信相連,調(diào)用所述計算機程序時執(zhí)行本技術(shù)第一方面中任一項所述的一種基于行為樹的自動泊車決策模型構(gòu)建方法。
59、本發(fā)明與現(xiàn)有技術(shù)相比較,具有如下顯而易見的突出實質(zhì)性特點和顯著優(yōu)點:
60、本發(fā)明提供一種基于行為樹的自動泊車決策方法及裝置,解決了現(xiàn)有技術(shù)中存在的開發(fā)難度大、維護困難、代碼可讀性差以及缺少決策過程無法可視化的問題。通過行為樹作為泊車決策的主體,高效地實現(xiàn)了復雜泊車環(huán)境下的決策系統(tǒng)的構(gòu)建,同時,基于行為樹的自動泊車決策系統(tǒng)的可讀性強、維護方便且代碼的復用率高。