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