?

基于手勢交互的機械臂軌跡示教系統

2021-09-06 11:49花傲陽
軟件工程 2021年8期
關鍵詞:機械臂人機交互機器視覺

摘? 要:為了解決傳統機械臂示教方式上手難度高、效率低、人機交互系統不友好的問題,結合機器視覺與神經網絡,提出一種基于手勢交互的機械臂軌跡示教系統。該系統通過機器視覺定位指尖位置,記錄下指尖的運動軌跡并將其用于機械臂的軌跡示教;通過卷積神經網絡識別靜態手勢,用于與機械臂進行如抓取、放置、開始示教等動作的人機交互。系統通過ROS(機器人操作系統)與機械臂通信,驅動機械臂完成示教軌跡的復現。通過設計實驗對系統的性能進行評估,結果顯示本示教系統具有編程難度低、易用性好、項目部署周期短的優點,可用于復雜軌跡的示教工作,極大地提升了機械臂示教工作的效率。

關鍵詞:機械臂;軌跡示教;機器視覺;神經網絡;人機交互

中圖分類號:TP391.4? ? ?文獻標識碼:A

Manipulator Trajectory Teaching System based on Gesture Interaction

HUA Aoyang

(College of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200082, China)

huaaoyang@126.com

Abstract: Aiming at the problems of difficulty to learn, low efficiency and unfriendly human-computer interaction system in traditional manipulator teaching methods, this paper proposes to establish a gesture interaction-based manipulator trajectory teaching system combining machine vision and neural network. Fingertip position is located through machine vision, and the movement trajectory of the fingertip is recorded and used for teaching manipulator trajectory. Convolutional neural network is used to identify static gestures, which are used for Human-computer interaction with the manipulator's actions, such as grasping, placing, and teaching. The system communicates with the manipulator through ROS (Robot Operating System), and drives the manipulator to complete the reproduction of the teaching trajectory. The performance of the system is evaluated through experiment designing. Results show that this teaching system has the advantages of low programming difficulty, user-friendliness, and short project deployment cycle. It can be used for teaching complex trajectories, which greatly improves teaching efficiency of the manipulator.

Keywords: manipulator; trajectory teaching; machine vision; neural network; human-computer interaction

1? ?引言(Introduction)

近年來,我國制造業發展經歷了從制造大國向制造強國的轉型升級。機械臂是現代工業生產管理過程中的重要組成部分,由于機械臂具有工作精度高、重復能力強、能在惡劣的環境下進行操作等優點,被廣泛應用于零部件的焊接、噴涂、裝配等工業任務中。目前,機械臂主要包含在線示教及離線示教兩種示教方式。在線示教主要通過示教盒進行逐點位示教或直接拖動機械臂示教;離線示教主要是用計算機輔助設計軟件制作三維模型,并導入各機械臂廠家的仿真軟件中進行軌跡示教[1]。傳統示教方法具有操作復雜、人機交互的友好性不高、不同品牌操作方式不同、示教精度依賴于工人熟練度等缺點,因此提出一種簡單高效的機械臂示教辦法是當前機械臂研究的熱點與難點。

隨著機器學習和機器視覺技術的發展,機械臂演繹編程為人機交互提供了新的解決辦法,是降低機械臂示教復雜性的重要途徑[1]。機械臂演繹編程是通過對人的示教動作進行觀測、學習,從而自動生成程序及運動軌跡的過程,具有難度低、人機交互便捷、操作靈活等優點。本文將手勢交互與機械臂軌跡示教相結合,開發了一個利用手指進行軌跡示教,基于手勢識別進行人機交互的機械臂示教系統。本系統通過相機獲取圖像,基于卷積神經網絡的手勢識別模塊識別不同的輸入手勢以實現人機交互?;跈C器視覺的指尖識別模塊可以準確地識別指尖的位置,將其生成的軌跡用于機械臂的軌跡示教,此方法具有上手簡單、人機交互友好、軌跡準確率高等優點,在示教復雜軌跡時能極大地提高工作效率。

2? ?示教系統的設計(Design of teaching system)

根據機械臂在日常生產中的應用場景,本示教系統由指尖識別、手勢識別兩個部分組成。首先通過相機獲取圖像數據,接著對圖像進行濾波降噪處理。圖像處理模塊用于識別、跟蹤指尖的軌跡,手勢識別主要用于與機械臂進行人機交互。最后根據指尖的路徑、示教過程中的手勢以及機械臂手眼標定后得到的各項參數生成機械臂的運動軌跡。系統的流程圖如圖1所示。

3? ?運動指尖識別(Movement fingertip recognition)

本系統是從視頻中獲取動態的指尖點軌跡,因此需要將移動的手指作為前景從靜態的背景中分割出來,常見的運動物體的分割方法有幀間差分法以及背景消除法。由于幀間差分法不能提取運動物體的完整區域,存在較大的空洞,移動速度的快慢也會影響運動物體的提取質量,而背景消除法對運動速度不敏感且穩定性高,因此更加適合運動物體的準確提取。

3.1? ?背景消除

背景消除法是把當前圖像與背景圖像作差分,通過設置差分后圖像的閾值,將視頻中運動的物體作為前景提取出來[2]。背景消除的流程如圖2所示。

若為t時刻的一幀圖像,為背景模型,為背景消除后的圖像,T為固定閾值,那么在t時刻背景分割的公式為:

(1)

運動物體的提取效果十分依賴背景模型的建立,如何獲取一個高質量的背景模型,是背景消除法的關鍵和難點。常見的背景消除法有基于混合高斯模型背景的減除法(GMM)、基于鄰近算法(KNN)的背景分割算法、平均背景法等。由于平均背景法具有工作原理簡單、可靠性高等優點,故本系統采用平均背景法進行背景消除。平均背景法是通過累加足夠幀數的圖片,計算每個像素的平均值及其平均差得到背景的統計模型,通過設置合理的高低閾值,來分割圖像的前景與背景。實驗中原圖像與分割后得到的前景圖像如圖3所示。

3.2? ?指尖檢測

從視頻中獲取前景之后,由于前景圖片存在一定的噪聲,因此首先需要對其進行開運算、閉運算、濾波等操作以減少噪聲,隨后對指尖部位進行定位。目前常用的手部定位提取方法有基于膚色分割的手部提取、基于深度相機的深度閾值提取。本系統利用背景差分所得的前景圖像,基于輪廓查找及凸包算法對指尖定位。其主要算法流程如圖4所示。

3.2.1? ?圖像的預處理

為了抑制圖像中的噪聲,本系統采用中值濾波、形態學算法來處理圖像。中值濾波是將像素替換為圍繞這個像素的矩形框內的中值像素,常用于去除圖像中的椒鹽噪聲。圖像形態學算法主要使用開運算、閉運算,開運算是對圖像先進行腐蝕然后膨脹,主要用于消除圖像中小的噪聲;閉運算是將特征區域先進行膨脹然后腐蝕處理,可以填充特征區域內部的細小空洞。

3.2.2? ?基于手部輪廓檢測與凸包算法的指尖提取

在基于中值濾波及形態學處理之后,下一步就是提取手部輪廓,進而利用凸包算法找到指尖點。本系統利用OpenCV(計算機視覺公開庫)中的findContours函數進行輪廓查找,通過提取最長的輪廓線來確定手掌區域;接著用凸包算法將找到的輪廓用點連接起來構成一個凸多邊形;最后通過尋找凸多邊形各個點中縱向像素值的最小值來確定指尖點的位置。手的輪廓圖與手部的凸多邊形如圖5所示。

4? ?基于神經網絡的手勢識別(Gesture recognition based on neural network)

人機交互功能是決定一個系統“友善”程度的重要指標,常見的人機交互方式包括鼠標鍵盤輸入、觸屏點擊、語音識別等??紤]到在機械臂示教過程中使用鼠標鍵盤等設備進行人機交互所帶來的不便,本系統開發了一套基于機器視覺和卷積神經網絡的手勢識別模塊作為人機交互的接口。通過手勢可以控制機械臂示教的開始與結束,以及物體的抓取與放置功能,提升了本系統的人機交互能力與操作的便攜性。

4.1? ?手勢識別方案設計

本系統的手勢識別模塊共分為四個步驟:(1)通過相機采集圖像,并將手勢識別區域中的手勢分割出來。(2)通過圖像濾波處理去除噪點,向下采樣制作訓練用的數據集。(3)訓練神經網絡。(4)采集圖像信息。(5)輸出手勢結果。根據系統在實際工作中的需要,本系統共設計了四個不同的手勢分別對應停止示教、開始示教、抓取與放置四個功能。四個手勢如圖6所示。每個手勢經過分割、濾波、下采樣的操作以后,得到32×32像素的灰度圖片。

4.2? ?卷積神經網絡的設計與訓練

本系統采用LeNet-5網絡結構進行手勢識別。LeNet-5是一種經典的七層卷積網絡結構,用于手寫數字識別且取得了令人矚目的成績,是最早用于圖像識別的卷積神經網絡[3]。該網絡由兩個卷積層、兩個池化層,以及三個全連接層組成。整個網絡的結構圖如圖7所示。

卷積神經網絡相對于傳統圖像處理的手勢識別算法具有提取圖像特征效率高、分類準確率高、分類速度快等優點,一般包含輸入層、卷積層、池化層以及全連接層四個部分。卷積層和池化層是用于提取圖像特征的核心模塊[4]。卷積層通過卷積核與所對應的圖像區域進行卷積提取圖片的特征。本系統的神經網絡包含兩個卷積層,卷積核的數量分別為32 個、64 個。由于卷積核的大小對分類的結果具有較大的影響,采用較大的卷積核會導致手部特征喪失,較小的卷積核又會降低網絡訓練、識別的效率[4],因此為了保留盡可能多的圖形特征同時兼顧網絡的運算速度,本系統對兩個卷積層分別使用5×5、3×3大小的卷積核,提高了網絡的性能[2]。

卷積運算提取到的圖像特征是線性的,但真正的樣本往往是非線性的,為此引入非線性激活函數來解決,使得每個像素點可以用0—1的任何數值來代表,模擬更為細微的變化。激活函數一般具有非線性、連續可微、單調性等特性。本系統卷積層采用ReLu激活函數。ReLu激活函數的表達式為:

(2)

池化層主要用于壓縮圖像的大小,提取圖像的主要特征,簡化網絡的計算。池化對輸出的上層進行下采樣的過程,會減少參數矩陣的尺寸并保留有用的信息,從而減少最后全連層中的參數數量。池化常用的方式一般有兩種,分別為最大池化與均值池化,本文采用卷積核大小為2×2的最大池化采樣,抑制了網絡的過擬合,提高了模型的非線性映射能力[5]。

全連接層居于整個網絡的尾部,是卷積神經網絡的“分類器”,在卷積層與第一層全連接時,卷積、池化所產生的特征圖會被展開為一維的特征向量,后面的全連接層的每個神經元都與所有上層神經元相連[6],將前面層級所提取到的特征進行非線性組合得到輸出。全連接層的表達式為:

(3)

式中,x為輸入的值,w為每個輸入所對應的權重系數,b為偏置項,是一個常數。全連接層連接所有特征輸出至輸出層,輸出層使用歸一化指數函數輸出分類的結果標簽[2]。

5? ?實驗驗證(Experimental verification)

為了對本示教系統性能進行評估,本節設計了傳統示教方法與使用本系統示教方法的對比實驗。通過記錄機械臂的軌跡、示教所需的時間以及使用者在示教過程中的滿意程度等,從效率、精度、易用性等三個維度與傳統的用示教盒示教作對比,以驗證本系統的優越性,同時發現它的不足之處。

5.1? ?示教系統平臺搭建

實驗的硬件組成包含一部相機、一臺機械臂、一臺預裝Ubuntu 16.04操作系統以及ROS(機器人操作系統)的筆記本電腦。在使用系統進行示教前需要先完成相機標定、機械臂與相機間的手眼標定以及示教系統與機械臂的通信[7]。手勢示教的流程是首先加載卷積神經網絡訓練好的手勢模型,接著由工業相機實時采集示教的畫面,操作者用右手在示教區域進行示教,系統會實時捕獲手指指尖的位置。左手在手勢識別區域進行人機交互,通過手勢來控制機器人完成開始示教、停止示教、物體的抓取與放置等操作。搭建實驗平臺的設計圖如圖8所示。

5.2? ?實驗設計

本實驗的方案為:在實驗臺上平鋪一張A4大小的白紙,在紙上畫一個矩形,分別使用傳統的示教盒以及本示教系統對同一軌跡進行軌跡示教,兩種示教方法如圖9所示。示教結束后,機械臂會復現示教的軌跡,與此同時,機械臂末端的筆會在白紙上記錄下機械臂的運行軌跡。最后,分別對這兩種示教方法進行評估,通過測量在特定點位的位置偏移量來評估示教的精度,通過測量示教所需的時長來評估示教的效率,通過不同操作者的調查問卷對示教系統的易用性進行評價[8]。

5.3? ?實驗結果分析

本次實驗共安排了四名同學分別用兩種示教方式進行軌跡示教,在軌跡上取若干個采樣點,記錄在每個采樣點實際軌跡與理想軌跡的平均偏移量、最大偏移量以及每次示教所需的總時長。使用示教盒示教產生的相關數據詳情如表1所示。

使用本系統示教產生的相關數據詳情如表2所示。

通過對比兩種編程方式所用的總時長以及最終實際軌跡與理想軌跡之間的偏差,可以得出以下結論:傳統的方法需要在逐點位示教之后才能生成一段完整的軌跡,對新手操作者來說易用性不高且操作煩瑣。本系通過手勢即可與機器人交互,借助滑動手指即可完成示教,具有操作簡單、效率高等優點。另一方面,本系統無論在平均誤差還是最大誤差方面,對比傳統方法都是不盡人意的[9],除了操作者由于操作產生的隨機誤差以外,相機標定時所帶來的相機標定誤差、用手眼標定來確定機械臂與相機位置關系所產生的位置誤差、機械臂生產制造以及日常磨損產生的誤差等都使得規劃的軌跡誤差偏大[4]。因此,后期研究可以采用精度更高的相機標定算法、手眼標定算法及機械臂誤差補償算法來減少系統誤差。

6? ?結論(Conclusion)

使用傳統的示教方法進行示教存在費時費力、專業基礎要求高、人機交互性能差等問題,這些缺點阻礙了機械臂進一步的發展。為了解決上述問題,本文基于機器視覺及機器學習提出了一種簡單高效的機械臂示教系統。該系統利用背景消除法、輪廓檢測法以及凸包算法識別并追蹤手指的位置,將手指的位置點轉換為機械臂的運動軌跡。為了便于人機交互,本系統搭建了基于LeNet-5的視覺手勢交互模塊,設計了四種交互手勢用于與機械臂進行人機交互。該網絡具有95.8%的識別準確率,友好的人機交互接口降低了機器人示教的上手難度,提高了示教的效率。最后通過與傳統的示教盒示教作比較,驗證了本系統在保證軌跡精度的同時具有更高的工作效率以及更簡潔的操作邏輯。

參考文獻(References)

[1] 李致豪.基于視覺手勢交互的協作機器人示教系統研究[D].長春:長春工業大學,2020.

[2] 李炳臻,劉克,顧佼佼,等.卷積神經網絡研究綜述[J].計算機時代,2021(04):8-12.

[3] 周忠祥,胡晉,王越,等.機器人演示編程技術的研究進展[J].自動化博覽,2020,37(06):48-57.

[4] 張宏達.基于球桿示教筆的機器人軌跡演示編程系統研究[D].哈爾濱:哈爾濱工業大學,2020.

[5] 段中興,白楊.結合深度學習的機器人示教系統設計[J].計算機測量與控制,2020,28(11):164-169.

[6] 譽洪生.面向工業裝配演示編程的動作識別[D].杭州:浙江大學,2017.

[7] 葉必鵬.基于視覺的多機器人室內協同SLAM算法的研究與實現[D].哈爾濱:哈爾濱工業大學,2018.

[8] HU H S, ABDUI S. Static hand gesture recognition using neural networks[J]. Artificial Intelligence Review, 2014, 41(2):147-181.

[9] SUN P, FREUND R M. Computation of minimum-volume covering ellipsoids[J]. Operations Research, 2014, 52(5):690-706.

作者簡介:

花傲陽(1995-),男,碩士生.研究領域:圖像處理.

猜你喜歡
機械臂人機交互機器視覺
機械臂平面運動控制與分析
某型柴油機虛擬維修系統研究
機械臂工作空間全局相對可操作度圖的構建方法
大場景三維激光掃描儀在研究生實踐教學培養中的應用
人機交互課程創新實驗
基于機器視覺的工件鋸片缺陷檢測系統設計
基于機器視覺技術的動態“白帶”常規檢測系統的開發
機器視覺技術在煙支鋼印檢測中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合