?

基于視覺系統的自主導航搬運機器人的設計

2024-01-25 11:16孫慧霞毛世彤柳長葉喬文宇王沁欣馬紫微
運城學院學報 2023年6期
關鍵詞:激光雷達攝像頭物品

孫慧霞,毛世彤,柳長葉,喬文宇,王沁欣,馬紫微

(1運城學院 物理與電子工程系,山西 運城 044000;2 太原師范學院 計算機科學與技術學院, 山西 晉中 030619)

隨著技術的不斷進步和社會需求的不斷演變,人們對于更便捷、更安全的自動化和智能化產品的需求與日俱增,搬運機器人成了提高生產效率、改善產品質量、解決勞動力短缺以及改善工作條件的重要工具。本文設計并開發了一款基于視覺系統的自主導航搬運機器人,該機器人硬件設計包括避障模塊、物品識別模塊、機械臂抓取等,通過不同感知模塊的協同工作使機器人能夠高效地感知周圍環境,識別物體,執行精準的分揀搬運任務。避障模塊通過傳感器實時監測環境,確保機器人在操作過程中能夠自動避障,提高了操作的安全性和可靠性。物品識別模塊結合圖像識別算法,使機器人能夠準確地辨別各種物體,為后續的抓取和搬運提供了可靠的數據支持。而機械臂抓取放置裝置則能夠根據物體的特征和位置進行靈活的抓取和放置。在軟件方面,采用了改進A*路徑規劃算法,使機器人能夠智能地規劃路徑,并且目標抓取算法使機器人能夠準確地抓取目標物體,高效地完成搬運任務。同時,開發了手機App,采用了TCP協議,將手機App與機器人連接起來,用戶可以通過手機App對機器人進行遠程控制,下達任務指令,實時監控機器人的運動狀態,并且與機器人進行信息交流。既提升了機器人的靈活性,也為用戶提供了更便捷的操作體驗,能夠靈活應對各類生產需求,對于推動工業自動化、信息化發展以及產業數字化具有重要意義[1]。

1 系統架構

基于視覺系統的自主導航搬運機器人系統的結構架構如圖1所示,該系統由多個關鍵組件組成,包括STM32單片機、樹莓派控制主板、機械臂、攝像頭、激光雷達、語音模塊以及智能機器人[2]。通過組件協同工作,為機器人提供全面的感知和控制能力。樹莓派控制主板和STM32單片機構成了機器人的核心控制中樞。通過樹莓派與STM32之間的高效通信,實現了對機械臂動作和機器人運動的分別控制。這種分層控制結構使得機器人的運動與操控更為靈活,可根據具體任務對機械臂和底盤進行獨立或聯動控制,從而適應不同的工作場景。激光雷達是該系統中的關鍵感知器件,負責實現智能避障與路徑規劃。一方面,它能夠高精度地感知周圍環境,通過實時獲取距離信息,幫助機器人規避障礙物,確保其在復雜環境中安全導航。另一方面,激光雷達還能協助實現路徑規劃,使機器人能夠智能選擇最優路徑,提高搬運效率。攝像頭模塊用于完成對物品視覺特征信息的獲取,從而實現對物品的智能識別。通過攝像頭獲取的視覺信息,機器人能夠準確判斷物體的位置、形狀等特征,為后續的抓取和放置提供重要的視覺反饋。為了實現遠程監控和操控,開發了配套的Web網頁和語音控制模塊。用戶可以通過Web網頁端實時查看MySQL數據庫與樹莓派通信后的信息,了解機器人的狀態、任務進度等關鍵信息。同時,語音控制模塊使得用戶可以通過語音指令實現對機器人運動的遠程控制,增加了操控的靈活性。

圖1 系統結構設計圖

2 系統硬件設計

2.1 機械結構

智能搬運機器人的機械結構部分主要由機械臂和機器人組成。機械臂采用全鋁合金,具有6個自由度,獲取信息后進行貨物的分揀,支持手柄與App兩種控制方式,滿足用戶多樣化的需求。機器人由底盤、麥克納姆輪、驅動組成,麥克納姆輪可以更靈活方便地實現全方位移動[3]。四個電機位于底盤之下,通過分層布局可以對電機起保護作用。機身設計了活動滑蓋,方便開關。整體采用SolidWorks進行建模設計并3D打印實物,如圖2所示。

圖2 整體結構圖

2.2 硬件電路PCB

圖3為主板控制電路PCB。該PCB主要有電機驅動模塊、WiFi通信模塊、電壓轉換模塊、電源指示燈電路、復位電路等模塊。電機驅動模塊是整個電路的核心,負責接收控制信號并將其轉換為電機動作。此外,主板還集成了WiFi通信模塊,使用戶可以通過無線網絡遠程控制和監測電機的運行狀態。這項功能為系統提供了更大的靈活性和便利性,特別是在需要遠程操作的場景下。電壓轉換模塊是為了適應不同電源和電機的電壓要求而設計的,能夠有效地將輸入電壓轉換為電機所需的適當電壓,從而確保電機在各種工作條件下都能夠正常運行。在整個主板上,還包含了電源指示燈電路,以便用戶可以直觀地了解電源狀態。這一設計不僅提高了用戶體驗,還有助于故障排查和維護。同時,復位電路的加入確保了在需要時能夠迅速恢復系統到初始狀態,提高了系統的可靠性和穩定性。為了優化整體性能,該主板采用雙層PCB板,并通過合理布局元器件來最小化電路板的復雜性。在設計過程中,特別關注了主控芯片和發熱元件的布局,以確保它們能夠獲得良好的散熱效果,從而提高系統的穩定性和壽命。

圖3 硬件電路PCB

2.3 PID控制系統

自主導航搬運機器人采用520編碼器電機測量和反饋麥克納姆輪的運動信息,通過串口通信監測編碼器輸出脈沖的速率[4],從而實現麥克納姆輪速度的實時測量,比較期望值和實際值,得到控制偏差,然后通過對偏差的比例、積分、微分進行控制運算[5],使偏差趨于零,達到機器人的預定運動狀態。圖4為實時監測到的使用printf函數串口連接上位機打印出來的波形,實現了電機運行狀態的監測,圖中I0是左輪轉速,I1是右輪轉速,I2是左輪PWM值,I3是右輪PWM值,正常工作時,I4為0,p2為右輪的PID比例項參數,i2為右輪的PID比例項參數,i為左輪的PID微分項參數,P為左輪的PID比例項參數,ltar是左輪目標值參數,rtar是右輪目標值參數。

圖4 上位機監測情況

2.4 自主導航控制系統

自主導航搬運機器人采用STM32作為驅動控制板控制電機,采用樹莓派4B來搭載ROS系統[6],通過串口與STM32通信,通過USB連接激光雷達與攝像頭等主要傳感器。該機器人采用的360度掃描測距激光雷達每秒采樣可達3000次,采用ROS操作系統封裝的Gmapping算法將定位與建圖過程分離,先定位,再進行建圖。Gmapping會訂閱tf和scan兩個話題,用于激光雷達坐標系、基坐標系、里程計坐標系之間的變換以及激光雷達掃描數據,Gmapping還會發布話題,如發布地圖Meta數據、柵格數據、機器人姿態分布值估計,通過VNC軟件連接機器人的控制系統,分別運行啟動機器人底盤、啟動Gmapping建圖中的launch文件、啟動鍵盤控制節點的指令后,實現如圖5所示的環境建圖,周圍的白色和黑色就是正在建立的地圖,從而實現機器人的自主導航與避障[7]。

圖5 環境建圖時的圖像

2.5 圖像處理技術

機器人的圖像處理采用了OpenCV的函數庫,可進行圖像載入、保存和采集操作,實時處理圖像。本文采用KCF(Kernelized Correlation Filters)跟蹤算法和特征匹配算法,實現物體識別與跟蹤任務。首先,對圖像進行初始化,創建顯示界面。隨后,啟動攝像頭并進行初始化,初始化完成后拍攝圖像[8],如圖6所示為攝像頭拍攝到的圖像。攝像頭捕捉到的圖像可能受到光照和噪聲等因素的干擾,因此利用OpenCV的圖像處理功能對圖像進行過濾和增強,提高視覺系統的魯棒性。最終,對處理后的圖像進行分析和處理,分辨出物品信息,計算完成后將相關結果發送給樹莓派,最后由STM32單片機控制機械臂抓取物品。

圖6 攝像頭拍攝到的圖像界面

3 系統軟件設計

系統軟件設計分為移動端和Web端,具體包括移動應用(App)和網頁(Web)兩個前端部分[9],以及后端數據管理的MySQL數據庫。

3.1 App設計

自主導航搬運機器人App界面如圖7所示,用戶可以遠程監控機器人在工作環境中的狀態,通過手機應用遠程控制機器人的移動、抓取等操作[10],同時,為用戶提供會員中心、使用操作、維護維修等服務。

圖7 App主界面

3.2 網頁設計

為了實現對機器人的在線控制等操作,基于Java設計了一種Client-Server模型的網頁,用戶可以通過瀏覽器訪問Web控制界面,進行多車調控,如圖8所示。同時,網頁還提供了歷史工作數據和日志,記錄機器人的運行歷史、執行任務的時間和完成狀態等信息,用戶可實時查詢物品信息并進行錄入和刪除操作,以及調取物品歷史記錄,如圖9所示。

圖8 Web控制界面

圖9 物品信息錄入網頁

3.3 MySQL數據庫

自主導航搬運機器人采用如圖10所示的MySQL數據庫,該數據庫具有安全、可跨平臺、高效的特點,并與PHP、Java等主流編程語言緊密結合[11],用于存儲和管理與機器人操作和監控相關的數據,包括物品信息、機器人執行的任務列表、任務狀態等信息。當用戶創建、編輯或刪除任務的時候,相關信息可以在MySQL數據庫中進行更新。

圖10 MySQL數據庫

4 測試分析

4.1 測試環境

在服務器端進行數據庫的部署,利用阿里云linux服務器,使用SSH工具通過服務器的公網IP地址遠程登錄到云服務器,然后在該linux操作系統上安裝python環境,安裝并配置數據庫。

4.2 測試結果及分析

所需環境搭建好后,通過設計自啟動文件實現數據庫在服務器端的持續運行。硬件端則通過攝像頭將條形碼等信息送到服務器端進行物品的識別,并將預測結果返回到硬件端對物品進行分揀。將硬件設備準備好,把如圖11所示不同種類的物品條形碼放于攝像頭前進行數據讀取,經過Zbar算法和特征匹配算法處理[12],分別將物品種類、條形碼編號、輪廓信息與數據庫進行匹配,反饋結果顯示在屏幕中。經過測試得出該識別的平均識別準確率可達100%,具體數據如表1所示。

表1 條碼識別率測試

圖11 測試圖片

5. 結語

本文針對搬運、分揀需求度高的場景,采用了MDK5、PyCharm等開發工具,結合前端框架和庫、后端開發,設計并實現了一款基于視覺系統的自主導航搬運機器人。該機器人以自主導航、智能識別和遠程控制等功能為特色,為高度自動化的生產場景提供了可靠的解決方案。在圖像識別開發方面,采用了OpenCV技術,通過調用攝像頭對采集到的圖像進行輪廓、條碼等信息的多途徑高準確率分析處理,使機器人能夠迅速而準確地理解周圍環境,為機械臂的抓取和放置功能提供了精準的數據支持。攝像頭的實時視覺反饋使得機器人能夠識別不同形狀和特征的物體,實現智能搬運操作。機器人的動力系統采用了PID控制算法驅動電機,同時結合激光雷達技術進行地圖構建和路徑規劃,使得機器人能夠智能避障,實現自主導航。通過對周圍環境的高精度感知,機器人能夠構建精確的地圖,規劃最優路徑,從而在復雜的工作場景中高效運動,提高搬運效率。系統的遠程控制功能通過前端框架和庫的應用,以及后端的開發實現。用戶可以通過遠程控制界面實時監控機器人的狀態,并通過遠程指令調整機器人的運動軌跡,從而提升了機器人的操控靈活性,也使得操作者能夠更加便捷地響應生產線上的變化。綜上所述,本文所設計的基于視覺系統的自主導航搬運機器人充分發揮了圖像識別、PID控制和激光雷達等技術的優勢,能夠實時感知環境、識別障礙物和目標位置,從而實現智能避障、自主導航、分揀搬運和遠程控制,對于產業數字化轉型發展具有重要價值。

猜你喜歡
激光雷達攝像頭物品
手持激光雷達應用解決方案
浙江首試公路非現場執法新型攝像頭
稱物品
攝像頭連接器可提供360°視角圖像
法雷奧第二代SCALA?激光雷達
“雙十一”,你搶到了想要的物品嗎?
誰動了凡·高的物品
基于激光雷達通信的地面特征識別技術
基于太赫茲技術的新一代攝像頭及其在安防領域的應用探討
基于激光雷達的多旋翼無人機室內定位與避障研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合