孫慧霞,毛世彤,柳長(zhǎng)葉,喬文宇,王沁欣,馬紫微
(1運(yùn)城學(xué)院 物理與電子工程系,山西 運(yùn)城 044000;2 太原師范學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 山西 晉中 030619)
隨著技術(shù)的不斷進(jìn)步和社會(huì)需求的不斷演變,人們對(duì)于更便捷、更安全的自動(dòng)化和智能化產(chǎn)品的需求與日俱增,搬運(yùn)機(jī)器人成了提高生產(chǎn)效率、改善產(chǎn)品質(zhì)量、解決勞動(dòng)力短缺以及改善工作條件的重要工具。本文設(shè)計(jì)并開發(fā)了一款基于視覺(jué)系統(tǒng)的自主導(dǎo)航搬運(yùn)機(jī)器人,該機(jī)器人硬件設(shè)計(jì)包括避障模塊、物品識(shí)別模塊、機(jī)械臂抓取等,通過(guò)不同感知模塊的協(xié)同工作使機(jī)器人能夠高效地感知周圍環(huán)境,識(shí)別物體,執(zhí)行精準(zhǔn)的分揀搬運(yùn)任務(wù)。避障模塊通過(guò)傳感器實(shí)時(shí)監(jiān)測(cè)環(huán)境,確保機(jī)器人在操作過(guò)程中能夠自動(dòng)避障,提高了操作的安全性和可靠性。物品識(shí)別模塊結(jié)合圖像識(shí)別算法,使機(jī)器人能夠準(zhǔn)確地辨別各種物體,為后續(xù)的抓取和搬運(yùn)提供了可靠的數(shù)據(jù)支持。而機(jī)械臂抓取放置裝置則能夠根據(jù)物體的特征和位置進(jìn)行靈活的抓取和放置。在軟件方面,采用了改進(jìn)A*路徑規(guī)劃算法,使機(jī)器人能夠智能地規(guī)劃路徑,并且目標(biāo)抓取算法使機(jī)器人能夠準(zhǔn)確地抓取目標(biāo)物體,高效地完成搬運(yùn)任務(wù)。同時(shí),開發(fā)了手機(jī)App,采用了TCP協(xié)議,將手機(jī)App與機(jī)器人連接起來(lái),用戶可以通過(guò)手機(jī)App對(duì)機(jī)器人進(jìn)行遠(yuǎn)程控制,下達(dá)任務(wù)指令,實(shí)時(shí)監(jiān)控機(jī)器人的運(yùn)動(dòng)狀態(tài),并且與機(jī)器人進(jìn)行信息交流。既提升了機(jī)器人的靈活性,也為用戶提供了更便捷的操作體驗(yàn),能夠靈活應(yīng)對(duì)各類生產(chǎn)需求,對(duì)于推動(dòng)工業(yè)自動(dòng)化、信息化發(fā)展以及產(chǎn)業(yè)數(shù)字化具有重要意義[1]。
基于視覺(jué)系統(tǒng)的自主導(dǎo)航搬運(yùn)機(jī)器人系統(tǒng)的結(jié)構(gòu)架構(gòu)如圖1所示,該系統(tǒng)由多個(gè)關(guān)鍵組件組成,包括STM32單片機(jī)、樹莓派控制主板、機(jī)械臂、攝像頭、激光雷達(dá)、語(yǔ)音模塊以及智能機(jī)器人[2]。通過(guò)組件協(xié)同工作,為機(jī)器人提供全面的感知和控制能力。樹莓派控制主板和STM32單片機(jī)構(gòu)成了機(jī)器人的核心控制中樞。通過(guò)樹莓派與STM32之間的高效通信,實(shí)現(xiàn)了對(duì)機(jī)械臂動(dòng)作和機(jī)器人運(yùn)動(dòng)的分別控制。這種分層控制結(jié)構(gòu)使得機(jī)器人的運(yùn)動(dòng)與操控更為靈活,可根據(jù)具體任務(wù)對(duì)機(jī)械臂和底盤進(jìn)行獨(dú)立或聯(lián)動(dòng)控制,從而適應(yīng)不同的工作場(chǎng)景。激光雷達(dá)是該系統(tǒng)中的關(guān)鍵感知器件,負(fù)責(zé)實(shí)現(xiàn)智能避障與路徑規(guī)劃。一方面,它能夠高精度地感知周圍環(huán)境,通過(guò)實(shí)時(shí)獲取距離信息,幫助機(jī)器人規(guī)避障礙物,確保其在復(fù)雜環(huán)境中安全導(dǎo)航。另一方面,激光雷達(dá)還能協(xié)助實(shí)現(xiàn)路徑規(guī)劃,使機(jī)器人能夠智能選擇最優(yōu)路徑,提高搬運(yùn)效率。攝像頭模塊用于完成對(duì)物品視覺(jué)特征信息的獲取,從而實(shí)現(xiàn)對(duì)物品的智能識(shí)別。通過(guò)攝像頭獲取的視覺(jué)信息,機(jī)器人能夠準(zhǔn)確判斷物體的位置、形狀等特征,為后續(xù)的抓取和放置提供重要的視覺(jué)反饋。為了實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和操控,開發(fā)了配套的Web網(wǎng)頁(yè)和語(yǔ)音控制模塊。用戶可以通過(guò)Web網(wǎng)頁(yè)端實(shí)時(shí)查看MySQL數(shù)據(jù)庫(kù)與樹莓派通信后的信息,了解機(jī)器人的狀態(tài)、任務(wù)進(jìn)度等關(guān)鍵信息。同時(shí),語(yǔ)音控制模塊使得用戶可以通過(guò)語(yǔ)音指令實(shí)現(xiàn)對(duì)機(jī)器人運(yùn)動(dòng)的遠(yuǎn)程控制,增加了操控的靈活性。
圖1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖
智能搬運(yùn)機(jī)器人的機(jī)械結(jié)構(gòu)部分主要由機(jī)械臂和機(jī)器人組成。機(jī)械臂采用全鋁合金,具有6個(gè)自由度,獲取信息后進(jìn)行貨物的分揀,支持手柄與App兩種控制方式,滿足用戶多樣化的需求。機(jī)器人由底盤、麥克納姆輪、驅(qū)動(dòng)組成,麥克納姆輪可以更靈活方便地實(shí)現(xiàn)全方位移動(dòng)[3]。四個(gè)電機(jī)位于底盤之下,通過(guò)分層布局可以對(duì)電機(jī)起保護(hù)作用。機(jī)身設(shè)計(jì)了活動(dòng)滑蓋,方便開關(guān)。整體采用SolidWorks進(jìn)行建模設(shè)計(jì)并3D打印實(shí)物,如圖2所示。
圖2 整體結(jié)構(gòu)圖
圖3為主板控制電路PCB。該P(yáng)CB主要有電機(jī)驅(qū)動(dòng)模塊、WiFi通信模塊、電壓轉(zhuǎn)換模塊、電源指示燈電路、復(fù)位電路等模塊。電機(jī)驅(qū)動(dòng)模塊是整個(gè)電路的核心,負(fù)責(zé)接收控制信號(hào)并將其轉(zhuǎn)換為電機(jī)動(dòng)作。此外,主板還集成了WiFi通信模塊,使用戶可以通過(guò)無(wú)線網(wǎng)絡(luò)遠(yuǎn)程控制和監(jiān)測(cè)電機(jī)的運(yùn)行狀態(tài)。這項(xiàng)功能為系統(tǒng)提供了更大的靈活性和便利性,特別是在需要遠(yuǎn)程操作的場(chǎng)景下。電壓轉(zhuǎn)換模塊是為了適應(yīng)不同電源和電機(jī)的電壓要求而設(shè)計(jì)的,能夠有效地將輸入電壓轉(zhuǎn)換為電機(jī)所需的適當(dāng)電壓,從而確保電機(jī)在各種工作條件下都能夠正常運(yùn)行。在整個(gè)主板上,還包含了電源指示燈電路,以便用戶可以直觀地了解電源狀態(tài)。這一設(shè)計(jì)不僅提高了用戶體驗(yàn),還有助于故障排查和維護(hù)。同時(shí),復(fù)位電路的加入確保了在需要時(shí)能夠迅速恢復(fù)系統(tǒng)到初始狀態(tài),提高了系統(tǒng)的可靠性和穩(wěn)定性。為了優(yōu)化整體性能,該主板采用雙層PCB板,并通過(guò)合理布局元器件來(lái)最小化電路板的復(fù)雜性。在設(shè)計(jì)過(guò)程中,特別關(guān)注了主控芯片和發(fā)熱元件的布局,以確保它們能夠獲得良好的散熱效果,從而提高系統(tǒng)的穩(wěn)定性和壽命。
圖3 硬件電路PCB
自主導(dǎo)航搬運(yùn)機(jī)器人采用520編碼器電機(jī)測(cè)量和反饋麥克納姆輪的運(yùn)動(dòng)信息,通過(guò)串口通信監(jiān)測(cè)編碼器輸出脈沖的速率[4],從而實(shí)現(xiàn)麥克納姆輪速度的實(shí)時(shí)測(cè)量,比較期望值和實(shí)際值,得到控制偏差,然后通過(guò)對(duì)偏差的比例、積分、微分進(jìn)行控制運(yùn)算[5],使偏差趨于零,達(dá)到機(jī)器人的預(yù)定運(yùn)動(dòng)狀態(tài)。圖4為實(shí)時(shí)監(jiān)測(cè)到的使用printf函數(shù)串口連接上位機(jī)打印出來(lái)的波形,實(shí)現(xiàn)了電機(jī)運(yùn)行狀態(tài)的監(jiān)測(cè),圖中I0是左輪轉(zhuǎn)速,I1是右輪轉(zhuǎn)速,I2是左輪PWM值,I3是右輪PWM值,正常工作時(shí),I4為0,p2為右輪的PID比例項(xiàng)參數(shù),i2為右輪的PID比例項(xiàng)參數(shù),i為左輪的PID微分項(xiàng)參數(shù),P為左輪的PID比例項(xiàng)參數(shù),ltar是左輪目標(biāo)值參數(shù),rtar是右輪目標(biāo)值參數(shù)。
圖4 上位機(jī)監(jiān)測(cè)情況
自主導(dǎo)航搬運(yùn)機(jī)器人采用STM32作為驅(qū)動(dòng)控制板控制電機(jī),采用樹莓派4B來(lái)搭載ROS系統(tǒng)[6],通過(guò)串口與STM32通信,通過(guò)USB連接激光雷達(dá)與攝像頭等主要傳感器。該機(jī)器人采用的360度掃描測(cè)距激光雷達(dá)每秒采樣可達(dá)3000次,采用ROS操作系統(tǒng)封裝的Gmapping算法將定位與建圖過(guò)程分離,先定位,再進(jìn)行建圖。Gmapping會(huì)訂閱tf和scan兩個(gè)話題,用于激光雷達(dá)坐標(biāo)系、基坐標(biāo)系、里程計(jì)坐標(biāo)系之間的變換以及激光雷達(dá)掃描數(shù)據(jù),Gmapping還會(huì)發(fā)布話題,如發(fā)布地圖Meta數(shù)據(jù)、柵格數(shù)據(jù)、機(jī)器人姿態(tài)分布值估計(jì),通過(guò)VNC軟件連接機(jī)器人的控制系統(tǒng),分別運(yùn)行啟動(dòng)機(jī)器人底盤、啟動(dòng)Gmapping建圖中的launch文件、啟動(dòng)鍵盤控制節(jié)點(diǎn)的指令后,實(shí)現(xiàn)如圖5所示的環(huán)境建圖,周圍的白色和黑色就是正在建立的地圖,從而實(shí)現(xiàn)機(jī)器人的自主導(dǎo)航與避障[7]。
圖5 環(huán)境建圖時(shí)的圖像
機(jī)器人的圖像處理采用了OpenCV的函數(shù)庫(kù),可進(jìn)行圖像載入、保存和采集操作,實(shí)時(shí)處理圖像。本文采用KCF(Kernelized Correlation Filters)跟蹤算法和特征匹配算法,實(shí)現(xiàn)物體識(shí)別與跟蹤任務(wù)。首先,對(duì)圖像進(jìn)行初始化,創(chuàng)建顯示界面。隨后,啟動(dòng)攝像頭并進(jìn)行初始化,初始化完成后拍攝圖像[8],如圖6所示為攝像頭拍攝到的圖像。攝像頭捕捉到的圖像可能受到光照和噪聲等因素的干擾,因此利用OpenCV的圖像處理功能對(duì)圖像進(jìn)行過(guò)濾和增強(qiáng),提高視覺(jué)系統(tǒng)的魯棒性。最終,對(duì)處理后的圖像進(jìn)行分析和處理,分辨出物品信息,計(jì)算完成后將相關(guān)結(jié)果發(fā)送給樹莓派,最后由STM32單片機(jī)控制機(jī)械臂抓取物品。
圖6 攝像頭拍攝到的圖像界面
系統(tǒng)軟件設(shè)計(jì)分為移動(dòng)端和Web端,具體包括移動(dòng)應(yīng)用(App)和網(wǎng)頁(yè)(Web)兩個(gè)前端部分[9],以及后端數(shù)據(jù)管理的MySQL數(shù)據(jù)庫(kù)。
自主導(dǎo)航搬運(yùn)機(jī)器人App界面如圖7所示,用戶可以遠(yuǎn)程監(jiān)控機(jī)器人在工作環(huán)境中的狀態(tài),通過(guò)手機(jī)應(yīng)用遠(yuǎn)程控制機(jī)器人的移動(dòng)、抓取等操作[10],同時(shí),為用戶提供會(huì)員中心、使用操作、維護(hù)維修等服務(wù)。
圖7 App主界面
為了實(shí)現(xiàn)對(duì)機(jī)器人的在線控制等操作,基于Java設(shè)計(jì)了一種Client-Server模型的網(wǎng)頁(yè),用戶可以通過(guò)瀏覽器訪問(wèn)Web控制界面,進(jìn)行多車調(diào)控,如圖8所示。同時(shí),網(wǎng)頁(yè)還提供了歷史工作數(shù)據(jù)和日志,記錄機(jī)器人的運(yùn)行歷史、執(zhí)行任務(wù)的時(shí)間和完成狀態(tài)等信息,用戶可實(shí)時(shí)查詢物品信息并進(jìn)行錄入和刪除操作,以及調(diào)取物品歷史記錄,如圖9所示。
圖8 Web控制界面
圖9 物品信息錄入網(wǎng)頁(yè)
自主導(dǎo)航搬運(yùn)機(jī)器人采用如圖10所示的MySQL數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)具有安全、可跨平臺(tái)、高效的特點(diǎn),并與PHP、Java等主流編程語(yǔ)言緊密結(jié)合[11],用于存儲(chǔ)和管理與機(jī)器人操作和監(jiān)控相關(guān)的數(shù)據(jù),包括物品信息、機(jī)器人執(zhí)行的任務(wù)列表、任務(wù)狀態(tài)等信息。當(dāng)用戶創(chuàng)建、編輯或刪除任務(wù)的時(shí)候,相關(guān)信息可以在MySQL數(shù)據(jù)庫(kù)中進(jìn)行更新。
圖10 MySQL數(shù)據(jù)庫(kù)
在服務(wù)器端進(jìn)行數(shù)據(jù)庫(kù)的部署,利用阿里云linux服務(wù)器,使用SSH工具通過(guò)服務(wù)器的公網(wǎng)IP地址遠(yuǎn)程登錄到云服務(wù)器,然后在該linux操作系統(tǒng)上安裝python環(huán)境,安裝并配置數(shù)據(jù)庫(kù)。
所需環(huán)境搭建好后,通過(guò)設(shè)計(jì)自啟動(dòng)文件實(shí)現(xiàn)數(shù)據(jù)庫(kù)在服務(wù)器端的持續(xù)運(yùn)行。硬件端則通過(guò)攝像頭將條形碼等信息送到服務(wù)器端進(jìn)行物品的識(shí)別,并將預(yù)測(cè)結(jié)果返回到硬件端對(duì)物品進(jìn)行分揀。將硬件設(shè)備準(zhǔn)備好,把如圖11所示不同種類的物品條形碼放于攝像頭前進(jìn)行數(shù)據(jù)讀取,經(jīng)過(guò)Zbar算法和特征匹配算法處理[12],分別將物品種類、條形碼編號(hào)、輪廓信息與數(shù)據(jù)庫(kù)進(jìn)行匹配,反饋結(jié)果顯示在屏幕中。經(jīng)過(guò)測(cè)試得出該識(shí)別的平均識(shí)別準(zhǔn)確率可達(dá)100%,具體數(shù)據(jù)如表1所示。
表1 條碼識(shí)別率測(cè)試
圖11 測(cè)試圖片
本文針對(duì)搬運(yùn)、分揀需求度高的場(chǎng)景,采用了MDK5、PyCharm等開發(fā)工具,結(jié)合前端框架和庫(kù)、后端開發(fā),設(shè)計(jì)并實(shí)現(xiàn)了一款基于視覺(jué)系統(tǒng)的自主導(dǎo)航搬運(yùn)機(jī)器人。該機(jī)器人以自主導(dǎo)航、智能識(shí)別和遠(yuǎn)程控制等功能為特色,為高度自動(dòng)化的生產(chǎn)場(chǎng)景提供了可靠的解決方案。在圖像識(shí)別開發(fā)方面,采用了OpenCV技術(shù),通過(guò)調(diào)用攝像頭對(duì)采集到的圖像進(jìn)行輪廓、條碼等信息的多途徑高準(zhǔn)確率分析處理,使機(jī)器人能夠迅速而準(zhǔn)確地理解周圍環(huán)境,為機(jī)械臂的抓取和放置功能提供了精準(zhǔn)的數(shù)據(jù)支持。攝像頭的實(shí)時(shí)視覺(jué)反饋使得機(jī)器人能夠識(shí)別不同形狀和特征的物體,實(shí)現(xiàn)智能搬運(yùn)操作。機(jī)器人的動(dòng)力系統(tǒng)采用了PID控制算法驅(qū)動(dòng)電機(jī),同時(shí)結(jié)合激光雷達(dá)技術(shù)進(jìn)行地圖構(gòu)建和路徑規(guī)劃,使得機(jī)器人能夠智能避障,實(shí)現(xiàn)自主導(dǎo)航。通過(guò)對(duì)周圍環(huán)境的高精度感知,機(jī)器人能夠構(gòu)建精確的地圖,規(guī)劃最優(yōu)路徑,從而在復(fù)雜的工作場(chǎng)景中高效運(yùn)動(dòng),提高搬運(yùn)效率。系統(tǒng)的遠(yuǎn)程控制功能通過(guò)前端框架和庫(kù)的應(yīng)用,以及后端的開發(fā)實(shí)現(xiàn)。用戶可以通過(guò)遠(yuǎn)程控制界面實(shí)時(shí)監(jiān)控機(jī)器人的狀態(tài),并通過(guò)遠(yuǎn)程指令調(diào)整機(jī)器人的運(yùn)動(dòng)軌跡,從而提升了機(jī)器人的操控靈活性,也使得操作者能夠更加便捷地響應(yīng)生產(chǎn)線上的變化。綜上所述,本文所設(shè)計(jì)的基于視覺(jué)系統(tǒng)的自主導(dǎo)航搬運(yùn)機(jī)器人充分發(fā)揮了圖像識(shí)別、PID控制和激光雷達(dá)等技術(shù)的優(yōu)勢(shì),能夠?qū)崟r(shí)感知環(huán)境、識(shí)別障礙物和目標(biāo)位置,從而實(shí)現(xiàn)智能避障、自主導(dǎo)航、分揀搬運(yùn)和遠(yuǎn)程控制,對(duì)于產(chǎn)業(yè)數(shù)字化轉(zhuǎn)型發(fā)展具有重要價(jià)值。
運(yùn)城學(xué)院學(xué)報(bào)2023年6期