本發(fā)明涉及機(jī)器人路徑規(guī)劃的,尤其涉及一種基于深度學(xué)習(xí)優(yōu)化機(jī)器人路徑規(guī)劃方法及系統(tǒng)。
背景技術(shù):
1、機(jī)器人運(yùn)動(dòng)規(guī)劃的目標(biāo)是在給定的環(huán)境中,從初始關(guān)節(jié)配置開(kāi)始,找到一條無(wú)碰撞的路徑,安全、有效地到達(dá)目標(biāo)配置。這一過(guò)程中,機(jī)器人需要綜合考慮各種因素,包括路徑長(zhǎng)度、運(yùn)動(dòng)時(shí)間以及可能的障礙物等。
2、運(yùn)動(dòng)規(guī)劃的核心在于解決兩個(gè)主要問(wèn)題:一是如何在復(fù)雜的環(huán)境中找到一條可行的路徑;二是如何確保機(jī)器人在運(yùn)動(dòng)過(guò)程中不與障礙物或自身發(fā)生碰撞。為了解決這些問(wèn)題,機(jī)器人運(yùn)動(dòng)規(guī)劃通常依賴于精確的環(huán)境建模、高效的路徑搜索算法以及實(shí)時(shí)的碰撞檢測(cè)機(jī)制。目前主流的機(jī)器人運(yùn)動(dòng)規(guī)劃主要是基于采樣的運(yùn)動(dòng)規(guī)劃和基于優(yōu)化的運(yùn)動(dòng)規(guī)劃方法。
3、基于采樣的運(yùn)動(dòng)規(guī)劃方法,主要是快速擴(kuò)展隨機(jī)樹(shù)(rrt)和概率路線圖(prm)方法及其變體方法,通過(guò)在機(jī)器人的工作空間中隨機(jī)采樣來(lái)構(gòu)建機(jī)器人的運(yùn)動(dòng)軌跡。這種方法無(wú)需對(duì)環(huán)境進(jìn)行精確的建模,適用于復(fù)雜和不確定的環(huán)境。
4、但本技術(shù)發(fā)明人在實(shí)現(xiàn)本技術(shù)實(shí)施例中發(fā)明技術(shù)方案的過(guò)程中,發(fā)現(xiàn)上述技術(shù)至少存在如下技術(shù)問(wèn)題:
5、基于優(yōu)化的運(yùn)動(dòng)規(guī)劃方法更注重于找到特定性能指標(biāo)的最優(yōu)解,這類(lèi)方法通常將運(yùn)動(dòng)規(guī)劃問(wèn)題轉(zhuǎn)化為一個(gè)優(yōu)化問(wèn)題,然后利用優(yōu)化算法,如梯度下降、遺傳算法等來(lái)求解。然而,由于機(jī)器人運(yùn)動(dòng)規(guī)劃的目標(biāo)函數(shù)往往包含多個(gè)不同的局部最小值,容易導(dǎo)致優(yōu)化算法過(guò)早收斂,從而無(wú)法找到全局最優(yōu)解。為了解決這個(gè)問(wèn)題,目前的方案多采用multi-start方法,即從多個(gè)不同的初始點(diǎn)開(kāi)始進(jìn)行優(yōu)化搜索,增加找到符合性能指標(biāo)的全局最優(yōu)解的可能性。基于采樣的方法計(jì)算效率會(huì)受到問(wèn)題規(guī)模的影響,在面對(duì)復(fù)雜多機(jī)器人運(yùn)動(dòng)規(guī)劃問(wèn)題時(shí),容易出現(xiàn)計(jì)算維度爆炸的情況。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例通過(guò)提供一種基于深度學(xué)習(xí)優(yōu)化機(jī)器人路徑規(guī)劃方法及系統(tǒng),解決了現(xiàn)有技術(shù)中傳統(tǒng)的基于采樣的方法的計(jì)算效率較低,面對(duì)復(fù)雜多機(jī)器人運(yùn)動(dòng)規(guī)劃問(wèn)題時(shí),容易計(jì)算維度爆炸導(dǎo)致,實(shí)現(xiàn)了提出了一種適用于機(jī)器人路徑規(guī)劃的神經(jīng)網(wǎng)絡(luò),用于編碼在不同任務(wù)和環(huán)境中的最優(yōu)運(yùn)動(dòng)軌跡;將基礎(chǔ)點(diǎn)集引入基于優(yōu)化的運(yùn)動(dòng)規(guī)劃問(wèn)題中,使路徑規(guī)劃模型訓(xùn)練更高效,提出采用深度學(xué)習(xí)預(yù)測(cè)的路徑規(guī)劃作為基于優(yōu)化的路徑規(guī)劃方案的熱啟動(dòng)方式,極大提高了規(guī)劃效率。
2、本技術(shù)實(shí)施例提供了一種基于深度學(xué)習(xí)優(yōu)化機(jī)器人路徑規(guī)劃的方法,包括,
3、s1、將機(jī)器人的路徑規(guī)劃問(wèn)題建立模型,并轉(zhuǎn)換為可被優(yōu)化的數(shù)學(xué)問(wèn)題,所述數(shù)學(xué)問(wèn)題由優(yōu)化任務(wù)的目標(biāo)函數(shù)定義,所述目標(biāo)函數(shù)包括長(zhǎng)度成本和碰撞成本;
4、s2、通過(guò)bps編碼機(jī)器人運(yùn)動(dòng)規(guī)劃中的環(huán)境信息,所述bps通過(guò)一組預(yù)定義的基礎(chǔ)點(diǎn)來(lái)捕捉環(huán)境的特征,并通過(guò)計(jì)算這些點(diǎn)到環(huán)境中最近障礙物的距離來(lái)生成特征向量;
5、s3、基于生成的特征向量,通過(guò)深度學(xué)習(xí)完成模型訓(xùn)練,?通過(guò)使用神經(jīng)網(wǎng)絡(luò)進(jìn)行路徑規(guī)劃模型訓(xùn)練,得出最優(yōu)路徑;
6、s4、基于深度學(xué)習(xí)對(duì)路徑規(guī)劃的模型訓(xùn)練,得出最優(yōu)路徑,作為基于優(yōu)化的路徑規(guī)劃算法的初始熱啟動(dòng),從而對(duì)接任意基于優(yōu)化的路徑規(guī)劃算法。
7、進(jìn)一步的,在步驟s1中,所述優(yōu)化任務(wù)的目標(biāo)函數(shù),具體包括:
8、優(yōu)化任務(wù)的目標(biāo)函數(shù)的定義為:
9、;
10、q*為優(yōu)化任務(wù)的目標(biāo)函數(shù),這個(gè)公式定義了運(yùn)動(dòng)規(guī)劃的最終目標(biāo),即找到一條路徑?q,使得目標(biāo)函數(shù)?u(q)?達(dá)到最小值;目標(biāo)函數(shù)?u(q)?是所述長(zhǎng)度成本和所述碰撞成本的組合。
11、進(jìn)一步的,在步驟s2中,bps編碼的主要步驟,具體包括,
12、s21、基于機(jī)器人運(yùn)動(dòng)規(guī)劃中的環(huán)境信息,選擇一組預(yù)先定義的基礎(chǔ)點(diǎn)集
13、;
14、其中,是環(huán)境中的固定位置,對(duì)于每一個(gè)基礎(chǔ)點(diǎn),找到其到環(huán)境中最近的障礙物的距離;
15、s22、將每個(gè)基礎(chǔ)點(diǎn)到最近障礙物的距離組合成一個(gè)特征向量,所述環(huán)境信息被轉(zhuǎn)換為一個(gè)固定大小的特征向量,所述特征向量用公式表示為:
16、;
17、其中表示第個(gè)障礙物的位置。
18、進(jìn)一步的,在步驟s3中,所述路徑規(guī)劃模型訓(xùn)練,具體包括,
19、s31,基于優(yōu)化的運(yùn)動(dòng)規(guī)劃器創(chuàng)建一個(gè)包括多個(gè)運(yùn)動(dòng)任務(wù)及其對(duì)應(yīng)最優(yōu)路徑的初始數(shù)據(jù)集g;
20、s32,基于最優(yōu)路徑的初始數(shù)據(jù)集g,使用多個(gè)錐形全連接層構(gòu)建一個(gè)前饋神經(jīng)網(wǎng)絡(luò),輸入層接收由基礎(chǔ)點(diǎn)集編碼的環(huán)境特征,及機(jī)器人的起始位置和配置,輸出結(jié)果是預(yù)測(cè)的最優(yōu)路徑的節(jié)點(diǎn);
21、s33,使用初始化數(shù)據(jù)集g來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型;
22、s34,當(dāng)神經(jīng)網(wǎng)絡(luò)在測(cè)試集上的性能有所提升時(shí),進(jìn)入迭代過(guò)程;
23、s35,在每次迭代中,使用改進(jìn)后的數(shù)據(jù)集重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。
24、進(jìn)一步的,在步驟s4中,具體包括,
25、經(jīng)過(guò)熱啟動(dòng)后的路徑規(guī)劃的主要步驟如下:
26、通過(guò)提前訓(xùn)練好的路徑規(guī)劃深度學(xué)習(xí)模型,預(yù)測(cè)得到omp的初始路徑;
27、基于omp的初始路徑,運(yùn)行omp算法,嘗試通過(guò)迭代優(yōu)化來(lái)改進(jìn)初始路徑;
28、每次進(jìn)行路徑優(yōu)化后,檢查路徑與環(huán)境障礙物之間的碰撞,若遇到碰撞,則重新規(guī)劃路徑,這次重新規(guī)劃所額外添加的路徑和節(jié)點(diǎn)也將采用模型進(jìn)行預(yù)測(cè);
29、當(dāng)路徑成本達(dá)到指定要求,或者路徑成本在一定次數(shù)迭代過(guò)程后不再減少時(shí),算法停止,返回最優(yōu)路徑。
30、一種基于深度學(xué)習(xí)優(yōu)化機(jī)器人路徑規(guī)劃的系統(tǒng),包括,
31、任務(wù)定義和初始化模塊,用于將機(jī)器人的路徑規(guī)劃問(wèn)題建立模型,并轉(zhuǎn)換為可被優(yōu)化的數(shù)學(xué)問(wèn)題,所述數(shù)學(xué)問(wèn)題由優(yōu)化任務(wù)的目標(biāo)函數(shù)定義,所述目標(biāo)函數(shù)包括長(zhǎng)度成本和碰撞成本;
32、bps編碼模塊,用于通過(guò)bps編碼機(jī)器人運(yùn)動(dòng)規(guī)劃中的環(huán)境信息,所述bps通過(guò)一組預(yù)定義的基礎(chǔ)點(diǎn)來(lái)捕捉環(huán)境的特征,并通過(guò)計(jì)算這些點(diǎn)到環(huán)境中最近障礙物的距離來(lái)生成特征向量;
33、路徑規(guī)劃模型訓(xùn)練模塊,基于生成的特征向量,用于通過(guò)深度學(xué)習(xí)完成模型訓(xùn)練,通過(guò)使用神經(jīng)網(wǎng)絡(luò)進(jìn)行路徑規(guī)劃模型訓(xùn)練,得出最優(yōu)路徑;
34、初始熱啟動(dòng)模塊,基于深度學(xué)習(xí)對(duì)路徑規(guī)劃的模型訓(xùn)練,用于得出最優(yōu)路徑,作為基于優(yōu)化的路徑規(guī)劃算法的初始熱啟動(dòng),從而對(duì)接任意基于優(yōu)化的路徑規(guī)劃算法。
35、進(jìn)一步的,在任務(wù)定義和初始化模塊中,包括,
36、優(yōu)化任務(wù)的目標(biāo)函數(shù)的定義為:
37、;
38、q*為優(yōu)化任務(wù)的目標(biāo)函數(shù),這個(gè)公式定義了運(yùn)動(dòng)規(guī)劃的最終目標(biāo),即找到一條路徑q,使得目標(biāo)函數(shù)達(dá)到最小值;目標(biāo)函數(shù)是所述長(zhǎng)度成本和所述碰撞成本的組合。
39、進(jìn)一步的,在bps編碼模塊中,包括,
40、基礎(chǔ)點(diǎn)集預(yù)定單元:基于機(jī)器人運(yùn)動(dòng)規(guī)劃中的環(huán)境信息,選擇一組預(yù)先定義的基礎(chǔ)點(diǎn)集
41、;
42、其中,是環(huán)境中的固定位置,對(duì)于每一個(gè)基礎(chǔ)點(diǎn),找到其到環(huán)境中最近的障礙物的距離;
43、特征向量單元:將每個(gè)基礎(chǔ)點(diǎn)到最近障礙物的距離組合成一個(gè)特征向量,所述環(huán)境信息被轉(zhuǎn)換為一個(gè)固定大小的特征向量,所述特征向量用公式表示為:
44、;
45、其中表示第個(gè)障礙物的位置。
46、進(jìn)一步的,在路徑規(guī)劃模型訓(xùn)練模塊中,包括,
47、數(shù)據(jù)集創(chuàng)建單元,用于基于優(yōu)化的運(yùn)動(dòng)規(guī)劃器創(chuàng)建一個(gè)包括多個(gè)運(yùn)動(dòng)任務(wù)及其對(duì)應(yīng)最優(yōu)路徑的初始數(shù)據(jù)集g;
48、最優(yōu)路徑的節(jié)點(diǎn)預(yù)測(cè)單元,基于最優(yōu)路徑的初始數(shù)據(jù)集g,用于使用多個(gè)錐形全連接層構(gòu)建一個(gè)前饋神經(jīng)網(wǎng)絡(luò),輸入層接收由基礎(chǔ)點(diǎn)集編碼的環(huán)境特征,及機(jī)器人的起始位置和配置,輸出結(jié)果是預(yù)測(cè)的最優(yōu)路徑的節(jié)點(diǎn);
49、神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練單元,用于使用初始化數(shù)據(jù)集g來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型;
50、迭代單元,用于當(dāng)神經(jīng)網(wǎng)絡(luò)在測(cè)試集上的性能有所提升時(shí),進(jìn)入迭代過(guò)程;
51、重新訓(xùn)練單元,用于在每次迭代中,使用改進(jìn)后的數(shù)據(jù)集重新訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型。
52、進(jìn)一步的,在初始熱啟動(dòng)模塊中,包括,
53、經(jīng)過(guò)熱啟動(dòng)后的路徑規(guī)劃的主要步驟如下:
54、通過(guò)提前訓(xùn)練好的路徑規(guī)劃深度學(xué)習(xí)模型,預(yù)測(cè)得到omp的初始路徑;
55、基于omp的初始路徑,運(yùn)行omp算法,嘗試通過(guò)迭代優(yōu)化來(lái)改進(jìn)初始路徑;
56、每次進(jìn)行路徑優(yōu)化后,檢查路徑與環(huán)境障礙物之間的碰撞,若遇到碰撞,則重新規(guī)劃路徑,這次重新規(guī)劃所額外添加的路徑和節(jié)點(diǎn)也將采用模型進(jìn)行預(yù)測(cè);
57、當(dāng)路徑成本達(dá)到指定要求,或者路徑成本在一定次數(shù)迭代過(guò)程后不再減少時(shí),算法停止,返回最優(yōu)路徑。
58、本技術(shù)實(shí)施例中提供的一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點(diǎn):
59、1、提出了一種適用于機(jī)器人路徑規(guī)劃的神經(jīng)網(wǎng)絡(luò),用于編碼在不同任務(wù)和環(huán)境中的最優(yōu)運(yùn)動(dòng)軌跡;
60、2、將基礎(chǔ)點(diǎn)集引入基于優(yōu)化的運(yùn)動(dòng)規(guī)劃問(wèn)題中,使路徑規(guī)劃模型訓(xùn)練更高效;
61、3、提出采用深度學(xué)習(xí)預(yù)測(cè)的路徑規(guī)劃作為基于優(yōu)化的路徑規(guī)劃方案的熱啟動(dòng)方式,極大提高了規(guī)劃效率。