本技術(shù)涉及路徑規(guī)劃,具體涉及一種農(nóng)業(yè)機(jī)器人的路徑規(guī)劃方法。
背景技術(shù):
1、目前農(nóng)業(yè)耕種收產(chǎn)業(yè)鏈中,主要工作方式仍以人工駕駛作業(yè)為主,不僅作業(yè)強(qiáng)度大,作業(yè)效率低,而且隨著作業(yè)時(shí)間累計(jì),安全風(fēng)險(xiǎn)會(huì)逐漸增加,因此農(nóng)業(yè)機(jī)器人自主導(dǎo)航作業(yè)問題的解決迫在眉睫。
2、目前農(nóng)業(yè)自主機(jī)器人自主導(dǎo)航在進(jìn)行路徑規(guī)劃時(shí)大致分為兩類:一類是全局靜態(tài)路徑規(guī)劃方式,這類算法多用于靜態(tài)環(huán)境的全局路徑規(guī)劃,但規(guī)劃出的路徑折線段偏多,折線角度偏大,需融合其他改進(jìn)算法對(duì)路徑進(jìn)行二次優(yōu)化拼接后方能使用,同時(shí),在切換作業(yè)環(huán)境后,需重新搜索作業(yè)路徑并根據(jù)環(huán)境選取路徑優(yōu)化方法對(duì)路徑進(jìn)行平滑處理,這類方法對(duì)環(huán)境的自適應(yīng)能力較弱,適用性較差,路徑規(guī)劃效率偏低。
3、因此,如何提升農(nóng)業(yè)作業(yè)中機(jī)器人在自動(dòng)導(dǎo)航中對(duì)環(huán)境的自適應(yīng)調(diào)整,是本領(lǐng)域亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)為了解決上述技術(shù)問題,提出了如下技術(shù)方案:
2、第一方面,本技術(shù)實(shí)施例提供了一種農(nóng)業(yè)機(jī)器人的路徑規(guī)劃方法,包括:
3、基于先驗(yàn)地圖構(gòu)建強(qiáng)化學(xué)習(xí)交互環(huán)境,利用中間目標(biāo)點(diǎn)分割全局環(huán)境設(shè)計(jì)dqn算法網(wǎng)絡(luò)架構(gòu);
4、基于農(nóng)業(yè)機(jī)器人前向弓字形作業(yè)方式設(shè)計(jì)所述dqn算法獎(jiǎng)勵(lì)函數(shù),獎(jiǎng)勵(lì)函數(shù)由中線區(qū)域獎(jiǎng)勵(lì)函數(shù)和目標(biāo)點(diǎn)獎(jiǎng)勵(lì)函數(shù)組成;
5、基于農(nóng)業(yè)機(jī)器人前向弓字形作業(yè)方式并結(jié)合a*算法的鄰域探索模式,設(shè)置dqn算法動(dòng)作空間和探索策略;
6、采用優(yōu)先經(jīng)驗(yàn)回放機(jī)制存取轉(zhuǎn)移樣本數(shù)據(jù)設(shè)計(jì)評(píng)估網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò),進(jìn)行農(nóng)業(yè)機(jī)器人的路徑規(guī)劃和決策。
7、在一種可能的實(shí)現(xiàn)方式中,所述基于先驗(yàn)地圖構(gòu)建強(qiáng)化學(xué)習(xí)交互環(huán)境,利用中間目標(biāo)點(diǎn)分割全局環(huán)境設(shè)計(jì)dqn算法網(wǎng)絡(luò)架構(gòu),包括:
8、使用slam算法掃描全局環(huán)境構(gòu)建先驗(yàn)地圖,根據(jù)先驗(yàn)地圖構(gòu)建深度強(qiáng)化學(xué)習(xí)交互環(huán)境,將環(huán)境分為作物行區(qū)域和作業(yè)行區(qū)域,其中作物行區(qū)域?yàn)椴豢赏ㄐ袇^(qū)域,作業(yè)行為可通行區(qū)域,同時(shí)對(duì)作物行進(jìn)行膨脹擬合處理,左右膨脹寬度為機(jī)器人寬度的一半;
9、結(jié)合農(nóng)業(yè)機(jī)器人前向弓字形作業(yè)方式,在起點(diǎn)和終點(diǎn)之間添加中間目標(biāo)點(diǎn),將整體復(fù)雜環(huán)境切割為短程簡(jiǎn)單路徑;
10、采用深度強(qiáng)化學(xué)習(xí)dqn算法,根據(jù)作業(yè)環(huán)境和作業(yè)方式構(gòu)建算法網(wǎng)絡(luò)架構(gòu)。
11、在一種可能的實(shí)現(xiàn)方式中,所述結(jié)合農(nóng)業(yè)機(jī)器人前向弓字形作業(yè)方式,在起點(diǎn)和終點(diǎn)之間添加中間目標(biāo)點(diǎn),將整體復(fù)雜環(huán)境切割為短程簡(jiǎn)單路徑,包括:
12、分別取行走行和作物行中線坐標(biāo)為中間目標(biāo)點(diǎn)橫坐標(biāo);
13、并取作物行前端終點(diǎn)縱坐標(biāo)上移λdcol設(shè)置中間目標(biāo)點(diǎn)縱坐標(biāo),奇數(shù)作物行上移,偶數(shù)作物行下移,將復(fù)雜的整體路徑分割為多條簡(jiǎn)單路徑,其中,λ為中間目標(biāo)點(diǎn)縱坐標(biāo)平移因子,dcol為作物行與作業(yè)邊界縱向距離。
14、在一種可能的實(shí)現(xiàn)方式中,為防止機(jī)器人錯(cuò)過中間目標(biāo)點(diǎn),只要機(jī)器人進(jìn)入目標(biāo)點(diǎn)區(qū)域后則判定為找到目標(biāo)點(diǎn),目標(biāo)點(diǎn)區(qū)域以目標(biāo)點(diǎn)為圓心,以rarea為半徑,區(qū)域半徑計(jì)算公式如下:
15、rarea=0.25dtr
16、其中,rarea為區(qū)域半徑,dtr為行走行行間距;
17、中間目標(biāo)點(diǎn)縱坐標(biāo)計(jì)算公式如下:
18、ytp=y(tǒng)ep±λdcol
19、其中,ytp為中間目標(biāo)點(diǎn)縱坐標(biāo),yep為作物行前端終點(diǎn)縱坐標(biāo)。
20、在一種可能的實(shí)現(xiàn)方式中,所述基于農(nóng)業(yè)機(jī)器人前向弓字形作業(yè)方式設(shè)計(jì)所述dqn算法獎(jiǎng)勵(lì)函數(shù),包括:
21、根據(jù)作物行和作業(yè)行分布規(guī)律構(gòu)建中線區(qū)域獎(jiǎng)勵(lì)函數(shù),確保機(jī)器人在行間作業(yè)時(shí)盡可能在中線區(qū)域行駛;
22、根據(jù)中間目標(biāo)點(diǎn)構(gòu)建目標(biāo)點(diǎn)獎(jiǎng)勵(lì)函數(shù),以目標(biāo)點(diǎn)劃分導(dǎo)航區(qū)域,每一區(qū)域均由起點(diǎn)和終點(diǎn)構(gòu)成并用區(qū)域起點(diǎn)命名該目標(biāo)點(diǎn)區(qū)域,其中第1目標(biāo)點(diǎn)區(qū)域的起點(diǎn)為環(huán)境起點(diǎn),第n目標(biāo)點(diǎn)區(qū)域終點(diǎn)為環(huán)境終點(diǎn)。
23、在一種可能的實(shí)現(xiàn)方式中,所述根據(jù)作物行和作業(yè)行分布規(guī)律構(gòu)建中線區(qū)域獎(jiǎng)勵(lì)函數(shù),確保機(jī)器人在行間作業(yè)時(shí)盡可能在中線區(qū)域行駛,包括:
24、以作業(yè)行行間中線間距為基準(zhǔn),當(dāng)激光雷達(dá)掃描距離中的最小值dmin在中線區(qū)域[0.4dtr,0.6dtr]中時(shí),獎(jiǎng)勵(lì)函數(shù)為正,同時(shí)機(jī)器人離行走行中線越近,獎(jiǎng)勵(lì)值越高;反之,當(dāng)機(jī)器人在中線區(qū)域外行駛時(shí),獎(jiǎng)勵(lì)值為負(fù),越靠近兩側(cè)障礙物行,懲罰值越大,中線區(qū)域獎(jiǎng)勵(lì)函數(shù)計(jì)算公式如下
25、
26、其中,rmid為中線區(qū)域獎(jiǎng)勵(lì)函數(shù),a為中線獎(jiǎng)勵(lì)因子,dtr為作業(yè)行寬度,dmin為掃描最小距離。
27、在一種可能的實(shí)現(xiàn)方式中,規(guī)定區(qū)域起點(diǎn)和終點(diǎn)的歐幾里得距離為區(qū)域距離,記作dreg,機(jī)器人當(dāng)前位置到區(qū)域終點(diǎn)的歐幾里得距離為當(dāng)前距離,記作dcur,利用區(qū)域距離dreg與當(dāng)前距離dcur的差的平方計(jì)算目標(biāo)點(diǎn)獎(jiǎng)勵(lì)函數(shù)值,同時(shí)以b為區(qū)域獎(jiǎng)勵(lì)因子,如果dreg-dcur>0,說明當(dāng)前距離小于區(qū)域距離,即機(jī)器人在朝區(qū)域終點(diǎn)方向移動(dòng),此時(shí)b>0表示目標(biāo)點(diǎn)獎(jiǎng)勵(lì)值為正值;如果dreg-dcur<0,說明當(dāng)前距離大于區(qū)域距離,即機(jī)器人在進(jìn)行反方向運(yùn)動(dòng),此時(shí)b<0表示目標(biāo)點(diǎn)獎(jiǎng)勵(lì)值為負(fù)值;目標(biāo)點(diǎn)獎(jiǎng)勵(lì)函數(shù)計(jì)算公式如下:
28、rdis=b*(dcur-dreg)2
29、其中,rdis為目標(biāo)點(diǎn)獎(jiǎng)勵(lì)函數(shù),b為目標(biāo)點(diǎn)獎(jiǎng)勵(lì)因子,dcur為當(dāng)前距離,dreg為區(qū)域距離。
30、在一種可能的實(shí)現(xiàn)方式中,所述基于農(nóng)業(yè)機(jī)器人前向弓字形作業(yè)方式并結(jié)合a*算法的鄰域探索模式,設(shè)置dqn算法動(dòng)作空間和探索策略,包括:
31、將傳統(tǒng)a*算法的8鄰域探索模式改為前向5鄰域探索,規(guī)定dqn算法的動(dòng)作空間為5維,以當(dāng)前位置為參考中心,根據(jù)機(jī)器人當(dāng)前位置的車頭朝向,規(guī)定動(dòng)作2為車頭正前方,動(dòng)作1和3分別為左右上45°轉(zhuǎn)彎方向,動(dòng)作0和4分別為左右90°轉(zhuǎn)彎方向,通過線速度和角速度控制機(jī)器人前行和轉(zhuǎn)向,通過動(dòng)作序號(hào)計(jì)算角速度公式如下:
32、
33、其中,w為機(jī)器人角速度,as_size為動(dòng)作空間長(zhǎng)度,ai為動(dòng)作序號(hào),max_w為最大角速度;
34、基于貪婪策略思想改進(jìn)動(dòng)作選擇策略,設(shè)置動(dòng)態(tài)調(diào)整貪婪策略探索因子ε,以適應(yīng)在訓(xùn)練不同階段對(duì)于探索動(dòng)作的調(diào)整。
35、在一種可能的實(shí)現(xiàn)方式中,所述基于貪婪策略思想改進(jìn)動(dòng)作選擇策略,設(shè)置動(dòng)態(tài)調(diào)整貪婪策略探索因子ε,以適應(yīng)在訓(xùn)練不同階段對(duì)于探索動(dòng)作的調(diào)整,包括:
36、在訓(xùn)練初期,ε取值為1,此階段要快速探索未知環(huán)境積累經(jīng)驗(yàn),選擇q值最大動(dòng)作,減小無效探索和獎(jiǎng)勵(lì)振蕩,縮短收斂過程;
37、隨著訓(xùn)練次數(shù)的增加,智能體對(duì)環(huán)境越來越了解,累計(jì)的最優(yōu)探索經(jīng)驗(yàn)越來越多,此時(shí)不斷減小探索因子ε,選擇動(dòng)作的方式由最大q值動(dòng)作逐漸變?yōu)槔靡阎獎(jiǎng)幼髦心塬@得最大獎(jiǎng)勵(lì)的動(dòng)作,使智能體快速了解未知環(huán)境的同時(shí)更容易找到最優(yōu)路徑,簡(jiǎn)化目標(biāo)點(diǎn)搜索過程,縮短導(dǎo)航時(shí)間,動(dòng)態(tài)調(diào)整探索因子ε公式如下:
38、
39、其中,ε為探索因子,ε0為每回合探索因子,εmin為探索因子最小值,εmax為探索因子最大值,up_iter為網(wǎng)絡(luò)更新頻率,ε_(tái)decay為衰減步數(shù)。
40、在一種可能的實(shí)現(xiàn)方式中,所述采用優(yōu)先經(jīng)驗(yàn)回放機(jī)制存取轉(zhuǎn)移樣本數(shù)據(jù)設(shè)計(jì)評(píng)估網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò),進(jìn)行農(nóng)業(yè)機(jī)器人的路徑規(guī)劃和決策,包括:
41、(1)通過dqn結(jié)構(gòu)生成評(píng)估網(wǎng)絡(luò)(eval?net)和目標(biāo)網(wǎng)絡(luò)(target?net),評(píng)估網(wǎng)絡(luò)和目標(biāo)網(wǎng)絡(luò)參數(shù)分別為ω和ω-;
42、(2)基于當(dāng)前狀態(tài)s,利用貪婪策略選擇動(dòng)作a,進(jìn)而與環(huán)境交互獲得獎(jiǎng)勵(lì)r、下一狀態(tài)s_、該回合是否結(jié)束標(biāo)志位done,并組成轉(zhuǎn)移樣本(st,at,rt,st+1);
43、(3)給每條轉(zhuǎn)移樣本(st,at,rt,st+1)打上優(yōu)先級(jí)標(biāo)記δt,根據(jù)每一步當(dāng)前q值q(st,at;ω)和目標(biāo)q值yt之間的差值td?error計(jì)算樣本采樣優(yōu)先級(jí)pt,優(yōu)先級(jí)計(jì)算公式如下:
44、
45、其中,δt為樣本優(yōu)先級(jí)標(biāo)記,pt為樣本優(yōu)先級(jí),τ為抽樣保證因子,以確保樣本優(yōu)先級(jí)不會(huì)為0;
46、根據(jù)采樣優(yōu)先級(jí)pt計(jì)算樣本transition的抽樣概率p(t),同時(shí)使用α作為權(quán)衡均勻抽樣和貪婪抽樣的權(quán)重因子,如果一條transition剛剛被收集到,表示該條數(shù)據(jù)還沒有使用過,則將δt設(shè)置為最大值,給予最高權(quán)重,抽樣概率p(t)計(jì)算公式如下:
47、
48、其中,p(t)為樣本抽樣概率,α作為權(quán)衡均勻抽樣和貪婪抽樣的權(quán)重因子;
49、(4)為防止過擬合現(xiàn)象的發(fā)生,加快收斂速度,引入偏差機(jī)制,在訓(xùn)練階段計(jì)算損失函數(shù)值時(shí),根據(jù)樣本的td?error添加偏差權(quán)重θt以改進(jìn)損失函數(shù),偏差權(quán)重θt表征智能體的學(xué)習(xí)效率,θt越大說明該時(shí)間步預(yù)測(cè)值和td?target值的差距越大,智能體的更新量就越大,說明此處的學(xué)習(xí)效率更高,同時(shí)使用重要性采樣因子β表示優(yōu)先經(jīng)驗(yàn)回放權(quán)重,偏差權(quán)重計(jì)算公式如下:
50、θt=(n*p(t))-β(β∈(0,1),t∈[0,n])
51、其中,t為抽樣樣本,n為經(jīng)驗(yàn)池中的樣本數(shù),β為重要性采樣因子,β的分布范圍為(0,1),改進(jìn)后的損失函數(shù)計(jì)算公式如下:
52、
53、其中,m為抽樣樣本數(shù)量,θt為偏差權(quán)重;
54、(5)統(tǒng)一轉(zhuǎn)移樣本量綱,以減小樣本差異性,需對(duì)偏差權(quán)重進(jìn)行歸一化處理,偏差權(quán)重歸一化計(jì)算公式如下:
55、
56、(6)重復(fù)執(zhí)行(2)、(3)、(4)和(5),對(duì)每條收集到的樣本進(jìn)行優(yōu)先級(jí)評(píng)估,同時(shí)在每一回合訓(xùn)練結(jié)束后對(duì)該回合訓(xùn)練樣本重新計(jì)算樣本優(yōu)先級(jí),直到訓(xùn)練結(jié)束。
57、在本技術(shù)實(shí)施例中,在已掃描環(huán)境中在起點(diǎn)和終點(diǎn)間規(guī)劃出一條前向弓字形避障路徑,供農(nóng)業(yè)機(jī)器人進(jìn)行自主導(dǎo)航跟蹤控制??梢栽谇袚Q作業(yè)環(huán)境后自行調(diào)整換行作業(yè)位置,解決自動(dòng)導(dǎo)航過程中對(duì)環(huán)境自適應(yīng)調(diào)整能力不足的問題。