牟卿志
(濰坊職業(yè)學(xué)院,山東 濰坊 262737)
隨著科技的發(fā)展,機械臂已大量應(yīng)用在常規(guī)生產(chǎn)制造活動中。 傳統(tǒng)機械臂依靠手動編程或示教等方式去實現(xiàn)控制和給定動作的加工,缺少外界感知交互,一旦涉及到復(fù)雜靈活的裝配領(lǐng)域,則在準(zhǔn)備階段需要花費大量時間進行動作規(guī)劃與調(diào)試,不利于效率提升及產(chǎn)線的靈活應(yīng)用。 如何克服上述缺點,實現(xiàn)裝配領(lǐng)域的智能化,一直是業(yè)界研究難點和關(guān)鍵性挑戰(zhàn)。
隨著人機交互的快速發(fā)展,以動作捕捉、體感交互為代表的交互方式,開始受到人們廣泛關(guān)注。 各種類型體感傳感器的研發(fā)問世,使得捕捉人類原始動作學(xué)習(xí)并按策略靈活映射到機械臂進行控制的技術(shù)研究,成為了前沿課題。 國內(nèi)外研究者利用MVN慣性運動捕捉套裝[1]、VICON 光學(xué)運動捕捉套裝[2]、Kinect 動作捕捉設(shè)備[3]等實現(xiàn)了基本動作的捕捉學(xué)習(xí)及在機器人與機械臂上的復(fù)現(xiàn)映射,有效提升了控制的靈活度與有效性。 但上述設(shè)備分隔能力基本以四肢軀干為主,精細(xì)度較差,在復(fù)雜裝配動作的提取指導(dǎo)中指導(dǎo)意義尚顯不足。
Leap Motion 是一款較為新穎的手部信息采集傳感器,能夠以200 幀/s 的速度對手部運動進行追蹤,獲取當(dāng)前手指、手掌、手臂的位置姿態(tài)信息并指定ID,保存在指定幀中。 Leap Motion 進行手部動作傳感識別如圖1 所示。 圖1 中,通過捕獲的手部及臂部運動信息,可以精確提取指尖坐標(biāo)及方向向量信息,建立六維(位置+姿態(tài))手勢識別模型,進而構(gòu)建手勢特征數(shù)據(jù),最終識別精度可達(dá)0.01 mm。 該傳感器提供的信息充實、清晰明確,可對裝配層面的復(fù)雜動作提供有意義的指導(dǎo)[4]。
圖1 Leap Motion 進行手部運動傳感識別Fig. 1 Leap Motion for hand motion sensing recognition
Zubrycki 等學(xué)者[5]使用單個Leap Motion 傳感器實現(xiàn)對三指機械手的操作,通過關(guān)節(jié)角度映射實現(xiàn)了對機械手關(guān)節(jié)角度的控制。 沈赫[6]基于3C 裝配動作的需求,對基于Leap Motion 的人工裝配手部動作軌跡提取方式進行了探究。 張續(xù)沖等學(xué)者[7]對仿人機械臂自然手勢識別進行了實現(xiàn)。 但上述研究基本集中于手部軌跡提取或手勢控制兩者中的一個,并未實現(xiàn)針對工業(yè)裝配的“軌跡運動+裝配動作映射實現(xiàn)”流程環(huán)節(jié)。
本文基于前期與沈赫[6]合作的相關(guān)成果,在進行Leap Motion 性能測試及確定最佳工作空間的基礎(chǔ)上,進一步引入ResNet-50 架構(gòu)的深度卷積神經(jīng)網(wǎng)絡(luò),對具體裝配動作進行映射實現(xiàn),構(gòu)建實現(xiàn)了完整的基于Leap Motion 的智能裝配系統(tǒng),對工業(yè)裝配智能化發(fā)展有一定的借鑒指導(dǎo)意義。
2014年,初代Leap Motion 發(fā)布,Guna 等學(xué)者對該款設(shè)備的識別與定位性能進行了全面測試[8]。實驗結(jié)果表明,Leap Motion 傳感器在合理工作空間范圍內(nèi),靜態(tài)測試標(biāo)準(zhǔn)偏差小于0.5 mm,但當(dāng)測試點位接近傳感器檢測的側(cè)向極限位置或過于遠(yuǎn)離傳感器時,標(biāo)準(zhǔn)差會顯著增加。 Guna 同時指出,Leap Motion 是劃時代意義的手部傳感交互的設(shè)備,然而由于其工作空間內(nèi)檢測性能存在不穩(wěn)定性,以當(dāng)時配置用作專業(yè)的動作捕捉用途尚存在一定困難。
鑒于LeapMotion 近年來一直進行不斷迭代更新,本文前期與沈赫等學(xué)者[6]合作,結(jié)合工業(yè)裝配實際動作特點,對第三代Leap Motion 運動控制器性能進行了測試,以確定最佳工作空間,驗證其在裝配動作獲取精確手部交互信息的可行性,并對整體“軌跡運動+裝配動作映射實現(xiàn)”進行指導(dǎo)。 接著通過選取工作空間內(nèi)的98 個參考點位進行性能測試,圖2 展示了在X - Z投影平面上參考位置點的分布情況,各參考點處標(biāo)識的數(shù)字對應(yīng)其在Y向布置的測試高度。 通過靜態(tài)實驗參考點位圖,可見實驗所布置的參考點位已基本涵蓋整個Leap Motion 的工作空間范圍,可基于上述點位的有效精度表現(xiàn),確定出適合裝配動作檢測的最佳工作空間。 實際性能測試時通過UR5 機器人控制模擬手臂移動至測量網(wǎng)格中的參考點,而后進行靜止測量,每個點獲取4 000幀以上數(shù)據(jù),用于Leap Motion 整體定位能力的實驗分析。
圖2 靜態(tài)實驗參考點位圖Fig. 2 Static experiment reference point map
若以所有參考點在各軸方向的標(biāo)準(zhǔn)差及空間歐氏距離標(biāo)準(zhǔn)差為分析對象,表1 給出在各軸方向及空間歐氏距離處的標(biāo)準(zhǔn)差極值,并求出取得標(biāo)準(zhǔn)差極值處的位置。 可見,各坐標(biāo)軸的標(biāo)準(zhǔn)差最小值為0.031 mm,在(0,15,0)處的X向取得,空間歐氏距離標(biāo)準(zhǔn)差最小值為0.114 mm,在(-5,30,5)處取得。
表1 性能測試標(biāo)準(zhǔn)差統(tǒng)計Tab. 1 STD of performance test
若以X - Z平面為投影平面,給出Y軸不同高度(區(qū)間為150 ~300 mm,各段間隔50 mm)各參考位置點的空間標(biāo)準(zhǔn)差分布如圖3 所示。 由圖3 可以看出,除極個別點位因受干擾或器件因素影響,空間中、尤其是非側(cè)向極限位置處,傳感器的定位精度基本可在0.5 mm 以內(nèi),完全滿足一般的工業(yè)裝配的實際需求。
圖3 參考點位重復(fù)定位誤差Fig. 3 Position repetitive error of reference point
根據(jù)靜態(tài)實驗結(jié)果,本文選取Leap Motion 的工作空間中的一個內(nèi)接長方體部分,作為感知裝配的最佳工作空間。 該長方體在Leap Motion 坐標(biāo)系下的長、寬、 高(x、z、y) 分別位于[-150 mm,150 mm]、[-150 mm,150 mm]、[150 mm,350 mm]范圍,此范圍內(nèi)Leap Motion 可避免接近側(cè)向極限位置,檢測精度較高,且有充足的空間去執(zhí)行裝配運動,可以滿足裝配動作感知的應(yīng)用需求。
在確定合適的工作空間后,需要對空間內(nèi)的裝配動作進行識別,并按一定規(guī)律映射到機械臂的實際運動。 在該部分工作中,本文采用基于視圖軌跡的傳感器數(shù)據(jù)處理+基于深度學(xué)習(xí)的手勢識別與定位的方案進行研究[9]。
用戶使用Leap Motion 傳感器將手勢的運動過程采集為深度圖像數(shù)據(jù)集,建立3D 可視化空間,并對其中每幀數(shù)據(jù)手勢的關(guān)節(jié)點進行識別與劃分,投影到特定的2D 視圖平面上。 在2D 視圖平面上,各關(guān)節(jié)點執(zhí)行的移動軌跡將隨時間推移進行標(biāo)識,時間信息用投影點的顏色強度表示,根據(jù)時間流逝程度,痕跡將逐漸變淡至等于零的透明度值(α值)。該方法可以最大化濃縮成單幅圖像的信息,有助于使深度學(xué)習(xí)策略進行有效的提取識別,同時在一定程度上保持了人類的可理解性。
本文使用VisPy 庫實現(xiàn)手部3D 數(shù)據(jù)可視化,該方法在訓(xùn)練時能夠從屬于LMDHG 數(shù)據(jù)集的文件中獲取關(guān)節(jié)點數(shù)據(jù),在實際使用過程中則可通過流行ROS 框架的Leap Motion SDK 模塊實時獲取關(guān)節(jié)點數(shù)據(jù)。 通過利用關(guān)于手的每個手指、手掌中心、手腕和肘部位置的跟蹤數(shù)據(jù)來創(chuàng)建3D 手骨架。 如果在某個時間手指的整體或部分不可見,Leap Motion API 允許根據(jù)先前的觀察結(jié)果和手的解剖模型來估計手指位置。 手部3D 數(shù)據(jù)向2D 投影過程則根據(jù)空間幾何關(guān)系進行計算。 其示意效果如圖4 所示。
圖4 隨時間變化生成的手勢2D 視圖Fig. 4 2D view of gestures generated over time
在本環(huán)節(jié)中,采用2D 視圖所創(chuàng)建的圖像作為輸入,通過預(yù)先訓(xùn)練的ResNet-50 架構(gòu)的略微調(diào)整版本,對生成的2D 視圖進行合理區(qū)分,輸出將要區(qū)分的手勢類及其中關(guān)鍵點位置。
2.2.1 模型架構(gòu)
對ResNet-50 架構(gòu)進行調(diào)整,刪除最后一個全連接層,并在末端添加新層,新層具有與所預(yù)期分類的手勢類數(shù)量相同的神經(jīng)元節(jié)點(該過程可以使用Fast. ai 庫所提供的API 快速實現(xiàn))。 考慮裝配的過程特點,本文將裝配動作劃分為抓取、移動、抓取+移動、往復(fù)循環(huán)加工四大類,則在ResNet-50 架構(gòu)修改版本中對輸入的2D 視圖進行這4 類的區(qū)分及輸出。 常見裝配動作、以抓取為例2D 軌跡視圖如圖5所示。
圖5 常見裝配動作2D 軌跡視圖-以抓取為例Fig. 5 2D trajectory view of common assembly actions - taking grasping as an example
圖5 中手勢識別的問題以數(shù)學(xué)描述如下。
設(shè)gi是一個動態(tài)手勢,是一組手勢類,其中N標(biāo)識分類手勢的數(shù)量。gi隨時間的變化可以定義為:
其中,τ∈[1,Ti] 定義了大小為Ti的時間窗口中的某個時刻,表示時間τ時gi的幀。 研究中,手勢根據(jù)用戶需求可以在可變的時間窗口上執(zhí)行。動態(tài)手勢分類問題可以定義為找到gi最有可能屬于的類Ch,即找到概率分布P(gi,Ch) 具有最大值的類Ch。
設(shè)Φ是一個映射,可將與手勢gi相關(guān)的空間和時間信息轉(zhuǎn)換為單幅圖像,定義為:
通過這種表示,無論時間窗口大小Ti如何,每個手勢gi都存在一個Ii。 這種新的表示以更緊湊的方式編碼每個手勢的不同時刻τ,并表征了要識別和分類的新數(shù)據(jù)。 然后,分類任務(wù)可以重新定義為:判斷圖像Ii是否屬于某個手勢類Ch,即在任意h中找到概率分布P(Ii,Ch) 具有最大值的對(Ii,Ch)。
2.2.2 模型訓(xùn)練
在現(xiàn)有公開的3D 手部數(shù)據(jù)集中,存在完美執(zhí)行記錄,沒有噪聲或缺失部分的測試性數(shù)據(jù)集[10],該類數(shù)據(jù)集有良好的手勢分類分離作用,有效提升了分類結(jié)果表現(xiàn)。 也存在包括噪音與顫抖在內(nèi)的手勢過程記錄真實性數(shù)據(jù)集[11],該類數(shù)據(jù)集更加貼近實際裝配應(yīng)用場景。
為了盡可能保證在真實場景下的實用性,本文在模型訓(xùn)練過程中,基于呈現(xiàn)1 134 個手勢的LMDHG 數(shù)據(jù)集[10],對其進行篩選,提取其中涉及抓取、移動、往復(fù)循環(huán)加工類似動作、共計203 個手勢,搭配本實驗室采集的包含500 個專用手勢(抓取、移動、抓取+移動、往復(fù)循環(huán)加工)的數(shù)據(jù)集,并對數(shù)據(jù)在生成2D 視圖后采用小樣本數(shù)據(jù)增廣算法,共生成3 000 個樣本,共同構(gòu)成訓(xùn)練集,其中,在抓取手勢中,考慮到不同的夾取方式,分別引入二指夾取、三指夾取和五指抓取進行訓(xùn)練。
根據(jù)本次實驗需求對數(shù)據(jù)集進行了分割,即使用數(shù)據(jù)集1 至2 433 的序列來訓(xùn)練模型(代表數(shù)據(jù)集的~81%),使用2 434 至3 000 的圖像來測試模型(占數(shù)據(jù)集的~30%)。 所有的輸入數(shù)據(jù)均為由手部3D 數(shù)據(jù)生成的2D 投影視圖。 根據(jù)實驗結(jié)果顯示,分類的總體準(zhǔn)確率達(dá)到93.83%。
2.2.3 數(shù)據(jù)映射與輸出
執(zhí)行過手勢分類后,就需要確定不同裝配手勢中的引導(dǎo)性特征位置,以便對智能裝配系統(tǒng)進行引導(dǎo)。 若智能裝配系統(tǒng)搭配的夾爪自由度與人類手部自由度相同,則可將采集的人類手部特征進行尺寸及點位擬合后直接映射至夾爪進行運動復(fù)現(xiàn),若夾爪自由度與人類手部自由度存在差異,則需要擬定特征規(guī)則,用來引導(dǎo)特征位置輔助裝配系統(tǒng)完成動作映射。 特征映射規(guī)則一般根據(jù)實際裝配動作來進行確定。
為驗證算法,在機械夾爪運動與復(fù)現(xiàn)實驗中,定義的特征映射規(guī)則與部分特征位置見表2。 特征位置根據(jù)二指、三指、五指裝夾方式進行單獨設(shè)定。
表2 裝配動作數(shù)據(jù)的映射規(guī)則Tab. 2 Mapping rules for assembly action data
在V-REP 環(huán)境中,本文研究采用UR5 機械臂搭配機械夾爪進行仿真實驗,通過采集人類“抓取+移動+釋放”動作,采用二指裝夾、三指裝夾、五指裝夾的方案進行裝配,將指定手勢動作按規(guī)則映射至機械夾爪中,指導(dǎo)機械夾爪將夾塊從初始位置A、途經(jīng)中間點Ai、Bi裝夾到裝配位置B的動作的復(fù)現(xiàn),整體流程如圖6、圖7 所示。
圖6 V-REP 仿真實驗平臺Fig. 6 V-REP simulation experimental platform
圖7 裝配軌跡在V-REP 平臺的映射與復(fù)現(xiàn)Fig. 7 Mapping and reproduction of assembly trajectory on VREP platform
驗證裝配精度,以裝配位置B的理想幾何中心作為參考位置,以機械臂運行裝配后夾塊幾何中心作為實際位置,得到不同手勢下的理想位置與實際裝配位置的平均誤差與最大誤差,見表3。
表3 不同裝配動作精度誤差與成功率Tab. 3 Precision error and success rate of different assembly actions
由表3 可知,在二指裝夾實驗中,平均誤差約為0.23 mm,最大誤差為0.87 mm,基本符合工業(yè)裝配的精度要求,總體成功率為94%。 三指裝夾映射與五指裝夾映射實驗平均誤差則分別增大至0.41 mm和0.83 mm,且最大誤差相較二指裝夾映射增加1.86倍與2.94 倍,成功率分別降至82%與64%。
探究原因,主要是由于二指裝夾映射實驗時,人類裝配動作關(guān)鍵部位(拇指+食指)數(shù)據(jù)采集清晰,冗余信息較少,同時數(shù)據(jù)映射方案定義明確,故取得較好的裝配結(jié)果,三指裝夾映射實驗次之。 而在五指裝夾實驗中,由于實驗?zāi)繕?biāo)對象是小型的夾塊,五指夾取不符合人類常規(guī)的抓取方式,且映射方案為由人類五指映射至二指機械夾爪,部分手指數(shù)據(jù)成為引起誤差的冗余信息,故其成功率與裝配精度均有所下降。 若換裝與人類手部相同自由度夾爪并優(yōu)化數(shù)據(jù)映射方案定義,或者夾取對象為符合五指抓取規(guī)律的較大夾塊,則可能數(shù)據(jù)精度將有所提高。
本文基于Leap Motion 手勢交互傳感器,構(gòu)建了一種輕巧、非接觸式測量的智能裝配系統(tǒng)方案,用以指導(dǎo)機械臂裝配動作的自動實現(xiàn)。 本方案在確定Leap Motion 性能并采集人工裝配數(shù)據(jù)后,采用基于視圖軌跡的傳感器數(shù)據(jù)處理和基于深度學(xué)習(xí)的手勢識別與定位完成裝配動作的機械臂復(fù)現(xiàn)。 實驗結(jié)果證明,該種方案可以應(yīng)用于較復(fù)雜的動作,在進行的二指裝夾裝配實驗中,平均誤差約為0.23 mm,滿足現(xiàn)代工業(yè)裝配應(yīng)用需求,大幅提升裝配效率。 但實驗同時表明,本方案的精度較為依賴特征映射規(guī)則與特征位置的定義,若后續(xù)針對不同裝配動作與裝配物料特點,如何對特征映射規(guī)則與特征位置的定義進行優(yōu)化,是需要進一步考慮的研究工作。