方赟,李石朋,2,王娟
(1.中國國際海運集裝箱(集團)股份有限公司,廣東深圳 518067;2.浙江大學機械工程學院,杭州 310058;3.華南理工大學自動化科學與工程學院,廣州 510641)
近年來,以高速視頻流提供的圖像為控制信息的視覺伺服得到了廣泛的研究[1-3],一方面通過視覺傳感器機器人可與環境進行更豐富圖像交互,擴展機器人的應用領域;另一方面隨著工業4.0的發展,小批量、多圖像、可重構的工業制造模型要求機器人具有自主感知、自主決策等功能,這也對機器人結合視覺信息的綜合能力提出了更高的要求[4,5]。機器人視覺伺服技術區別于傳統的視覺引導或視覺定位,以能對高速視頻流圖像信息做出實時反饋為特點,為機器人的應用提供了靈活多變的技能基元。在伺服圖像進行的過程中,原始的視頻流圖像信息并不能直接為機器人指令使用,需要經過一系列的圖像處理過程,如分割、銳化、邊緣提取等預處理步驟[3]。在當前的視覺伺服研究概念下,為保證機器人能夠更多地獲取有效信息和較大的工作范圍,一般都會采用大視野的高清工業相機作為視覺傳感器,而高質量的圖像為機器人帶來豐富環境信息的同時,也必定給圖像處理單元帶來更高的負載要求,因此,能否對高速高清的目標圖像完成實時的視覺伺服處理過程,是制約以視覺圖像為控制信號的機器人控制系統操作精度和實時性的關鍵因素[6,7]。
目前大多數工業機器人受尺寸、成本、能耗等方面的影響,工業機器人的自身資源往往是局限的,工業機器人提供的本地計算資源無法滿足實時處理信息密集型圖像的需求,因此為視覺伺服系統提供更強大的圖像處理能力成為解決這一問題的可靠思路。隨著計算機技術的發展,云計算為工業機器人提供了強大的計算服務,解決了工業機器人資源受限的難題。然而,具有遠程部署屬性的云服務器無法滿足延時敏感任務的實時性要求,同時增加了通信網絡的壓力,導致了更高的網絡延時,無法從根本上解決上述視覺伺服圖像中高速視頻流圖像處理過程的瓶頸問題,針對該問題,一種新型計算資源——“霧計算”被提出[8,9]。作為云計算的擴展與提升,霧計算將云計算服務遷移至網絡邊緣,通過在終端設備或者數據源附近部署一定數量的霧節點進而完成霧計算平臺的搭建。為了實現面向工業機器人的實時、高效處理目標,通過霧計算為工業機器人制定有效的解決方案,近距離、分布式部署的霧節點彌補了工業機器人計算資源不足的缺點,通過在霧節點建立不同的應用模塊、算法,為工業機器人提供多粒度、多模式計算服務。
本文以改善高清視頻流圖像實時處理能力為目標,從“系統架構與模型-算法設計-實驗結果驗證”3個主要維度對基于霧計算的工業機器人視覺伺服系統圖像自適應實時處理相關技術開展一系列研究,主要貢獻如下:
(1)分析了工業機器人視覺伺服系統實時性能限制要素,建立起以視覺傳感器-霧服務器-控制器-機器人的基于霧計算的圖像處理模型,充分利用近距離、分布式的霧計算特點,提高視覺系統圖像處理速度;
(2)研究了不同速度和大小視頻流情況下對視覺伺服系統實時性的影響,在考慮機器人視覺系統實時性的同時考慮了系統計算資源的合理分配問題,根據不同的計算負載要求設計出自適應實時圖像處理算法;
(3)通過實時的自適應圖像處理資源管理,針對不同的任務需要自動配置計算負載,提高了在高速高分辨率視頻流情況下視覺系統的圖像處理能力,從而提高以圖像為控制信號的為機器人控制精度和速度。
視覺伺服系統的實質是根據目標位置與當前位置的函數誤差來計算機器人控制器反饋指令[10],基于反饋信號的不同分為基于圖像的視覺伺服IBVS(Image-Based-Visual-Servoing),基于位置的視覺伺服PBVS(Position-Based-Visual-Servoing),以及結合兩者特點的混合視覺伺服HBVS(Hybrid-Based-Visual-Servoing)。其中IBVS的目標函數中所選擇的控制信號是純粹的圖像信息,IBVS相比于PBVS控制結構更為簡單,只需要對圖像信息進行比較而不需要進行三維重構,其對環境噪聲也有更高的魯棒性[11],因此基于圖像的視覺伺服系統架構也得到了更多研究者的關注[13,14],其基本結構如圖1所示。

圖1 基于圖像視覺伺服系統架構
如圖1所示,對于虛線內的主要耗時模塊,當前視覺伺服系統主要通過上位機進行處理,無論當前需要處理圖像的大小和頻率如何,在完成一個視覺系統的配置后,在該視覺系統進行的所有計算圖像均由此單一設備節點完成,不能根據圖像的需求進行靈活布置,這樣的資源分配機制有著較大的隨機性,不能保證系統能夠得到足夠的計算需求。針對這一問題,本文設計了如圖2所示的基于霧計算的視覺伺服實時圖像自適應處理控制模型。
在圖2中,視覺傳感器針對不同的工作環境獲取到不同幀率和不同大小的目標圖像,霧服務器會根據目標圖像的大小和幀率,結合圖像算法所需提取的特征值計算出各情況下所必須的圖像負載,并自動分配硬件資源,在保證滿足計算要求的情況下完成機器人控制器基于視覺信息的指令。這種基于霧計算的視覺伺服圖像自適應處理模型可以實時完成系統的圖像處理圖像[15],能夠很好的適應不同的應用環境,尤其針對多視覺信息來源或多控制圖像的視覺伺服系統,以及工作環境復雜的視覺圖像。以下根據上述圖像需求進行實時資源分配算法的設計。

圖2 基于霧計算的視覺伺服實時圖像自適應處理控制系統架構
根據基于霧計算的視覺伺服實時圖像自適應處理控制模型建立系統模型,系統模型中部署了多臺工業機器人和多個霧節點。F表示霧節點集合,F={F1,F2,…,Fn,…,FN},霧節點Fn的計算能力記為Cn;I表示一個圖像集合,I={I1,I2,…,Im,…,IM},圖像Im的屬性可模型化為三元組(Cm,Tm,max);Cm表示圖像Im需要的計算資源量,Tm,max表示圖像Im的最大容忍時間。由計算資源選擇系統模型得知,每個圖像可以從N個霧節點中選擇一個霧節點來完成處理。對于圖像Im,其在霧節點Fn下的時延記為Tnm、能耗記為Enm。
計算資源選擇策略的優化目標為最小化圖像處理時延,目標函數如式(2)所示:

其中,“1)”和“2)”為計算資源選擇決策變量約束條件,即每個圖像只能選擇一個計算資源,“3)”為每個計算資源的約束條件,“4)”為每個圖像的時延約束條件。
在本部分內容中,通過在霧服務器中設計計算資源選擇模塊實現自適應計算資源選擇。對于每個圖像來說,存在多個計算資源可供選擇,每個計算資源具有不同的性能與優勢。在霧計算平臺中,異構圖像通過選擇不同的計算資源來完成處理。然而,圖像的復雜度、實時性需求給計算資源選擇帶來了挑戰。計算資源選擇是實施霧計算的關鍵,也是實現圖像高實時、高能效、高可靠處理的有效途徑[16,17]。通過自適應計算資源選擇算法為異構圖像制定最優的計算資源選擇方案,從而滿足視覺伺服任務的高實時、高能效、高可靠性能需求。自適應計算資源選擇策略的主要功能是在現有計算資源條件下,為當前需要處理的圖像制定最優的計算資源選擇方案,從而實現圖像高實時、高能效、高可靠處理的目標。本文所提出的自適應計算資源選擇過程示意圖如圖3所示。

圖3 自適應計算資源選擇過程示意圖
圖3展示了自適應計算資源選擇的詳細流程,描述如下:(1)當圖像傳感器獲取到系列圖像時,圖像處理模塊發送計算資源選擇服務請求到霧服務器以獲取選擇策略;(2)圖像處理模塊接收到來自霧服務器的計算資源選擇服務響應后,會發送圖像相關信息到霧服務器,包括圖像大小、采集頻率以及實時性要求;(3)霧節點向霧服務器發送各自的相關信息,其中包括工作狀態、可用計算資源等;(4)在霧服務器中運行計算資源選擇算法,為所有的圖像制定最優的計算資源選擇方案,得到每個圖像的計算資源選擇集合Φ,Φ表示圖像的計算資源選擇集合;(5)在圖像處理單元收到計算資源選擇集合Φ后,根據Φ將不同的圖像發送至相應的計算資源上;(6)霧節點在接收到圖像參數后執行一系列操作,最后將圖像處理結果發送至原工業機器人。
根據自適應計算資源選擇問題,為了有效地取得全局最優解,本文將遺傳算法GA(Genetic Algorithm)應用在自適應計算資源選擇問題求解中,提出了一種基于GA的自適應計算資源選擇算法,該算法可根據霧計算資源為異構圖像制定最優的計算資源選擇方案,以達到實現優化目標的目的,基于GA的自適應計算資源選擇算法如表1所述。

表1 基于GA的自適應計算資源選擇算法
本部分內容是針對上述算法理念的驗證,即基于霧計算的視覺伺服實時自適應控制系統對傳統控制方法的下機器人控制性能的影響。視覺伺服平臺如圖4所示,其中機器人為Franka Emika,內部通訊周期為1 ms;圖像傳感器為Basler Ac-640,分別設定傳感器圖像采集頻率為30 Hz、50 Hz、80 Hz、100 Hz、120 Hz,圖像分辨率大小分別為640×480,800×600,1 024×768,1 280×960,1 600×1 200。

圖4 基于圖像的視覺伺服實驗平臺
首先利用傳統圖像處理方法對圖像進行處理,對不同分辨率和不同采集頻率的圖像分別進行100次左右的采樣計算,對比方法在單位時間內(以s為單位)不同頻率和不同分辨率情況下處理結果如表2所示。如“46-49”類型數據表示每秒可處理數量,反應了視覺系統每秒最多迭代周期次數。

表2 對比方法單位時間內圖像處理結果
從表中可以看出在固定計算負載時,視覺系統只有在低傳感器頻率,低分辨率的情況下才能夠實時完成圖像處理過程,在采集頻率增加(大于50 Hz),或圖像分辨率增大(大于1 024×768)時會開始出現嚴重的計算時延,造成計算任務不能順利完成,如在120 Hz采集頻率1 600×1 200分辨的時候只能完成目標數量的10%,將會導致視覺伺服任務的失敗。這樣的計算控制系統只能以低分辨率低頻率的傳感器作為系統圖像采集單元,這顯然不能滿足視覺伺服對機器人高精度高速度的控制目標要求。
圖5為選取表2中1組具有代表性數據,原始實驗數據繪制的單位時間內圖像處理數量變化折線圖,橫坐標為不同的相機采樣頻率,縱坐標為單位時間內系統可處理圖像數量,圖中例如“640×480”的表示為圖像分辨率。從圖中可以看出圖像采集頻率越高,圖像分辨越大,單位時間系統能處理的圖像數量越少,這直接限制了視覺伺服系統的性能,可得到與表中相同的結論。

圖5 對比算法單位時間內圖像處理數量變化圖
本文利用基于霧計算的實時自適應控制系統再次對視覺伺服系統進行測試,單位時間內系統能夠處理的不同頻率和不同分辨率下的圖像數量如下表所示,從表3中可以看出該自適應控制系統能夠實時的調整系統計算資源,提高系統對高分辨率高采集頻率圖像傳感單元的處理能力,根據前言部分的介紹,該方法能夠提高視覺伺服系統的實時性和精度,驗證了本文觀點。

表3 本文方法單位時間內圖像處理結果
圖6為根據表3中1組具有代表性的原始數據繪制的單位時間內圖像處理數量變化折線圖,從圖6種可以看出,在本文提出的基于霧計算的自適應圖像處理算法的幫助下,視覺伺服系統能夠較大的幅度的提高單位時間內對高分辨率和高頻率圖像的處理能力,即對視覺伺服系統的控制精度和實時性都有明顯的促進作用,驗證了摘要中本文的觀點。

圖6 本文算法單位時間內圖像處理數量變化
在機器人本身的控制性能趨于成熟的情況下,對以視覺信號為控制指令的視覺伺服系統一個研究關鍵任務即實時目標圖像的提取。高速高清的圖像信息給能給機器人系統帶來豐富的環境信息,有利于人、機、環境的三方交互,是未來發展的一個重要方向;而一個包含有豐富目標信息的圖像,同時也包含了豐富的與目標無關的信息,為提高控制的實時性,有必要最大程度提高單位時間內圖像的刷新頻率,這些因素直接關系著機械臂末端控制的精度和實時性,因此在不考慮圖像本身預處理算法的情況下首先需要解決的問題即系統大量計算任務的負載問題。本文根據分布式霧計算實時計算的能力優勢,并結合機器人視覺伺服系統的特點設計了基于霧計算的視覺伺服圖像實時自適應處理系統,使機器人視覺伺服系統不僅對普通信號源的圖像信息能夠快速處理,同時對高頻率高清度的視頻流能夠根據目標需要進行資源分配,在一定程度上實現了機器人高速高精的視覺控制目標。
傳統的視覺伺服系統一般只配備一臺上位機作為圖像處理單元,隨著高清高速視頻流對圖像處理單元計算負載要求的提升,這以思路從本質上限制了機器人的控制效果。另外,根據作者長期對機器人視覺伺服系統的研究發現,越來越多的研究者將云計算、霧計算以及邊緣計算等方法于傳統的機器人控制結合,從圖像處理本身之外尋找更有效的方法提高機器人視覺系統性能指標的同時,實現有限計算資源的合理分配,這將是會機器人視覺伺服系統未來發展的趨勢。