本發(fā)明涉及機(jī)器人運(yùn)動(dòng)路徑規(guī)劃技術(shù),尤其涉及一種通過(guò)調(diào)度系統(tǒng)與機(jī)器人之間協(xié)同規(guī)劃運(yùn)動(dòng)路徑的方法及系統(tǒng)、存儲(chǔ)介質(zhì)。
背景技術(shù):
1、在傳統(tǒng)的無(wú)人貨運(yùn)機(jī)器人調(diào)度系統(tǒng)下,前提假設(shè)都是機(jī)器人會(huì)嚴(yán)格依照規(guī)劃的路徑導(dǎo)航運(yùn)行,比如基于解沖突的?cbs、基于優(yōu)先級(jí)的pbs,或者基于深度學(xué)習(xí)的調(diào)度系統(tǒng)。但是如果機(jī)器人不按照調(diào)度下發(fā)的路徑去運(yùn)行,則易導(dǎo)致機(jī)器人之間出現(xiàn)異常阻擋,甚至兩車相撞的安全事故。
2、以貨運(yùn)機(jī)器人為例,如果當(dāng)前機(jī)器人的目標(biāo)點(diǎn)是通過(guò)自身傳感器識(shí)別獲得,并且機(jī)器人以自主規(guī)劃路徑方式去取貨,此時(shí)若目標(biāo)點(diǎn)相鄰位置處有其他機(jī)器人時(shí),傳統(tǒng)的調(diào)度系統(tǒng)不會(huì)考慮機(jī)器人取貨偏離線路時(shí),會(huì)被附近其他機(jī)器人阻擋報(bào)錯(cuò)的問(wèn)題,而這種情況會(huì)影響多車調(diào)度效率,更嚴(yán)重的是,當(dāng)機(jī)器人取貨時(shí),由于傳感器的盲區(qū),還可能會(huì)導(dǎo)致機(jī)器人之間的碰撞,從而引發(fā)安全事故。
3、另外在某些場(chǎng)景下,當(dāng)機(jī)器人為了規(guī)避障礙行駛在調(diào)度線路之外時(shí),在回到設(shè)定線路上的過(guò)程中,也會(huì)需要自主規(guī)劃一條回歸路徑。而傳統(tǒng)調(diào)度系統(tǒng)的方案,也無(wú)法考慮自主規(guī)劃的路徑,和其他機(jī)器人是否存在相撞的問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、為此,本發(fā)明的主要目的在于提供一種機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法及系統(tǒng)、存儲(chǔ)介質(zhì),以使機(jī)器人與調(diào)度系統(tǒng)間能夠協(xié)同規(guī)劃出路徑安全區(qū)域,解決機(jī)器人間出現(xiàn)異常阻擋、碰撞問(wèn)題。
2、為了實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法,步驟包括:
3、調(diào)度系統(tǒng)規(guī)劃?rùn)C(jī)器人任務(wù)路徑,及對(duì)應(yīng)所需的安全空間a;
4、機(jī)器人根據(jù)任務(wù)路徑,識(shí)別目標(biāo)點(diǎn),規(guī)劃前往目標(biāo)點(diǎn)的實(shí)際路徑,并在判斷安全空間a滿足實(shí)際路徑的空間要求時(shí),回復(fù)調(diào)度系統(tǒng)并執(zhí)行任務(wù)路徑,否則向調(diào)度系統(tǒng)提案對(duì)應(yīng)實(shí)際路徑所需的安全空間b;
5、當(dāng)調(diào)度系統(tǒng)判斷安全空間b不與其它機(jī)器人的安全空間c沖突時(shí),允許機(jī)器人執(zhí)行實(shí)際路徑,否則取消當(dāng)前機(jī)器人任務(wù)。
6、在可能的優(yōu)選實(shí)施方式中,其中安全空間a的規(guī)劃步驟包括:
7、根據(jù)機(jī)器人放量車體尺寸建立包圍盒a;將任務(wù)路徑按預(yù)設(shè)間隔離散成多個(gè)點(diǎn);計(jì)算包圍盒a定位中心在每個(gè)離散點(diǎn)上時(shí)的輪廓多邊形,并將各多邊形集合作為安全空間a。
8、在可能的優(yōu)選實(shí)施方式中,其中安全空間a的規(guī)劃步驟包括:
9、根據(jù)機(jī)器人放量車體尺寸建立包圍盒a;將任務(wù)路徑按預(yù)設(shè)間隔離散成多個(gè)點(diǎn);計(jì)算包圍盒a定位中心在每個(gè)離散點(diǎn)上時(shí)的輪廓多邊形;掃描所有多邊形取最小凸包作為安全空間a。
10、在可能的優(yōu)選實(shí)施方式中,其中判斷安全空間a是否滿足實(shí)際路徑的空間要求的步驟包括:
11、根據(jù)機(jī)器人參考車體尺寸建立包圍盒b;將實(shí)際路徑按與任務(wù)路徑相同的預(yù)設(shè)間隔離散成多個(gè)點(diǎn);計(jì)算包圍盒b定位中心在每個(gè)離散點(diǎn)上時(shí)的輪廓多邊形,并將各多邊形集合作為安全空間b;
12、按實(shí)際路徑及任務(wù)路徑上各離散點(diǎn)順序,依次判斷安全空間b中各多邊形皆處于安全空間a的各多邊形包圍之內(nèi)時(shí),認(rèn)為安全空間a滿足實(shí)際路徑的空間要求。
13、在可能的優(yōu)選實(shí)施方式中,其中判斷安全空間a是否滿足實(shí)際路徑的空間要求的步驟包括:
14、根據(jù)機(jī)器人參考車體尺寸建立包圍盒b;將實(shí)際路徑按預(yù)設(shè)間隔離散成多個(gè)點(diǎn);計(jì)算包圍盒b定位中心在每個(gè)離散點(diǎn)上時(shí)的輪廓多邊形,掃描所有多邊形取最小凸包作為安全空間b,其中參考車體尺寸小于放量車體尺寸;
15、判斷安全空間b中各個(gè)頂點(diǎn)皆在安全空間a內(nèi)時(shí),認(rèn)為安全空間a滿足實(shí)際路徑的空間要求。
16、在可能的優(yōu)選實(shí)施方式中,其中判斷安全空間b是否與其它機(jī)器人的安全空間c沖突的步驟包括:
17、通過(guò)分離軸定理,依次判斷安全空間b中各多邊形與各安全空間c中的各多邊形是否存在重疊,若為是則認(rèn)為沖突。
18、在可能的優(yōu)選實(shí)施方式中,其中判斷安全空間b是否與其它機(jī)器人的安全空間c沖突的步驟包括:
19、通過(guò)分離軸定理檢測(cè)安全空間b與各安全空間c凸包對(duì)應(yīng)的凸多邊形之間,是否重疊,若為是則認(rèn)為沖突。
20、在可能的優(yōu)選實(shí)施方式中,所述的機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法,其中步驟還包括:
21、當(dāng)調(diào)度系統(tǒng)規(guī)劃?rùn)C(jī)器人原地旋轉(zhuǎn)任務(wù)時(shí),根據(jù)機(jī)器人放量車體尺寸建立包圍盒d,依據(jù)轉(zhuǎn)向及旋轉(zhuǎn)角度,取包圍盒d旋轉(zhuǎn)側(cè)最遠(yuǎn)頂點(diǎn)的旋轉(zhuǎn)軌跡,以包圍盒d定位中心為圓心,建立扇形多邊形的安全空間d;
22、機(jī)器人根據(jù)原地旋轉(zhuǎn)任務(wù),在當(dāng)前位置以參考車體尺寸建立包圍盒d1,依據(jù)轉(zhuǎn)向及旋轉(zhuǎn)角度,取包圍盒d1旋轉(zhuǎn)側(cè)最遠(yuǎn)頂點(diǎn)的旋轉(zhuǎn)軌跡,以包圍盒d1定位中心為圓心,建立扇形多邊形的安全空間d1;
23、當(dāng)機(jī)器人判斷安全空間d1處于安全空間d之內(nèi)時(shí),認(rèn)為安全空間d滿足原地旋轉(zhuǎn)的空間要求,回復(fù)調(diào)度系統(tǒng)并執(zhí)行,否則向調(diào)度系統(tǒng)提案安全空間d1;
24、當(dāng)判斷安全空間d1圓心到其它機(jī)器人的安全空間c的最短距離,小于安全空間d1扇形半徑時(shí),認(rèn)為存在沖突,否則允許機(jī)器人執(zhí)行。
25、在可能的優(yōu)選實(shí)施方式中,所述的機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法,其中步驟還包括:
26、機(jī)器人根據(jù)調(diào)度系統(tǒng)下達(dá)的原地旋轉(zhuǎn)任務(wù),在當(dāng)前位置以參考車體尺寸建立包圍盒d1,依據(jù)轉(zhuǎn)向及旋轉(zhuǎn)角度,取包圍盒d1旋轉(zhuǎn)側(cè)最遠(yuǎn)頂點(diǎn)的旋轉(zhuǎn)軌跡,以包圍盒d1定位中心為圓心,建立扇形多邊形的安全空間d1,并向調(diào)度系統(tǒng)提案;
27、當(dāng)調(diào)度系統(tǒng)檢測(cè)安全空間d1圓心到其它機(jī)器人的安全空間c的最短距離,小于安全空間d1扇形半徑時(shí),認(rèn)為存在沖突,否則允許機(jī)器人執(zhí)行。
28、在可能的優(yōu)選實(shí)施方式中,所述的機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法,其中步驟還包括:
29、機(jī)器人避障時(shí),自主規(guī)劃回歸路徑后,向調(diào)度系統(tǒng)提案對(duì)應(yīng)回歸路徑所需的安全空間e,當(dāng)調(diào)度系統(tǒng)判斷安全空間e不與其它機(jī)器人的安全空間c沖突時(shí),允許機(jī)器人執(zhí)行回歸路徑,否則令當(dāng)前機(jī)器人停止。
30、為了實(shí)現(xiàn)上述目的,對(duì)應(yīng)上述方法示例,根據(jù)本發(fā)明的另一方面,還提供了一種機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃系統(tǒng),其包括:存儲(chǔ)器、處理器以及存儲(chǔ)在所述存儲(chǔ)器中并可在所述處理器上運(yùn)行的計(jì)算機(jī)程序,其中所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí),所述系統(tǒng)實(shí)現(xiàn)如上任一項(xiàng)所述機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法的步驟。
31、為了實(shí)現(xiàn)上述目的,對(duì)應(yīng)上述方法示例,根據(jù)本發(fā)明的另一方面,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,其中所述計(jì)算機(jī)程序被執(zhí)行時(shí),實(shí)現(xiàn)如上任一項(xiàng)所述機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法的步驟。
32、通過(guò)本發(fā)明提供的該機(jī)器人運(yùn)動(dòng)路徑協(xié)同規(guī)劃方法及系統(tǒng)、存儲(chǔ)介質(zhì),巧妙的利用了代表機(jī)器人自身尺寸的包圍盒來(lái)建立安全空間,?以將傳統(tǒng)的規(guī)劃路線轉(zhuǎn)換為機(jī)器人實(shí)際行駛時(shí)所需的運(yùn)動(dòng)空間,從而為機(jī)器人與調(diào)度系統(tǒng)之間精確協(xié)同復(fù)驗(yàn)調(diào)度任務(wù)的可行性打下了基礎(chǔ)。同時(shí)本方案還設(shè)計(jì)允許機(jī)器人在聽(tīng)從調(diào)度系統(tǒng)調(diào)度的同時(shí),能夠單機(jī)自主規(guī)劃路徑及安全空間,并在復(fù)驗(yàn)調(diào)度任務(wù)不可行時(shí),向調(diào)度系統(tǒng)自主提案,從而保證了機(jī)器人與調(diào)度系統(tǒng)之間,能夠相互協(xié)同驗(yàn)證規(guī)劃路徑的可靠性,確保規(guī)劃路徑更符合現(xiàn)場(chǎng)狀況,從而保障機(jī)器人執(zhí)行任務(wù)時(shí)的安全性及可靠性,以解決傳動(dòng)調(diào)度系統(tǒng)與機(jī)器人間因無(wú)協(xié)同,而易出現(xiàn)的異常阻擋、碰撞等安全問(wèn)題。