本發(fā)明屬于無人駕駛車輛路徑規(guī)劃方法,具體涉及一種無人駕駛車輛避障路徑規(guī)劃方法。
背景技術(shù):
1、汽車的出現(xiàn)給人們的出行帶來了極大的便利,同時也存在著一些風(fēng)險。每年道路上的汽車不斷增加,事故發(fā)生的頻率也在逐年增加。與此同時,隨著科技的不斷發(fā)展,將智能化與車結(jié)合起來,即研究出了無人車。在無人駕駛技術(shù)中,為了滿足人們出行的需求,需要在不同的場景下規(guī)劃出一條安全且無障礙物(靜態(tài)、動態(tài))的道路,保證車輛安全穩(wěn)定的行駛。
2、蝙蝠算法是一種啟發(fā)式的基于生物群體智慧的智能算法,可有效地搜索全局最優(yōu)解,具有模型簡單、收斂速度快、魯棒性好等優(yōu)點。然而傳統(tǒng)的蝙蝠算法由于初期搜索范圍不夠廣,在實際應(yīng)用中存在易早熟收斂,易陷入局部最優(yōu),后期收斂速度較慢,對整個算法的效率產(chǎn)生一定的影響。人工勢場法(artificialpotentialfield,apf)在1986年由khatib博士首次提出,假設(shè)障礙物產(chǎn)生斥力,目標(biāo)點產(chǎn)生引力,通過斥、引力場綜合作用下的合力勢場進(jìn)行路徑規(guī)劃,讓車輛沿勢場梯度下降的方向運動,從而無碰撞到達(dá)目標(biāo)點。該方法簡單、直觀,被廣泛采用,但是也容易陷入局部最優(yōu)解問題和目標(biāo)不可達(dá)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種無人駕駛車輛避障路徑規(guī)劃方法,該方法將蝙蝠算法和人工勢場法這兩種傳統(tǒng)算法進(jìn)行改進(jìn)再將兩者進(jìn)行融合,從而求解無人駕駛車輛避障路徑規(guī)劃,在保證路徑盡可能短的同時,實現(xiàn)靜態(tài)、動態(tài)避障,生成一條平滑路徑。
2、本發(fā)明所采用的技術(shù)方案為:
3、一種無人駕駛車輛避障路徑規(guī)劃方法,具體包括以下步驟:
4、步驟s1,建立地圖環(huán)境,初始化參數(shù);
5、步驟s2,建立改進(jìn)的人工勢場模型,所述人工勢場由改進(jìn)的目標(biāo)點引力勢場、改進(jìn)的障礙物斥力勢場、道路邊界勢場以及速度斥力勢場所組成;
6、步驟s3,計算蝙蝠種群的適應(yīng)度,提取最優(yōu)蝙蝠坐標(biāo)并根據(jù)其所處位置對其進(jìn)行勢場化處理;
7、步驟s4,更新其蝙蝠的聲波頻率、速度和位置;
8、步驟s5,判斷隨機數(shù)r1是否大于脈沖發(fā)射率rt?i,若r1>rt?i,則進(jìn)入局部搜索,根據(jù)不同策略得到新的最優(yōu)解;否則在最優(yōu)解附近隨機飛行;
9、步驟s6,判斷隨機數(shù)r2是否小于發(fā)聲響度at?i,若r2<at?i且適應(yīng)度函數(shù)f(xnew)<f(xt?i),則接受這個新的最優(yōu)解,并更新發(fā)聲響度和脈沖發(fā)射率;否則進(jìn)入步驟s7;
10、步驟s7,將適應(yīng)度值排序,找出當(dāng)前最佳蝙蝠位置;
11、步驟s8,判斷是否達(dá)到最大迭代數(shù),若達(dá)到最大迭代數(shù)則進(jìn)入步驟s9,否則返回步驟s2;
12、步驟s9,對路徑進(jìn)行平滑處理,生成最優(yōu)路徑。
13、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s1,建立地圖環(huán)境,初始化參數(shù),其具體包括:
14、建立地圖,確定無人駕駛車輛的出發(fā)點與目標(biāo)點,隨機設(shè)置幾個障礙物(包括靜、動態(tài)),初始化蝙蝠種群中各蝙蝠的聲波頻率、速度、位置、最大迭代數(shù),脈沖發(fā)射率等參數(shù)。
15、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s2,建立改進(jìn)的人工勢場模型,所述人工勢場由改進(jìn)的目標(biāo)點引力勢場、改進(jìn)的障礙物斥力勢場、道路邊界勢場以及速度斥力勢場所組成,其具體包括:
16、在人工勢場法中,當(dāng)車輛在道路上行駛時,它的勢能是根據(jù)引力勢場和多個斥力勢場的勢能計算來確定的,建立改進(jìn)的人工勢場模型uall(x)的計算公式為:
17、uall(x)=uatt(x)+urep(x)+uroad(x)+urev(x)
18、傳統(tǒng)人工勢場法存在當(dāng)車輛與目標(biāo)點距離較遠(yuǎn)時,此時的引力大于斥力可能導(dǎo)致車輛與障礙物發(fā)生碰撞的情況,由此構(gòu)建改進(jìn)的引力勢場函數(shù)為:
19、
20、式中,katt為引力勢場增益系數(shù),ρ(x,xgoal)為車輛當(dāng)前位置和目標(biāo)點位置之間的歐氏距離,矢量方向由車輛當(dāng)前位置指向目標(biāo)點位置,dg為距離閥值。
21、引力為引力勢場的負(fù)梯度,得到引力,表達(dá)式如下:
22、
23、傳統(tǒng)的人工勢場法存在目標(biāo)不可達(dá)問題,為解決這個問題,對障礙物斥力勢場進(jìn)行改進(jìn),增加與目標(biāo)點的距離調(diào)節(jié)因子,即車輛當(dāng)前位置和目標(biāo)點位置的距離,構(gòu)建改進(jìn)的障礙物斥力勢場函數(shù)為:
24、
25、式中,krep為斥力勢場增益系數(shù),ρ(x,xobs)車輛當(dāng)前位置和障礙物位置之間的歐氏距離,ρ0為障礙物的最大影響距離,n為距離因子調(diào)節(jié)系數(shù)。
26、斥力為斥力勢場的負(fù)梯度,得到斥力的兩個分力,表達(dá)式如下:
27、
28、
29、在無人駕駛車輛實際行駛時,是存在道路邊界,應(yīng)受到道路邊界的約束,避免與道路邊界發(fā)生碰撞。當(dāng)接近道路左邊和右邊的邊緣時,應(yīng)當(dāng)受到較大的斥力;當(dāng)靠近道路中心時,受到的斥力應(yīng)當(dāng)比較小,構(gòu)建道路邊界勢場函數(shù)為:
30、
31、式中,α1、α2為道路邊界斥力因子,xa、xb為左右車道中心線的橫坐標(biāo),l為道路寬度。
32、構(gòu)建速度斥力勢場函數(shù)為:
33、
34、式中,krev為速度斥力因子,vco=||vc-vobs||表示的無人駕駛車輛相對于障礙物的速度,θ是相對速度與位置矢量間的夾角。
35、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s3,計算蝙蝠種群的適應(yīng)度,提取最優(yōu)蝙蝠坐標(biāo)并根據(jù)其所處位置對其進(jìn)行勢場化處理,其具體包括:
36、無人駕駛車輛在規(guī)劃路徑時,既要保證在不與障礙物發(fā)生碰撞的情況下,又要保證最短的路徑長度。為符合上述要求,以不產(chǎn)生碰撞的路徑長度最短為評價準(zhǔn)則,構(gòu)建了如下的適應(yīng)度函數(shù):
37、(1)為了不產(chǎn)生碰撞,設(shè)置避障約束懲罰函數(shù),表達(dá)式如下:
38、
39、式中,c為安全系數(shù),k為障礙物個數(shù),(xobs,yobs)為障礙物坐標(biāo)。
40、(2)要求路徑最短,表達(dá)式如下:
41、
42、式中,(xi,yi)為無人駕駛車輛路徑節(jié)點坐標(biāo)。
43、綜上,一種無人駕駛車輛避障路徑規(guī)劃方法總的適應(yīng)度函數(shù)如下:
44、f=a·f1+b·f2
45、式中,a為避障約束權(quán)重系數(shù)、b為路徑長度權(quán)重系數(shù)。
46、根據(jù)適應(yīng)度函數(shù)可以提取出最佳蝙蝠的位置坐標(biāo)并進(jìn)行勢場化處理,即對蝙蝠算法中的相鄰的兩個路徑點,分別設(shè)置引力場ut?i-1、ut?i+1,表達(dá)式如下:
47、
48、
49、式中,xt?i為t時刻第i個路徑點的當(dāng)前位置,為當(dāng)前位置與障礙物的距離。
50、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s4,更新其蝙蝠的聲波頻率、速度和位置,其具體包括:
51、根據(jù)蝙蝠算法,其蝙蝠的聲波頻率、速度以及位置按以下的公式進(jìn)行更新:
52、fi=fmin+(fmax-fmin)β
53、
54、
55、式中,fi是蝙蝠發(fā)出的聲波頻率,其最大值是fmax,最小值是fmin,xt?i和vt?i分別表示蝙蝠個體i在第t代時的位置以及速度,β是一個隨機數(shù),它在[0,1]中均勻分布,x*代表上一代全局最佳位置。
56、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s5,判斷隨機數(shù)r1是否大于脈沖發(fā)射率rt?i,若r1>rt?i,則進(jìn)入局部搜索,根據(jù)不同策略得到新的最優(yōu)解;否則在最優(yōu)解附近隨機飛行,其具體包括:
57、生成一個隨機數(shù)r1,若r1大于脈沖發(fā)射率rt?i(第i只蝙蝠在第t代的脈沖發(fā)射率),利用高斯分布與柯西分布兩種策略進(jìn)行搜索產(chǎn)生局部新解,更新位置xnew,公式如下:
58、
59、式中:xold為當(dāng)前最優(yōu)個體位置,c(-1,0)是服從標(biāo)準(zhǔn)柯西分布的隨機數(shù);n(0,1)是服從高斯分布的隨機數(shù),at為蝙蝠在第t代的響度平均值。p為[0,1]的均勻隨機數(shù);t為當(dāng)前迭代次數(shù);t為最大迭代數(shù)。
60、在搜索前期利用其柯西分布在其范圍內(nèi)單調(diào)遞增的特性進(jìn)行搜索可以更接近最優(yōu)解;在搜索后期利用其高斯分布在其范圍內(nèi)單調(diào)遞減的特性進(jìn)行搜索可以更接近最優(yōu)解。通過選擇這兩種不同法搜索策略不僅可以提高搜索的速度還可以提高其搜索精度。
61、若r1<rt?i,則在最優(yōu)解附近隨機飛行,即根據(jù)如下公式更新蝙蝠位置:
62、
63、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s6,判斷隨機數(shù)r2是否小于發(fā)聲響度at?i,若r2<at?i且適應(yīng)度函數(shù)f(xnew)<f(xt?i),則接受這個新的最優(yōu)解,并更新發(fā)聲響度和脈沖發(fā)射率;否則進(jìn)入步驟s7,其具體包括:
64、蝙蝠在靠近獵物的過程中,脈沖發(fā)射率會增多,同時發(fā)生響度會減少,可以更加準(zhǔn)確掌握獵物的位置,根據(jù)如下公式進(jìn)行更新:
65、
66、
67、式中:α和γ均為常量,at+1i和rt+1i分別是第i只蝙蝠第t+1代的發(fā)聲響度及脈沖發(fā)射率,r0?i為初始脈沖發(fā)射率。
68、進(jìn)一步地,所述的一種無人駕駛車輛避障路徑規(guī)劃方法,其步驟s8,判斷是否達(dá)到最大迭代數(shù),若達(dá)到最大迭代數(shù)則進(jìn)入步驟s9,否則返回步驟s2;步驟s9,對路徑進(jìn)行平滑處理,生成最優(yōu)路徑,其具體包括:
69、當(dāng)達(dá)到最大迭代數(shù)時采用三次b樣條曲線對路徑進(jìn)行平滑處理,生成最優(yōu)路徑;否則返回步驟s2。
70、本發(fā)明的有益效果如下:
71、本發(fā)明對目標(biāo)點加入了改進(jìn)的引力勢場,障礙物加入了改進(jìn)的斥力勢場,同時引入道路邊界勢場和速度斥力勢場保證無人駕駛車輛不與道路邊界發(fā)生碰撞且能避開靜態(tài)和動態(tài)障礙物;當(dāng)路徑節(jié)點在障礙物的最大影響距離之外時,在蝙蝠位置更新公式中相鄰兩個路徑節(jié)點加入傳統(tǒng)的引力勢場,縮短了路徑長度。在蝙蝠算法的局部新解的更新過程中利用高斯分布與柯西分布兩種策略進(jìn)行搜索產(chǎn)生局部新解,提高搜索速度和搜索精度。