?

一種面向城市戰場的智能車自主導航方法

2024-03-05 08:20鵬,徐
計算機與現代化 2024年1期
關鍵詞:步數目的地動作

李 鵬,徐 珞

(中國電科智能科技研究院,北京 100005)

0 引 言

隨著城市化程度的不斷增加,城市地區的安全問題也變得愈發嚴峻。城市作為軍事行動和社會治安的主要場所,戰場突防能力的強弱決定著我方能否快速地占領敵方據點或制高點,掌握戰場主動權。當突防任務需要穿越城市區域時,密集的建筑群、復雜的交通情況以及未知的敵方攔截使得完成任務的難度大大增加。同時在實際的行動中人為地提前規劃突防路線,不僅依賴精確導航地圖,同時還難以應對各種突發狀況,像躲避突然出現的車輛、敵方單位或行人等。因此針對該情況,需要一種實時、高效和智能的路徑規劃方法協助完成突防任務。

傳統的路徑規劃算法雖然能夠解決部分路徑規劃問題,但是在城市戰場環境下往往無法勝任。例如A*算法[1]和Dijkstra 算法[2]都是基于圖論的全局路徑規劃算法,二者雖然對于路徑的求解過程有所區別,但在具有精確地圖的情況下都具有不錯的性能和準確度,因此其在海戰戰場、路由規劃和導航系統等場景中具有廣泛應用。而面對城市戰場時,如圖1 所示的2類代價地圖難以獲取,因此A*算法和Dijkstra 算法在該場景不具有可行性。

圖1 路徑規劃代價地圖

此外隨機路線圖算法(PRM)[3]和快速擴展隨機數(RRT)算法[4]也需要通過采樣的方式基于已知的地圖數據建立無向圖,且采樣點過少、噪聲干擾、局部最優和不合理的參數設置均可能導致找不到可行的路徑解。智能仿生類算法如蟻群算法、遺傳算法、粒子群算法等[5-7],雖然對于多數任務和環境具有不錯的實用性,但這類算法評價函數的計算需要全局地圖的輔助,且其迭代過程具有很大的隨機性,因此這類算法的收斂速度無法估計且規劃時間相對較長,被廣泛應用于一些能夠離線規劃的任務如快遞配送路線規劃和作戰方案優化等。綜上所述,全局規劃類的算法由于需要構建已知的全局地圖,且各類算法均有自身的局限性,因此在面對三維城市戰場環境時并不能很好地適用。

人工態勢場法[8-9]作為一種局部路徑規劃算法,其基本思路是通過疊加障礙物周圍的斥力和目的地周圍的引力構建一個勢力場,使物體沿著勢能按由高到低的方向移動。然而,在面對三維城市戰場中的不規則物體時,該算法的勢力場構建十分困難,即使在面對二維環境中的不規則障礙物時,其勢力場構建也需要大量的計算。諶海云等[8]將其應用于無人機的三維編隊問題,但其任務場景中的障礙物均為規則圖形。如果要將該算法應用于三維復雜場景,需要對場景中的障礙物進行極大似然的近似,將其近似為圓、矩形或正方形等規則圖形,這樣做不僅工作量巨大,而且會丟失很多周圍的環境信息,因此該算法不適用于高維狀態空間。

目前面向該場景的相關工作較少,暫時未找到可參考的案例。故此本文所提出的基于深度強化學習算法的路徑規劃算法雖然需要額外訓練,但其具有更好的適應性、靈活性和應對高維狀態的能力,以及具有能夠自主地學習和優化路徑規劃策略[10-11]的優點,可使其成為解決城市戰場突防任務的有力工具。

1 問題描述

當涉及軍事行動時,突防行動的路徑規劃是一項具有挑戰性的任務。針對真實的城市戰場,需要考慮多種因素,這些因素包括但不限于道路網絡、建筑物位置和形狀、障礙物位置和形狀、交通流量、天氣、時間等。對于道路網絡,可以從衛星圖像或其他地圖數據中提取信息以構建拓撲結構,幫助完成任務的整體規劃。但對于城市街道場景這類具體場景,智能裝備需要面對敵方干擾和許多具體的障礙物如垃圾桶、小車、路障等,這些障礙物形狀特征差異較大,難以用規則的幾何形狀表示。同時真實的智能裝備需要通過自身的各類傳感器獲取周邊信息,輔助做出行為決策。因此為了更好地將深度強化學習算法應用于城市戰場突防任務,動態地實現路徑規劃,需要對城市戰場環境和智能車建模,以更好地描述任務、設計算法流程和實驗方案。

本文搭建了基于機器人操作系統(Robot Operating System,ROS)的智能車模型,用于深度強化學習算法的訓練。本文所構建的智能車搭載了激光雷達傳感器用于感知周圍環境,整體架構如圖2 所示。傳感器的各項參數配置將在實驗部分介紹。

圖2 智能車整體架構

在突防任務當中,智能車需要時刻獲取周圍場景信息,例如自身當前的位置、目的地與車頭所在方向的夾角、周邊障礙距自身的信息。本文主要通過車載激光雷達獲取周圍場景的信息,具體模型如圖3所示。

圖3 智能車環境感知模型

如圖3 所示藍色箭頭方向為車輛的前進方向,黃色箭頭線覆蓋區域為車輛負半區,與之對應的為后半區域,橙色箭頭線指向目的地,激光雷達傳感器所獲取的環境信息S=[l1,l2,…,l180](綠色線條),序號沿著黑色箭頭方向遞增。

每條激光雷達射線獲取信息的處理公式如式(1)所示,其中si為激光雷達第i條射線探測到與障礙物之間的距離。

設(xg,yg)和(xs,ys)分別是目的地和智能車的絕對坐標,其中目的地與車輛之間的位置關系(ρ,θ)計算公式如下:

2 深度強化學習算法簡介

2.1 馬爾可夫決策

“試錯”是強化學習的核心思想,而馬爾可夫決策過程(Markov Decision Process,MDP)作為強化學習的理論基礎,是一種無記憶的隨機過程。MDP 基于智能體與環境之間的交互,以表示智能體在環境中的隨機決策與回報,其模型要素可表示為(S,A,P,R,γ),其中:

S是狀態集合,用于描述整個MDP 所有可能存在的環境狀態。

A是動作集合,用于表示智能體在整個MDP 所有可能做出的決策結果。

P表示決策條件,表示智能體在t時刻st狀態下采取動作a后,在t+1時刻的狀態st+1的狀態為s'的概率,其狀態轉移關系式如下:

R是評價函數,表示智能體在狀態s執行動作a后狀態轉移到s'對任務目標的量化評價,其定義如下:

γ是折扣因子,表示MDP 中每次決策對未來決策的影響程度,當γ≤1時說明算法本身更加關注當前獎勵。

MDP 的整體流程如圖4 所示,智能體在狀態st下做出動作at并根據狀態轉移策略轉移到狀態st+1,同時算法對智能體給予獎勵rt(st,at,st+1),并不斷循環執行該過程,直到達成最終任務目標[12]。

圖4 馬爾可夫決策過程

2.2 深度強化學習

深度強化學習作為解決復雜系統的感知決策問題的有效方法,通過結合深度學習的感知能力與強化學習的決策能力,實現了端到端的感知決策過程。深度Q 網 絡(Deep Q-Network,DQN)[13-14]通過融合Q-Learning 和神經網絡,使得其在一些游戲中能夠做出比人更優的決策。此后在此基礎上不斷改進創新,提出了多種深度強化學習算法,目前主流的算法包括:深度確定性策略梯度(Deep Deterministic Policy Gradient,DDPG)[15-16]、優 勢 動 作 評 價 算 法(Advantage Actor-Critic,A2A)[17]、信賴領域策略梯度優化(Trust Region Policy Optimization,TRPO)[18]、近似策略梯度優化(Proximal Policy Optimization,PPO)[19-20]等,在游戲、自動駕駛、工業設計等諸多領域均取得了許多成果,表明了深度強化學習在高維環境狀態和動作決策問題上具有優越性。

D3QN(Dueling Double Deep Q-Network)算法[21-23]是在DQN 算法的基礎上進行改進的一種算法,主要的改進包括模型結構和訓練方式。模型結構的改進使用了Double DQN[24],通過使用一個網絡(評估網絡,Evaluaton Network)選擇最佳動作,通過另一個網絡(目標網絡,Target Network)來估計Q值。這樣可以減少Q值的偏移估計,從而提高學習效率。訓練方式的改進是D3QN 在多臺機器上同時運行多個代理程序,每個代理都是一個獨立的DQN 學習算法的實例,提高了算法的訓練效率。

本文面向三維城市街道場景,設計離散的動作空間簡化問題的求解過程,因此D3QN 算法十分契合解決本文所遇到的問題。

3 面向城市戰場的智能車自主導航深度強化學習算法

在城市戰場突防任務中,由于智能車的動作是連續的,這使得強化學習的訓練難度增加。同時,評價策略又需要實時根據任務進度改變比重,而傳統的獎勵函數無法隨任務進度變化,難以滿足要求。因此,為了解決上述問題,需設計出合適的深度強化學習算法。本文設計面向智能車的離散動作空間,并提出基于任務完成度的獎勵函數,設計算法框架和流程,以更好地完成算法的學習和訓練。

3.1 離散動作空間設計

在實際任務中,智能車的動作需要連續執行,這使得深度強化學習的動作空間變得非常大,從而增加了自主導航任務的求解難度[25-26]。因此,本文設計離散的動作空間來簡化智能車的控制參數,以加快算法的訓練速度。例如可以將車輛的移動簡化為左轉、右轉、直行和停止等離散動作,通過這些動作的組合可以獲得有限的動作空間。表1 為本文設計的動作空間,其中1 m/s 表示車速,0 m/s 表示靜止;0 rad/s表示保持當前朝向,-1 rad/s 表示以1 rad/s 的角速度逆時針轉向,反之表示順時針轉向。

表1 離散動作設計

采用離散動作空間不僅可以簡化模型的訓練過程,還可以加快模型的訓練速度。同時,相對于連續的動作序列,在自主導航任務中使用離散動作空間也可以獲得更好的控制效果。

3.2 基于任務完成度的獎勵函數設計

雖然深度強化學習在解決決策類問題方面表現出色,但獎勵函數的設計對于算法的訓練和模型的表現至關重要,傳統的線性獎勵函數無法根據任務進度提供合適的獎勵。因此本文針對城市戰場突防任務設計基于任務完成度的獎勵函數,以實現不同任務進度下的獎勵計算[27]。

如圖5 所示,當β>1 時獎勵系數可隨著任務進度的增加不斷增大;當β=1 時,獎勵系數恒為1,與傳統獎勵函數相同;當β<1時獎勵系數可隨任務進度不斷減小。本文稱其為獎勵基數(Reward Base,RB),記為β,其計算公式如式(5)。其中r為總獎勵,d為任務完成度,ri與βi分別為對應的傳統獎勵和獎勵基數。

圖5 基于任務完成度的獎勵系數變化曲線

在城市戰場突防任務中,為了避免智能車在距離目的地較遠的情況下頻繁改變動作,定義了智能車動作變化量和任務完成度的計算公式如式(6)所示。其中v、w表示智能車的速度與角速度,ρ表示智能車與目標之間距離。

基于式(5),選取β=1.5,獎勵函數計算公式如下:

綜上所訴,通過調節RB 的大小可以計算出合適的連續任務進度下的獎勵系數,制定出更合理的獎懲策略,有利于強化學習模型的訓練。

3.3 算法框架和流程

通過結合Gazebo 仿真平臺和ROS 以及D3QN 算法,本文設計面向城市戰場的智能車自主導航算法框架和流程,整體架構如圖6所示。

圖6 智能車自主導航算法流程

具體步驟如下:

步驟1構建2個具有一樣深度寬度和初始參數的神經網絡分別來表示預測網絡θ和目標網絡θ',并初始化算法參數和經驗緩存池。

步驟2初始化訓練環境并返回狀態向量st。

步驟3通過預測網絡計算st的Q值,并根據εgreedy策略從智能車的動作空間選擇動作。

步驟4執行選擇動作,并產生新狀態st+1,獎勵r和回合結束標記done,其中獎勵r依據公式(7)計算。

步驟5將[st,at,rt,st+1,done]添加到經驗緩存池中。

步驟6若done 為真,則回合結束依據退火算法更新探索率ε,依據公式(8)更新,返回步驟2,否則繼續。

步驟7從經驗緩存池當中隨機選取n個樣本[st,at,rt,st+1,done]k,k=1,2,3,4,…,n,用于預測網絡θ的訓練。

步驟8當達到目標網絡更新頻率,則利用預測網絡θ更新目標網絡θ'。

步驟9更新狀態st=st+1,返回步驟3。

步驟10重復步驟3~步驟9 直到達到一定的訓練步數或者達到預設的獎勵。

4 仿真實驗設計及結果分析

為了驗證算法在突防任務中的有效性,本文在Ubuntu20.04 上使用ROS 和Gazebo 構建一個智能小車和虛擬仿真環境。本文分析模型的平均獎勵、探索率變化、探索步數和Loss 值與訓練輪數之間的關系,并通過可視化仿真環境驗證最終模型的有效性和穩定性。

4.1 實驗場景描述

在不影響問題求解的情況下,本文在Gazebo 仿真環境中搭建一個簡化的城市街道場景,場景大小為20 m×20 m,該場景中設置了多種障礙物,由瀝青路面、護欄、錐形桶、木頭車和地鎖等代替城市內各種物體,作為智能車路自主導航的訓練場景,如圖7所示。

圖7 實驗場景

智能車的初始位置位于場景中心,其初始坐標為(0,0),目的地坐標則隨機選取10 個預設坐標中的1個,10 個預設坐標為(-5.2,3.3),(-7.0,1.44),(-6.0,2.2),(-5.8,-3.0),(3.0,5.6),(2.2,-6.0),(9,-6.8),(-2,5.9),(-6.0,4.0),(6.6,2.5)。

表2列出了本文實驗所搭建激光雷達的各項參數。

實驗搭建了基于ROS 的智能車控制系統,用于為智能車提供基于深度強化學習算法的導航避障訓練。智能車與ROS主題之間的數據交換流程如圖8所示。

圖8 智能車控制架構模型

4.2 參數設置

表3 為神經網絡參數設置。本文實驗中,狀態空間大小由激光雷達數據和智能車、目的地之間的位置關系和任務結束符共同決定,即[S,ρ,θ,done]大小為183;動作空間大小為本文設計的離散動作的數量;由于實驗設計的離散動作只有10 個,因此選用寬度為256的3層神經網絡足以表達狀態與動作之間的映射關系;BatchSize 大小參考網絡寬度大小設置,選擇0.001的學習率既可以保證模型在訓練過程中不會過早擬合,又能避免訓練時間過長影響實驗結果產出。

表3 神經網絡參數設置

表4 為算法相關參數設置。實驗數據表明智能車單個回合的平均步數為在300 步,所以設置每回合最大步數為1000 步既可以保證實驗前期模型的探索能力,又可以測試實驗后期模型是否具有連續導航的能力;經驗池的大小越大越好,本文實驗中106條經驗可以大約包含500 回合以內的數據;采樣數量與BatchSize大小保持一致,折扣因子選取0.99加大模型對于長期收益的期望;0.99450≈0.01,因此0.99 的退火系數和0.01的ε-greedy策略終止參數可以賦予模型約450回合的探索時間,充分保證模型前期的探索能力。

表4 算法參數設置

4.3 獎勵函數設置

表5 為本文實驗的獎勵函數設置,其中d表示初始時智能車與目的地之間距離,dt表示當前距離,dt-1表示前一刻距離;vt表示當前速度,vt-1為上一次速度;wt表示當前角速度,wt-1為上一次角速度。

4.4 實驗結果分析

4.4.1 獎勵函數與ε退火策略曲線

獎勵曲線可以直觀地反映出模型的訓練效果,ε-greedy 策略變化曲線可以展示模型訓練過程中的探索能力的變化。圖9 和圖10 分別為每100 輪平均獎勵變換曲線圖和ε變化曲線圖。

圖10 ε變化曲線圖

從圖9 和圖10 可以觀察到,算法在訓練過程中,平均獎勵在約2000 輪時開始顯著提升,在5000 到7000輪之間變化緩慢,在7000輪之后逐步提升,由于環境限制,本文實驗只迭代了104輪。ε-greedy 策略初始值為1,采用退火算法衰減,其中衰減系數為0.99。在200 輪之前貪婪系數ε快速衰減,算法的探索能力逐步開發能力增強,約在400 輪時ε達到最小值,此時算法的開發能力最強,探索能力最弱。

4.4.2 損失函數與平均步數分析

損失函是評價算法收斂程度的重要參考依據,圖11 展示了訓練過程的損失函數曲線。為了方便展示,僅展示了5000 輪訓練的損失函數變化曲線。從圖11 中可以看出,約在1000 輪時損失達到最大值,2000 輪之后損失變化幅度較小,總體來看,該算法模型能夠快速收斂。

圖11 損失值變化曲線

由于本文實驗訓練過程中,采用的是碰撞結束任務的策略,即當智能車到達目的地后,選擇變化目的地繼續當前回合,發生碰撞終止任務。因此,智能車到達的目的地越多,單個回合執行的步數也往往越多。圖12 展示了訓練過程中每100 回合的平均執行步數。從圖中可以看出,模型在訓練過程中單個回合的執行步數越來越多,這也側面說明了模型能夠較好地連續完成導航避障任務。

圖12 單回合平均探索步數

4.4.3 運行結果和時間代價分析

實際運行結果和時間代價是最終展示模型有效性的標準。圖13 展示了從初始位置出發連續變化5次目的地時智能車的運行軌跡。表6 展示了從初始位置到各預設目的地的執行時間和回合步數。

表6 到達各目的地的執行時間和回合步數

圖13 運行結果展示

圖13 中展示的路徑為智能車連續以(6.6,2.5)、(-6.0,2.2)、(-7.0,1.44 )、(-5.8,-3.0)、(6.6,2.5)為目的地所形成的路徑,圖中藍色小圓柱為初始目的地標記,紅色圓點為其他目的地標記。從實際運行結果分析,智能車的實際行走路徑并非最優路徑,且由于設計了基于任務完成度的獎勵函數,使得智能車距離目的地較遠時不會優先改變方向,但可以避免智能車前期頻繁地發生速度和角速度的變換。同時,由于智能車依賴自身傳感器數據獲得動作,因此即使相同的目的地,其最終運行軌跡也可能不相同。然而,總體來看,通過該算法模型,智能車能夠依靠自身的局部感知數據實現自主導航。

表6 展示了智能車從初始位置(0.0,0.0)分別到達各目的地的實際執行時間和回合步數。其中,平均執行時間為9.7 s、平均回合步數為184.3 步、單步響應時間約為0.05 s。這些數據表明,最終模型能夠及時快速地響應完成既定任務。同時數據顯示,距離越遠實際執行時間和回合步數也越大。雖然二者之間存在相關性,但并沒有嚴格的對應關系,這主要與場景環境和障礙物的具體位置有很大關系。因此表6所展示的數據,并不能完全代表模型每次的實際執行時間和回合步數。

5 結束語

本文面向城市戰場提出了一種智能車自主導航方法,以解決傳統算法在城市突防任務中遇到的問題,如依賴精確地圖和無法應對高維狀態空間等。該方法基于深度強化學習算法,設計了離散的動作空間和基于任務完成度的獎勵函數。同時,本文還搭建了基于ROS 和Gazebo 的仿真訓練環境,用于驗證該方法的有效性。實驗結果表明,該方法能夠自主規劃路徑、快速收斂并保持穩定性,在連續變化目的地的情況下仍能取得不錯的效果。然而,目前該方法仍然存在一些問題需要改進,例如使用離散的動作空間和單一的傳感器數據訓練強化學習模型與真實戰場任務需求的差距,以及訓練需要大量數據和計算資源、容易受到噪聲和局部最優的影響等。因此,這些問題需要進一步改進,以提高該算法的實用性和效率。綜合理論和實驗,本文用深度強化學習算法構建智的能車自主導航模型,在街區戰場突防任務中能夠取得一定效果。

猜你喜歡
步數目的地動作
速度和步數,哪個更重要
向目的地進發
迷宮彎彎繞
楚國的探索之旅
微信運動步數識人指南
動物可笑堂
動作描寫要具體
畫動作
目的地
非同一般的吃飯動作
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合