大疆無人機使用eport連接Jetson主板實現目標檢測

所需硬件設備如下:
在這里插入圖片描述

實現原理:

  1. 視頻流獲取:從大疆無人機獲取實時視頻流。
  2. 數據傳輸:將視頻流傳輸至 Jetson 平臺。
  3. 目標檢測處理:在 Jetson 上運行目標檢測算法對傳入的視頻幀進行分析

EPort開發套件

大疆官網給出了 M350 RTK 飛行器與 EPort 連接的教程:
https://developer.dji.com/doc/payload-sdk-tutorial/cn/quick-start/quick-guide/jetson-nano.html

在這里插入圖片描述

無人機與Eport連接圖:

在這里插入圖片描述

Jetson開發板

  • USB 轉 TTL 串口模塊: 此模塊通常用于低級別的硬件調試和通信。在這個上下文中,它可能被用來與 E-Port開發者套件建立串行通信鏈路,以便發送命令或接收來自負載的數據

  • USB-C USB 連接線: 用于連接飛行器的調參接口,這允許用戶對飛行器及其負載進行固件升級或者通過PC上的模擬器來進行測試。

  • Micro USB 連接線: 可能用于連接 Jetson Nano 和 E-Port 開發者套件,以實現數據傳輸或其他形式的通信。

  • USB-C OTG 轉接線: OTG(On-The-Go)轉接線可以讓 Jetson Nano充當主機角色,從而連接其他USB設備。在這種情況下,它可能用于增強Jetson Nano與其他硬件組件之間的兼容性。

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述

更新軟件庫

sudo apt-get update 
sudo apt-get upgrade 
sudo apt-get install automake 
sudo apt-get install libaio-dev

Opus安裝

Opus 是一種開源的的音頻編解碼器,設計用于實時語音傳輸
首先下載opus的安裝包,可以直接采用apt安裝(推薦):

sudo apt-get install libopus-dev 

當然,也可以考慮使用源碼文件安裝,不用太糾結于版本,使用最新版即可:

https://github.com/xiph/opus/releases/tag/v1.5.2

在這里插入圖片描述

#解壓文件
tar -xzvf opus-1.5.1.tar.gz   
cd opus-1.3.1/ 
autoreconf -f -i 
./configure 
make -j16 
sudo make install 

檢查是否安裝成功,這里采用的是apt安裝,其默認版本是1.3.1

 pkg-config --modversion opus

在這里插入圖片描述

FFmpeg安裝

FFmpeg 是一個強大的開源音視頻處理工具集,可以用來:
轉換音視頻格式(如 MP4 → AVIMP3 → WAV
剪輯、合并、分割視頻
提取音頻或封面圖
實時推流(RTMPHLS),這里推薦使用apt安裝

sudo apt-get install ffmpeg 

如果不行,可以采用源碼安裝

tar -zxvf ffmpeg-4.3.2.tar.gz 
./configure --enable-shared 
make && make install 

使用如下命令檢驗是否安裝成功

# 安裝完成后檢查 ffmpeg 是否安裝 
ffmpeg -version 

在這里插入圖片描述

OpenCV、CUDA、cudNN配置

這里需要注意的是OpenCV的版本一定要在4.9以上,好吧,請直接從git上下載源碼,安裝的是4.13版本,親測有效,4.94.11版本均不可用
git clone https://github.com/opencv/opencv.git

詳情參照博主這篇博文:https://blog.csdn.net/pengxiang1998/article/details/149073838

Jetson邊緣計算主板:Ubuntu 環境配置 CUDA 與 cudNN 推理環境 + OpenCV 與 C++ 進行目標分類

在這里插入圖片描述

這里Jetpack的版本找不到了,但其實并不影響,只會報一個warning而已

在這里插入圖片描述

安裝USB配置文件

libusb-1.0-0-dev 提供了在 Linux 上直接與 USB 設備進行通信所需的開發文件,通過這個包可以實現與 USB 設備通信

sudo apt-get install libusb-1.0-0-dev 

檢查內核模塊

使用如下命令即可:

# 確保usb gadget和usb轉串?的驅動都裝了
# 檢查 USB Gadget 相關模塊 
lsmod | grep usb

在這里插入圖片描述

  1. USB Gadget 相關:通常會顯? libcomposite 等模塊(這是 USB Gadget 功能的核?依賴)。
  2. USB 轉串?相關:常?的模塊包括: usbserial:通? USB 轉串?驅動框架
    ftdi_sio:FTDI 芯片的驅動
    pl2303:Prolific PL2303 芯片的驅動
    cp210x:Silicon Labs CP210x 芯片的驅動
    ch341:沁恒
    CH340/CH341 芯片的驅動
  3. usb 轉串?對應的設備是/dev/ttyUSB0

源碼下載

將源碼下載到如下地址,并將其解壓,得到文件如下:

在這里插入圖片描述

設置開機自啟服務

設置開機自啟服務:這是為了讓無人機啟動后既可以自動執行我們的導線追蹤算法

切換到/home/laiease/Payload-SDK-master/目錄下,使用root 權限將service文件安裝到/etc/systemd/system?錄下 :

sudo mv djixunxian.service /etc/systemd/system/ 

在這里插入圖片描述

隨后切換到/home/laiease/Payload-SDK-master/jetson-usb/,然后將如下服務文件也移動到對應位置

在這里插入圖片描述

sudo mv jetsongadget.service /etc/systemd/system/

將對應的服務文件放置到系統路徑下后,需要讓 systemd “知道”有新的或更改的服務存在:

新建了一個服務(如 djixunxian.service)
修改了某個服務的配置文件(比如路徑、啟動命令、環境變量等)

# 重新加載systemd     其會讓systemd 重新加載所有的服務單元配置文件(比如 .service 文件)
sudo systemctl daemon-reload   

隨后執行以下幾個步驟進行設置自啟:

# 允許兩個服務開機?啟 
sudo systemctl enable djixunxian.service

djixunxian.service 已成功啟用開機自啟

在這里插入圖片描述

sudo systemctl enable jetsongadget.service

jetsongadget.service 已成功啟用開機自啟

在這里插入圖片描述

# 啟動兩個服務 
sudo systemctl start jetsongadget.service
sudo systemctl start djixunxian.service 

啟動完成效果如下:

在這里插入圖片描述

編譯startup_bulk

切換到 jetson-usb 路徑

cd /home/laiease/Payload-SDK-master/jetson-usb 
make

效果如下:

在這里插入圖片描述

項目編譯

cd ./Payload-SDK-master 
mkdir build 
cd build 
make -j4 

重啟服務,要先啟動jetsongadget,然后再啟動djixunxian

systemctl restart jetsongadget
systemctl restart djixunxian

檢查服務狀態

systemctl status djixunxian

當然,也可以使用 journalctl | grep -i dji 查看狀態:

推流正常:

在這里插入圖片描述
推理正常:
在這里插入圖片描述

推理效果如下:

在這里插入圖片描述

報錯處理

在啟動服務時報錯:

Process: 11087 ExecStart=/home/laiease/Payload-SDK-master/build/bin/dji_sdk_demo_linux_cxx (code=dumped, signal=ABRT)
Main PID: 11087 (code=dumped, signal=ABRT)

在這里插入圖片描述

這是由于USB_bulnk找不到導致的,當出現找不到USB0時,這是由于沒有CH34驅動的,可以下載一個驅動:

git clone https://github.com/juliagoda/CH341SER.git

隨后切換到CH41SER目錄

然后執行make命令

在這里插入圖片描述

ls /dev/ttyUSB*

在這里插入圖片描述

完整的執行過程:

在這里插入圖片描述

此時USB bulk便可以了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/92659.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/92659.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/92659.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Typora激活與使用

Typora下載 下載地址:Typora 官方中文站 Typora(1.9.5及其以前的版本) 工具:待補充 流程 1.解壓工具 2.將license-gen.exe、node_inject.exe兩個文件放于typora安裝目錄下 3.在typora安裝目錄下運行cmd(可以打開…

圖片拆分工具,自定義宮格切割

軟件介紹 今天推薦一款實用的圖像處理工具——lmage Splitter,支持圖像拆分與格式互轉功能,無廣告干擾,操作簡單流暢,滿足多樣化圖片編輯需求。 軟件優勢 該工具為綠色版設計,無需安裝即可直接運行,下載…

23種設計模式解析--創建型模式

創建型模式(造物主的智慧) 單例模式 模式定義 單例模式(Singleton)確保一個類僅有一個實例,并提供該實例的全局訪問點。核心思想是通過私有化構造函數和靜態成員實現受控的對象創建。核心實現要點 私有構造函數&#x…

全面解析軟件工程形式化說明技術

一、形式化說明技術概述:從模糊到精確的跨越 在軟件工程的發展歷程中,需求說明技術始終是確保軟件系統成功開發的關鍵環節。從早期依賴自然語言的非形式化描述,到如今基于數學和邏輯的形式化方法,這一領域經歷了從模糊到精確的深…

百度網盤自動啟動如何關閉,關閉智能看圖

#某度軟件引起的奔潰#在日常辦公中,有時候雙擊圖片,會自動打開了某度的網盤,很奇怪莫名其妙的為什么會關閉網盤后又自動打開了。如何發現是某度的牛虻軟件在搞鬼的?我右鍵圖片,選擇打開方式,發現有“智能看…

疏老師-python訓練營-Day40訓練和測試的規范寫法

浙大疏錦行 知識點回顧: 彩色和灰度圖片測試和訓練的規范寫法:封裝在函數中展平操作:除第一個維度batchsize外全部展平dropout操作:訓練階段隨機丟棄神經元,測試階段eval模式關閉dropout 作業:仔細學習下測…

【重磅發布】flutter_chen_keyboard -專注于鍵盤相關功能

flutter_chen_keyboard 一個功能強大且易于使用的 Flutter 鍵盤增強庫,專為提升移動應用的鍵盤交互體驗而設計。 📖 庫簡介 flutter_chen_keyboard 是一個專注于鍵盤相關功能的 Flutter 工具庫,旨在為開發者提供更流暢、更智能的鍵盤交互解決…

idea設置注釋--帶日期和作者和描述

最終效果 在File Header中添加如下內容: /*** author ${USER}* date ${DATE} ${TIME}* description ${DESCRIPTION}*/${USER}:IDEA 里設置的用戶名 ${DATE}:當前日期 ${TIME}:當前時間 可以加自定義變量,比如 ${DESCRI…

【Linux】Socket編程——UDP版

📝前言: 這篇文章我們來講講Linux——udpsocket 🎬個人簡介:努力學習ing 📋個人專欄:Linux 🎀CSDN主頁 愚潤求學 🌄其他專欄:C學習筆記,C語言入門基礎&#…

RabbitMQ面試精講 Day 14:Federation插件與數據同步

【RabbitMQ面試精講 Day 14】Federation插件與數據同步 開篇 歡迎來到"RabbitMQ面試精講"系列第14天,今天我們將深入探討RabbitMQ Federation插件與跨集群數據同步機制。在分布式系統架構中,如何實現消息隊列集群間的數據同步是確保業務連續…

AI編程工具 | Trae介紹

描述需求就可以自動創建可運行的完整項目了,確實很強! 終端中的報錯信息都可以快速作為上下文輸入,點擊確認就可以自動修改,賊好使! Trae 編程工具詳細介紹 一、產品簡介 Trae 是字節跳動于 2025 年 1 月 19 日推出的…

【第11話:感知算法基礎3】目標檢測:深度學習目標檢測模型介紹入門及常用模型詳解

深度學習目標檢測模型介紹入門及常用模型詳解 目標檢測是計算機視覺的核心任務,需同時完成目標定位(輸出邊界框坐標)和目標分類(識別類別)。深度學習通過端到端訓練顯著提升了檢測精度和效率,主要分為兩類架…

稿定科技:多云架構下的 AI 存儲挑戰與 JuiceFS 實踐

稿定科技(gaoding.com)是一家專注于為企業和個人提供視覺內容創新方案的科技公司,致力于打造全新的設計方式,幫助更多用戶輕松掌控設計,創造價值。 隨著 AI 技術的加速發展,數據存儲和管理成為支撐公司創新…

徘徊識別場景誤報率↓77%:陌訊動態時序建模方案實戰解析

原創聲明本文為原創技術解析,核心技術參數與架構設計參考自《陌訊技術白皮書》,轉載請注明來源。一、行業痛點:徘徊識別的現實困境在安防監控領域,徘徊行為識別是保障公共安全的關鍵技術(如商場防盜竊、園區防闖入等場…

C# 通過第三方庫INIFileParser管理INI配置文件

C# 通過第三方庫INIFileParser管理INI配置文件目錄前言一、添加動態庫二、添加接口類代碼總結前言 很多時候我們是直接調用系統的C庫中的GetPrivateProfileString和WritePrivateProfileString接口來實現管理INI文件的,這個接口最久可以追溯到上個世紀80年代&#x…

政府數字化大屏系統 - Flask實現方案

下面我將設計一個基于Flask的政府數字化大屏系統,包含數據可視化、實時監控和統計分析功能,全套代碼下載看底部。 設計思路 使用Flask作為后端框架提供數據接口 前端采用響應式設計,適配大屏展示 使用ECharts實現多種數據可視化 模擬實時…

2025年主流開源音視頻播放項目深度解析

音視頻技術作為多媒體領域的核心支撐,其開源生態在近年來呈現爆發式發展。從底層編解碼引擎到跨平臺播放器應用,開源項目已形成完整的技術棧,滿足從個人娛樂到企業級流媒體服務的全場景需求。本文將深入剖析2025年最具影響力的五大開源音視頻…

【C++詳解】AVL樹深度剖析與模擬實現(單旋、雙旋、平衡因?更新、平衡檢測)

文章目錄一、AVL樹的概念二、AVL樹的實現AVL樹的結構AVL樹的插?AVL樹插??個值的?概過程平衡因?更新更新原則更新停?條件插入結點及更新平衡因子的代碼實現旋轉旋轉的原則右單旋右單旋代碼實現左單旋左單旋代碼實現左右雙旋左右雙旋代碼實現右左雙旋代碼實現判斷旋轉中序遍…

C++ 中的 enable_shared_from_this 詳解

# C 中的 enable_shared_from_this 詳解enable_shared_from_this 是 C 標準庫中的一個模板類,用于解決在類的成員函數中需要獲取指向自身的 shared_ptr 的問題。## 基本概念當一個對象由 shared_ptr 管理時,如果你想在對象的成員函數中獲得一個指向自身的…

day11 - 浮動

1. 標簽之間的空白問題 1.1. 問題重現 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>img {width: 100px;}</style> </head> <body><a…