本技術(shù)屬于移動機器人避障,尤其涉及一種基于深度強化學(xué)習(xí)的移動機器人軌跡跟蹤及避障控制方法以及多移動機器人的避障控制方法。
背景技術(shù):
1、近年來,人工智能技術(shù)高速發(fā)展,移動機器人在各個領(lǐng)域都得到了廣泛的應(yīng)用,尤其是在復(fù)雜的環(huán)境中對移動機器人的需求也就越大。在生活中、工作中移動機器人的使用隨處可見,像家庭的掃地機器人,快遞外賣行業(yè)的送餐機器人,餐飲行業(yè)的傳菜機器人等等。然而對于這些大部分常見的移動機器人都需要人為的參與,掃地機器人需要多次碰撞才可以躲開障礙,送餐和傳菜機器人在進(jìn)行任務(wù)的過程中由于環(huán)境過于復(fù)雜,也時常會出現(xiàn)避障失敗的情況。面對這些情況,人們更希望的是可以讓移動機器人實現(xiàn)自主導(dǎo)航以及實時避障,盡可能地減少人為干預(yù)。
2、移動機器人要實現(xiàn)避障任務(wù),主要是使用激光雷達(dá)或者是使用超聲波、紅外線等技術(shù)。然而對于以上的方法實現(xiàn)移動機器人避障會存在避障傳感器精度差,受強光或者強風(fēng)環(huán)境干擾強,無法面對多障礙物,高性能傳感器的成本高等不足之處。
3、強化學(xué)習(xí)技術(shù)是實現(xiàn)移動機器人實時避障的一個很好的方法,強化學(xué)習(xí)技術(shù)是解決智能體和環(huán)境交互過程中通過學(xué)習(xí)策略以達(dá)成回報最大化或?qū)崿F(xiàn)特定目標(biāo)的問題。因此將強化學(xué)習(xí)技術(shù)應(yīng)用于移動機器人避障系統(tǒng)可以增強移動機器人的自主學(xué)習(xí)能力、實時性、魯棒性和適應(yīng)性,可以使得移動機器人通過與環(huán)境的交互自主學(xué)習(xí)有效的避障策略,而無需預(yù)先編程特定的規(guī)則,并且可以根據(jù)不同的環(huán)境和障礙物布局調(diào)整其行為策略,可以實現(xiàn)移動機器人更加智能和高效地避障。q-learning算法就是很好的強化學(xué)習(xí)技術(shù),但是q學(xué)習(xí)只考慮了單次避障,未考慮多個目標(biāo)物長時間動態(tài)避讓。q-learning算法對高維狀態(tài)空間處理能力比較弱,不適合用在復(fù)雜的避障任務(wù)之中。
4、基于此,一種基于深度強化學(xué)習(xí)的移動機器人軌跡跟蹤及避障控制方法亟待研發(fā)。
技術(shù)實現(xiàn)思路
1、本技術(shù)的目的在于提供一種移動機器人避障控制方法、多移動機器人的控制方法,用以至少解決現(xiàn)有技術(shù)中的一個技術(shù)問題。
2、本技術(shù)的技術(shù)方案是:
3、一種移動機器人避障控制方法,基于深度強化學(xué)習(xí)和pid控制用于移動機器人軌跡跟蹤和避障,包括:
4、構(gòu)建機器人模型以及至少2個障礙體的封閉空間;
5、構(gòu)建強化學(xué)習(xí)訓(xùn)練,獲取所述強化學(xué)習(xí)模型中的最優(yōu)動作;
6、通過最佳動作與當(dāng)前動作的差異來獲得獎勵,鼓勵移動機器人采取更加接近最佳動作,以控制所述機器人模型進(jìn)行避障和導(dǎo)航。
7、所述構(gòu)建強化學(xué)習(xí)訓(xùn)練,獲取所述強化學(xué)習(xí)模型中的最優(yōu)動作,包括:
8、構(gòu)建深度q網(wǎng)絡(luò);
9、通過所述深度q網(wǎng)絡(luò)獲取q值最大的動作,并將所述最大的動作作為所述最優(yōu)動作;
10、根據(jù)所述q值更新所述深度q網(wǎng)絡(luò)的權(quán)重。
11、所述構(gòu)建深度q網(wǎng)絡(luò),依次包括:
12、順序模型,通過多個網(wǎng)絡(luò)層按順序排列的線性堆疊;
13、第一全連接層,輸入是狀態(tài)空間的大小,用于從輸入狀態(tài)中提取初步的非線性特征;
14、第二全連接層,其輸入是第一全連接層的輸出形狀確定;
15、第三全連接層,作為輸出層,其輸入為第二全連接層的輸出,其輸出神經(jīng)元的數(shù)量是動作空間的大?。?/p>
16、其中,所述狀態(tài)空間為:由移動機器人自帶的激光雷達(dá)掃描周圍環(huán)境的數(shù)據(jù)以及動作價值決定的;所述動作空間是turtlebot3的actionspace,包含了所有可能的動作,所述動作代表了機器人在不同狀態(tài)下可以執(zhí)行的基本操作,例如前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)等等。
17、所述構(gòu)建深度q網(wǎng)絡(luò),還包括:
18、dropout層,并設(shè)置在第二全連接層與第三全連接層之間,用于防止過擬合。
19、所述通過所述深度q網(wǎng)絡(luò)獲取q值最大的動作,并將所述最大的動作作為所述最優(yōu)動作,包括:
20、動作選擇采用ε-greedy策略,ε(epsilon)是一個介于0和1之間的參數(shù),表示探索的概率;
21、當(dāng)生成的隨機數(shù)小于ε時,選擇一個隨機動作;
22、當(dāng)生成的隨機數(shù)大于ε時,選擇當(dāng)前策略下估計q值最大的動作;
23、選擇所述估計q值最大的動作作為最優(yōu)動作。
24、所述根據(jù)所述q值更新所述深度q網(wǎng)絡(luò)的權(quán)重,包括:
25、通過下式獲取所述q值:
26、q(s,a)=r+γmaxa′qtarget(s′,a′);
27、其中,q(s,a)是指在狀態(tài)s下執(zhí)行動作a的q值;r是執(zhí)行動作a得到的動作獎勵;γ是折扣因子表示未來獎勵的重要性;maxa′qtarget(s′,a′)是指在新狀態(tài)s′下,所有可能動作a′中的最大q值。
28、所述通過最佳動作與當(dāng)前動作的差異來獲得獎勵,鼓勵移動機器人采取更加接近最佳動作,以控制所述機器人模型進(jìn)行避障和導(dǎo)航,包括:
29、設(shè)置獎勵函數(shù),且獎勵是由當(dāng)前動作以及最佳動作決定;
30、添加pid控制器以控制移動機器人的線速度和角速度,讓其更好實現(xiàn)避障任務(wù)和訓(xùn)練任務(wù);
31、調(diào)整機器人移動的參考軌跡坐標(biāo),以確定機器人移動的目標(biāo)位置以及方向。
32、所述設(shè)置獎勵函數(shù),且獎勵是由當(dāng)前動作以及最佳動作決定,包括:
33、所述獎勵的獲取,包括:最佳動作以及當(dāng)前動作,并通過最佳動作與當(dāng)前動作的差異來獲得獎勵,包括:
34、
35、reward-=-|action|*1;
36、其中,reward表示獎勵,action表示當(dāng)前的動作,best_action表示最佳動作;reward-=-|action|*1,可以使動作值越大,獎勵增加得越多,能夠鼓勵機器人采取更大的動作;
37、根據(jù)公式可以反映移動機器人在執(zhí)行動作的時候與理想動作之間的差距,并且鼓勵移動機器人采取更加接近最佳動作;
38、所述最佳動作best_action由移動機器人的激光雷達(dá)掃描的數(shù)據(jù)和其處理掃描數(shù)據(jù)的限制條件作為函數(shù)輸入;根據(jù)移動機器人左側(cè)力leftforce:以及右側(cè)力rightforce:進(jìn)行比較,以決定移動機器人的最佳動作best_action;
39、其中,limit[1]和limit[0]是限制條件的上下限。
40、所述添加pid控制器以控制移動機器人的線速度和角速度,包括:
41、所述pid控制器的公式表示為:
42、output=kp*error+ki*integral+kd*derivative;
43、其中,kp是比例系數(shù);ki是積分系數(shù);kd是微分系數(shù);error是當(dāng)前狀態(tài)與目標(biāo)值之間的誤差;integral是誤差的累積值;derivative是誤差的變化率;
44、通過公式來調(diào)整參考軌跡坐標(biāo);
45、其中,(x,y)是參考軌跡的原始坐標(biāo),θ是參考軌跡的角度,δl是調(diào)整長度;
46、獲取目標(biāo)距離d:
47、其中,(x0,y0)是當(dāng)前移動機器人的位置;
48、獲取目標(biāo)角度α:
49、其中,θ0是當(dāng)前機器人的朝向角度,α是目標(biāo)角度;且將角度差規(guī)范化在[-π,π]的范圍之內(nèi):由于需要將α的角度差規(guī)范化在[-π,π],所以將目標(biāo)角度α的角度減去2π或者加上2π,以使α保持在[-π,π]。
50、一種多移動機器人的控制方法,包括:
51、創(chuàng)建至少2個移動機器人,賦予任一移動機器人對應(yīng)的位置和獨立的空間以及至少2條軌跡,分別使移動機器人跟蹤各自的軌跡;
52、將所述移動機器人共享同一個深度強化學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,使任一移動機器人執(zhí)行如上所述的移動機器人避障控制方法,以使任一移動機器人均具有相同的避障能力和避障策略。
53、本技術(shù)的有益效果至少包括:
54、本技術(shù)所述的移動機器人避障控制方法,首先構(gòu)建機器人模型以及至少2個障礙體的封閉空間;然后構(gòu)建強化學(xué)習(xí)訓(xùn)練,獲取所述強化學(xué)習(xí)模型中的最優(yōu)動作;最后,通過最佳動作與當(dāng)前動作的差異來獲得獎勵,鼓勵移動機器人采取更加接近最佳動作,以控制所述機器人模型進(jìn)行避障和導(dǎo)航。本技術(shù)所述的方法,使用了dqn算法彌補了傳統(tǒng)的q-learning算法無法適應(yīng)復(fù)雜避障環(huán)境以及高維狀態(tài)空間處理能力差的不足,同時提升了移動機器人的穩(wěn)定性與收斂性;同時,將深度強化學(xué)習(xí)與pid結(jié)合,可以通過pid控制器來控制移動機器人的線速度和角速度,提高移動機器人執(zhí)行避障任務(wù)的精確性和穩(wěn)定性;并且,采用勢場的方法能夠使機器人自動避開障礙物,動態(tài)地避開障礙物并朝向目標(biāo)點移動。這種方法計算簡單,適用于實時控制。最后,本方法采用了基于勢場法計算最佳動作的獎勵機制,通過比較實際動作和最佳動作之間的差異來計算獎勵;本技術(shù)所述的方法,能夠彌補傳統(tǒng)q-learning無法適應(yīng)復(fù)雜避障環(huán)境以及高維狀態(tài)空間處理能力差的不足。