本發(fā)明涉及機(jī)器人路徑規(guī)劃,特別是涉及一種批量路徑離線自動(dòng)生成的移動(dòng)機(jī)器人路徑規(guī)劃方法及系統(tǒng)。
背景技術(shù):
1、在當(dāng)前的倉(cāng)儲(chǔ)物流行業(yè),隨著自動(dòng)化技術(shù)的不斷發(fā)展,主要采用的巡線模式運(yùn)行的移動(dòng)機(jī)器人已成為提高倉(cāng)儲(chǔ)效率和降低成本的重要工具。這種機(jī)器人通過(guò)在預(yù)先規(guī)劃的路線上移動(dòng),執(zhí)行貨物搬運(yùn)、貨架擺放等任務(wù),以實(shí)現(xiàn)高效的倉(cāng)儲(chǔ)管理和物流運(yùn)作。
2、然而,當(dāng)倉(cāng)庫(kù)或工廠的面積較大、貨物點(diǎn)較多、且存在多種車型混合作業(yè)時(shí),傳統(tǒng)的依靠人工繪制路徑的地圖編輯器在支撐項(xiàng)目實(shí)施部署方面,面臨著一定的挑戰(zhàn),通常需要事先繪制移動(dòng)機(jī)器人的運(yùn)行路線圖,以確保機(jī)器人能夠有效地規(guī)避擁堵,并且按照最優(yōu)路徑完成任務(wù)。然而,這種繪制工作需要大量的人力投入,操作比較繁瑣。
技術(shù)實(shí)現(xiàn)思路
1、基于此,有必要針對(duì)倉(cāng)庫(kù)或工廠的面積較大、貨物點(diǎn)較多、且存在多種車型混合作業(yè)時(shí),繪制工作需要大量的人力投入,操作比較繁瑣的問(wèn)題,提供一種批量路徑離線自動(dòng)生成的移動(dòng)機(jī)器人路徑規(guī)劃方法及系統(tǒng)。
2、本發(fā)明提出了一種批量路徑離線自動(dòng)生成的移動(dòng)機(jī)器人路徑規(guī)劃方法,其包括如下步驟:s1:獲取現(xiàn)場(chǎng)的cad圖和移動(dòng)機(jī)器人的尺寸信息,并從cad圖中獲取貨架尺寸、貨架節(jié)點(diǎn)、充電節(jié)點(diǎn)、停車節(jié)點(diǎn)、以及空余區(qū)域;s2:將空余區(qū)域劃分為多個(gè)矩形區(qū)域,且任意兩個(gè)矩形區(qū)域的邊相互平行或者垂直,并對(duì)每個(gè)矩形區(qū)域確定其內(nèi)部的主路方向,并選取滿足移動(dòng)機(jī)器人自旋條件的相應(yīng)矩形區(qū)域,記為可通行區(qū)域,具體步驟如下:s21:將貨架節(jié)點(diǎn)、充電節(jié)點(diǎn)和停車節(jié)點(diǎn)分別向每個(gè)矩形區(qū)域的橫向中心線和縱向中心線做投影,選取投影點(diǎn)在矩形區(qū)域內(nèi)的相應(yīng)投影點(diǎn),并記錄相應(yīng)投影點(diǎn)與相應(yīng)投影點(diǎn)所對(duì)應(yīng)的貨架節(jié)點(diǎn)、充電節(jié)點(diǎn)或停車節(jié)點(diǎn)之間的距離,并遍歷找出相應(yīng)的距離最小的矩形區(qū)域;s22:在找出的相應(yīng)的距離最小的矩形區(qū)域中,選取橫向中心線和縱向中心線中對(duì)應(yīng)的相應(yīng)投影點(diǎn)較多的一個(gè)所在的方向作為主路方向;s23:在主路方向上根據(jù)移動(dòng)機(jī)器人的尺寸信息,從相應(yīng)的距離最小的矩形區(qū)域中選取滿足移動(dòng)機(jī)器人自旋的距離最小的矩形區(qū)域,記為可通行區(qū)域;s3:根據(jù)可通行區(qū)域的尺寸確定每個(gè)可通行區(qū)域內(nèi)的主路類型和主路位置;s4:判斷相鄰兩個(gè)可通行區(qū)域之間是否相交,并對(duì)相交的兩個(gè)可通行區(qū)域之間的主路進(jìn)行連接;s5:確定移動(dòng)機(jī)器人在取放貨物時(shí)的貨位節(jié)點(diǎn)位置和對(duì)應(yīng)的最近可通行區(qū)域;s6:確定移動(dòng)機(jī)器人在由貨位節(jié)點(diǎn)進(jìn)入最近可通行區(qū)域內(nèi)主路之前的退出節(jié)點(diǎn)和進(jìn)入最近可通行區(qū)域內(nèi)主路時(shí)的進(jìn)入節(jié)點(diǎn)的位置;s7:確定每條主路上的起始點(diǎn)位置,根據(jù)起始點(diǎn)位置、主路類型和方向?qū)赏ㄐ袇^(qū)域上的主路進(jìn)行連接,生成主路路徑,并根據(jù)移動(dòng)機(jī)器人在取放貨物時(shí)的中心位置坐標(biāo)信息、退出節(jié)點(diǎn)和進(jìn)入節(jié)點(diǎn)的信息生成取放貨路徑。
3、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s23中,移動(dòng)機(jī)器人的自旋半徑r為:
4、
5、其中,l軸距為移動(dòng)機(jī)器人前后輪之間的軸距,φ為移動(dòng)機(jī)器人前輪轉(zhuǎn)彎時(shí)打角的最大值。
6、作為本發(fā)明的進(jìn)一步改進(jìn),可通行區(qū)域內(nèi)的主路類型分為:自旋、交叉雙通道、單通道和雙通道,
7、移動(dòng)機(jī)器人自旋所需要的最小主路寬度protate,min為:
8、和/或
9、移動(dòng)機(jī)器人走交叉雙通道所需要的最小主路寬度pcurve,min為:
10、和/或
11、移動(dòng)機(jī)器人走單通道所需要的最小主路寬度psinglepath,min為:
12、psinglepath,min=2(r+d+e);和/或
13、移動(dòng)機(jī)器人走雙通道所需要的最小主路寬度pdoublepath,min為:
14、pdoublepath,min=2(r+d+e)+2c+g
15、其中,a為移動(dòng)機(jī)器人帶載時(shí)的長(zhǎng)半長(zhǎng),d為移動(dòng)機(jī)器人帶載時(shí)的短半長(zhǎng),b為移動(dòng)機(jī)器人帶載時(shí)的長(zhǎng)半寬,c為移動(dòng)機(jī)器人帶載時(shí)的短半寬,r為移動(dòng)機(jī)器人的轉(zhuǎn)彎半徑,d為移動(dòng)機(jī)器人的短半長(zhǎng),e為移動(dòng)機(jī)器人與主路一側(cè)邊界的安全距離,f為移動(dòng)機(jī)器人與主路另一側(cè)邊界的安全距離,g為雙通道之間的安全距離。
16、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s3中,確定主路類型和位置的步驟如下:
17、s31:當(dāng)protate,min≤a1<pcurve,min時(shí),主路類型設(shè)置為自旋,且該主路與對(duì)應(yīng)貨位節(jié)點(diǎn)的距離為:
18、
19、s32:當(dāng)pcurve,min≤a1<psinglepath,min時(shí),主路類型設(shè)置為交叉雙通道,且該主路與對(duì)應(yīng)可通行區(qū)域邊緣的距離為:
20、l距2=r+d+e;
21、s33:當(dāng)psinglepath,min≤a1<pdoublepath,min時(shí),主路類型設(shè)置為單通道,且該主路與對(duì)應(yīng)貨位節(jié)點(diǎn)的距離為:
22、l距3=r(d+e;
23、s34:當(dāng)pdoublepath,min≤a1時(shí),主路類型設(shè)置為雙通道,且該主路與對(duì)應(yīng)貨位節(jié)點(diǎn)的距離為:
24、l距4=r+d+e;
25、其中,a1為可通行區(qū)域內(nèi)的主路寬度,protate,min為移動(dòng)機(jī)器人自旋所需要的最小寬度,pcurve,min為移動(dòng)機(jī)器人走弧線進(jìn)入可通行區(qū)域內(nèi)對(duì)應(yīng)的最小主路寬度,psinglepath,min為移動(dòng)機(jī)器人走單通道情況下對(duì)應(yīng)的最小主路寬度,pdoublepath,min為移動(dòng)機(jī)器人走雙通道情況下對(duì)應(yīng)的最小主路寬度。
26、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s22中,在找出的相應(yīng)的距離最小的矩形區(qū)域中,當(dāng)橫向中心線和縱向中心線中對(duì)應(yīng)的相應(yīng)投影點(diǎn)的數(shù)量相同時(shí),選取相應(yīng)的距離最小的矩形區(qū)域的長(zhǎng)邊作為主路方向。
27、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s4中,具體步驟為:s41:利用叉乘算法判斷其中一個(gè)可通行區(qū)域上的任意頂點(diǎn)是否在另一個(gè)可通行區(qū)域的邊上,是則進(jìn)入s43,否則進(jìn)入s42;s42:利用跨立測(cè)試判斷其中一個(gè)可通行區(qū)域上的頂點(diǎn)在另一個(gè)可通行區(qū)域的內(nèi)部或者外部,若其中一個(gè)可通行區(qū)域上的任意頂點(diǎn)在另一個(gè)可通行區(qū)域的內(nèi)部,則進(jìn)入s43;s43:如果兩個(gè)相交的可通行區(qū)域內(nèi)的主路相互垂直,則采用c型樣條曲線進(jìn)行連接,如果兩個(gè)相交的可通行區(qū)域內(nèi)的主路相互平行,則采用s型樣條曲線進(jìn)行連接。
28、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s5中,移動(dòng)機(jī)器人包括:叉齒部,則貨位節(jié)點(diǎn)的坐標(biāo)l(x,y)為:
29、l(x,y)=l1(x,y)±l2
30、其中,l1(x,y)為貨架靠近移動(dòng)機(jī)器人的一側(cè)邊的坐標(biāo)信息,l2為叉齒的根部與移動(dòng)機(jī)器人中心點(diǎn)之間的距離。
31、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s6中,退出節(jié)點(diǎn)與對(duì)應(yīng)最近的可通行區(qū)域邊界之間的距離l退為:
32、l退=d+e
33、其中,d為移動(dòng)機(jī)器人的短半長(zhǎng),e為移動(dòng)機(jī)器人與主路一側(cè)邊界的安全距離。
34、作為本發(fā)明的進(jìn)一步改進(jìn),在步驟s6中,當(dāng)最近可通行區(qū)域內(nèi)的主路滿足交叉雙通道、單通道和雙通道中的任意一個(gè)時(shí),退出節(jié)點(diǎn)與進(jìn)入節(jié)點(diǎn)之間采用c型樣條連接,和/或當(dāng)最近可通行區(qū)域內(nèi)的主路滿足自旋條件時(shí),退出節(jié)點(diǎn)與進(jìn)入節(jié)點(diǎn)之間采用直線連接。
35、本發(fā)明還提出了一種批量路徑離線自動(dòng)生成的移動(dòng)機(jī)器人路徑規(guī)劃系統(tǒng),應(yīng)用于上述的批量路徑離線自動(dòng)生成的移動(dòng)機(jī)器人路徑規(guī)劃方法,其包括:輸入模塊,用于輸入現(xiàn)場(chǎng)的cad圖和移動(dòng)機(jī)器人的尺寸信息;路徑判斷模塊,用于根據(jù)現(xiàn)場(chǎng)的cad圖和移動(dòng)機(jī)器人的尺寸信息判斷可通行區(qū)域,并確定可通行區(qū)域內(nèi)的主路的方向、類型和位置;節(jié)點(diǎn)生成模塊,用于生成貨架節(jié)點(diǎn)、充電節(jié)點(diǎn)、停車節(jié)點(diǎn)、貨位節(jié)點(diǎn)、退出節(jié)點(diǎn)和進(jìn)入節(jié)點(diǎn),同時(shí)對(duì)在同一條直線上的節(jié)點(diǎn),判定節(jié)點(diǎn)和節(jié)點(diǎn)之間的距離,并根據(jù)相鄰節(jié)點(diǎn)之間的距離選擇合并節(jié)點(diǎn)或者新增節(jié)點(diǎn);連接模塊,用于判斷兩個(gè)可通行區(qū)域之間的位置關(guān)系,并對(duì)于兩個(gè)相交的可通行區(qū)域內(nèi)的主路進(jìn)行連接;路徑生成模塊,用于根據(jù)上述節(jié)點(diǎn)生成主路路徑和取放貨路徑;輸出模塊,用于輸出主路路徑信息、取放貨路徑信息和貨位節(jié)點(diǎn)的位置信息。
36、與現(xiàn)有技術(shù)相比,本發(fā)明具備如下有益效果:
37、1、本發(fā)明通過(guò)向系統(tǒng)內(nèi)輸入現(xiàn)場(chǎng)的cad圖和移動(dòng)機(jī)器人的尺寸信息,可以針對(duì)移動(dòng)機(jī)器人自動(dòng)離線自動(dòng)生成主路路徑和取放貨路徑,無(wú)需人工進(jìn)行繪制,節(jié)省了人力,操作更加方便。
38、2、本發(fā)明可以根據(jù)倉(cāng)庫(kù)或工廠的實(shí)際情況自動(dòng)生成主路路徑和取放貨路徑,相比較于人工繪制,可以更加快速的進(jìn)行路徑規(guī)劃,而且可以減小人工專業(yè)性對(duì)路徑規(guī)劃的影響。
39、3、本發(fā)明可以針對(duì)不同的移動(dòng)機(jī)器人進(jìn)行路徑規(guī)劃,從而可以支持多類移動(dòng)機(jī)器人的混合作業(yè),提高了作業(yè)時(shí)的適用性和靈活性。