丁武臣
摘? 要:為解決工業(yè)機器人成本高、開源性差、維護難度大的問題,本文利用機器視覺、深度學(xué)習(xí)、路徑規(guī)劃等技術(shù)探索機器人智能抓取實驗系統(tǒng)設(shè)計,實現(xiàn)機器人智能識別、定位和抓取等功能。經(jīng)驗證,該系統(tǒng)具有靈活性好、可靠性高、易維護等優(yōu)點,解決了成本高的問題。
關(guān)鍵詞:機器人;視覺;抓取;系統(tǒng)設(shè)計;深度學(xué)習(xí)
ROS機器人操作系統(tǒng)具有開源的優(yōu)勢,豐富的資源為機器人開發(fā)提供了便利條件。本文借助ROS平臺開發(fā)了基于機器視覺的機器人系統(tǒng),對機器人進行運動路徑規(guī)劃,并實現(xiàn)對目標(biāo)工件的識別與抓取。
1系統(tǒng)整體框架設(shè)計
機器人系統(tǒng)整體框架主要包括圖像輸入與識別定位系統(tǒng)、主從機控制和執(zhí)行機構(gòu)等[1]。機器人采用串聯(lián)結(jié)構(gòu),具有6個自由度,包括5個機器人關(guān)節(jié)和一個末端夾爪,該系統(tǒng)利用無刷直流電機作為機械人關(guān)節(jié)的驅(qū)動機構(gòu),機器人關(guān)節(jié)驅(qū)動電機采用磁場矢量控制方法,以實現(xiàn)對關(guān)節(jié)角度的閉環(huán)控制。
基于ROS平臺,機器人系統(tǒng)可以完成6自由度機械臂的求解與運動規(guī)劃,并遷移至實體機器人。在目標(biāo)工件識別上,利用Pytorch框架中深度學(xué)習(xí)模型,對工件圖像進行處理并利用YOLOV3算法完成工件的識別與定位。
2系統(tǒng)設(shè)計
2.1系統(tǒng)硬件設(shè)計
系統(tǒng)的硬件設(shè)計主要為機器人關(guān)節(jié)驅(qū)動模塊的設(shè)計,主要設(shè)計電機的控制驅(qū)動電路[2]。關(guān)節(jié)作為機器人系統(tǒng)的執(zhí)行機構(gòu),需要選擇合適的電機和控制策略保證機器人系統(tǒng)運動控制性能。本實驗采用無刷直流電機作為機器人關(guān)節(jié)電機,機器人關(guān)節(jié)的直流無刷電機驅(qū)動芯片為LA6234三相驅(qū)動芯片,可以提供4 A的持續(xù)電流輸出,工作電壓為12~42 V。利用矢量控制方法實現(xiàn)機器人的平穩(wěn)、柔順控制。三相直流無刷電機采用FOC矢量控制,該控制策略經(jīng)過三相電流的坐標(biāo)變換,可以將電機的定子電流分解成磁場方向和轉(zhuǎn)矩方向,分別實現(xiàn)控制,使三相無刷電機的控制具有類似于直流調(diào)速系統(tǒng)的動態(tài)性能。
2.2系統(tǒng)軟件設(shè)計
機器人系統(tǒng)采用6自由度機械臂作為主體,通過機器視覺對目標(biāo)工件進行識別,利用機械臂末端夾爪完成抓取任務(wù)。機器人系統(tǒng)的主要控制任務(wù)為目標(biāo)工件抓取和放置的運動規(guī)劃。開源機器人操作系統(tǒng)ROS提供了豐富的功能包,并在Moveit開發(fā)平臺上進行了集成。Moveit平臺具有多個移動操作的功能包,集成了運動規(guī)劃、運動學(xué)求解、3D感知等諸多算法,易于使用,能夠較好地支持完成本機器人系統(tǒng)的運動控制工作。
3控制策略設(shè)計
3.1關(guān)節(jié)閉環(huán)角度控制
機器人關(guān)節(jié)無刷電機的驅(qū)動控制在速度環(huán)控制的基礎(chǔ)上加入角度PID控制方式,對關(guān)節(jié)角進行閉環(huán)控制以提高機器人關(guān)節(jié)的控制性能[3]。在機器人關(guān)節(jié)角度閉環(huán)控制中,通過構(gòu)造節(jié)點實時監(jiān)聽ROS中的關(guān)節(jié)狀態(tài)信息,將ROS中機械臂的實時關(guān)節(jié)狀態(tài)角度作為閉環(huán)控制的輸入。關(guān)節(jié)狀態(tài)角度的采樣頻率為20 Hz,即串級PID控制器輸出的周期為50 ms。關(guān)節(jié)電機角度閉環(huán)控制器可以實現(xiàn)機械臂關(guān)節(jié)快速跟隨ROS中仿真機械臂的關(guān)節(jié)角度,實現(xiàn)關(guān)節(jié)角度的穩(wěn)定控制。
3.2目標(biāo)工件識別與定位
目標(biāo)工件的識別定位采用YOLOV3算法,該過程需要訓(xùn)練識別目標(biāo)工件的YOLOV3模型。目標(biāo)工件的識別定位主要包括數(shù)據(jù)集標(biāo)注、樣本訓(xùn)練、訓(xùn)練結(jié)果選取和測試4個步驟。本文以滾輪軸承為待識別對象,設(shè)置訓(xùn)練樣本數(shù)據(jù)集,成功對多個測試樣本進行目標(biāo)定位識別。隨著樣本的訓(xùn)練次數(shù)的增多,可以得到一系列損失率逐漸降低的結(jié)果文件,選取損失率較低的結(jié)果文件作為模型的參數(shù)導(dǎo)入YOLOV3模型中以實現(xiàn)對相機圖像的識別,獲取實驗結(jié)果。實驗結(jié)果會返回所有的目標(biāo)對象和置信度,同時返回每個目標(biāo)在圖像中的像素坐標(biāo),利用坐標(biāo)變換關(guān)系計算得出機械臂坐標(biāo)系中的物體位置。YOLOV3深度學(xué)習(xí)模型對單個物體和多個物體都具有較高的識別定位速度和準(zhǔn)確率。
3.3機器人系統(tǒng)運動規(guī)劃與執(zhí)行
機器人系統(tǒng)的運動規(guī)劃與執(zhí)行主要包括逆運動學(xué)求解和軌跡規(guī)劃。機器人系統(tǒng)進行逆運動學(xué)求解時,輸入的參數(shù)為目標(biāo)工件的位姿,即位置和姿態(tài)。本文采用四元數(shù)姿態(tài)變量 Orientation 對工件位姿進行描述。機器人的運動學(xué)插件采用KDL解算器。KDL解算器可以求解封閉情況下的6軸機械臂運動學(xué)逆解。
4實驗結(jié)果分析
4.1工件識別與定位分析
本文采用YOLOV3深度學(xué)習(xí)模型對工件進行多次識別與定位。對彈簧、家具夾和金屬軸承進行識別,識別效果如表1所示,識別速度約為12~15幀/s。YOLOV3模型對不同的工件均具有較高的識別準(zhǔn)確率和平均置信度。
實際工作環(huán)境中,由于目標(biāo)工件可能存在被遮擋,光照環(huán)境變換等情況,其識別成功率置信度會受到影響。
4.2抓取實驗
ROS仿真中機械臂抓取結(jié)果可以顯示出逆運動學(xué)解算出的目標(biāo)機械臂位姿,并將規(guī)劃結(jié)果可視化。ROS系統(tǒng)中的機械臂模型按照規(guī)劃的路徑運動,同時將機械臂的關(guān)節(jié)角度通過串口實時發(fā)送至機械臂電機控制器中,實體機器人系統(tǒng)跟隨ROS仿真中的機器人運動完成抓取任務(wù)。
多次實驗結(jié)果表明,在工件定位較為準(zhǔn)確情況下,機械臂能夠很好地完成抓取任務(wù),但是目標(biāo)工件夾取的準(zhǔn)確程度會受到目標(biāo)定位誤差的影響,同時機械臂末端的夾取角度也會對工件抓取的成功率造成一定影響。
5結(jié)束語
本文使用了較為簡單的軟硬件設(shè)計方案,利用低成本的硬件實現(xiàn)了基于視覺的工件抓取。該系統(tǒng)可以幫助學(xué)生掌握自動化、機器人、人工智能和計算機視覺相關(guān)的知識,適用于日常教學(xué)和課程實驗,提升學(xué)生的動手能力和創(chuàng)新能力。
參考文獻:
[1]孫富春.智能機器人的認(rèn)知與學(xué)習(xí)[J].機器人,2019,41(5):561.
[2]占宏,李嫻,楊辰光.機器人示教學(xué)習(xí)與技能泛化實驗設(shè)計[J].實驗技術(shù)與管理,2021,38(6):52–55,66.
[3]葛連正,趙立軍.基于V-REP的機器人仿真實驗系統(tǒng)及教學(xué)[J].實驗技術(shù)與管理,2021,38(3):132–135.