本發明涉及工業自動化的自動輸送裝備和調度領域,具體涉及一種基于單雙向混合路徑的多agv調度系統。
背景技術:
自動導引運輸車(automatedguidedvehicle),是指具備自動引導裝置,能沿規定路徑行駛,具備自動化物料搬運功能的運輸車,是實現智慧車間和推進工業4.0的關鍵設備。agvs系統由多臺agv及主控制系統調度軟件組成,是一種可根據任務變更路徑的物料搬運系統,提高生產的柔性和生產效率。廣泛應用于汽車制造、機場搬運、鋰電池生產等物料搬運場所。
實際生產系統中agv調度系統廣泛采用單向引導路徑網絡布局,在單向引導路徑中每條路徑的方向是固定的,這樣設計降低了系統發生堵塞和死鎖的可能性。然而由于單向引導路徑的每條路徑方向固定,使agv行駛距離增大,降低了系統的靈活性。現有的agv調度系統,這種調度系統即為單向引導路徑網絡布局,這種控制系統關系清晰,易于實現,但是系統的柔性和故障處理的魯棒性不佳,同時增加了agv行駛距離,一般只能用于小規模的agv系統。
技術實現要素:
為了克服現有技術存在的缺點與不足,本發明提供一種基于單雙向混合路徑的多agv調度系統。
本發明采用如下技術方案:
本發明單雙向引導路徑網絡布局中,單向邊是指改邊只能從指定端進入,從另一端離開,雙向邊則可以從任何一端進入,路徑節點是指每條邊的相交點。本發明對網絡布局的要求是:所有路徑節點最多只存在一條雙向邊與之相連,即不存在兩條雙向邊相鄰的情況,雙向邊只能跟單向邊相鄰,單向邊可以存在相鄰情況。引入rfid標簽定位,對系統中所有agv的位置進行監控,并反饋至集中式主控主控制系統,由主控制系統對系統中所有設備進行統一調度。利用兩階段動態規劃策略:離線階段——通過agv調度系統結合現場實際情況實時對多agv生成離線路徑,在線階段——agv實時反饋位置信息,通過點邊防沖突算法避免多agv之間的沖突。每臺agv擁有一定的自治能力,能夠完成巡線行駛、移載裝置作業、故障報警等事件的處理。該系統對agv單機的設計要求不高,且每臺agv與調度系統之間的通訊量小。該系統具有故障處理魯棒性強、靈活性高、系統穩定、適用于空間狹小的車間的優點。
一種基于單雙向混合路徑的多agv調度系統,包括主控制系統、多條引導軌道及多個agv小車,
所述每條引導軌道兩端各設置一個rfid標簽作為標識卡,并設置不同編號寫入主控制系統中,按照agv行駛方向,確認引導軌道上的第一張為開始標識卡,第二張為結束標識卡;
所述引導軌道與引導軌道的連接點稱為路徑節點,每個路徑節點設置rfid標簽,且具有相同編號,所述引導軌道包括雙向引導軌道及單向引導軌道,所述每個路徑節點只與一條雙向引導軌道連接;
每個路徑節點設置的相同編號的rfid標簽作為執行卡,agv小車讀取到執行卡時,則執行主控制系統發送的左轉、右轉、直行或后退命令;
在各站點放置編號不同的rfid標簽作為站點卡,agv小車讀取到站點卡,則停止,所述站點即為停止點;
所述agv小車底部設置rfid閱讀器,用于讀取引導軌道上各rfid標簽信息及相應的編號發送主控制系統,主控制系統根據任務分配,確定起點及終點,然后通過a*算法計算出離線路徑節點信息,并將路徑節點信息轉換成每張rfid標簽對應的命令信息發送給agv小車,agv小車讀取到引導軌道兩端的rfid卡時,將其相應編號存入agv小車,當agv小車讀取到執行卡時,執行上次存入agv小車的rfid標簽卡所對應的命令;
在線階段,agv小車實時發送讀取到的rfid標簽信息給主控制系統,主控制系統根據點邊防沖突算法預防多agv小車之間的沖突。
所述路徑節點信息轉換成每張rfid標簽對應的命令信息發送給agv小車,具體包括如下步驟:
(1)根據實際的引導軌道連接及agv小車的起點及終點,設置有向圖模型,確定模型與實際軌道連接的上下左右方向一致,令n從0開始;
(2)取路徑節點信息中的第n和n+1個路徑節點組成的始發邊與第n+1和n+2個節點組成的到達邊進行對比,判斷從始發邊到到達邊應該左轉還是右轉還是直行,得到agv小車在第n和n+1個節點組成的邊的結束標識卡對應的命令,繼續執行第3步驟;
(3)將n增加1,繼續執行第2步驟。
所述基于點邊防沖突算法的多agv沖突預防方法,包括如下步驟:
(1)根據有向圖模型,在主控制系統上建立每個節點和每條雙向邊的agv小車等待隊列;
(2)agv小車讀取到rfid標簽時,將卡號信息發送給主控制系統,如果讀取到的是開始標識卡則執行第6步驟,讀取到的是結束標識卡則執行第3步驟;
(3)若該agv小車將要去的下一條邊為雙向邊,則執行第4步驟,否則執行第5步驟;
(4)主控制系統查詢與該結束標識卡相鄰節點的agv等待隊列,同時查詢下一條邊的agv等待隊列,如果該節點和該邊的agv等待隊列中都沒有agv小車,則將該agv小車添加到該節點和該邊的agv等待隊列中,主控制系統不發送任何指令,該agv繼續前進,否則主控制系統發送指令讓該agv立馬停止,將該agv添加到該節點和該邊的agv等待隊列中,然后執行第2步驟;
(5)主控制系統查詢與該結束標識卡相鄰節點的agv等待隊列,如果該節點的agv等待隊列中沒有agv小車,則主控制系統不發送任何指令,該agv繼續前進,將該agv小車添加到該節點和該邊的agv等待隊列中,否則主控制系統發送指令讓該agv立馬停止,將該agv添加到該節點和該邊的agv等待隊列中,然后執行第2步驟;
(6)若該agv經過的上一條邊為雙向邊,則執行第7步驟,否則執行第8步驟;
(7)解除該agv小車對該節點和該邊的占用,在該節點和該邊的agv等待隊列中刪除該agv,執行第9步驟;
(8)解除該agv小車對該節點的占用,在該節點的agv等待隊列中刪除該agv,執行第10步驟;
(9)查詢該節點的agv等待隊列中的第一個agv是否還存在其他雙向邊的agv等待隊列中,如果存在且不排在等待隊列中的第一位,則該agv小車繼續等待,否則主控制系統發送啟動命令給該agv小車;同時查詢該邊的agv等待隊列中的第一個agv是否還存在其他節點的agv等待隊列中,如果存在且不排在等待隊列中的第一位,則該agv小車繼續等待,否則主控制系統發送啟動命令給該agv小車,然后執行第2步驟;
(10)查詢該節點的agv等待隊列中的第一個agv是否還存在其他雙向邊的agv等待隊列中,如果存在且不排在等待隊列中的第一位,則該agv小車繼續等待,否則主控制系統發送啟動命令給該agv小車,然后執行第2步驟。
所述站點設置上料區、卸料區及充電區。
所述主控制系統包括無線接收模塊,調度模塊及無線發送模塊。
路徑節點信息轉換成每張rfid標簽對應的命令信息發送給agv小車,具體轉換步驟為:
(1)令n為0,(n)x表示第n個節點的x坐標,(n)y表示第n個節點的y坐標,繼續執行第2步驟;
(2)比較第n和n+1個節點,若(n)x=(n+1)x,則執行第3步驟,若(n)y=(n+1)y,則執行第6步驟;
(3)若(n)y>(n+1)y,則執行第4步驟,否則執行第5步驟;
(4)若(n+1)x=(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)y=(n+2)y,且(n+1)x>(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,若(n+1)y=(n+2)y,且(n+1)x<(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,繼續執行第9步驟;
(5)若(n+1)x=(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)y=(n+2)y,且(n+1)x>(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,若(n+1)y=(n+2)y,且(n+1)x<(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,繼續執行第9步驟;
(6)若(n)x>(n+1)x,則執行第8步驟,否則執行第7步驟;
(7)若(n+1)y=(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)x=(n+2)x,且(n+1)y>(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,若(n+1)x=(n+2)x,且(n+1)y<(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,繼續執行第9步驟;
(8)若(n+1)y=(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)x=(n+2)x,且(n+1)y>(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,若(n+1)x=(n+2)x,且(n+1)y<(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,繼續執行第9步驟;
(9)若n為路徑節點數減2,則停止,否則n加1后繼續執行第2步驟。
本發明的有益效果:
(1)傳統調度系統對單向引導軌跡支持比較好,由于單向引導軌跡的每條路徑方向固定,使agv行駛距離增加,降低了系統的靈活性。本發明提出基于單雙向混合路徑的調度系統,采用點邊防沖突算法解決了多agv之間的沖突問題,提升了系統的靈活性;
(2)本發明提出一種新的rfid布置方式,使agv能夠實現直角轉彎,降低了agv轉彎需要的空間,適用于空間狹小的車間;
(3)提出的調度系統對agv單機的設計要求不高,降低了開發成本。agv小車可執行離線命令進行巡線行駛,agv小車只需向主控制系統層反饋位置信息,減少了系統無線通訊層的負擔,增強了系統的可擴展性;
(4)容錯性,主控制系統層通過保存agv小車路徑信息和標識卡分布信息,便可知道agv小車從起點到終點會讀取到的標識卡,如果agv小車受干擾丟失讀卡信號,主控制系統層可進行自動補全,這樣便不會對點邊防沖突系統產生影響。
附圖說明
圖1是本發明實施例的引導軌道連接圖;
圖2是本發明的a*算法流程圖;
圖3是本發明的點邊防沖突算法流程圖。
具體實施方式
下面結合實施例及附圖,對本發明作進一步地詳細說明,但本發明的實施方式不限于此。
實施例
如圖1所示,一種基于單雙向混合路徑的多agv調度系統,包括主控制系統、多條引導軌道及多個agv小車,所述引導軌道與引導軌道的連接點為路徑節點,圖1中引導軌道為磁帶軌道,所述主控制系統包括無線接收模塊、調度模塊及無線發送模塊。
每條引導軌道兩端各設置一個rfid標簽作為標識卡,并設置不同編號寫入主控制系統中,按照agv行駛方向,確認引導軌道上的第一張rfid標簽為開始標識卡,第二張rfid標簽為結束標識卡;
所述引導軌道與引導軌道的連接點稱為路徑節點,每個路徑節點設置rfid標簽,且具有相同編號,一定與引導軌道兩端的標識卡的編號不同,所述引導軌道包括雙向引導軌道及單向引導軌道,所述每個路徑節點只與一條雙向引導軌道連接,即不存在兩條雙向邊連接的情況。
每個路徑節點設置的相同編號的rfid標簽作為執行卡,agv小車讀取到執行卡時,則執行主控制系統發送的左轉、右轉、直行或后退命令;
在各站點放置編號不同的rfid標簽作為站點卡,agv小車讀取到站點卡,則停止,所述站點即為停止點,所述各站點設置上料區、卸料區及充電區等等。
如圖1所示,本實施例中站點均設置在雙向邊,標識卡1及標識卡2所在邊為單向邊,標識卡1為開始標識卡,標識卡2為結束標識卡,標識卡3及標識卡4所在邊為雙向邊,所述標識卡5、7、8、9、10所標識的地方為站點,agv小車讀取到相應站點卡則立刻停止,標識卡6為執行卡,設置在路徑節點上,agv小車讀取到執行卡信息立刻執行上次讀取到的rfid標簽對應的命令。
在調度模塊工作之前,根據實際的小車運動軌跡,將站點卡、節點卡及其與邊的對應關系,建立有向圖模型。
如圖2所示,在調度模塊使用時,agv小車設置rfid標簽閱讀器,讀取到標識卡,主控制系統確定agv小車所在位置,根據任務分配確定agv小車的終點,通過通過a*算法計算出離線路徑節點信息,并將路徑節點信息轉換成每張rfid標簽對應的命令信息發送給agv小車,具體為:
(1)對現場引導軌跡建立有向圖模型,得到有向圖鄰接矩陣,然后執行第2步驟;
(2)把起點a放進open列表中,繼續執行第3步驟。
(3)在鄰接矩陣中尋找從該節點可到達的節點,跳過在close列表中的節點,若這些節點已經在open列表中,則執行第5步驟,否則執行第4步驟;
(4)將上述節點加入open列表中,計算上述每個可達節點到終點的歐幾里德距離作為h值,h(n)=sqrt((dx-nx)2+(dy-ny)2),計算起點到上述每個可達節點的g值,則上述每個可達節點的權值為,f(n)=g(n)+h(n),該節點作為上述節點的父節點,從open列表中刪除該節點,將該節點加入close列表,然后執行第6步驟;
(5)計算上述每個可達節點到終點的歐幾里德距離作為h值,h(n)=sqrt((dx-nx)2+(dy-ny)2),計算起點到上述每個可達節點的g值,則上述每個可達節點的權值為,f(n)=g(n)+h(n),若現在權值小于原來權值,則將該節點作為上述節點的父節點,更新權值,否則不執行任何動作,然后執行第6步驟;
(6)在open列表中尋找f值最低的節點,若該節點為終點,則結束算法,否則將該節點從open列表中刪除,然后再加入到close列表中,然后執行第3步驟。
所述路徑節點信息轉換成每張rfid標簽對應的命令信息發送給agv小車,包括如下步驟:
(1)令n為0,(n)x表示第n個節點的x坐標,(n)y表示第n個節點的y坐標,繼續執行第2步驟;
(2)比較第n和n+1個節點,若(n)x=(n+1)x,則執行第3步驟,若(n)y=(n+1)y,則執行第6步驟;
(3)若(n)y>(n+1)y,則執行第4步驟,否則執行第5步驟;
(4)若(n+1)x=(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)y=(n+2)y,且(n+1)x>(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,若(n+1)y=(n+2)y,且(n+1)x<(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,繼續執行第9步驟;
(5)若(n+1)x=(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)y=(n+2)y,且(n+1)x>(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,若(n+1)y=(n+2)y,且(n+1)x<(n+2)x,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,繼續執行第9步驟;
(6)若(n)x>(n+1)x,則執行第8步驟,否則執行第7步驟;
(7)若(n+1)y=(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)x=(n+2)x,且(n+1)y>(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,若(n+1)x=(n+2)x,且(n+1)y<(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,繼續執行第9步驟;
(8)若(n+1)y=(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為直行;若(n+1)x=(n+2)x,且(n+1)y>(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為右轉,若(n+1)x=(n+2)x,且(n+1)y<(n+2)y,則第n和n+1節點組成的邊的結束標識卡對應命令為左轉,繼續執行第9步驟;
(9)若n為路徑節點數減2,則停止,否則n加1后繼續執行第2步驟。
將該agv小車的標識卡對應命令信息通過無線發射模塊發送給agv小車,agv小車開始巡線行駛,當讀取到標識卡時,反饋給調度模塊,調度模塊通過點邊防沖突算法查詢該agv小車是否產生將會產生沖突,如果需要該agv小車等待,則立馬發送指令讓該agv小車停止,沖突解決后,讓該agv小車繼續行駛。當讀取到執行卡時,agv小車查詢本地數據庫,執行上次讀取到的標識卡對應的命令。當agv讀取到站點卡時,確認是否到達相應站點,執行相應動作。
如圖3所示,所述基于點邊防沖突算法的多agv沖突預防方法,包括如下步驟:
(1)根據有向圖模型,在主控制系統上建立每個節點和每條雙向邊的agv小車等待隊列;
(2)agv小車讀取到rfid標簽時,將卡號信息發送給主控制系統,如果讀取到的是開始標識卡則執行第6步驟,讀取到的是結束標識卡則執行第3步驟;
(3)若該agv小車將要去的下一條邊為雙向邊,則執行第4步驟,否則執行第5步驟;
(4)主控制系統查詢與該結束標識卡相鄰節點的agv等待隊列,同時查詢下一條邊的agv等待隊列,如果該節點和該邊的agv等待隊列中都沒有agv小車,則將該agv小車添加到該節點和該邊的agv等待隊列中,主控制系統不發送任何指令,該agv繼續前進,否則主控制系統發送指令讓該agv立馬停止,將該agv添加到該節點和該邊的agv等待隊列中,然后執行第2步驟;
(5)主控制系統查詢與該結束標識卡相鄰節點的agv等待隊列,如果該節點的agv等待隊列中沒有agv小車,則主控制系統不發送任何指令,該agv繼續前進,將該agv小車添加到該節點和該邊的agv等待隊列中,否則主控制系統發送指令讓該agv立馬停止,將該agv添加到該節點和該邊的agv等待隊列中,然后執行第2步驟;
(6)若該agv經過的上一條邊為雙向邊,則執行第7步驟,否則執行第8步驟;
(7)解除該agv小車對該節點和該邊的占用,在該節點和該邊的agv等待隊列中刪除該agv,執行第9步驟;
(8)解除該agv小車對該節點的占用,在該節點的agv等待隊列中刪除該agv,執行第10步驟;
(9)查詢該節點的agv等待隊列中的第一個agv是否還存在其他雙向邊的agv等待隊列中,如果存在且不排在等待隊列中的第一位,則該agv小車繼續等待,否則主控制系統發送啟動命令給該agv小車;同時查詢該邊的agv等待隊列中的第一個agv是否還存在其他節點的agv等待隊列中,如果存在且不排在等待隊列中的第一位,則該agv小車繼續等待,否則主控制系統發送啟動命令給該agv小車,然后執行第2步驟;
(10)查詢該節點的agv等待隊列中的第一個agv是否還存在其他雙向邊的agv等待隊列中,如果存在且不排在等待隊列中的第一位,則該agv小車繼續等待,否則主控制系統發送啟動命令給該agv小車,然后執行第2步驟。
上述實施例為本發明較佳的實施方式,但本發明的實施方式并不受所述實施例的限制,其他的任何未背離本發明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發明的保護范圍之內。