YOPO端到端复现真机教程来了!SU17开发者版本速通指南
我们在SU17开发者版本(含Orin选配包)上完成了天津大学YOPO端到端规划算法的工程化复现,并整理出一套“从零到跑通”的实操教程。
YOPO不依赖在线建图,把感知、轨迹搜索与优化耦合进同一网络,单次前向推理即可给出安全可行轨迹;借助Guidance Learning训练策略,在仿真与实机测试中实现毫秒级时延。
本教程适用于SU17开发者版本(含Orin选配包);为降低上手成本,我们后续将会推出对应的功能安装包,开箱即用、快速部署。
文末还附有YOPO论文解析与开源代码链接,方便您一键直达。如果本文对您有所帮助,欢迎在文末三连:点赞、转发和推荐,支持我们继续创作更多优质内容!
01 准备与连接
使用NoMachine,通过同一局域网连接SU17-Orin选配包,进入桌面。
安装conda;将 YOPO工程放到下图所示的目录中。
02 创建与激活Python环境
通过conda建立yopo环境(可连接有线网或者usb共享网络)
conda create -n yopo python=3.8
激活YOPO环境
conda activate yopo
03 安装PyTorch
查看CUDA版本
nvcc -V
SU17开发者版所配Orin选配包基于NVIDIA ARM架构,因此需安装NVIDIA官方、适配Jetson Orin NX的PyTorch。
官网链接: PyTorch for Jetson - Jetson & Embedded Systems / Announcements - NVIDIA Developer Forums
需要在对应的yopo环境中安装上一个步骤下载的Orin
pip install torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl
04 安装基础依赖
安装OpenCV-python
pip install opencv-python
安装gym,stable-baseline3
pip install gym stable-baselines3
安装运算包
pip install scipy==1.10.1 scikit-build==0.18.1 ruamel-yaml==0.17.21 numpy==1.22.3 tensorboard==2.8.0 empy catkin_pkg
05 构建与编译flightlib
到flightlib/build目录下,运行指令:cmake ..
构建完成如图所示:
开始编译
make -j4
解决报错
解决方法:
指令: pip install pyyaml
再次make -j4进行编译
06 安装flightgym
# 在包含 setup.py 的目录执行(文档建议在build目录,注意勿误删setup.py)
pip install .
07 安装flightpolicy
echo "export PYTHONPATH=$PYTHONPATH:~/YOPO" >> ~/.bashrc
source ~/.bashrc
(用于刷新环境变量,刷新后进入base环境,记得重新激活yopo环境)
08 运行YOPO
前往run目录运行py程序开始进行规划
python test_yopo_ros_new.py
解决报错
解决方法:
指令: pip install rospkg
再重新运行py程序
python test_yopo_ros_new.py即表示成功运行
09 RViz可视化
# 在 YOPO 根目录下加载预设RViz 配置
rviz -d yopo.rviz
若此时还没有图像,表示摄像头与深度图压缩模块尚未开启。
10 深度图链路接通
使用地面站连接飞机,如下图所示即为连接成功
启动四目定位;在RViz右键切换定位源,显示valid即切换成功并打开相机;
启动深度图压缩
在Orin上启动深度图解码器:
# 在含有 devel 的工作空间
source devel/setup.bash
roslaunch su17_experiment su17_rvl_decoder.launch
回到RViz:左下角应显示深度图,右侧为YOPO规划出的轨迹。
11 现场测试
test_yopo_ros_new.py 会持续发送控制命令;飞机未解锁时飞控不执行。
建议在地面完成可视化检查后,于对应终端 Ctrl+C 终止脚本。
- 到测试场地后,按第8–10节流程复现,最后运行:
python test_yopo_ros_new.py
12 相关配置项
在YOPO/flightlib/configs目录中的traj_opt.yaml文件修改最大飞行速度。
资源速递
往期复现教程:
不用羡慕特斯拉FSD,你也能在无人机上复现视觉端到端|Ubuntu复现教程
论文解析:
论文链接:
https://ieeexplore.ieee.org/document/10528860(点击左下角阅读原文即可跳转)
开源代码:
https://github.com/TJU-Aerial-Robotics/YOPO
扫码添加好友,了解更多产品信息
如果您有感兴趣的技术话题,请在留言区告诉我们!关注阿木实验室,更多技术干货不断更新!
开发遇到棘手难题可以上阿木官方论坛:
bbs.amovlab.com
有工程师亲自解答
10000+无人机开发者和你共同进步!