新聞中心

        EEPW首頁 > 機器人 > 設計應用 > 基于Jetson TX2視覺識別的取放一體平衡機器人

        基于Jetson TX2視覺識別的取放一體平衡機器人

        作者:王錦璟1,武志濤1*,馬雨楊2(1.遼寧科技大學電子與信息工程學院,遼寧鞍山 114000;2.遼寧科技大學機械工程與自動化學院,遼寧鞍山 114000) 時間:2023-08-20 來源:電子產品世界 收藏
        編者按:為了解決在復雜環境下人工操作難以實現自動化、智能化和精確性的問題,設計了一種具有自平衡功能的取放一體平衡機器人,并開發了其軟硬件系統。該機器人利用OpenCV在NVIDIA Jetson TX2平臺上進行圖像處理,從而能夠識別其周圍的環境,并根據目標參數實現自動控制平衡機器人的運動。機器人的底盤采用STM32F4系列作為主控芯片,能夠快速地獲取電機等數據,并進行實時的PID控制等處理。

        基金項目:*遼寧科技大學大學生創新創業訓練計劃專項經費資助

        本文引用地址:http://www.104case.com/article/202308/449751.htm

        技術是當前發展最快的領域之一,已經廣泛應用于物流、制造、醫療衛生和社會服務等多個領域。針對在復雜環境下人工操作難以實現自動化、智能化和精確性的問題,本項目開發了一款基于Jetson TX2的取放一體。該采用高性能的Jetson TX2作為硬件平臺,可實現高速圖像處理和計算。機器人采用現代機器人技術的機械結構和電氣控制,包括兩輪和機械臂等。軟件系統包括圖像處理、運動控制和用戶界面等模塊,通過自主感知、控制和運動規劃等功能,該機器人能夠精準地捕獲并放置物品。本項目在Jetson TX2平臺上搭建了機器視覺開發環境,并利用等技術實現了本地端圖形方式的信息傳遞功能。針對機器人運動過程中的控制,采用了PID 控制算法。

        1 系統設計

        1.1 系統框架

        本機器人的運動控制系統采用F407IGH6 作為主控,該主控采用高性能的ARM Cortex-M4 處理器,能夠有效地處理高速數據和復雜算法。該主控存儲容量可擴展,可儲存大量程序代碼和數據,確保系統具有快速響應和高效性能。此外,該主控還擁有多種外設和通信接口,支持機器人系統的多樣化和復雜功能。該系列主控還具有低功耗特性和較高性價比,易于獲取開發工具。

        另外,機器人的系統采用Jetson TX2,該系統采用基于Pascal 的多處理器GPU 架構和8 核ARM64 CPU,可提供超過1TFLOPS 的高性能計算能力,支持多種編程模型,包括神經網絡、圖像處理和流媒體編碼等,還支持多種傳感器、控制器和執行器的連接,并配備了豐富的開發工具和樣例,方便開發人員進行機器人應用的復雜開發。綜上所述,Jetson TX2 在本項目中發揮了至關重要的作用,特別是在實現物體識別和信息獲取方面。

        1.2 控制流程

        機器人啟動后,機器人將開始采集環境圖像,并通過攝像頭將圖像傳遞給圖像處理模塊(TX2)。該模塊將使用圖像處理技術對圖像進行處理,然后將處理后的數據傳遞給運動控制模塊。在數據處理過程中,運動控制模塊將使用PID 控制算法來監控機器人的運動狀態。最終,在運動控制模塊的規劃和控制下,機器人將達到預定的目標位置,并利用機械臂控制來抓取目標物體并將其存儲。控制流程如圖1 所示。

        image.png

        圖1 控制流程

        1.3 系統模塊

        1.3.1 視覺模塊

        為了處理視覺系統采集到的物體圖像和輸出檢測結果,本項目采用了Jetson TX2 和KS2A543 高速攝像頭。

        1.3.2 平衡控制模塊

        使用F407IGH6 作為主控,通過CAN 總線獲取電機信息和參數,采用算法實現多重閉環,以控制輪組電機、YAW 軸電機和PITCH 軸電機。

        2 硬件設計

        2.1 硬件選型

        為了提高機器人的性能,本項目采用了不同的硬件模塊。其中,Jetson TX2 作為視覺系統的處理器,用于處理物體圖片并輸出檢測結果;F407IGH6 作為底盤和云臺的主控,負責底盤運動控制和云臺底盤信息傳遞;陀螺儀選用單片機內置的BMI088。此外,為了實現高效穩定的動力輸出,輪組電機和YAW 軸電機均采用大疆M3508 電機,具備有感FOC 控制,可提供穩定的扭矩,無論轉速高低都能保持平穩的動力輸出,從而使得機器人具有快速響應和穩定性能。而根據實際需求,PITCH 軸電機則選用大疆M2006 電機,以具備控制精度高、輸出功率大、體積小等特點。云臺除了部署Jetson TX2 以外,還有控制機械臂的PITCH 軸電機、YAW 軸電機和輪組電機以及放置于機器人底盤上的STM32 主控。底盤和云臺之間通過CAN 通信進行交互。硬件整體連接框圖如圖2。

        1692475838563684.png

        圖2 硬件整體連接圖

        3 軟件設計

        3.1 軟件架構

        本項目選用了TX2 作為嵌入式平臺,搭載Ubuntu16.04 系統和3.4 等軟件構建高效運算平臺。通過利用攝像頭和TX2 解算數據模型,本項目可獲取空間圖像信息,并通過UART 串口通信將信息傳輸至STM32 單片機。同時,利用TX2 進行深度圖像的像素級評估,對目標物體構建物體模型并獲取其特征點。接著,通過TX2 進行解算判斷,縮小機器人和目標物體之間的距離。此外,在Jetson TX2 平臺上構建了機器視覺開發環境,以實現基于 等技術的本地端圖形方式信息傳遞功能。

        3.2 算法

        首先,需要使用標注工具對圖像中的目標物體進行標記,并將其轉換為YOLO 模型所需的格式,包括圖片和標注文件。由于Jetson TX2 的硬件資源有限,因此可以使用預訓練的模型(如COCO、VOC 等)進行微調訓練,逐漸增加Batch Size 以提高性能和收斂速度。同時,采用數據增強方法可以增加訓練數據,提高模型的準確性。訓練完成后,需要對其進行測試以評估其準確性和性能。可以通過使用測試集對YOLO 模型進行測試,并觀察其輸出結果,從而檢查YOLO 算法是否能夠準確地檢測目標物體。最后,將訓練好的YOLO模型部署到Jetson TX2 上,并使用YOLO 提供的API進行目標檢測。為了檢測圖像中的目標物體,本項目可以使用OpenCV 對圖像文件進行讀取和檢測結果的顯示。一旦檢測到目標物體,可以獲取其位置、類別等信息。在確定目標物體后,可以利用OpenCV 庫進一步處理物體,如確定其顏色和尺寸等信息。

        3.3 平衡控制算法

        為了實現垂直方向上的平衡控制并生成程序骨架,可以使用STM32CubeMX工具并添加相關庫和驅動程序,包括陀螺儀、CAN 和PID。利用CAN 總線獲取電機參數和信息,并讀取陀螺儀測量值,以實現平衡控制。在PID 控制算法中,P(比例)、I(積分)和D(微分)系數的選擇非常重要。P 系數影響響應速度和穩定性,I 系數用于消除靜態誤差,D系數減小震蕩。可以通過實驗和仿真等方法來尋找最佳PID 系數值以實現更為穩定的平衡控制。在程序中,計算PID 控制器的輸出并根據輸出來控制電機的速度或位置等參數,以實現平衡控制。同時,需要對PID 控制器進行限幅以防止電機失控,并不斷調整PID 系數以使平衡控制更加穩定和快速。

        3.4 軟件總體實現

        所有嵌入式算法基于HAL 庫通過freeRTOS 分任務執行。其中Chassis Task 任務負責獲取底盤控制等信息;Gimbal Task 任務負責獲取云臺等信息;Imu Task 任務負責解算板載陀螺儀;Annex Task 任務負責控制一些附件,例如舵機等;最后System Inform Task 任務負責進行數據更新、交互及數據加載。軟件總體實現框圖如圖3。

        1692475970600880.png

        圖3 軟件總體實現框圖

        4 系統測試

        4.1 物體目標檢測算法

        首先,加載預先訓練好的YOLO 權重文件,獲取網絡結構的相關參數,以及包含了YOLO 所需的目標類別名稱的文本文件。接著,使用函數提供的接口加載輸入的權重參數和YOLO 配置文件。這兩個文件應包含了模型的結構細節、輸入/ 輸出層名稱和類別標簽等信息。其次,加載需要檢測的圖像,并對其進行預處理操作。這些操作包括:將像素值的范圍縮放到0~1 之間、調整其大小、重新排序,并添加1 個新的維度來拓展輸出數組形狀。將經過預處理的圖像輸入到預訓練的物體檢測算法中,輸出檢測結果。為了剔除概率小的或者IoU 值大于設定閾值的重疊框,可以采用非極大值抑制(NMS)算法對輸出結果進行后處理。接著,對于檢測到的目標,進行分類、位置定位以及預測置信度的解碼,將算法的輸出轉換為邊框、概率和類別ID。物體目標檢測算法的部分代碼展示如圖4 所示。

        1692476034306298.png

        圖4 物體目標檢測算法部分代碼展示

        4.2 測試結果

        將處理好的目標物體檢測結果通過在原圖上畫出邊界框的方式展示出來。不同的目標物體可以用不同的顏色來代表它們所屬的不同識別類別,并在標簽上顯示其對應的類別名稱。測試結果如圖5。

        image.png

        圖5 測試結果

        4.3 測試結果分析

        盡管PID 算法是一種常用的控制算法,但通過改進PID 算法以提高系統穩定性和精度,或采用其他控制算法,如模糊控制、LQR 控制器等,可能會進一步提高控制系統性能。需要注意的是,實驗結果僅基于特定場景,應進一步探索該在實際日常條件下的表現,例如在不同表面的摩擦系數和坡度變化的情況下運動、在不同亮度的日照下進行等。

        5 結束語

        本文介紹了一種基于Jetson TX2 平臺的平衡機器人,該機器人采用了視覺識別技術并使用STM32 作為主控芯片,能夠實時獲取各種傳感器數據,并對周圍環境進行識別和控制。實驗結果表明,該機器人實現了優秀的自平衡和控制功能,并表現出魯棒性和可靠性。未來的研究方向包括進一步優化控制算法、提高系統的穩定性和精度,以及在實際工作場景中進行測試。此外,機械結構的設計和控制策略研究也是一個重要的方向,以進一步提高機器人的準確性和穩定性。這些方面的改進和優化將有助于更好地應用平衡機器人在物流、醫療器械、環境衛生和其他服務領域。總之,該平衡機器人的設計和實現為機器人技術的發展提供了新的思路和方向,并在自動化、智能化和精準化作業的領域具有廣泛的應用前景。

        參考文獻:

        [1] 劉愛東,郭智超,徐君明,等.基于改進YOLOv4與JetsonTX2的無人機實時目標檢測方法[J].兵器裝備工程學報,2022,43(4):204-210.

        [2] 梁赟. 基于機器視覺的產品識別與定位方法研究[D].哈爾濱:哈爾濱工業大學,2020.

        [3] 阮激揚. 基于YOLO的目標檢測算法設計與實現[D].北京:北京郵電大學,2019.

        [4] 王偉,張晶濤,柴天佑. PID參數先進整定方法綜述[J].自動化學報,2000,38(3):347-355.

        [5] 路成強,曾潔,李千振.基于卡爾曼濾波的兩輪自平衡遙控小車設計[J].自動化儀表,2017,38(9):44-47.

        (本文來源于《電子產品世界》雜志2023年8月期)



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 东方市| 衡阳县| 宁阳县| 克东县| 新昌县| 图们市| 怀远县| 邻水| 偏关县| 孝昌县| 巴青县| 柏乡县| 屏南县| 丹棱县| 腾冲县| 秦安县| 天柱县| 和田市| 油尖旺区| 温宿县| 清原| 年辖:市辖区| 大兴区| 嵊泗县| 天津市| 师宗县| 阿拉善左旗| 张家港市| SHOW| 东明县| 沾益县| 睢宁县| 炎陵县| 前郭尔| 安吉县| 政和县| 长沙市| 县级市| 曲松县| 博乐市| 米泉市|