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文件修改最大飞行速度。

资源速递

往期复现教程:

天津大学YOPO端到端规划算法复现教程|ProSim篇

不用羡慕特斯拉FSD,你也能在无人机上复现视觉端到端|Ubuntu复现教程

论文解析:

天津大学端到端规划算法开源!自主飞行不再卡顿/附复现视频

论文链接:

https://ieeexplore.ieee.org/document/10528860(点击左下角阅读原文即可跳转)

开源代码:

https://github.com/TJU-Aerial-Robotics/YOPO

图片

扫码添加好友,了解更多产品信息

如果您有感兴趣的技术话题,请在留言区告诉我们!关注阿木实验室,更多技术干货不断更新!

开发遇到棘手难题可以上阿木官方论坛:

bbs.amovlab.com

有工程师亲自解答

10000+无人机开发者和你共同进步!