張賀龍 吳洪明
武漢理工大學物流工程學院 武漢 430063
訂單揀選是物流配送中心最重要、最復雜的作業之一,揀選方式和揀選技術直接影響著整個倉庫的揀選效率,關系到倉庫成本的高低[1]。揀選方式逐漸向無人化、自動化方向發展,但目前想要實現高效率的無人化還有一定的技術瓶頸[2]。本文提出了一種人機協作智能揀選工作臺方法,大量重復的勞動由機器人完成,面對復雜的情況時則由人類完成任務。既發揮了人類靈活的決策能力,又利用了機器人完成重復的操作,降低了人類勞動強度。
在人機協作的過程中,一個重要的問題是如何讓機器人智能地理解人類,從而協助人類完成揀選任務。對人類的動作識別是讓機器人理解人類行為意圖的前提?;诖耍肒inect視覺傳感器提取人類動作特征,使用支持向量機算法對特征進行分類識別,最后實現對人類不同動作的識別。
揀選方式主要有人工揀選、半自動揀選、全自動揀選3種方案。人工揀選采用人到貨揀選方式,揀選過程中貨物不動,由工人到貨架前對貨物進行揀選。人工揀選的大部分時間都浪費在作業人員的行走與尋找貨物的過程中。隨著技術的不斷發展,完全由人工揀選的場景越來越少。本文將詳細介紹目前發展迅速的半自動揀選和全自動揀選方式。
半自動揀選采用貨到人揀選方式,在揀選的過程中工人基本不移動,貨物自動運輸到揀選工人的面前被分類揀選。與人到貨揀選相比,貨到人揀選中作業人員的行走時間和尋找儲位的時間顯著降低,工人的勞動強度大幅度下降,節省了人力成本。同時,貨到人揀選采用立體存儲和密集存儲方式,可實現更高的存儲密度。目前,貨到人揀選技術發展最為迅速,已經普遍應用于電商、圖書、食品、醫藥、服裝等領域[3,4]。
貨到人揀選系統由存儲系統、運輸系統、揀選工作臺3部分組成。目前,大量的研究集中在對存儲系統和運輸系統的開發中,許多成熟的技術已經在實際生產過程中應用。主流的存儲和運輸方式有Miniload貨到人方案、類Kiva機器人貨到人方案、穿梭車貨到人方案、Autostore貨到人方案等[5]。
然而,對于專門針對揀選工作臺的研究卻極少。貨到人揀選工作臺是實現揀選系統與人交互的重要部分。除了滿足揀選作業的基本需求,主要的研究方向集中在對揀選工作臺功能的探索和方便工人揀選設計2個方面?,F有的智能揀選工作臺采用電子標簽、照相、稱重、快速輸送等一系列技術[6],方便了工人在工作臺中的揀選操作。但工人仍需要進行大量的重復性揀選,與揀選系統交互的智能性還不夠高,大部分的工作都是由人類完成,自動化程度有進一步提升的空間。
全自動揀選采用貨到機器人揀選方式,整個過程基本不需要人類參與。其與貨到人揀選相比,揀選工作臺中采用機器人替代人,由機器人完成揀選操作。先通過運輸系統將貨物輸送到工作臺,在工作臺中利用視覺系統來識別貨物,再控制機器人抓取識別到的貨物并放在指定位置。
雖然全自動無人化揀選是揀選技術的未來發展方向,但目前還只是在少量大型企業中應用,未在實際中推廣[7]。主要原因是商品的形狀不規則、存放時存在相互遮擋,機器人實現自動識別與揀取的難度較大。除此之外,全自動生產線成本較高,揀選準確性和可靠性也在一定程度上影響了揀選效率。正是由于這些因素的影響,貨到機器人揀選目前只能應用在固定規格的貨物揀選場景中,對于不規則的貨物揀選還需要進一步的研究。
貨到人由人工進行揀選作業,相對傳統方式節省了工人的行走時間,但工人在工作臺仍進行大量重復的勞動,面對較重的貨物時勞動負擔很大;貨到機器人由機器人自動揀選,由于貨物的不規則性,對機器人的視覺系統和夾具要求很高,難以得到廣泛的應用。
針對貨到人揀選和貨到機器人揀選的不足,結合智能物流中的協同化發展趨勢[8,9],提出了人機協作揀選工作臺的概念。人機協作揀選工作臺由協作機器人與人共同進行揀選,機器人完成簡單物品的揀選,復雜的情況則由人類進行處理。與貨到機器人揀選相比,揀選過程可進行靈活調整,系統的柔性化程度更高,作業能力可進行自主調節。協作機器人揀選工作臺如圖1所示。

圖1 協作機器人揀選工作臺
對人的動作識別是實現人機協作揀選過程中能順暢操作的前提條件。通過對人的動作識別,可提前預知人類操作意圖,既方便機器人協作人類進行下一步操作,又能避免機器人與人發生碰撞,保證作業人員的安全和揀選作業的流暢性。
Kinect V2是微軟公司推出的一款深度相機,由1個RGB攝像頭、1個紅外發射器、1個紅外接收器和數個麥克風組成[10]。Kinect V2由飛行時間技術(Time of Flight,TOF)技術得到深度圖像。TOF技術通過探測設備自身發射紅外光,紅外光在遇到物體后發生反射,接收器接受反射光線,通過計算發射光線和接受光線的時間差就可得到被拍攝物體與探測器的距離,該距離即是物體的深度信息。由深度信息得到人體骨骼關節點三維坐標,并由此得到骨骼圖。
在揀選作業中,工人往往站在工作臺前進行操作,下半身處于被遮擋的狀態。在識別工人動作時,可將重點放在人體上半身的主要關節點上,則能減少無關骨骼點對動作的影響,方便算法對數據的處理,使系統運算時間減少,有利于動作的快速識別。而手指和指尖關節點在實際過程中容易被遮擋,導致數據出現跳動,誤差過大,故不宜將這2種關節點作為特征。綜上所述,選擇12個關節點作為原始特征,如圖2所示。

圖2 上半身骨骼圖
選取合適的特征是進行動作識別的基礎工作,結合揀選場景,所選取的特征應滿足:
1)運動特征對不同類型的動作都能夠完整描述;
2)運動特征對不同的動作要有區分性;
3)應盡量選取容易提取和容易處理的特征;
4)對于不同體型的人和不同的相機位置等外部無關因素來說,特征描述能保持穩定,且對噪聲不敏感。
在選取特征之前,根據人體結構,選取17組人體結構向量,在這些結構向量的基礎上進行特征選擇。選取上肢與軀干部分結構向量共11組,由上半身的各個關節點按照人體結構依次連接而成;連接部分結構向量共6組,由手腕關節分別和脊椎中心、肩部中心連接構成。各人體結構向量與人體骨骼關節點的對應關系如表1所示。

表1 人體結構向量表
1)基于向量角度的特征選擇
由于肢體運動是旋轉運動,可以使用向量的角度變化進行描述。共選取11組人體向量間的角度信息作為特征,如表2所示。主要涉及左右手臂和軀干主體,其中θ1、θ2、θ3、θ6、θ7、θ8用于描述動作過程中左右手臂關節角度變化,θ4、θ5、θ9、θ10用于描述上肢相對于軀干的角度變化,θ11用于描述軀干的角度變化。

表2 人體結構向量夾角表
2)基于向量模比值的特征選擇
肢體在運動時表現出一定的伸縮性,故向量間的模比值也是描述動作時不可忽略的重要參考值。為脊椎中心指向肩部中心的向量,是肩部中心和脊椎中心分別指向左手腕的向量,是肩部中心和脊椎中心分別指向右手腕關節的向量,利用模比值可描述在運動過程中腕關節相對于軀干的位置信息。
4組向量的模比值計算方法為

式中:mi(i=1,2,3,4)為向量相對于向量的模比值。
對一幀圖像中的人體姿態,綜合考慮向量角度與向量模比值特征,選取此15個特征參數來描述動作。用Ri表示第i幀的靜態特征,得到第i幀靜態姿態的15維描述向量為

動作識別過程實際就是對人體動作特征數據進行處理并分類的過程[11]。本文使用了機器學習中的支持向量機算法(Support Vector Machine,SVM)對所選取的動作特征進行分類,動作識別算法流程如圖3所示。

圖3 動作識別流程圖
作為監督學習中的一種典型算法,SVM應用十分廣泛,可用于模式識別、回歸分析及分類等眾多場景[12]。在解決小數據樣本、非線性分類以及高維模式分類問題中,SVM方法表現出獨特的優勢。
對于線性不可分問題,可采用核函數進行非線性變換,將原樣本從低維空間向高維空間中轉換,變線性不可分為線性可分。本文使用的徑向基核函數為

在實際數據集采集過程中,總會存在一些噪聲點,SVM為了把噪聲點也劃分正確,超平面會向另一類的樣本靠攏,使得劃分超平面的幾何間距變小,降低模型的泛化性能。SVM使用懲罰因子C平衡對數據樣本的擬合能力和預測能力。C越大,擬合能力越強、預測能力越弱,容易出現過擬合;C越小,模型復雜度越低、擬合能力越弱,容易出現欠擬合。將問題轉化成為優化問題,通過調整懲罰因子C的值得到最優的結果。
基本SVM算法只能解決二分問題。對于多類別劃分,可在原算法的基礎上增加新的類別,構建出多分類SVM算法。常用的方法有一對多法和一對一法。
對于含有k個類別的樣本數據,一對多法首先選定某1種類為二分類中的一種類,并定為正類;將其余種類自動歸為另一種類,定為負類。由此可得到k個二分類問題,即存在k個SVM分類器。分類時將k個分類器結果中的最大值作為分類結果;一對一法任意選取2個作為1組二分類問題的類別,并設計相應的分類器,因此會產生k(k-1)/2個分類器。面對未知樣本數據時,每一個分類器對分類結果進行投票,最后得票次數最多的類別就是該數據樣本的所屬類別。本文采用一對一法中的有向無環圖法。
在數據集采集過程中,Kinect固定在拍攝架上,距離地面垂直距離約為1.6 m,距離人體水平距離約2 m,向下傾斜30°對人體進行拍攝。利用Kinect Studio V2.0軟件進行采集,采集速率為30 幀/s,每一幀的數據包含36個坐標值數據,依次為關節點0~11的x,y,z坐標,單位為m。
針對揀選活動,本文定義4個揀選動作,分別是:右手拾取、右手移動、左手拾取、左手移動。在執行動作時,為了方便對動作的描述和數據的切割,每個動作的持續時間為1 s左右。由5個人分別執行4種揀選動作,每個動作重復5次。對于每個動作共有25組樣本,隨機選取其中20作為訓練樣本,5組作為測試樣本。
SVM算法需要確定的參數有2個:懲罰因子C、徑向基核函數的參數γ。本文選用粒子群優化方法(Particle Swarm Optimization,PSO)對參數組合(C,γ)進行優化,使算法達到最好的效果。優化時需要確定的參數包括:懲罰參數C的范圍、核參數γ的范圍、局部搜索學習因子c1、全局搜索學習因子c2、初始化種群數量、最大進化代數。
訓練時取C∈[0.1,100],γ∈[0.1,100],初始化為c1=1.5,c2=1.7,種群數量設為20,最大進化代數設置為200。PSO尋優過程如圖4所示,仿真中第200代時達到最大迭代次數,進化終止。此時最優C=6.836 8,最優γ=2.480 7,Accuracy=98.146 8%。

圖4 基于PSO算法的參數優化過程
將優化結果作為訓練好的模型,對測試樣本進行分類,每個動作有5個測試樣本,每個樣本有30個樣本點,故4個動作的測試樣本數為600個,分類得到的混淆矩陣如圖5所示。

圖5 SVM算法動作分類結果
從結果來看,4個動作在測試集上的識別率較高,都超過90%,滿足實際的準確率需求。
由圖5可知,右手移動識別率最高,達到了97%,而右手拾取動作識別率最低,為92%。這是由于右手拾取動作在數據采集時可能會有一部分的站立不做動作,導致識別率相對較低。而且左手拾取與左手移動2個動作容易相互混淆,是因為2個動作在實際操作過程中是持續進行的,動作銜接部分有相似之處,容易導致識別結果出現錯誤。
將本文使用的SVM算法與K最近鄰算法(K-Nearest Neighbor,KNN)對比,識別結果如表3所示。

表3 KNN算法與本文算法準確率對比表
結果表明,本文算法在每個動作的識別準確率上都優于KNN算法,整體識別率達到了94.3%,相比KNN算法準確率提高了7個百分點。
本文面向物流運輸中的揀選作業,提出了一種智能人機協作工作臺方法,并針對人機協作過程中的動作識別問題進行了詳細研究。
1)綜合揀選方式的發展和智能物流中的協同化趨勢,提出了人機協作揀選方法,利用協作機器人輔助人類在揀選臺進行揀選作業;
2)為了實現人機協作中的動作識別,利用Kinect深度傳感器進行動作特征提取,與普通彩色相機相比,Kinect深度相機對外部因素不敏感,對環境適應性強,可滿足大部分工業場景需要;
3)使用支持向量機算法對特征進行分類,在測試集上的準確率達到94.3%,滿足實際需求。
本文所提出的動作識別方法為實現揀選工作臺中的人機協作進行了一些基礎工作,未來的研究可針對人機協作中的任務分配等工作進行。