本發(fā)明涉及自動引導(dǎo)運輸車的技術(shù)領(lǐng)域,尤其涉及一種agv的避讓調(diào)度控制方法、裝置及系統(tǒng)。
背景技術(shù):
agv(automatedguidedvehicle)意即“自動引導(dǎo)運輸車”。它是工業(yè)4.0智慧工廠重要的運輸工具,agv運行效率很大程度上影響著整個無人化工廠生產(chǎn)效率。agv作為智慧化無人工廠的交通工具,承載工件轉(zhuǎn)運任務(wù),連接著智慧工廠中各個生產(chǎn)單元模塊有序高效的運轉(zhuǎn)。因此,多agv協(xié)同作業(yè)時在整個工廠交通路線必須高效、有序、安全的運行。
目前,如果當(dāng)前agv規(guī)劃的路徑上停著一臺或多臺處于空閑狀態(tài)的agv,則會造成當(dāng)前agv一直處于靜止?fàn)顟B(tài),無法完成任務(wù)。這種agv的調(diào)度控制方法明顯不合理,也降低了多agv協(xié)作運行的效率。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)中agv的調(diào)度控制效率低的缺陷,提供一種agv的避讓調(diào)度控制方法、裝置及系統(tǒng)。
本發(fā)明第一方面,提供了一種agv的避讓調(diào)度控制方法,包括以下步驟:
路徑規(guī)劃步驟、規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑;
沖突點檢測步驟、檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點;有則轉(zhuǎn)避讓判斷步驟;否則規(guī)劃正在執(zhí)行路徑并轉(zhuǎn)任務(wù)執(zhí)行步驟;
避讓判斷步驟、找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,檢測正在執(zhí)行路徑不為空時轉(zhuǎn)任務(wù)執(zhí)行步驟,檢測正在執(zhí)行路徑為空時判斷沖突agv是否為空閑agv,是則規(guī)劃沖突agv的避讓任務(wù),否則等待預(yù)設(shè)時間轉(zhuǎn)沖突點檢測步驟重新檢測是否有沖突點;
任務(wù)執(zhí)行步驟、控制當(dāng)前agv前進(jìn)執(zhí)行任務(wù),正在執(zhí)行路徑完畢判斷當(dāng)前任務(wù)是否存在剩余路徑,是則轉(zhuǎn)沖突點檢測步驟將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則將當(dāng)前agv切換為空閑狀態(tài)。
在根據(jù)本發(fā)明所述的agv的避讓調(diào)度控制方法中,優(yōu)選地,所述避讓判斷步驟中通過以下公式規(guī)劃沖突agv的避讓任務(wù):
其中{pbwp}為規(guī)劃的該沖突agv的行走路徑點集合,
在根據(jù)本發(fā)明所述的agv的避讓調(diào)度控制方法中,優(yōu)選地,所述避讓判斷步驟中通過以下公式計算:
其中pb為沖突agv所在位置,pd為該區(qū)域中沖突agv可以選取的避讓點,t=||pb-pd||表示沖突agv從所在位置到避讓點位置的行走時間,tbz為沖突agv的轉(zhuǎn)彎時間,cdz為沖突agv到避讓點位置的轉(zhuǎn)彎數(shù)量,
在根據(jù)本發(fā)明所述的agv的避讓調(diào)度控制方法中,優(yōu)選地,所述任務(wù)執(zhí)行步驟包括:
1)控制當(dāng)前agv前進(jìn)并到達(dá)一個新的路徑點;
2)判斷當(dāng)前新的路徑點是否為正在執(zhí)行路徑的終點,是則轉(zhuǎn)步驟3),否則轉(zhuǎn)步驟1);
3)判斷當(dāng)前任務(wù)是否存在剩余路徑,是則轉(zhuǎn)步驟2)將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則將當(dāng)前agv切換為空閑狀態(tài)。
在根據(jù)本發(fā)明所述的agv的避讓調(diào)度控制方法中,優(yōu)選地,所述路徑規(guī)劃步驟中通過以下公式規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑:
其中{pawp}為當(dāng)前agv的當(dāng)前任務(wù)行走路徑點集合,
本發(fā)明還提供了另一種agv的避讓調(diào)度控制方法,包括以下步驟:
路徑規(guī)劃步驟、規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑;
沖突點檢測步驟、檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點,有則轉(zhuǎn)避讓判斷步驟,否則規(guī)劃正在執(zhí)行路徑并轉(zhuǎn)任務(wù)執(zhí)行步驟;
避讓判斷步驟、判斷沖突agv是否為空閑agv,是則規(guī)劃沖突agv的避讓任務(wù),否則找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,檢測正在執(zhí)行路徑不為空時轉(zhuǎn)任務(wù)執(zhí)行步驟,檢測正在執(zhí)行路徑為空時轉(zhuǎn)沖突點檢測步驟重新檢測是否有沖突點;
任務(wù)執(zhí)行步驟、控制當(dāng)前agv前進(jìn)執(zhí)行任務(wù),正在執(zhí)行路徑完畢判斷當(dāng)前任務(wù)是否存在剩余路徑,是則轉(zhuǎn)沖突點檢測步驟將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則將當(dāng)前agv切換為空閑狀態(tài)。
在根據(jù)本發(fā)明所述的agv的避讓調(diào)度控制方法中,優(yōu)選地,所述避讓判斷步驟中通過以下公式規(guī)劃沖突agv的避讓任務(wù):
其中{pbwp}為規(guī)劃的該沖突agv的行走路徑點集合,
本發(fā)明第二方面,提供了一種agv的避讓調(diào)度控制裝置,包括:
路徑規(guī)劃單元,用于規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑;
沖突檢測單元,用于檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點,有則啟動避讓判斷單元,否則規(guī)劃正在執(zhí)行路徑并啟動任務(wù)執(zhí)行單元;
避讓判斷單元,用于找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,檢測正在執(zhí)行路徑不為空時啟動任務(wù)執(zhí)行單元,檢測正在執(zhí)行路徑為空時判斷沖突agv是否為空閑agv,是則規(guī)劃沖突agv的避讓任務(wù),否則等待預(yù)設(shè)時間,再次啟動沖突檢測單元重新檢測是否有沖突點;
任務(wù)執(zhí)行單元,用于控制當(dāng)前agv前進(jìn)執(zhí)行任務(wù),正在執(zhí)行路徑完畢判斷當(dāng)前任務(wù)是否存在剩余路徑,是則啟動沖突檢測單元將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則將當(dāng)前agv切換為空閑狀態(tài)。
本發(fā)明還提供了另一種agv的避讓調(diào)度控制裝置,包括:
路徑規(guī)劃單元,用于規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑;
沖突檢測單元,用于檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點,有則啟動避讓判斷單元,否則規(guī)劃正在執(zhí)行路徑并啟動任務(wù)執(zhí)行單元;
避讓判斷單元,用于判斷沖突agv是否為空閑agv,是則規(guī)劃沖突agv的避讓任務(wù),否則找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,檢測正在執(zhí)行路徑不為空時啟動任務(wù)執(zhí)行單元,檢測正在執(zhí)行路徑為空時啟動沖突檢測單元重新檢測是否有沖突點;
任務(wù)執(zhí)行單元,用于控制當(dāng)前agv前進(jìn)執(zhí)行任務(wù),正在執(zhí)行路徑完畢判斷當(dāng)前任務(wù)是否存在剩余路徑,是則啟動沖突檢測單元將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則將當(dāng)前agv切換為空閑狀態(tài)。
本發(fā)明第三方面,提供了一種agv的避讓調(diào)度控制系統(tǒng),包括如前所述的agv的避讓調(diào)度控制裝置,以及與之通訊的多個agv。
實施本發(fā)明的agv的避讓調(diào)度控制方法、裝置和系統(tǒng),具有以下有益效果:
1、本發(fā)明在當(dāng)前agv檢測到路徑上停著處于空閑狀態(tài)的agv時,給空閑agv選擇一個最近不在當(dāng)前agv行走路徑上的點作為避讓點并規(guī)劃出避讓路徑,使得當(dāng)前agv可以正常行駛。
2、進(jìn)一步地,本發(fā)明還提供了一種優(yōu)選的避讓路徑規(guī)劃方法,并可結(jié)合轉(zhuǎn)彎時間和轉(zhuǎn)彎數(shù)量及行走速度優(yōu)化具體的時間計算方式。
3、進(jìn)一步地,本發(fā)明可以通過兩種方式實現(xiàn)避讓判斷流程:第一種在檢測到?jīng)_突點時即對空閑agv進(jìn)行避讓規(guī)劃;第二種方式在檢測到?jīng)_突點時先前進(jìn)至最遠(yuǎn)不沖突點處時再對空閑agv進(jìn)行避讓規(guī)劃,第二種方式可以允許空閑agv在此時間段內(nèi)接受任務(wù),從而提高agv調(diào)度效率。
附圖說明
圖1為根據(jù)本發(fā)明第一實施例的agv的避讓調(diào)度控制方法的流程圖;
圖2為根據(jù)本發(fā)明第二實施例的agv的避讓調(diào)度控制方法的流程圖;
圖3為根據(jù)本發(fā)明agv的避讓調(diào)度控制方法的示意圖;
圖4為根據(jù)本發(fā)明優(yōu)選實施例的agv的避讓調(diào)度控制裝置的模塊框圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,為根據(jù)本發(fā)明第一實施例的agv的避讓調(diào)度控制方法的流程圖。如圖1所示,該實施例提供的agv的避讓調(diào)度控制方法至少包括以下步驟:
首先,在步驟s101中,執(zhí)行路徑規(guī)劃步驟,規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑。該當(dāng)前任務(wù)行走路徑是指當(dāng)前agv從當(dāng)前所在位置到當(dāng)前任務(wù)終點的位置的行走路徑。當(dāng)給agv分配任務(wù)時,可以采用任何本領(lǐng)域使用的agv分配規(guī)則,或者采用任何本領(lǐng)域使用的路徑規(guī)劃方法來規(guī)劃當(dāng)前任務(wù)行走路徑。在本發(fā)明的一些實施例中,可以給當(dāng)前agv規(guī)劃一條到達(dá)任務(wù)終點最短的路徑作為當(dāng)前任務(wù)行走路徑。
優(yōu)選地,該步驟s101中通過以下公式規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑:
其中{pawp}為當(dāng)前agv的當(dāng)前任務(wù)行走路徑點集合,pawp為當(dāng)前agv的當(dāng)前任務(wù)行走路徑點,
隨后,執(zhí)行沖突檢測步驟,包括步驟s102和步驟s103:
在步驟s102中,檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點,有則轉(zhuǎn)步驟s104;否則轉(zhuǎn)步驟s103。
本發(fā)明通過以下方式檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點:首先,為了不讓agv相撞,在agv前進(jìn)執(zhí)行任務(wù)前,提前規(guī)劃好agv的行走路徑,并將規(guī)劃好的agv行走路徑上的路徑點都標(biāo)記上,說明在這些路徑點可能會發(fā)生碰撞。隨后,檢測當(dāng)前agv的當(dāng)前任務(wù)行走路徑上是否有已經(jīng)標(biāo)記上的路徑點,如果有確定該路徑點為當(dāng)前agv的當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點。此處的路徑點可以指調(diào)度區(qū)域內(nèi)道路上人為設(shè)定的位置點,或者布置有rfid標(biāo)簽的位置點。
在步驟s103中,規(guī)劃正在執(zhí)行路徑。本發(fā)明中正在執(zhí)行的路徑的定義為:當(dāng)前agv在運行過程中,由于前方的點可能是沖突點,因此將當(dāng)前agv前進(jìn)到盡可能遠(yuǎn)的點的路徑作為正在執(zhí)行路徑。如果前方有沖突點,則該正在執(zhí)行路徑為從當(dāng)前agv所在位置前進(jìn)到最遠(yuǎn)不沖突點的位置的路徑。如果前方?jīng)]有沖突點,則正在執(zhí)行路徑為從當(dāng)前agv所在位置前進(jìn)到終點的路徑。
在步驟s104~s108中,執(zhí)行避讓判斷步驟,包括:
在步驟s104中,找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑。
在步驟s105中,檢測正在執(zhí)行路徑是否為空,是則轉(zhuǎn)步驟s106,否則轉(zhuǎn)步驟s109。該步驟中正在執(zhí)行路徑為空則表示已經(jīng)到達(dá)最遠(yuǎn)不沖突點,需要進(jìn)行避讓判斷。如果正在執(zhí)行路徑不為空則表示需要轉(zhuǎn)任務(wù)執(zhí)行步驟繼續(xù)前進(jìn)。
在步驟s106中,判斷沖突agv是否為空閑agv,是則轉(zhuǎn)步驟s107,否則轉(zhuǎn)步驟s108。當(dāng)正在執(zhí)行路徑為空則表示當(dāng)前agv已經(jīng)到達(dá)最遠(yuǎn)不沖突點,再檢測沖突agv是否為空閑狀態(tài),以及是否啟動其進(jìn)行避讓。也就是說,該第一實施例中擋路的沖突agv不會提前進(jìn)行規(guī)劃,在當(dāng)前任務(wù)agv行走到?jīng)_突agv前邊時候再對沖突agv進(jìn)行規(guī)劃。主要考慮到在這段時間內(nèi),該空閑狀態(tài)的沖突agv可能接收新的任務(wù),所以不予提前規(guī)劃。
在步驟s107中,規(guī)劃沖突agv的避讓任務(wù)。該步驟中規(guī)劃沖突agv的避讓路徑,并控制沖突agv執(zhí)行該避讓路徑到避讓點,并將沖突agv占用的路徑點標(biāo)記為空,即未被占用。隨后將當(dāng)前任務(wù)的剩余路徑作為當(dāng)前任務(wù)行走路徑,并轉(zhuǎn)步驟s102重新檢測是否有沖突點。在步驟s102中重新檢測沖突點,由于沖突點已經(jīng)釋放,如果此時剩余路徑?jīng)]有沖突點,則將轉(zhuǎn)步驟s103,正常執(zhí)行任務(wù)。
該步驟s107中通過以下公式規(guī)劃出該沖突agv的避讓任務(wù):
其中{pbwp}為規(guī)劃的該沖突agv的行走路徑點集合,
在步驟s108中,等待預(yù)設(shè)時間,隨后將當(dāng)前任務(wù)的剩余路徑作為當(dāng)前任務(wù)行走路徑,并轉(zhuǎn)步驟s102重新檢測是否有沖突點。由于該步驟中檢測沖突agv不是空閑狀態(tài),即為任務(wù)agv,此時等待預(yù)設(shè)時間后可能該任務(wù)agv已經(jīng)因為執(zhí)行任務(wù)而離開了沖突點,因此當(dāng)前agv可以重新檢測是否有沖突點,并重新啟動執(zhí)行任務(wù)。
在步驟s109~s112中,執(zhí)行任務(wù)執(zhí)行步驟,包括:
在步驟s109中,控制當(dāng)前agv前進(jìn)并到達(dá)一個新的路徑點。本發(fā)明可以預(yù)先在調(diào)度區(qū)域的道路上,例如在廠區(qū)的行進(jìn)道路上,每隔預(yù)定距離布置一個rfid標(biāo)簽。在agv上布置rfid讀卡器,通過該rfid讀卡器讀取安裝在調(diào)度區(qū)域的道路上的rfid標(biāo)簽的信號。該步驟中可以通過與agv通訊,控制該當(dāng)前agv在道路上前進(jìn),并且通過檢測agv是否讀取到一個rfid標(biāo)簽的信號來檢測其是否達(dá)到一個新的路徑點,如果當(dāng)前agv讀取到一個新的rfid標(biāo)簽的信號,則該agv已經(jīng)到達(dá)該rfid標(biāo)簽對應(yīng)的路徑點。
在步驟s110中,檢測當(dāng)前新的路徑點是否為正在執(zhí)行路徑的終點,是則轉(zhuǎn)步驟s111,否則轉(zhuǎn)步驟s109。步驟s109和步驟s110的目的在于使當(dāng)前agv執(zhí)行完正在執(zhí)行路徑。
在步驟s111中,判斷當(dāng)前任務(wù)是否存在剩余路徑,是則轉(zhuǎn)步驟s102將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則轉(zhuǎn)步驟s112。如果前面步驟s102中當(dāng)前agv沒有檢測到?jīng)_突點時,則正在執(zhí)行路徑為當(dāng)前任務(wù)行走路徑,正在執(zhí)行路徑的終點為當(dāng)前任務(wù)的終點,因此沒有剩余路徑,表示該當(dāng)前agv已完成當(dāng)前任務(wù),轉(zhuǎn)步驟s112將其切換至空閑狀態(tài)。如果前面步驟s102中當(dāng)前agv檢測到?jīng)_突點,則正在執(zhí)行路徑的終點為最遠(yuǎn)不沖突點,因此當(dāng)前任務(wù)還有剩余路徑,需要轉(zhuǎn)步驟s102將剩余路徑作為當(dāng)前任務(wù)行走路徑,并根據(jù)新的地圖信息來判斷剩余路徑上是否還存在沖突點,從而可以更新自己的正在執(zhí)行路徑。
在步驟s112中,將當(dāng)前agv切換為空閑狀態(tài),表示該當(dāng)前agv已完成當(dāng)前任務(wù)。
由此可見,現(xiàn)有技術(shù)中如果當(dāng)前agv規(guī)劃的路徑上停著一臺或多臺處于空閑狀態(tài)的agv,則會造成當(dāng)前agv一直處于靜止?fàn)顟B(tài),無法完成任務(wù)。而本發(fā)明的agv的避讓調(diào)度控制方法很好地解決了該問題,本發(fā)明在當(dāng)前agv檢測到路徑上停著處于空閑狀態(tài)的agv時,就給空閑agv選擇一個最近不在當(dāng)前agv行走路徑上的點作為避讓點并規(guī)劃出避讓路徑,當(dāng)該空閑agv到達(dá)避讓點后,當(dāng)前agv開始運行。并且,在該第一實施例中,agv在檢測到?jīng)_突后,先到達(dá)最遠(yuǎn)不沖突點,隨后根據(jù)新的地圖信息來更新自己的正在執(zhí)行路徑,若更新后的正在執(zhí)行路徑依舊為空,說明機(jī)器人已經(jīng)到了沖突點的前一個點并且沖突點依舊沒有被釋放。這個時候,再讓系統(tǒng)判斷是否為空閑agv以及是否進(jìn)行避讓。該方式可以不提前對沖突agv進(jìn)行規(guī)劃,在當(dāng)前任務(wù)agv行走到?jīng)_突agv前邊時候再對沖突agv進(jìn)行規(guī)劃,以便于沖突agv在這段時間內(nèi)接收新的任務(wù)。更進(jìn)一步地,本發(fā)明還提供了一種優(yōu)選的避讓規(guī)劃方法,并可進(jìn)一步結(jié)合轉(zhuǎn)彎時間和轉(zhuǎn)彎數(shù)量及行走速度優(yōu)化具體的規(guī)劃路徑。
請參閱圖2,為根據(jù)本發(fā)明第二實施例的agv的避讓調(diào)度控制方法的流程圖。如圖2所示,該第二實施例包括以下步驟
首先,在步驟s101中,執(zhí)行路徑規(guī)劃步驟,規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑。
隨后,執(zhí)行沖突檢測步驟,包括步驟s102和步驟s103:
在步驟s102中,檢測所述當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與調(diào)度區(qū)域內(nèi)其它agv的行走路徑重合的路徑點,有則轉(zhuǎn)步驟s206;否則轉(zhuǎn)步驟s103。
在步驟s103中,規(guī)劃正在執(zhí)行路徑。
上述步驟與實施例1中步驟s101~s103相同,在此不再贅述。
該第二實施例中避讓判斷步驟包括:
在步驟s206中,判斷沖突agv是否為空閑agv,是則轉(zhuǎn)步驟s207,否則轉(zhuǎn)步驟s104。
在步驟s207中,規(guī)劃沖突agv的避讓任務(wù)。該步驟中規(guī)劃沖突agv的避讓路徑,并控制沖突agv執(zhí)行該避讓路徑到避讓點,并將沖突agv占用的路徑點標(biāo)記為空,即未被占用。隨后將當(dāng)前任務(wù)的剩余路徑作為當(dāng)前任務(wù)行走路徑,并轉(zhuǎn)步驟s102重新檢測是否有沖突點。由于沖突點已經(jīng)釋放,如果此時剩余路徑?jīng)]有沖突點,則將轉(zhuǎn)步驟s103,正常執(zhí)行任務(wù)。該步驟s207中規(guī)劃路徑的方法與第一實施例中步驟s107相同,在此不再贅述。
在步驟s104中,找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑。
在步驟s105中,檢測正在執(zhí)行路徑是否為空,是則轉(zhuǎn)步驟s102或者步驟s208,否則轉(zhuǎn)步驟s109。該步驟中正在執(zhí)行路徑為空則表示已經(jīng)到達(dá)最遠(yuǎn)不沖突點,需要進(jìn)行避讓判斷。如果正在執(zhí)行路徑不為空則表示需要轉(zhuǎn)任務(wù)執(zhí)行步驟繼續(xù)前進(jìn)。
在步驟s208中,等待預(yù)設(shè)時間,隨后將當(dāng)前任務(wù)的剩余路徑作為當(dāng)前任務(wù)行走路徑,并轉(zhuǎn)步驟s102重新檢測是否有沖突點。由于該步驟中檢測沖突agv不是空閑狀態(tài),即為任務(wù)agv,此時可行進(jìn)至最遠(yuǎn)不沖突點,并將剩余路徑作為當(dāng)前任務(wù)行走路徑并重新檢測是否有沖突點。該步驟s208為可選步驟,因為任務(wù)agv可能在執(zhí)行任務(wù)之后離開了當(dāng)前沖突點,此時通過更新的地圖重新檢測無沖突點后可繼續(xù)執(zhí)行任務(wù)。如果仍然未離開沖突點,即多次檢測正在執(zhí)行路徑為空,表明前方依舊被占用,則執(zhí)行該步驟s208,等待預(yù)設(shè)時間后,再進(jìn)行檢測。
在步驟s109~s112中,執(zhí)行任務(wù)執(zhí)行步驟。該步驟與第一實施例中步驟s109~s112相同,在此不再贅述。
請參閱圖3,為根據(jù)本發(fā)明agv的避讓調(diào)度控制方法的示意圖。如圖3所示,agv-a從4號點到33號點執(zhí)行任務(wù),在規(guī)劃路徑時,發(fā)現(xiàn)路徑點7-8-9已經(jīng)被agv-b標(biāo)記上。按照第一種避讓調(diào)度控制方法,其避讓調(diào)度控制的具體步驟如下:
1)規(guī)劃agv-a的當(dāng)前任務(wù)行走路徑為4-5-6-7-8-9-37-36-35-21-34-33。
2)檢測是否有沖突點,由于7-8-9號點被標(biāo)記上,因此判斷其為沖突點。
3)找到最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,即4-5-6。agv-a運行到第6號點時檢測正在執(zhí)行路徑為空;
4)檢測沖突agv-b仍然為空閑狀態(tài),則規(guī)劃避讓路徑,通過上述公式規(guī)劃出agv-b的避讓點,最近的避讓點為第10號點以及第38號點,根據(jù)上述綜合考慮轉(zhuǎn)彎時間及轉(zhuǎn)彎數(shù)量的算法公式,同樣路徑距離的情況下,第38點需要轉(zhuǎn)彎1次,所以時間最短的避讓路徑為7-8-9-10??刂茮_突agv執(zhí)行到避讓點10。將路徑點7-8-9標(biāo)記為空。
4)重新檢測7-8-9-37-36-35-21-34-33上是否有沖突點,由于沖突點已經(jīng)釋放,如果此時剩余路徑?jīng)]有沖突點,則agv-a將正常前往第33號路徑點執(zhí)行任務(wù)。
按照第二種避讓調(diào)度控制方法,其避讓調(diào)度控制的具體步驟如下:
1)規(guī)劃agv-a的當(dāng)前任務(wù)行走路徑為4-5-6-7-8-9-37-36-35-21-34-33。
2)檢測是否有沖突點,由于7-8-9號點被標(biāo)記上,因此判斷其為沖突點。
3)檢測沖突agv-b為空閑狀態(tài),則規(guī)劃避讓路徑,通過上述公式規(guī)劃出agv-b的避讓點,最近的避讓點為第10號點以及第38號點,根據(jù)上述綜合考慮轉(zhuǎn)彎時間及轉(zhuǎn)彎數(shù)量的算法公式,同樣路徑距離的情況下,第38點需要轉(zhuǎn)彎1次,所以時間最短的避讓路徑為7-8-9-10??刂茮_突agv執(zhí)行到避讓點10。將路徑點7-8-9標(biāo)記為空。
4)重新檢測4-5-6-7-8-9-37-36-35-21-34-33上是否有沖突點,由于沖突點已經(jīng)釋放,如果此時剩余路徑?jīng)]有沖突點,則agv-a將正常前往第33號路徑點執(zhí)行任務(wù)。
請參閱圖4,為根據(jù)本發(fā)明第一實施例的agv的避讓調(diào)度控制裝置的模塊框圖。如圖4所示,該避讓調(diào)度控制裝置400包括:路徑規(guī)劃單元401、沖突檢測單元402、避讓判斷單元403和任務(wù)執(zhí)行單元404。
其中,路徑規(guī)劃單元401用于規(guī)劃當(dāng)前agv的當(dāng)前任務(wù)行走路徑。該當(dāng)前任務(wù)行走路徑是指從當(dāng)前agv從當(dāng)前所在位置到當(dāng)前任務(wù)終點的位置的行走路徑。當(dāng)給agv分配任務(wù)時,可以采用任何本領(lǐng)域使用的agv分配規(guī)則,或者采用任何本領(lǐng)域使用的路徑規(guī)劃方法來規(guī)劃當(dāng)前任務(wù)行走路徑。在本發(fā)明的一些實施例中,可以給當(dāng)前agv規(guī)劃一條到達(dá)任務(wù)終點最短的路徑作為當(dāng)前任務(wù)行走路徑。該路徑規(guī)劃單元401執(zhí)行的操作與本發(fā)明方法第一實施例中路徑規(guī)劃步驟一致,在此不再贅述。
沖突檢測單元402用于檢測當(dāng)前任務(wù)行走路徑上是否有沖突點,所述沖突點為當(dāng)前任務(wù)行走路徑與區(qū)域內(nèi)其它agv的行走路徑重合的路徑點,有則啟動避讓判斷單元403,否則規(guī)劃正在執(zhí)行路徑并啟動任務(wù)執(zhí)行單元404。該沖突檢測單元402執(zhí)行的操作與本發(fā)明方法第一實施例中沖突點檢測步驟一致,在此不再贅述。
避讓判斷單元403用于找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,檢測正在執(zhí)行路徑不為空時啟動任務(wù)執(zhí)行單元404,檢測正在執(zhí)行路徑為空時判斷沖突agv是否為空閑agv,是則規(guī)劃沖突agv的避讓任務(wù),否則等待預(yù)設(shè)時間,再次啟動沖突檢測單元402重新檢測是否有沖突點。該避讓判斷單元403執(zhí)行的操作與本發(fā)明方法第一實施例中避讓判斷步驟一致,在此不再贅述。
任務(wù)執(zhí)行單元404用于控制當(dāng)前agv前進(jìn)執(zhí)行任務(wù),正在執(zhí)行路徑完畢判斷當(dāng)前任務(wù)是否存在剩余路徑,是則啟動沖突檢測單元402將剩余路徑作為當(dāng)前任務(wù)行走路徑判斷是否有沖突點,否則將當(dāng)前agv切換為空閑狀態(tài)。該任務(wù)執(zhí)行單元404執(zhí)行的操作與本發(fā)明方法第一實施例中任務(wù)執(zhí)行步驟一致,在此不再贅述。
本發(fā)明還提供了第二實施例的agv的避讓調(diào)度控制裝置。該第二實施例與第一實施例基本相同,區(qū)別在于:
避讓判斷單元403用于判斷沖突agv是否為空閑agv,是則規(guī)劃沖突agv的避讓任務(wù),否則找出最遠(yuǎn)不沖突點作為正在執(zhí)行路徑,檢測正在執(zhí)行路徑不為空時啟動任務(wù)執(zhí)行單元404,檢測正在執(zhí)行路徑為空時再次啟動沖突檢測單元402重新檢測是否有沖突點。該避讓判斷單元403執(zhí)行的操作與本發(fā)明方法第一實施例中避讓判斷步驟一致,在此不再贅述。
本發(fā)明還相應(yīng)提供了一種agv的避讓調(diào)度控制系統(tǒng),該調(diào)度控制系統(tǒng)包括如前第一實施例或者第二實施例所述的agv的避讓調(diào)度控制裝置400,以及與之通訊的多個agv。優(yōu)選地,所述多個agv通過讀取地面的rfid標(biāo)簽發(fā)送位置信息給調(diào)度控制裝置400。由調(diào)度控制裝置400統(tǒng)一調(diào)度各個agv,為其分配任務(wù)及規(guī)劃路徑,從而控制各個agv行進(jìn)執(zhí)行任務(wù)。
綜上所述,本發(fā)明的多agv在協(xié)作規(guī)劃路徑時,總是規(guī)劃最短路徑給作業(yè)agv,并且如果碰到?jīng)_突agv為空閑車擋住了道路,則讓其主動避讓,agv無需繞道行走。本發(fā)明可以滿足多agv無堵塞、無碰撞的作業(yè),并且可以充分利用廠區(qū)的空間,無需環(huán)形繞道行走,而且可以保證agv的作業(yè)效率。
最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。