摘 要:為解決傳統(tǒng)工廠機(jī)械臂工作室需要近距離人工看護(hù)、易造成安全事故等問題,采用基于YOLOv5機(jī)器視覺模型和Unity 3D平臺(tái)的虛幻引擎搭建了一款可遠(yuǎn)距離人機(jī)交互、實(shí)時(shí)監(jiān)測的機(jī)械臂。其中,視覺模塊利用樹莓派官方攝像頭作為視覺傳感器,使用樹莓派處理YOLOv5的計(jì)算任務(wù),經(jīng)過長時(shí)間的數(shù)據(jù)采集將視頻以每秒30幀的頻率分割成靜態(tài)圖像,用于增強(qiáng)模型魯棒性;孿生模塊以Unity 3D組件搭建基本結(jié)構(gòu),通過手寫腳本模擬現(xiàn)實(shí)機(jī)械臂的物理特性;利用MQTT通信協(xié)議使二者協(xié)同驅(qū)動(dòng)。經(jīng)驗(yàn)證,該機(jī)械臂性能穩(wěn)定,能夠較好地實(shí)現(xiàn)既定目標(biāo)。
關(guān)鍵詞:視覺識(shí)別;物聯(lián)網(wǎng);機(jī)械臂;數(shù)字孿生;MQTT;Unity 3D
中圖分類號(hào):TP241.2 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2025)04-0-03
0 引 言
隨著國家的發(fā)展,對(duì)于高新技術(shù)和智能制造的需求日益增長。為滿足提高生產(chǎn)效率、降低成本、保障安全和促進(jìn)創(chuàng)新的需求,一項(xiàng)能夠在高危、無塵的工作環(huán)境中進(jìn)行高效、精準(zhǔn)操作的技術(shù)有助于為國家制造業(yè)[1]、航空航天[2-3]、醫(yī)療[4]、
軍事[5]等領(lǐng)域的發(fā)展提供重要支持。近年來,隨著機(jī)器視覺和硬件技術(shù)的提升,許多應(yīng)用型機(jī)械臂,如文獻(xiàn)[6]研制的腹腔鏡微創(chuàng)手術(shù)機(jī)器人,憑借其精巧的結(jié)構(gòu)充分發(fā)揮了微創(chuàng)手術(shù)的優(yōu)勢,但其三維顯示系統(tǒng)目前還無法將機(jī)器人在視覺圖像上進(jìn)行標(biāo)定;文獻(xiàn)[7]通過機(jī)器視覺設(shè)計(jì)了一套機(jī)場行李搬運(yùn)系統(tǒng),但受時(shí)間和結(jié)構(gòu)等因素限制,目前仍然存在一些不足。本文設(shè)計(jì)的基于視覺識(shí)別與路徑規(guī)劃的數(shù)字孿生機(jī)械臂,為綜合機(jī)械臂的研制提供了參考。
1 機(jī)械臂數(shù)字孿生
1.1 物理特性映射
所謂物理映射[8]就是將現(xiàn)實(shí)世界的客觀影響因素通過虛擬引擎投射到虛擬場景中。其中包括機(jī)械結(jié)構(gòu)的父子關(guān)系、機(jī)械臂的數(shù)學(xué)模型、驅(qū)動(dòng)器代碼等,使其運(yùn)行邏輯等與現(xiàn)實(shí)世界中的實(shí)體機(jī)械臂參數(shù)一致。
如圖1中的淺灰色部分所示,在設(shè)計(jì)關(guān)節(jié)部分時(shí)特意選用了機(jī)械式主動(dòng)調(diào)平方式,以保證夾爪能夠在升降過程中保持水平狀態(tài),從而確保其在抓取過程中的穩(wěn)定性。所使用的42步進(jìn)電機(jī),通過官方文檔查詢相關(guān)數(shù)據(jù)后,以代碼的形式在虛擬體中體現(xiàn)。機(jī)械臂的臂長、臂寬、齒輪齒數(shù)、分度圓等參數(shù)直接以模型的形式導(dǎo)入。
1.2 虛擬體搭建
目前市面上的主流引擎有Unreal、Unity、Source、CryEngine等,該項(xiàng)目基于Unity 3D平臺(tái)搭建,其主要優(yōu)點(diǎn)為Unity 3D社群活躍,除具有優(yōu)秀的跨平臺(tái)兼容性和相對(duì)容易的開發(fā)環(huán)境外,還擁有大量的第三方包,截至目前共有超過56 000個(gè)第三方包可以使用。
圖2展示的是虛擬體搭建界面。其中,頁面左邊一欄是Unity 3D的主從關(guān)系表達(dá)樹,通過查看其上下位置即可確定主從關(guān)系。中間為搭建的場景,Unity場景自帶單個(gè)攝像頭和單個(gè)光源,將三維模型(fbx格式)導(dǎo)入場景中,根據(jù)上節(jié)提到的物理特性使用虛擬引擎自帶的組件進(jìn)行約束。圖2右邊一欄為單個(gè)零件屬性欄,在此選擇零件的物理屬性和連接類型。
圖3為用戶交互界面,包括(①)退出:退出程序;使用說明(②):內(nèi)置文字版使用說明;用戶登錄(③):登錄購買的云服務(wù)器ID;初始化(④):初始化機(jī)械臂按鈕;坐標(biāo)輸入(⑤):指令輸入入口;調(diào)整(⑥):調(diào)整細(xì)微偏差;可視化(⑦):可視化機(jī)械臂模型。
1.3 數(shù)據(jù)交互
該項(xiàng)目使用消息隊(duì)列遙測傳輸協(xié)議(Message Queuing Telemetry Transport, MQTT)確保實(shí)體和孿生體之間的通信。MQTT是一種基于發(fā)布/訂閱(Publish/Subscribe)模式的“輕量級(jí)”通信協(xié)議,該協(xié)議基于TCP/IP協(xié)議構(gòu)建。MQTT最大的優(yōu)點(diǎn)在于,僅需使用極少的代碼和有限的帶寬即可為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。
通過圖4所示的坐標(biāo)輸入窗口輸入指定坐標(biāo),后臺(tái)將坐標(biāo)發(fā)送至租用的服務(wù)器,機(jī)械臂控制主板上的ESP8266輔板通過WiFi模塊從指定服務(wù)器中抓取坐標(biāo)信息,并發(fā)送給母板從而控制機(jī)械臂。圖4為通信代碼調(diào)用的庫和第三方插件。
2 視覺識(shí)別系統(tǒng)
2.1 視覺硬件配置
本文采用了適用于樹莓派的官方高清攝像頭,以確保圖像質(zhì)量滿足后續(xù)處理要求。該攝像頭具備高分辨率捕捉能力,能夠清晰記錄機(jī)械臂操作環(huán)境中的細(xì)節(jié)。為處理YOLOv5模型[9]的計(jì)算任務(wù),選用了樹莓派4B作為計(jì)算平臺(tái),其具備4 GB RAM和1.5 GHz 的四核心CPU,可滿足實(shí)時(shí)處理的基本需求。
2.2 數(shù)據(jù)采集與預(yù)處理
在實(shí)驗(yàn)室環(huán)境下,通過樹莓派高清攝像頭連續(xù)捕獲了總計(jì)24 h的機(jī)械臂操作視頻。隨后,將視頻以每秒30幀的頻率分割成靜態(tài)圖像,共獲得約2.6萬張圖像,如圖5所示。采用圖像增強(qiáng)技術(shù),包括旋轉(zhuǎn)、縮放和顏色調(diào)整等,提高模型訓(xùn)練的多樣性和魯棒性。
2.3 數(shù)據(jù)集制作與標(biāo)注
利用LabelImg工具對(duì)采集的圖像進(jìn)行手動(dòng)標(biāo)注[10],標(biāo)注內(nèi)容專注于要識(shí)別的物體,包括其類別和位置(使用邊界框標(biāo)注,如圖6所示)。每張圖像由兩名研究人員獨(dú)立標(biāo)注,通過交叉驗(yàn)證方式解決標(biāo)注差異問題,確保數(shù)據(jù)集的準(zhǔn)確性和一致性。
2.4 YOLOv5模型訓(xùn)練與優(yōu)化
在樹莓派平臺(tái)上部署YOLOv5模型前,首先在具備GPU加速功能的服務(wù)器上進(jìn)行預(yù)訓(xùn)練,使用公開的COCO數(shù)據(jù)集初始化模型權(quán)重。隨后,利用制作的定制數(shù)據(jù)集對(duì)模型進(jìn)行微調(diào),訓(xùn)練過程需使用交叉熵?fù)p失函數(shù)和Adam優(yōu)化器,學(xué)習(xí)率設(shè)置為0.001,批量大小為32,共計(jì)迭代了5 000次。
為適應(yīng)樹莓派的計(jì)算能力,對(duì)YOLOv5模型進(jìn)行輕量化處理,包括剪枝、量化和知識(shí)蒸餾等,以減少模型的參數(shù)量和計(jì)算復(fù)雜度。輕量化后的模型在樹莓派上的推理時(shí)間從原始模型的2.5 s降低到0.8 s,準(zhǔn)確率保持在93%以上,可滿足實(shí)時(shí)處理的要求,達(dá)到圖7所示的效果。
3 機(jī)械臂機(jī)構(gòu)
3.1 機(jī)械臂設(shè)計(jì)
本文以開源的桌面機(jī)械臂為設(shè)計(jì)基礎(chǔ),利用三維產(chǎn)品建模軟件完成了造型設(shè)計(jì)。為了制造所有主干結(jié)構(gòu)件,采用了增材制造中的FDM 3D打印技術(shù)。在實(shí)體部件的重建過程中,根據(jù)數(shù)字孿生體的信息反饋進(jìn)行了三次重建。該機(jī)械臂具有三個(gè)自由度:底座與機(jī)械臂間的轉(zhuǎn)動(dòng)自由度、機(jī)械臂大臂與底座間的轉(zhuǎn)動(dòng)自由度以及機(jī)械臂小臂與大臂間的轉(zhuǎn)動(dòng)自由度。大臂、小臂和底座的運(yùn)動(dòng)由三個(gè)步進(jìn)電機(jī)通過齒輪連桿等結(jié)構(gòu)實(shí)現(xiàn)傳動(dòng)控制。
實(shí)體部分由42步進(jìn)電機(jī)驅(qū)動(dòng),各關(guān)節(jié)處配有軸承以確保活動(dòng)自由度。各構(gòu)件通過緊固件連接,驅(qū)動(dòng)電機(jī)、限位開關(guān)和傳感器通過數(shù)據(jù)線連接到控制主板??刂浦靼蹇梢詫?shí)現(xiàn)機(jī)械臂的全部控制功能,并能與電腦上的孿生體進(jìn)行串口通信。通過與遠(yuǎn)程通信模塊連接,控制主板還可以實(shí)現(xiàn)與孿生體的跨局域網(wǎng)信息通信。
關(guān)于機(jī)械限位開關(guān)的運(yùn)用,本文將其用于機(jī)械臂斷電啟動(dòng)時(shí)的復(fù)位和運(yùn)動(dòng)控制時(shí)的點(diǎn)位標(biāo)定。此外,步進(jìn)電機(jī)的控制引入了基于霍爾元件的磁感應(yīng)控制模塊,實(shí)現(xiàn)了閉環(huán)控制。該磁傳感器可以實(shí)時(shí)獲取步進(jìn)電機(jī)的位置、矢量、速度和加速度等信息,使該模塊能夠獨(dú)立工作,用于實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)和位置反饋。機(jī)械臂根據(jù)控制主板接收到的運(yùn)動(dòng)指令運(yùn)動(dòng),并在收到信息索取指令時(shí)輸出當(dāng)前傳感器采集的信息。
3.2 機(jī)械夾爪設(shè)計(jì)
由于三爪式舵機(jī)夾爪的綜合表現(xiàn)和在機(jī)械臂上展現(xiàn)出的卓越的穩(wěn)定性和功能性,已被應(yīng)用在各類場景中。該機(jī)械夾爪憑借獨(dú)特的優(yōu)勢,為機(jī)械臂提供了穩(wěn)定可靠的夾持能力。
在需要高精度操作的場景中,三爪式的舵機(jī)夾爪展現(xiàn)出相較于兩爪式或吸盤等夾持組件更加穩(wěn)定的特性。由于其三個(gè)夾爪為聯(lián)動(dòng)式控制,可以精確地夾持各種形狀和大小的物體,因此能夠更好地確保操作的準(zhǔn)確性和穩(wěn)定性。在需要快速響應(yīng)的場景中,三爪式舵機(jī)夾爪憑借其高性能舵機(jī),實(shí)現(xiàn)了快速而準(zhǔn)確的夾持和釋放。通過精確控制舵機(jī)的轉(zhuǎn)動(dòng),夾爪可以在短時(shí)間內(nèi)完成張開和閉合的動(dòng)作,提高了機(jī)械臂的工作效率。這使得它在需要快速更換或移動(dòng)物料的場景中表現(xiàn)出色,大大提升了機(jī)械臂的工作性能。
此外,三爪式舵機(jī)夾爪還具備良好的適應(yīng)性,能夠應(yīng)對(duì)各種形狀和硬度的物體。通過調(diào)整夾爪的張合程度和夾持力度,可以實(shí)現(xiàn)對(duì)不同物料的穩(wěn)定夾持,而不會(huì)對(duì)物料造成損傷。同時(shí),由于結(jié)構(gòu)的設(shè)計(jì),它對(duì)于反復(fù)做夾持動(dòng)作所造成的磨損相較于其他方式更小,夾爪更加堅(jiān)固耐用,使得它更適合應(yīng)用于連續(xù)的工作過程,從而減少了因夾爪抖動(dòng)或滑移導(dǎo)致的誤差。這使得它在夾抓各種不同物料時(shí)都能保持高效穩(wěn)定的工作狀態(tài)。三爪式夾爪機(jī)構(gòu)如圖8所示。
4 結(jié) 語
該項(xiàng)目通過Unity 3D平臺(tái)搭建了數(shù)字孿生體并使用MQTT通信協(xié)議實(shí)現(xiàn)了與實(shí)體的同步通信;通過集成適用于樹莓派的高清攝像頭和基于樹莓派搭載的YOLOv5模型,實(shí)現(xiàn)了對(duì)機(jī)械臂操作環(huán)境中目標(biāo)物體的高效準(zhǔn)確識(shí)別,創(chuàng)造了一種現(xiàn)實(shí)意義上的非接觸式人機(jī)交互機(jī)械臂。同時(shí),數(shù)字孿生和機(jī)器視覺技術(shù)的結(jié)合為非接觸交互機(jī)械臂的應(yīng)用提供了更大的優(yōu)勢。這類優(yōu)勢重點(diǎn)體現(xiàn)在可以對(duì)機(jī)械臂的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)控和模擬,便于直觀觀測其夾爪狀態(tài),并預(yù)測其未來的性能和行為,從而更好地進(jìn)行優(yōu)化和控制。通過預(yù)測可能出現(xiàn)的故障,有助于延長機(jī)械臂的使用壽命,提高機(jī)器人的生產(chǎn)效率和產(chǎn)品質(zhì)量,減少人為操作誤差,為企業(yè)降低各類成本。
然而,本項(xiàng)目目前局限于硬件算力,對(duì)于模型的數(shù)據(jù)處理速度仍有待提高。未來將探索更高效的模型優(yōu)化方法和硬件加速技術(shù),以進(jìn)一步提升系統(tǒng)的性能。
注:本文通訊作者為蔣維佳。
參考文獻(xiàn)
[1]劉亦晴.工業(yè)機(jī)器人智能視覺引導(dǎo)技術(shù)發(fā)展及其運(yùn)用[J].科技經(jīng)濟(jì)市場,2020(4):3-5.
[2]張凱鋒,周暉,溫慶平,等.空間站機(jī)械臂研究[J].空間科學(xué)學(xué)報(bào),2010,30(6):612-619.
[3]高涵,張明路,張小俊,等.機(jī)械臂絕對(duì)定位精度標(biāo)定關(guān)鍵技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用研究,2017,34(9):2570-2576.
[4]倪自強(qiáng),王田苗,劉達(dá).醫(yī)療機(jī)器人技術(shù)發(fā)展綜述[J].機(jī)械工程學(xué)報(bào),2015,51(13):45-52.
[5]佚名.美巨型焊接機(jī)器人系統(tǒng)可助力軍事應(yīng)用[J].焊接技術(shù),2017,46(1):90.
[6]鞠浩. 腹腔鏡微創(chuàng)外科手術(shù)機(jī)器人控制系統(tǒng)研究[D].天津:南開大學(xué),2010.
[7]劉新. 基于機(jī)械臂的機(jī)場行李智能搬運(yùn)系統(tǒng)研究[D].吉林:吉林大學(xué),2022.
[8] BRATCHIKOV S, ABDULLIN A, DEMIDOVA G L, et al. Development of digital twin for robotic arm [C]// 2021 IEEE 19th International Power Electronics and Motion Control Conference (PEMC). Gliwice, Poland: IEEE, 2021: 717-723.
[9]李宇翔,王帥,陳偉,等.基于Ghost模塊的改進(jìn)YOLOv5目標(biāo)檢測算法[J].現(xiàn)代電子技術(shù),2023,46(3):29-34.
[10]朱花,陳璐,陽明,等.基于YOLOv3的工件抓取機(jī)械臂研究[J].實(shí)驗(yàn)室研究與探索,2023,42(9):132-138.