經濟的發展,帶動人們的生活水平不斷提高,電子商務的發展突飛猛進。物流領域的工作環境多變、工作量、復雜性有所提高,傳統的工作模式并不能滿足物流發展的需要。這種情況下,將移動機器人引入到物流的倉儲空間中,可以有效代替人工搬運的問題,提高工作效率,減輕勞動強度,降低維修成本,并且對倉儲空間的布局有規劃作用。機器人的有效應用解決了物流企業不少問題,并且緩解了工作者高強度的工作壓力。但實際操作中,大量的工作僅僅依靠一個或兩個機器人并不能完全實現,因此機器人集群的作用就體現出來了,機器人集群的設計能夠解決更加復雜的問題,完成更加復雜的工作。倉儲物流機器人系統的研究比較廣泛,包括機器人導航與定位、系統地圖的構建,機器人任務的調度、路徑的揀選與規劃。本文主要針對倉儲物流機器人的路徑揀選問題進行了研究與實驗。機器人路徑揀選的研究的前提是系統給出特定的指令和要求,從環境中獲取信息和機器人本身的狀態,在此基礎上,通過特定的方法實現從目標起點到目標終點最佳路徑的規劃和選擇。
機器人集群在倉儲空間的定位有很多方式,二維碼、GPS、藍牙等。機器人集群與中心控制系統之間的通信可以通過無線網絡來實現。而對于機器人路徑規劃需要注意的問題有:首先,當訂單到達之后,按照什么標準來調度機器人;其次,如何有效揀選及避免機器人在倉儲環境中路徑規劃問題及碰撞問題;最后,在固定的空間中,既定任務數量,如何最優化的配置機器人數量及路線。
設計前期建立一個自動化的物流倉儲空間的模型,設計的過程中需要考慮的問題有貨物擺放的位置、進貨口、出貨口倉儲內部空間道路的情況,每一個倉儲區域分別由縱向與橫向街道圍起來的區域,每個區域有2排擺放貨物的位置。在整個倉儲空間中,如果出現機器人集群共同工作的情況,需要解決碰撞沖突的問題。逐漸簡化機器人運行規則,提高機器人安全運行標準,設定貨物運輸方向和道路方向。倉儲物流空間模型的建立,需要根據物流任務提出要求,從倉儲空間的某一個貨物架的位置M1到出貨口或入貨口位置M2,待到完成任務后,返回某一個貨架位置M3,等待下一次任務,具體流程如圖1所示。
物流任務的建立可以分為三個步驟:第一個和第三個步驟可以通過任務的分配調度來進行優化,減少浪費的時間;第二個步驟需要采用路徑規劃的方法對路徑進行優化,具體流程如圖2所示。
在任務流程建立的基礎上,忽略精確路徑的規劃,可以將批量揀選路徑的規劃問題分為兩種:第一,機器人起點在出口,這種問題是TSP問題;第二,機器人的起點不在出口,在其他位置,可以將這種情況看做是起點終點固定的ST-TSP問題。TSP問題可以通過式(1)來進行描述,求一條最優的路徑L={n1,n2,n3......,nk}
minW(pα)=∑t=1k?1d(nαi,nαi+1)+d(nai,nak) (1)minW(pα)=∑t=1k-1d(nαi,nαi+1)+d(nai,nak)(1)
其中Pα是一組K個路徑點的排列,Pα是對路徑的一個置換,d(nαi,nαt+1)是兩點之間曼哈頓的距離。而對于TS-TSP來講,傳統的TSP問題的解決方式并不適合,需要對算法進行改變。將H作為機器人的起點,D為機器人的終點,具體計算最優路徑的方式為式(2):L={H,n1,n2,n3......nk,D}
minW(pα)=∑t=1k?1d(nαi,nαi+1)+d(H,na1)+d(D,nαk) (2)minW(pα)=∑t=1k-1d(nαi,nαi+1)+d(Η,na1)+d(D,nαk)(2)
公式中的Pα為去除H、D中間的K個路徑點次尋的重新排列,d(H,nα1)為H到一個分揀區域的距離,d(D,nαk)為D到另外分揀點的距離。TSP與TS-TSP的算法模型是不同的,但是兩種模型之間也有一定的聯系,TSP各節點之間是相通的,而TS-TSP是需要除去起點和終點,中間的節點是相通的,并且兩種模式都要求歷遍所有的節點,兩者都可以利用遺傳算法來計算。TSP利用遺傳算法計算時,需要將路徑中所有的路徑點作為種群的個體,TS-TSP則是將中間節點作為種群個體。
A*算法是在靜態路網中求最短路徑值。而機器人揀選路徑則完全可以依靠A*算法。在A*算法路徑的規劃中,物流機器人的規劃問題可以表示為數學中的一個集合{space,rob,S,E,H}.其中space是整個倉儲空間,也就是移動機器人工作的空間,其中也可以包括多個或單個障礙物,ROB表示移動機器人,S表示起始點,T表示終點,H代表A*算法中的函數。
本文利用柵格法來進行地圖建模,柵格法就是利用AGV的工作環境進行單元分割,分割出大小相等的格子,柵格法可以將環境信息、順序信息表達在網格中。分割出的大小相等的網格不會發生變化,并且機器人整個運動的過程不會發生改變。將機器人的環境信息進行離散化,機器人整個工作的軌跡可以劃分為單個的運動,然后將其組合起來。每一個離散運動都會保存在分割的格子上,利用柵格法規劃和計算最短路徑,并且要有效規避障礙物。
A*算法是最有效的直接搜索的方法,并且操作原理比較簡單,對兩個集合進行定義,一個是OPEN表,另一個CLOSE表,以下簡稱O表和C表。O表保存準備考察的節點,C表保存已經考察過的節點。A*算法開始,O表中包含一個起點元素,C表僅包含一個障礙物的節點。A*算法的流程是從O表中選取一個節點N(k),并檢驗是否為目標節點。如果K為目標節點,則路徑規劃結束,并且做出結論。如果K不是目標節點,節點K則會被保存到C表中,并從O表中刪除。并通過擴展節點的方法考察K節點周圍的8個節點,判斷是否為目標節點,此種方法,以此類推,具體的操作流程如下。
1)設置物流機器人運動的起點S與目標點E,并且做好障礙物的分布工作;
2)做好A*算法的O表和C表,將兩個表的值進行初始化,保證為(null);
3)將S與E賦值給O表,并將障礙節點賦值給C表;
4)使用評價函數F(k)進行評估當前節點,如果K值為目標點,則路徑規劃結束,如果K值不是目標點,刪除該K值,進行下一步;
5)對K節點周圍的8個節點進行擴展,將8個節點中值最小的作為路徑規劃的下一個點;
6)對O表進行查看,是否為空,如果為空,則說明起點到目標節點的所有數值都考察過,得出路徑規劃數據,若不是空,則重復A*算法,再次進行規劃。
在對倉儲空間結構設計時,一般路徑規劃方法采用模糊算法,人工勢場,神經網絡,A*算法等方法。其中比較常用的則是A*算法, A*比較簡單通用,并且能夠保證用最快的速度尋找最優的路徑。一般情況下,倉儲空間的道路設計為單向行駛,A*算法會受到該種規則的約束,因此在特殊規則下,必須對A*算法進行改正。A*算法的基本流程是從起點開始計算,根據實際計算情況來擴展節點,直到完成揀選工作,計算出目標點。因此,對于評價函數的選擇非常重要,如式(3)
f(k)=g(k)+h(k) (3)
其中f(k)代表從起始狀態經過節點K到目標狀態的預估代價。g(k)代表在整個狀態空間中,從起始狀態到狀態K的實際代價。h(k)代表狀態空間中從狀態K到目標節點最佳路徑的預估代價。倉儲空間環境中所有通行的道路均為單行道路,在整個線路節點擴展中,方向和順序是固定的。
如圖3所示:沿著縱向道路H1從節點M1開始擴展,依次為M2、M3、M4、M5、M6、M7。其中M2 M3 M5 M6是順序擴展的固定流程,主要在于M4和M6的節點是否會向P1和P3轉動,因此為了簡化算法,可以將以網格為單位的擴展,轉化成以道路為單位的節點擴展路徑。
如圖4所示:沿縱向道路H1從節點M1開始擴展,依次是M1、M2、M3。橫向道路是P1、P2、P3,以道路為節點的擴展方式,減少擴展次數,提高工作效率,節省時間。道路在倉儲空間中,不一定是路徑的起點或終點,一般貨架的存放空間才是起點或終點,這就是特殊情況,需要加入特殊的擴展方法,特殊擴展分為三種形式。當節點是貨架的起點,可擴展的節點有相鄰道路的位置,如圖5所示,黃色格子為貨架M1,灰色格子是可以擴展的后續節點,節點P即為H1,節點Q代表橫向道路P2,當節點為道路時,則可擴展所有道路交叉節點的所有道路。
無論是道路節點或是貨架為節點,f(k)評價函數都需要根據實際情況作出調整,除了基本的曼哈頓路徑,還需要根據道路的方向與實際情況作出相應的轉變。
假設可以對每一個時刻的機器人的具體位置進行監控,就可以避免在路徑規劃過程中可能會發生的沖突。因此在算法中可以加入一個地圖,可以記錄每一個時刻機器人運動的軌跡,并將機器人運動軌跡記錄下來,形成一個三維地圖,地圖中包括運行方向、運行時間,地圖可以作為線路揀選的參考。在基于A*算法的基礎上,加入時間軌跡,可以將路徑代價替換為時間代價。同時需要充分考慮到運動過程中涉及到的碰撞問題,將碰撞問題加入到時間代價中。因此在路徑規劃和揀選中,需要考慮延時問題,避免規劃出的路徑產生沖突問題。
倉儲道路具有一定的特殊性,其方向為單向。規劃的先后順序并不能保證運行的有限順序。后規劃的路徑A插入到先規劃的任務B的前方,那么B只能選擇等待,這樣的問題出現就會導致實際規劃情況與原計劃不符。遇到這種情況,任務仍需要按照原規劃的路徑來完成??赡茉跁r間上不能與原計劃保持一致。但如果繼續根據已經發生偏差的路徑來完成任務,即使任務能夠完成,誤差則會積累的更多。因此一旦是按照非規劃的路徑來完成任務,則需要及時修改地圖,保證地圖與實際情況相符合。
倉儲機器人在運動的過程中,發生碰撞的問題是不可避免的。如何有效地解決碰撞的問題,也是路徑揀選過程中需要注意的情況。避免可能發生的碰撞,需要設立獨占點。在特定的時刻,特定的位置,只能由一個機器人來完成工作。同一時刻進入的工作機器人必須選擇等待。在實際工作的系統中,機器人都會通過傳感器來完成定位與導航的工作,在檢測到機器人之間的距離小于警戒值,要作出剎車指令,防止出現碰撞情況,影響工作效率,提高工作成本。
通過有效的仿真實驗可以驗證選擇的路徑揀選算法是否有效,進一步研究機器人數量、路徑、效率三種之間的關系。
必須保證仿真實驗的真實性與客觀性,避免受到任務本身性質的影響。采用隨機的算法來布置任務,貨架與機器人的位置與數量都是隨機產生。任務的編號與入貨口、出貨口符合要求,隨機分布。設置任務數量2000,隨機調取20組任務,機器人數量分別設定為10、20、30、40、50、60、70、80、90、100共10種情況。每種情況通過2種算法揀選合適路徑完成20組任務,一共進行200次實驗。
在進行200次的實驗中,任務順利完成,驗證了倉儲物流機器人路徑規劃的可行性與有效性。表1顯示,利用方差分析機器人數量、路徑規劃算法對物流任務的影響,其中包括里程、時間及碰撞沖突。機器人數量的配置對運行的里程、時間及碰撞發生次數都有明顯的影響。而兩種路徑揀選算法在里程和時間上沒有明顯的差別,但在碰撞沖突方面的差別比較明顯。
根據計算圖6總結了不同數量配置的機器人集群在兩種路徑規劃算法下的2000個任務所運行總里程的10個實驗平均值。通過呈現的數據可以看出,隨著機器人數量的不斷增加,機器人工作總里程也逐漸降低,而增加的機器人為系統提供了更靈活的工作方式,在工作中可以選擇貨架與目標地、機器人距離比較接近的完成任務。
通過圖6、圖7的分析可以很直觀的看出,兩種規劃方法的約束下,A*的算法的各項數值比較接近,加入時序路徑規劃算法,會降低工作中碰撞的次數。但如果是倉儲空間中,單行道路的設定,時序算法并不能完全避免碰撞問題的出現。
本文針對倉儲物流機器人在倉儲空間的路徑規劃問題進行分析和研究,根據A*算法,建立一個靈活的倉儲空間,根據任務建立的特點,建立合適的任務流程和算法模型,根據A*的基本算法,有針對性地進行修改算法,建立特殊規則的A*算法和時序的A*算法。這種方法能夠解決批量路徑揀選的問題,為機器人更好的工作,提供高效的技術支持。
下一篇: 倉儲物流機器人集群避障及協同路徑規劃方法