邵东微网站建设线上营销手段有哪些
Ardupilot开源无人机之Geek SDK进展2024-2025
- 1. 源由
 - 2. 状态
 - 3. TODO
 - 3.1 【进行中】跟踪目标框
 - 3.2 【暂停】onnxruntime版本
 - 3.3 【完成】CUDA 11.8版本
 - 3.4 【完成】pytorch v2.5.1版本
 - 3.5 【未开始】Inference性能
 - 3.6 【未开始】特定目标集Training
 
- 4. Extra-Work
 - 4.1 【完成】CUDA 12.3版本
 - 4.2 【暂停】TensorRT 8.6
 - 4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)
 
- 5. 同步工作
 - 6. 参考资料
 - 7. 问题
 - 7.1 风扇启动全速噪音问题
 - 7.2 Jetson Orin Nano Super性能升级
 - 7.3 Jetpack5 TensorRT 8.5不可升级版
 
1. 源由
前期搭建《Ardupilot开源无人机之Geek SDK》,主要目的是:
- 基于:《ArduPilot开源飞控系统 - 无人车、船、飞机等》
 - 验证:《Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考》可行性
 - 框架:打通硬实时、软实时的控制面和数据面链路,提供一个简单、多样、高效的验证平台 jetson-fpv
 
2. 状态
-  
简单示例
 -  
框架成型:jetson-fpv
 -  
支持特性:
-  
FPV features (FPV功能)
- MSPOSD for ground station (OSD)
 - video-viewer (视频图像,可以达到120FPS)
 - Adaptive wireless link (链路自适应)
 
 -  
Jetson video analysis (Jetson推理功能)
- detectnet for object detection
 - segnet for segmentation
 - posenet for pose estimation
 - imagenet for image recognition
 
 -  
yolo for object detection (YOLO目标检测)
 -  
Real time video stabilizer
 -  
DeepStream analysis (DeepStream目标跟踪分析)
- ByteTrack
 - NvDCF tracker
 
 
 -  
 -  
硬件形态


 
3. TODO
优先级:
- 【0101暂定】3.2 onnxruntime版本 > 3.1 跟踪目标框 > 3.5 Inference性能 > 3.6 特定目标集Training > 3.3 CUDA 11.8版本 > 3.4 pytorch v2.5.1版本
 - 【0109变更】3.3 CUDA 11.8版本 > 3.4 pytorch v2.5.1版本 > 3.2 onnxruntime版本 > 3.1 跟踪目标框 > 3.5 Inference性能 > 3.6 特定目标集Training
 - 【0117变更】目前NVIDIA主要支持L4T36.x(ubuntu22.04),对L4T35.x(ubuntu20.04)支持力度日渐转弱,进度很慢(尽管官方论坛说没有停止支持)。将不连续帧跟踪目标框持续OSD输出的问题尽快提上日程。
 
 └──> 【完成】3.3 CUDA 11.8版本│    └──> 【完成】4.1 CUDA 12.3版本└──> 【完成】3.4 pytorch v2.5.1版本└──> 【进行中】4.2 TensorRT 8.6├──> 【进行中】3.2 onnxruntime版本└──> 【进行中】3.1 跟踪目标框└──> 3.5 Inference性能└──> 3.6 特定目标集Training
 
- 【0120变更】鉴于目前NVIDIA闭源,虽然尚未宣布Jetpack5的EOL时间,但是实际在版本支持和研发投入上,已经明显出现乏力(详见:7.3)!而目前来说Super版本似乎从性能上是一个改观,为此我们后续将投入BSP6.2版本,顺便调整优先级,废弃一些闭源升级问题带来的折腾。
 
 ├──> 【完成】3.3 CUDA 11.8版本│   │    └──> 【完成】4.1 CUDA 12.3版本│   └──> 【完成】3.4 pytorch v2.5.1版本│        └──> 【暂停】4.2 TensorRT 8.6│            └──> 【暂停】3.2 onnxruntime版本└──> 【完成】4.3 Jetpack6.2(Jetson Orin Nano Super)└──> 【进行中】3.1 跟踪目标框└──> 3.5 Inference性能└──> 3.6 特定目标集Training
 
3.1 【进行中】跟踪目标框
- DeepStream-Yolo - How to keep the bounding boxes when interval is NOT zero? #604
 - NVIDIA - How to keep the bounding boxes when interval is NOT zero?
 
3.2 【暂停】onnxruntime版本
- Yolov8s no bounding box on default settings #597
 - NVIDIA - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild
 - microsoft/onnxruntime - Build onnxruntime v1.19.2 for Jetpack 5.1.4 L4T 35.6 Faild #23267
 - [Build] Trying to build on a embedded device that doesn’t support BFLOAT16 #19920
 - mlas: fix build on ARM64 #21099
 
通过上面的问题沟通,逐步锁定源头和原因:ARCH对bf16的硬件支持 vs gcc版本问题。
- arm64: force -mcpu to be valid #21117
 
基于Jetpack5.1.4升级gcc11版本
 升级CUDA版本11.4.315 到11.8.89
 提升3.3 CUDA 11.8任务优先级
 需要考虑OpenCV对CUDA的版本依赖问题
- [Build] v1.19.2 abseil_cpp failed: 2 with JP5.1.4 gcc/g++13 #23286
 - Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel
 
3.3 【完成】CUDA 11.8版本
- How to install CUDA 11.8 on Jetpack 5.1.4 L4T 35.6?
 - Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换
 
目前,了解到支持的版本状况:CUDA Toolkit Archive
- Ubuntu 20.04 支持到 CUDA 12.3 (同时支持Ubuntu 22.04)
 - 从CUDA 12.4开始仅支持Ubuntu 22.04
 
安装deb文件
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/arm64/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb
$ sudo dpkg -i cuda-tegra-repo-ubuntu2004-11-8-local_11.8.0-1_arm64.deb
 
复制CUDA密钥
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings///more specific
$ sudo cp /var/cuda-tegra-repo-ubuntu2004-11-8-local/cuda-tegra-95320BC3-keyring.gpg /usr/share/keyrings/
 
安装cuda及其依赖组件
$ sudo apt-get update
$ sudo apt-get -y install cuda
 
3.4 【完成】pytorch v2.5.1版本
- pytorch v2.5.1 build for nvidia jetson orin nano 8GB #143624
 - Linux 35.6 + JetPack v5.1.4之 pytorch编译
 - Linux 35.6 + JetPack v5.1.4之 pytorch升级
 - Release pytorch-v2.5.1+l4t35.6-cp38-cp38-aarch64
 
pytorch 2.5.1 编译:
$ cat ./build.sh
#!/bin/bash# git clone https://github.com/SnapDragonfly/pytorch.git
# git checkout nvidia_v2.5.1
# git submodule update --init --recursiveexport USE_NCCL=0
export USE_DISTRIBUTED=0
export USE_QNNPACK=0
export USE_PYTORCH_QNNPACK=0
export TORCH_CUDA_ARCH_LIST="8.7"
export PYTORCH_BUILD_VERSION=2.5.1
export PYTORCH_BUILD_NUMBER=1
export L4T_BUILD_VERSION=35.6
export USE_PRIORITIZED_TEXT_FOR_LD=1
export USE_FLASH_ATTENTION=0
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHpython3 setup.py bdist_wheel
 
pytorch 2.5.1 二进制安装:
$ wget https://github.com/SnapDragonfly/pytorch/releases/download/v2.5.1%2Bl4t35.6-cp38-cp38-aarch64/torch-2.5.1+l4t35.6-cp38-cp38-linux_aarch64.whl
$ sudo pip3 install torch-2.5.1+l4t35.6-cp38-cp38-linux_aarch64.whl
 
torchvision安装:
$ git clone https://github.com/SnapDragonfly/vision.git torchvision
$ cd torchvision
$ git checkout nvidia_v0.20.1
$ export BUILD_VERSION=0.20.1
$ sudo python3 setup.py install --user
$ cd ..
 
升级JetPack5.1.4 L4T35.6后的版本信息:
Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 11.8.89- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer:                   YES (1.16.3)NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0  CUDA TrueYOLO version: 8.3.33Torch version: 2.5.1+l4t35.6Torchvision version: 0.20.1a0+3ac97aa
DeepStream SDK version: 1.1.8
 
3.5 【未开始】Inference性能
- DeepStream-Yolo - Anyway to boost yolo performance on Jetson Orin? #605
 - NVIDIA - Anyway to boost yolo performance on Jetson Orin?
 
A: DeepStream-Yolo - INT8 calibration (PTQ)
 B: NVIDIA - NvDCF tracker plugin 
3.6 【未开始】特定目标集Training
TBD.
4. Extra-Work
4.1 【完成】CUDA 12.3版本
在CUDA 11.8基础上遇到了 Build onnxruntime 1.19.2 fail due to API HardwareCompatibilityLevel问题,貌似API版本不兼容,那么就升到最高支持的12.3尝试下。
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/sbsa/cuda-ubuntu2004.pin
$ sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
$ wget https://developer.download.nvidia.com/compute/cuda/12.3.2/local_installers/cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo dpkg -i cuda-repo-ubuntu2004-12-3-local_12.3.2-545.23.08-1_arm64.deb
$ sudo cp /var/cuda-repo-ubuntu2004-12-3-local/cuda-5B67C214-keyring.gpg /usr/share/keyrings/
$ sudo apt-get update
$ sudo apt-get -y install cuda-toolkit-12-3
 
- 版本信息
 
Software part of jetson-stats 4.2.12 - (c) 2024, Raffaello Bonghi
Model: NVIDIA Orin Nano Developer Kit - Jetpack 5.1.4 [L4T 35.6.0]
NV Power Mode[0]: 15W
Serial Number: [XXX Show with: jetson_release -s XXX]
Hardware:- P-Number: p3767-0005- Module: NVIDIA Jetson Orin Nano (Developer kit)
Platform:- Distribution: Ubuntu 20.04 focal- Release: 5.10.216-tegra
jtop:- Version: 4.2.12- Service: Active
Libraries:- CUDA: 12.3.107- cuDNN: 8.6.0.166- TensorRT: 8.5.2.2- VPI: 2.4.8- Vulkan: 1.3.204- OpenCV: 4.9.0 - with CUDA: YES
DeepStream C/C++ SDK version: 6.3Python Environment:
Python 3.8.10GStreamer:                   YES (1.16.3)NVIDIA CUDA:                   YES (ver 11.4, CUFFT CUBLAS FAST_MATH)OpenCV version: 4.9.0  CUDA TrueYOLO version: 8.3.33PYCUDA version: 2024.1.2Torch version: 2.5.1+l4t35.6Torchvision version: 0.20.1a0+3ac97aaDeepStream SDK version: 1.1.8
onnxruntime     version: 1.16.3
onnxruntime-gpu version: 1.18.0
 
4.2 【暂停】TensorRT 8.6
- TensorRT 8.6 GA for Ubuntu 20.04 and CUDA 12.0 and 12.1 DEB local repo Package
 - Guide for Upgrading TensorRT
 - How to translate xx/x scripts of TensorRT installation?
 - How to upgrade tensorrt to latest version for Jetpack 5.1.4?
 
4.3 【完成】Jetpack6.2(Jetson Orin Nano Super)
参考:Linux 36.3@Jetson Orin Nano之系统安装
- 下载Jetpack6.2
 - 安装Linux36.4.3 - Jetson Linux Developer Guide (online version)
 - 准备安装环境
 
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Jetson_Linux_r36.4.3_aarch64.tbz2
$ wget https://developer.nvidia.com/downloads/embedded/l4t/r36_release_v4.3/release/Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2
$ tar xf Jetson_Linux_r36.4.3_aarch64.tbz2
$ sudo tar xpf Tegra_Linux_Sample-Root-Filesystem_r36.4.3_aarch64.tbz2 -C Linux_for_Tegra/rootfs/
$ cd Linux_for_Tegra/
$ sudo ./tools/l4t_flash_prerequisites.sh
$ sudo ./apply_binaries.sh
 
- 调整IPV6环境
 
$ sudo vi /etc/sysctl.confor
$ sudo sysctl net.ipv6.conf.all.disable_ipv6=0
$ sudo sysctl net.ipv6.conf.default.disable_ipv6=0
 
- 烧录固件(烧录模式)
 
$ sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device nvme0n1p1 \-c tools/kernel_flash/flash_l4t_t234_nvme.xml -p "-c bootloader/generic/cfg/flash_t234_qspi.xml" \--showlogs --network usb0 jetson-orin-nano-devkit internal
 
- 接上显示器、键盘、鼠标
 
启动Jetson Orin Nano,按照桌面提示设置系统,更新系统:
$ sudo apt-get update
$ sudo apt-get upgrade
 
5. 同步工作
- Open FPV VTX开源之DIY硬件形态
 
6. 参考资料
【1】Ardupilot & OpenIPC & 基于WFB-NG构架分析和数据链路思考
 【2】ArduPilot开源飞控之MAVProxy深入研读系列 - 2蜂群链路
 【3】Ardupilot开源飞控之FollowMe计划
 【4】Ardupilot开源飞控之FollowMe验证平台搭建
 【5】Ardupilot开源无人机之Geek SDK讨论
 【6】OpenIPC开源FPV之工程框架
 【7】OpenIPC开源FPV之重要源码启动配置
 【8】wfb-ng 开源代码之Jetson Orin安装
 【9】wfb-ng 开源代码之Jetson Orin问题定位
 【10】Linux 35.5 + JetPack v5.1.3@CUDA安装和版本切换
 【11】Linux 35.6 + JetPack v5.1.4@yolo安装
 【12】Linux 35.6 + JetPack v5.1.4@python opencv安装
 【13】Linux 35.6 + JetPack v5.1.4@DeepStream安装
 【14】Linux 35.6 + JetPack v5.1.4之RTP实时视频Python框架
 【15】Linux 35.6 + JetPack v5.1.4之 pytorch编译
 【16】Linux 35.6 + JetPack v5.1.4之 pytorch升级
 【17】OpenIPC开源FPV之Adaptive-Link工程解析
 【18】NVIDIA DeepStream插件之Gst-nvtracker
 【19】Linux 36.3@Jetson Orin Nano之系统安装
7. 问题
7.1 风扇启动全速噪音问题
- Crazy loud noise fan early before NVIDIA logo display
 - How to set fan pwm io low/high in the early boot stage?
 
7.2 Jetson Orin Nano Super性能升级
Jetson Orin Nano Super DevKit硬件上稍有差异,但是Jetson Orin Nano只要BSP升级到Jetpack6.2 就具备了67 TOPS性能
- What’s the difference between Jetson Orin Nano vs Jetson Orin Nano Super?
 - NVIDIA Jetson Orin - Next-level AI performance for next-gen robotics and edge solutions
 

7.3 Jetpack5 TensorRT 8.5不可升级版
鉴于目前NVIDIA反馈在Jetpack5.1.4上TensorRT仅支持到8.5版本,但是从TensorRT 版本发布上看,确实也能看到8.6GA版本【怀疑存在诸多未言明问题】。
虽然,开源也有不少问题,但是随着我们的投入,逐步解决了开源系统的升级编译,但是对于闭源系统,确实非常无奈!
- Has JetPack 5 reached its end of life (EOL), or is there an EOL planned for it?
 - How to translate xx/x scripts of TensorRT installation?

 
