本發(fā)明涉及碼垛機(jī)器人關(guān)節(jié)角空間軌跡規(guī)劃領(lǐng)域,具體是一種考慮到參考信息的關(guān)節(jié)角空間軌跡規(guī)劃方法。
背景技術(shù):
在傳統(tǒng)的碼垛機(jī)器人軌跡規(guī)劃算法中,主要存在著以下的不足:根據(jù)碼垛機(jī)器人作業(yè)軌跡的特點(diǎn),其同一層前后步之間的軌跡呈現(xiàn)著一定的相關(guān)性。因此前一步的軌跡規(guī)劃結(jié)果,可以被下一步的軌跡規(guī)劃所采用。而傳統(tǒng)的軌跡規(guī)劃算法中,并沒(méi)有對(duì)此進(jìn)行考慮,導(dǎo)致軌跡規(guī)劃計(jì)算的過(guò)程中需要大量的重復(fù)計(jì)算。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對(duì)現(xiàn)有技術(shù)存在的不足,提出了一種基于參考信息的碼垛機(jī)器人軌跡規(guī)劃方法。本方法針對(duì)于當(dāng)前軌跡規(guī)劃方法中,對(duì)于碼垛機(jī)器人軌跡的作業(yè)特點(diǎn)在軌跡規(guī)劃算法中考慮不足的問(wèn)題做出了改進(jìn)。
本發(fā)明的技術(shù)方案是一種基于參考信息的碼垛機(jī)器人軌跡規(guī)劃方法,該方法包括:
步驟1:根據(jù)用戶(hù)意愿,確定最優(yōu)軌跡的優(yōu)化目標(biāo)和目標(biāo)之間的權(quán)重值;
步驟2:根據(jù)碼垛機(jī)器人作業(yè)軌跡中的必經(jīng)點(diǎn),獲取碼垛時(shí)搬運(yùn)第一包貨物的最優(yōu)軌跡曲線;
步驟2.1:根據(jù)碼垛機(jī)器人作業(yè)軌跡中必須經(jīng)過(guò)的定點(diǎn),采用高次樣條曲線進(jìn)行插值,獲取碼垛時(shí)搬運(yùn)第一包貨物的多個(gè)軌跡曲線;
步驟2.2:根據(jù)步驟1確定的優(yōu)化目標(biāo),以步驟2.1獲得的多個(gè)軌跡曲線為初始總?cè)?,采用遺傳進(jìn)化算法將初始總?cè)哼M(jìn)化M代,M的大小根據(jù)實(shí)際情況決定;
步驟2.3:根據(jù)步驟1確定的各優(yōu)化目標(biāo)在軌跡規(guī)劃過(guò)程中所占的權(quán)重,采用決策算法從步驟2.2獲得的軌跡曲線中選出碼垛時(shí)搬運(yùn)第一包貨物時(shí)最優(yōu)的軌跡曲線;
步驟3:若碼垛機(jī)器人搬運(yùn)的不是第一包貨物,則根據(jù)碼垛機(jī)器人搬運(yùn)上一包貨物的軌跡來(lái)確定該次搬運(yùn)貨物的軌跡;
步驟3.1:判斷碼垛機(jī)器人該次搬運(yùn)的貨物非第一包貨物,根據(jù)該次搬運(yùn)中的必經(jīng)定點(diǎn)采用高次樣條曲線進(jìn)行插值,獲取該次搬運(yùn)貨物的多個(gè)軌跡曲線;
步驟3.2:根據(jù)步驟1確定的優(yōu)化目標(biāo),以步驟3.1獲得的多個(gè)軌跡曲線為初始總?cè)?,采用遺傳進(jìn)化算法對(duì)初始總?cè)好窟M(jìn)化N代獲得的各軌跡曲線與搬運(yùn)前一包獲得的最優(yōu)軌跡曲線進(jìn)行 相似度計(jì)算,其中N的大小根據(jù)實(shí)際情況決定,且N<M;若獲得軌跡中超過(guò)比例P的軌跡與搬運(yùn)上一包最優(yōu)軌跡相似,則停止進(jìn)化,否則直至進(jìn)化M代,所述P的大小根據(jù)實(shí)際情況決定;
步驟3.3:根據(jù)步驟1確定的各優(yōu)化目標(biāo)在軌跡規(guī)劃過(guò)程中所占的權(quán)重,采用決策算法從當(dāng)前獲得軌跡曲線中選出搬運(yùn)該包貨物時(shí)最優(yōu)的軌跡曲線。
進(jìn)一步的,所述步驟1中的優(yōu)化目標(biāo)包括:作業(yè)時(shí)間最短、平滑性指數(shù)最低、耗能最低;
進(jìn)一步的,所述步驟2.2的具體方法為:
步驟2.2.1:計(jì)算步驟2.1獲得初始種群中各個(gè)體的對(duì)應(yīng)的各優(yōu)化目標(biāo)的數(shù)值;
步驟2.2.2:根據(jù)獲得各優(yōu)化目標(biāo)數(shù)值進(jìn)行歸一化處理,選取優(yōu)化目標(biāo)最優(yōu)秀的A個(gè)個(gè)體,A的大小根據(jù)實(shí)際情況決定;
步驟2.2.3:采用選取的A個(gè)個(gè)體根據(jù)遺傳算法進(jìn)行進(jìn)化,獲得新的種群;
步驟2.2.4:采用步驟2.2.2和步驟2.2.3的方法對(duì)該種群進(jìn)化M代。
進(jìn)一步的,所述步驟2.3的具體方法為:
步驟2.3.1:計(jì)算進(jìn)化M代后種群中各個(gè)體的優(yōu)化目標(biāo)數(shù)值;
步驟2.3.2:根據(jù)步驟1確定的各優(yōu)化目標(biāo)權(quán)重對(duì)各個(gè)體的優(yōu)化目標(biāo)數(shù)值進(jìn)行加權(quán);
步驟2.3.3:計(jì)算加權(quán)后各優(yōu)化目標(biāo)數(shù)值與理想優(yōu)化目標(biāo)數(shù)值的歐式距離;
步驟2.3.4:選出距離理想優(yōu)化目標(biāo)數(shù)值歐式距離最近的個(gè)體為最優(yōu)個(gè)體。
進(jìn)一步的,所述步驟3.2的具體方法為:
步驟3.2.1:根據(jù)步驟1獲得權(quán)重信息計(jì)算每進(jìn)化N代后種群中各個(gè)體的優(yōu)化目標(biāo)數(shù)值;
步驟3.2.2:計(jì)算搬運(yùn)上一包貨物獲得最優(yōu)軌跡曲線的優(yōu)化目標(biāo)數(shù)值與步驟3.2.1獲得的優(yōu)化目標(biāo)數(shù)值的歐式距離,該歐式距離表示相似度;
步驟3.2.3:相似度大于閾值S的個(gè)體為相似個(gè)體,閾值S根據(jù)實(shí)際情況確定,統(tǒng)計(jì)相似個(gè)體所占總個(gè)體比例;
步驟3.2.4:相似個(gè)體比例大于等于P則停止進(jìn)化,再選出此時(shí)種群中最優(yōu)的個(gè)體。
本發(fā)明為一種基于參考信息的碼垛機(jī)器人軌跡規(guī)劃方法,該方法首先確定最優(yōu)化目標(biāo)和優(yōu)化目標(biāo)之間的權(quán)重比例;之后根據(jù)軌跡點(diǎn)插值信息,采用高次B樣條曲線進(jìn)行插值之后建立最優(yōu)解初始種群并采用多目標(biāo)求解算法和決策算法,根據(jù)之前的權(quán)重比例選取最優(yōu)結(jié)果;最后根據(jù)前一步的規(guī)劃結(jié)果,將其作為參考信息輸入,采用基于參考信息的多目標(biāo)求解算法進(jìn)行求解得出當(dāng)前步的最優(yōu)結(jié)果。本方法對(duì)于碼垛機(jī)器人軌跡規(guī)劃中同垛同層前后步的規(guī)劃結(jié)果進(jìn)行了有效的利用,加速了軌跡規(guī)劃算法的進(jìn)程。
附圖說(shuō)明
圖1為本發(fā)明方法的具體實(shí)施方式流程圖;
圖2為本發(fā)明縮略框圖。
具體實(shí)施方式
下面對(duì)本發(fā)明的實(shí)施例程作詳細(xì)說(shuō)明,本實(shí)施例程在以本發(fā)明技術(shù)方案為前提下進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過(guò)程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例程。
實(shí)施例程主要可以分為以下的幾個(gè)步驟:
步驟1:確定最優(yōu)軌跡的優(yōu)化目標(biāo)和目標(biāo)之間的權(quán)重值;
一般而言,機(jī)器人在執(zhí)行規(guī)劃的軌跡的過(guò)程中,都期望機(jī)器人執(zhí)行軌跡的時(shí)間最短,軌跡最為平滑保證對(duì)機(jī)器人的機(jī)械結(jié)構(gòu)本體的沖擊最小,執(zhí)行軌跡的過(guò)程中能耗最小,關(guān)機(jī)驅(qū)動(dòng)的力矩變換最小的目標(biāo)。本實(shí)施例程定義機(jī)器人的最優(yōu)化目標(biāo)如下:
其意義分別為:
S1:為碼垛機(jī)器人完成一定的作業(yè)軌跡所用的時(shí)間最小值
S2:為碼垛機(jī)器人關(guān)節(jié)的平均加速度最小值,即用來(lái)衡量機(jī)器人的能耗指標(biāo)
S3:為碼垛機(jī)器人關(guān)節(jié)脈動(dòng)程度最小值,即用來(lái)衡量機(jī)器人的軌跡的平滑程度
在求解上述目標(biāo)的過(guò)程中,必須滿(mǎn)足一定的約束條件:
max|vi(t)|≤vmaxi i=1,2,3...,n (2)
max|ji(t)|≤jmaxi i=1,2,3...,n (3)
max|ai(t)|≤amaxi i=1,2,3...,n (4)
max|τi(t)|≤τmaxi i=1,2,3...,n (5)
max|qi(t)|≤qmaxi i=1,2,3...,n (6)
其意義分別為:
式(2):第i個(gè)關(guān)節(jié)的角速度最大值小于規(guī)定最大值
式(3):第i個(gè)關(guān)節(jié)的沖擊值小于規(guī)定最大值
式(4):第i個(gè)關(guān)節(jié)的角加速度最大值小于規(guī)定最大值
式(5):第i個(gè)關(guān)節(jié)的力矩最大值小于規(guī)定最大值
式(6):第i個(gè)關(guān)節(jié)的關(guān)節(jié)位移小于規(guī)定最大值
同時(shí)三個(gè)最優(yōu)目標(biāo)之間的權(quán)重為:
(1)最小化時(shí)間權(quán)重值:0.65
(2)最優(yōu)能量權(quán)重值:0.165
(3)最平滑軌跡權(quán)重值:0.185
步驟2:基于非支配排序遺傳算法的軌跡規(guī)劃:
對(duì)于工作軌跡中的第一包作業(yè)軌跡,將采用傳統(tǒng)的基于非支配排序遺傳算法的軌跡規(guī)劃算法進(jìn)行求解,為了完成求解任務(wù),需要進(jìn)行以下的幾個(gè)步驟:
步驟2.1:建立初始化進(jìn)化種群:
為了能夠采用非支配排序遺傳算法進(jìn)行求解,需要先建立初始進(jìn)化種群。建立初始進(jìn)化種群主要需要進(jìn)行以下幾個(gè)步驟:
1)采用7次B樣條曲線對(duì)碼垛機(jī)器人的關(guān)節(jié)角空間軌跡進(jìn)行插值
2)根據(jù)插值的結(jié)果,在解空間中,隨機(jī)生成一定個(gè)數(shù)的個(gè)體,建立初始化種群。
步驟2.2采用非支配排序遺傳算法進(jìn)化求解:采用非支配排序遺傳算法,進(jìn)化M代。
步驟2.3根據(jù)步驟(2)的結(jié)果,采用優(yōu)劣距離法,根據(jù)各個(gè)目標(biāo)之間的權(quán)重,求取結(jié)果:。
1)建立初始化判斷矩陣;
2)決策矩陣歸一化;
3)建立加權(quán)判斷矩陣;
4)得出進(jìn)化結(jié)果;
5)計(jì)算各目標(biāo)值與理想值之間的歐氏距離;
6)計(jì)算各個(gè)目標(biāo)的相對(duì)貼近度并選擇最合適解
步驟3:基于R支配的最優(yōu)目標(biāo)軌跡規(guī)劃求解;
對(duì)于同一層中除了第一步以外的作業(yè)軌跡,本實(shí)施用例采用基于R支配的最優(yōu)目標(biāo)軌跡規(guī) 劃算法進(jìn)行求解。對(duì)于基于R支配的非支配排序而言,其本質(zhì)是重新定義了支配關(guān)系,將Pareto支配關(guān)系與參考點(diǎn)方法結(jié)合。增大進(jìn)化的壓力,促使種群往參考點(diǎn)的方向進(jìn)化。
設(shè)有種群P,參考點(diǎn)g以及權(quán)重向量w,則帶權(quán)歐式距離可以定義如下:
其中:fimax和fimin為第i個(gè)目標(biāo)函數(shù)的最大值和最小值。對(duì)于當(dāng)前已知第i個(gè)函數(shù)的最大最小值時(shí),可以直接使用。但是當(dāng)在計(jì)算過(guò)程中無(wú)法獲取的情況下,可以采用將當(dāng)前種群中所有個(gè)體的第i個(gè)目標(biāo)函數(shù)的最大值和最小值設(shè)定為fimax和fimin。
因此給出r支配的定義:
①當(dāng)解X1 Pareto支配于解X2
②解X1和解X2不滿(mǎn)足條件1,且D(X1,X2,g)<-δ,其中δ為非r支配門(mén)限閾值
式(34)中
因此若采用基于R支配的最優(yōu)目標(biāo)軌跡規(guī)劃算法進(jìn)行求解,則需要進(jìn)行以下的幾個(gè)步驟:
步驟3.1:建立初始化進(jìn)化種群。:
為了能夠采用非支配排序遺傳算法進(jìn)行求解,需要先建立初始進(jìn)化種群。建立初始進(jìn)化種群主要需要進(jìn)行以下幾個(gè)步驟:
1)采用7次B樣條曲線對(duì)碼垛機(jī)器人的關(guān)節(jié)角空間軌跡進(jìn)行插值
2)根據(jù)插值的結(jié)果,在解空間中,隨機(jī)生成一定個(gè)數(shù)的個(gè)體,建立初始化種群。
步驟3.2:采用基于R支配的最優(yōu)目標(biāo)軌跡規(guī)劃算法進(jìn)行求解。:
1)將步驟2中的結(jié)果,作為參考信息點(diǎn)輸入到算法中
2)進(jìn)化一定的代數(shù),計(jì)算種群中每個(gè)個(gè)體與參考信息點(diǎn)的距離,如果已經(jīng)有一定比例的個(gè)體聚集在參考點(diǎn)附近則停止進(jìn)化
步驟3.3:根據(jù)步驟(2)的結(jié)果,采用優(yōu)劣距離法,根據(jù)各個(gè)目標(biāo)之間的權(quán)重,求取結(jié)果:。
1)建立初始化判斷矩陣;
7)決策矩陣歸一化;
8)建立加權(quán)判斷矩陣;
9)得出進(jìn)化結(jié)果;
10)計(jì)算各目標(biāo)值與理想值之間的歐氏距離;
因此可以得到本實(shí)施例程流程圖,如圖1所示:
①確定最優(yōu)化目標(biāo)和目標(biāo)之間的權(quán)重。
②對(duì)于碼垛機(jī)器人某一垛,同一層的作業(yè)軌跡規(guī)劃,其第一步軌跡采用基于帶精英策略的非支配排序算法進(jìn)行求解,之后通過(guò)優(yōu)劣舉例法方法,根據(jù)中①的權(quán)重求得最滿(mǎn)意解。
③對(duì)于除了第一步以外的軌跡,采用基于R支配的軌跡規(guī)劃算法,將前一步的規(guī)劃結(jié)果作為參考點(diǎn)輸入算法,進(jìn)行求解。
④如果求解的過(guò)程中,有大于一定的比例的種群個(gè)體接近參考點(diǎn),或者在當(dāng)前種群中存在一個(gè)解能夠支配參考點(diǎn),則判斷求解成功,獲得當(dāng)前軌跡的最優(yōu)解。同時(shí)將最優(yōu)解中優(yōu)于參考點(diǎn)的分量替換到參考點(diǎn)中,得到新的參考點(diǎn)。
⑤如果步驟④中沒(méi)有滿(mǎn)足停止條件,則繼續(xù)進(jìn)行進(jìn)化。
⑤如果當(dāng)前是最后一步,則得到本層所有的規(guī)劃軌跡。否則返回第③步。