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