李詣坤,韋思亮
(1.東北大學 信息科學與工程學院,沈陽 110819;2.中國電力工程顧問集團 華北電力設計院有限公司,北京 100120)
由于機器人在感知和操作上的快速發展能夠在最大程度上滿足倉庫搬運作業的自動化要求,因此將搬運機器人應用到倉庫環境中,以實現倉庫的無人化管理與運行,提高整個倉庫工作的可擴展性和穩健性。無人倉就是利用自動立體存儲、3D視覺識別、自動包裝、人工智能、物聯網等先進技術,達成各種設備、機器、系統間的高效協同。無人倉的普及提高了倉庫的管理與運行效率,同時也為機器人提供了工作條件[1]。用于無人倉搬運工作的機器人是一種新型移動機器人,在倉庫中鋪設磁軌、導航路線、定位信標等指示裝置,結合運動控制、任務規劃、傳感器等技術手段,根據所提供的信息精確定位與規劃路徑,從而順利運輸可移動貨架,使工作人員與貨架之間的聯系更加緊密。
為了完成復雜的無人倉搬運工作,降低單個機器人的任務量,在無人倉采用多搬運機器人協同工作的模式。與單個搬運機器人相比,多搬運機器人能夠開展大量的機器人協同工作,對不完全、不確定的信息進行處理,從而完成更復雜的工作任務。在工作環境改變或系統局部失效的情況下,多個搬運機器人可以通過自身的組織功能和協同機制,重新建立起彼此間的協同關系。多搬運機器人之間的協同更符合現代先進制造系統對柔性、智能化、網絡化的需求,使其自動化水平得到了全面的提升。
為了避免多搬運機器人在工作過程中發生碰撞,需要對每個搬運機器人的工作軌跡進行規劃,設計無人倉多搬運機器人協同作業軌跡自動控制方法,保證各個搬運機器人的實際軌跡與規劃軌跡一致。現階段發展較為成熟的無人倉使用的多搬運機器人協同作業軌跡自動控制方法也有很多,例如文獻[2]提出多倉儲機器人協同路徑規劃與作業避碰控制方法,以蟻群算法為基礎設計新啟發式函數,結合路徑實際參數與可選節點的數量設計多倉儲機器人協同作業避障規則,并對信息素進行更新,以此尋找最優避障路徑,根據尋優結果控制機器人在該條路徑上行進。文獻[3]提出基于Udwadia-Kalaba理論的協作機器人軌跡跟蹤控制方法。利用Udwadia-Kalaba理論設置協作機器人運動軌跡尋優過程中的約束條條件,以此確定協作機器人運動過程中存在的不確定因素,以此設計一個產生近似約束的控制器,利用該控制器實現協作機器人軌跡跟蹤控制。文獻[4]提出雙機協同作業機器人的協作工作空間設計與軌跡控制方法,該方法利用D-H法建立機器人坐標系,并對空間位姿進行變化處理,結合運動學模型求解結果與蒙特卡羅法實現協作工作空間設計,通過確定軌跡控制影響因素進行軌跡控制。
然而在實際控制過程中存在明顯的控制效果不佳的問題,主要體現在搬運機器人碰撞以及搬運軌跡運行偏差兩個方面,為此需要對無人倉多搬運機器人協同作業軌跡自動控制方法進行優化設計,以期能夠提高控制方法的控制效果,間接地提高無人倉搬運工作的執行效率。
無人倉多搬運機器人協同作業軌跡的規劃與控制以實際環境為背景,將路徑信息、障礙物和移動機器人的位置等信息提取出來,并將其建模成數學語言,從而為下一步的路徑搜索和路徑平滑奠定基礎。為了解決多搬運機器人的路徑規劃問題,構建無人倉庫的環境情景是非常有必要的。在優化設計的軌跡自動控制方法中采用柵格圖建模法,即將無人倉的工作環境分成若干塊大小相等的格子,并對有障礙物和沒有障礙物的網格進行賦值,然后再根據這些網格進行路徑搜索。柵格圖建模的核心是網格的分辨率,如果網格的分辨率太低,很難對障礙物進行清晰描述,如果網格的分辨率過高,則會增加計算量,所以需要將網格的分辨率設定在一個合理的區間內[2]。網格模型的建立方法簡單,且能更精確地獲得路徑信息。以無人倉任意一角作為原點建立直角坐標系,坐標系的水平和豎直方向分別表示的是無人倉的長度和寬度,設組成無人倉環境場景的柵格邊長為lgrid,則橫豎兩個坐標系上設置的柵格數量分別為:
(1)
式中,lx和ly分別為無人倉的長度和寬度數據,INT()為取整函數。在確定無人倉環境柵格數量后,對構建直角坐標系中的柵格進行編號,編號過程可以量化表示為:
(2)
其中:(xi,yi)為無人倉環境中的任意一點,xmax和ymax為坐標系中柵格坐標最大值在水平和豎直兩個方向上的分量[3]。根據無人倉環境場景中各個坐標位置上貨架與貨物的放置情況,對各個柵格空間進行賦值,賦值結果可以表示為:
(3)
式(3)中,P為無人倉中貨架與貨物放置空間集合。若計算得出任意坐標位置的p(xi,yi)取值為1,則證明當前柵格表示的是障礙區域,也就是無人倉中的貨架位置,否則為空閑位置,也就是多搬運機器人的可通行區域。
從組成結構來看,搬運機器人由移動裝置、驅動器和各種類型的傳感器組成,每一個移動裝置都有3個方向的完全自由度,能完成前后平移、左右平移和任意角度轉動[4]。無人倉移動機器人采用麥克納姆輪結構,內部有4個麥克納姆輪,它使車輪左右滾動,從而使每個車輪產生一個與輪基對角軸基本呈直角的作用力,改變轉速和轉動方向,進而使機器人能夠在任意方向上運動。圖1為搬運機器人的基本組成結構。

圖1 無人倉搬運機器人組成結構圖
搬運機器人控制系統工作流程可以分為兩個部分:第一部分是利用可視化的方法識別貨物的前部和邊角,將目標貨物的位置信息傳輸給控制器,然后由控制器確定相應的控制策略,控制連接移動機器人的轉鎖與貨柜的拐角[5]。第二部分是在搬運機器人將貨物提升后,由可視化系統進行識別和判斷,由控制器根據車輛行駛路線進行控制,最后將貨物運送到指定位置。結合機器人的運動與搬運操作原理,構建對應的運動學模型并進行正逆運動學的分析。無人倉搬運機器人在XYZ坐標系下的運動學方程可以表示為:

(4)
式(4)中,x和y表示的是搬運機器人各個組成部件在水平和豎直方向上的位置坐標,φ為部件的姿態角,另外變量ν表示的是搬運機器人的速度指令。在電機的驅動下,搬運機器人及被搬運貨物的動力學模型可以描述為:

(5)
式中,變量H(q)、Fcentr(q)和μ(q)分別表示的是機器人的慣性矩陣、離心力矢量以及關節摩擦力矢量,Grobot(q)為搬運機器人重力矢量,γa表示的是驅動關節的力矩矢量,JT為關節轉矩,FContact為搬運機器人末端執行器與環境之間的接觸力,Ho為貨物目標的慣性矩陣,Fcentr(x)和Ggoods對應的是貨物目標的離心力矢量和重力矢量,FContact,robot和FContact,env表示的是貨物目標與機器人以及環境之間的接觸力矢量[6]。融合運動學模型與動力學模型的構建結果,將其導入到搬運機器人組成結構中,得出無人倉內單個搬運機器人數學模型的構建結果,將多個搬運機器人數學模型進行組合。
從搬運機器人位置和姿態兩個方面確定搬運機器人的初始狀態,利用搬運機器人內置的測距傳感器設備進行定位[7]。測距傳感器分別向水平和豎直兩個方向發射定位信號,得出的測距結果可以表示為:
(6)
其中:vc為定位信號在無人倉環境中的傳播速度,而Δt表示的是測距傳感器接收到反饋信號的時間,計算結果角標i的取值對應的是定位信號的傳播方向。當i取值為x時,得出結果即為當前搬運機器人位置的橫坐標,同理i取值為y時得出機器人縱坐標的具體取值[8]。由于無人倉環境中存在多個搬運機器人和貨架,因此在搬運機器人位置檢測過程中需要確定定位信號的傳輸終端位置,以保證位置檢測結果的準確度。搬運機器人的姿態也就是機器人各個組成關節的角度,其中俯仰角和橫滾角的檢測結果如下:

(7)
其中:δx和δy分別為角度傳感器在兩個方向上的測量值,θpitch和θroll對應的是任意一個搬運機器人關節俯仰角和橫滾角的檢測結果[9]。由于搬運機器人處于實時工作的狀態,其實時位置和姿態角呈現出動態變化趨勢,因此在位姿檢測結果中設置傳感器的自動檢測時間間隔和工作頻率,完成實時位姿的自動檢測工作。
搬運任務分配是多作業機器人在無人倉環境中的組織形式和運行機制的集中體現,是完成搬運作業的基本依據。多搬運機器人的配置機制是否合理,對其完成任務的效率高低產生重要的影響[10]。遵循就近原則將搬運任務分配給多個搬運機器人,利用式(8)計算貨物當前位置與多個搬運機器人之間的距離。
(8)
其中:(xrobot,yrobot)為搬運機器人當前位置坐標的檢測結果,(xgoods,ygoods)為待搬運貨物的位置,將式(8)的最終計算結果按照降序順序進行排列。在實際的任務分配過程中,判斷距離貨物最近搬運機器人的工作狀態,具體的判斷內容包括:搬運機器人是否能夠正常執行搬運任務、當前搬運機器人待執行的搬運任務量是否高于機器人最高任務容量的80%,若距離最近的搬運機器人存在運行故障,或已有的搬運任務量達到飽和狀態,則選擇下一個搬運機器人作為執行設備,按照上述內容進行判斷,重復執行上述操作,直到完成所有搬運任務的分配[11]。在任務分配過程中,實時更新搬運任務集合,對新增任務進行分配,并添加到搬運機器人執行任務隊列末端。
在工作狀態下,搬運機器人接收到搬運指令后,在避免碰撞其他搬運機器人和貨架的情況下,機器人移動到待搬運貨物當前位置,將其移動到機器人存儲倉中,搬運機器人移動至貨物的目的地,完成搬運工作[12]。因此需要規劃的多搬運機器人協同作業軌跡包括機器人到達目標貨品位置的軌跡和到達貨品移動目的地的軌跡,保證多個搬運機器人作業軌跡之間不存在重合,且不與貨架位置重合[13]。為了保證多搬運機器人協同作業軌跡的規劃質量,采用蟻群算法進行軌跡規劃,具體的規劃流程如圖2所示。

圖2 多搬運機器人協同作業軌跡規劃流程圖
蟻群算法模擬螞蟻覓食,可以根據路徑上的信息素的濃度來進行啟發式的運動,在初始狀態下無信息素的干擾,隨意地選擇一條路線去覓食,而螞蟻的數目越多,所走的路線就越多[14]。假設兩種螞蟻的信息素濃度一致,在相同的環境中,信息素的揮發速率也一致,在相同的情況下,螞蟻在短途中所保留的信息素的揮發程度要比在長路徑上低,因此,在短途中信息素的含量會更高,而在其他路線上的信息素含量則會降低,從而使蟻群在短路線上選擇最佳路線[15]??傊?,蟻群中的螞蟻都會朝最短的方向聚集,這是一種積極的反饋,而最佳的路徑就是由這些信息素的積極反饋作用而產生的。假設螞蟻從無人倉環境模型中的柵格j移動到柵格k的概率為:
(9)

為了保證多個搬運機器人能夠按照規劃的作業軌跡執行,為協同作業軌跡自動控制方法提供硬件支持,需設計一個控制器設備,控制器的基本結構如圖3所示。

圖3 搬運機器人協同作業軌跡控制器
圖3表示的作業軌跡控制器用來完成接收控制命令、接收計數脈沖、生成速度信息以及發出PWM信號等任務。從圖3中可以直觀看出,控制器內部設有CPU控制、電機驅動與速度檢測、地址編碼、重置與低電壓檢測與無線通信等模塊,其中中央處理器則是以單片機為中心,對通信模塊傳送的訊息進行處理,轉換為指令字,并接受編碼器發出的計數脈沖,通過運算得到目前的速度。該控制模塊還可劃分為編碼器和驅動程序兩部分,其中編碼模塊的主要功能是提供計數脈沖、電機旋轉方向等,并提供PID控制器的反饋,以確保電機在系統所需的條件下運行。而驅動模塊的功能是把CPU輸出的PWM信號轉化為模擬電壓,從而驅動DC電動機的工作[17]。在控制器中增加通信模塊,以確保協同工作軌跡控制器能接收到控制命令。通信模塊的設計主要包括兩個方面,分別為路徑規劃通信和任務協同通信。在路徑規劃中,采用點對點通信,以實現在機器人個體之間的狀態信息的交流。根據機器人的優先順序,確定移動方向,并進行相應的路線規劃。任務協同通信過程中,在任務發現之前,將所有機器人數據存入公共存儲區中,當任一機器人發現任務且不能獨立完成時進行廣播通信,告知所有搬運機器人任務的地點,處于空閑狀態的機器人會接收到廣播來的信息,在任務接收成功后執行相應任務[18]。當單個搬運機器人的負載能力能夠完成這個較大任務時,利用控制器中的通信機制,調整多個搬運機器人進行躲避障礙使任務順利完成。最終將優化設計的協同作業軌跡控制器安裝在多搬運機器人的關節位置上。
將搬運機器人的實時位姿檢測結果與規劃的協同作業軌跡進行比對,得出機器人軌跡控制量的計算結果為:
(10)
計算得出Δχposition和Δχangle分別為位置控制量和姿態角控制量,(xtrajectory,ytrajectory)為規劃軌跡中的節點,另外θtarget,pitch和θtarget,roll對應的是規劃軌跡節點俯仰角和橫滾角的目標值。將式(10)的控制量計算結果輸入到搬運機器人協同作業軌跡控制器中,根據控制量輸入數據生成多搬運機器人的控制指令,保證多搬運機器人始終在規劃的作業軌跡上[19]。若式(10)的計算結果為負值,則機器人的位置控制方向為實際行進方向的反方向,姿態角的控制方向為逆時針方向,而控制量計算結果為正值,則向機器人的行進方向以及順時針方向分別調整機器人的位置坐標和姿態角。根據實時位姿的調整結果調整控制指令,直到多搬運機器人完成搬運任務為止。則控制指令調度監測算法流程如圖4所示。

圖4 控制指令調度監測算法
實驗選擇的無人倉為某零售企業的貨物存儲倉庫,該倉庫共設置7個貨架,100個儲位,每個儲位大小相同,均為40 cm*40 cm。無人倉環境的初始布設情況如圖5所示。

圖5 無人倉作業環境
在忽略動態障礙物以及貨物的情況下,可確定無人倉中可供通行的路線,也就是搬運機器人作業軌跡的規劃范圍。為了保證搬運機器人的正常運行,實驗環境中設置了5個充電插口,能夠同時給5個搬運機器人提供電力支持。另外,無人倉環境實現了無線通信網絡的全覆蓋,保證搬運指令、控制指令能夠被成功接收[20]。企業采用周期性補充庫存方式,在上一周期結束時,依據當前庫存與預期庫存之間的差異,決定下一階段的庫存儲備,以及每一批產品所占的庫存空間。
在實驗環境中設置5臺型號為LB3150-H-6的搬運機器人作為控制對象,該型號的搬運機器人頂部安裝了電動云臺和深度相機,用來輔助完成搬運任務。選擇搬運機器人的車身長度為0.46 m,自重約為8.5 kg,其安全行駛距離為2.0 m。在工作狀態下,搬運機器人的行駛速度、拐彎速度和停車速度分別為1 m/s、0.25 m/s和0.5 m/s,允許在揀選臺停留的最長時間為45 s,一次能夠完成10 kg以下貨物的搬運。
根據無人倉的作業內容,分別從入庫、出庫以及貨物轉移3個方面設置機器人的搬運任務,其中部分任務的生成情況如表1所示。

表1 無人倉搬運任務明細
表1中入口與出口位置為同一位置。根據無人倉搬運任務的設置內容,生成搬運機器人作業軌跡的規劃結果,其中部分作業軌跡的規劃結果如圖6所示。

圖6 多搬運機器人協同作業規劃軌跡
以圖6表示的規劃作業軌跡作為機器人的控制目標。
充分考慮無人倉的運作狀態,在測試實驗中設置兩個實驗場景,場景一中無人倉內除貨架和多搬運機器人外無其他障礙物,而場景二在場景一的基礎上,模擬貨物掉落現象,設置3個靜態障礙物,障礙物大小均為12 cm*12 cm,障礙物所在位置坐標分別為(70,290)、(90,30)和(210,170)。在上述兩個場景下執行相同的搬運任務,同時啟動多搬運機器人及其協同作業軌跡自動控制程序,得出最終的控制結果,如圖7所示。

圖7 多搬運機器人協同作業軌跡控制結果
按照上述流程驅動多搬運機器人完成所有的搬運任務,并記錄各個機器人的軌跡數據。
實驗設置多搬運機器人位置控制偏差、姿態角控制偏差以及碰撞次數作為反映優化設計方法控制效果的測試指標,其中控制誤差指標的數值結果如下:
(11)
式中,(xactual,yactual)為優化設計方法控制下搬運機器人的實際軌跡節點坐標,θactual為控制對象的實際運行角度。另外碰撞次數指標的數值結果為:
(12)
其中:nh、nr和nz對應的是搬運機器人與貨架、其他搬運機器人以及靜態障礙物之間的碰撞次數,變量nrobot和nnode分別為設置的搬運機器人數量和軌跡節點數量。為保證無人倉多搬運機器人協同作業軌跡自動控制方法的優化設計效果,要求控制方法下多搬運機器人的位置控制偏差不得大于5 cm,姿態角控制偏差不得高于1°,碰撞次數不得高于8次。
通過相關數據的統計,得出兩個實驗場景下設計方法控制誤差的測試結果,如表2所示。

表2 優化設計方法作業軌跡自動控制誤差測試數據表
將表2中的數據代入到式(11)中,計算得出場景一中位置控制誤差與姿態控制誤差的平均值分別為3.4 cm和0.05°,而場景二中位置與姿態的平均控制誤差分別為1.14 cm和0.05°,均低于預設值。另外通過式(12)的計算得出控制方法下多搬運機器人碰撞次數的測試結果,如圖8所示。

圖8 控制方法下多搬運機器人碰撞次數測試結果
從圖8中可以直觀看出,通過無人倉多搬運機器人協同作業軌跡自動控制方法的應用,多搬運機器人的實際碰撞次數的最大值為6次,低于預設值。
將文獻[2]方法、文獻[3]方法、文獻[4]方法以及本文方法作為實驗對比方法,通過比較不同方法的多搬運機器人碰撞率,以驗證不同方法的實際應用效果。其中多搬運機器人碰撞率比較結果如表3所示。
分析表3中的數據可知,文獻[2]方法的多搬運機器人碰撞率最大值為57.6%,平均值為49.6%,最小值為42.9%;文獻[3]方法的多搬運機器人碰撞率最大值為37.4%,平均值為35.9%,最小值為34.3;文獻[4]方法的多搬運機器人碰撞率最大值為58.6%,平均值為42.4%,最小值為35.8;本文方法的多搬運機器人碰撞率最大值為7.2%,平均值為4.9%,最小值為3.5;與實驗對比方法相比,本文方法的多搬運機器人碰撞率最低,能夠最大程度保證多搬運機器人協同作業過程中的安全性。

表3 多搬運機器人碰撞率 %
無人倉以及搬運機器人的應用對于貨物的自動化管理具有積極意義,通過無人倉多搬運機器人協同作業軌跡自動控制方法的優化設計,保證機器人的實際運行軌跡與規劃軌跡一致,最大程度保障搬運機器人的移動安全,減少設備故障次數,對于延長設備使用壽命具有現實意義。