跳到内容

语言

Currency

YOPO End-to-End Real-Drone Reproduction Tutorial: SU17 Developer Edition Quick-Start Guide

by AMOVLAB 03 Sep 2025 0 条评论

Using the SU17 Developer Edition (including the Orin optional package), we completed an engineering reproduction of Tianjin University's YOPO end-to-end planning algorithm and compile a set of practical tutorials from "zero to run-through".

YOPO does not rely on online mapping, coupling perception, trajectory search and optimization into the same network, and a single forward inference can provide safe and feasible trajectories; with the help of Guidance Learning training strategy, millisecond-level latency can be achieved in simulation and real machine testing.

This tutorial is applicable to the SU17 developer version (including the Orin optional package); in order to reduce the cost of getting started, we will launch the corresponding function installation package in the future, which can be used out of the box and quickly deployed.

Video placeholder: The original Chinese article includes a video here. AMOVLAB will manually connect the corresponding YouTube video.

01 Prepare and connect

Use NoMachine to connect the SU17-Orin optional package through the same LAN and enter the desktop.

Install conda; put the YOPO project in the directory shown in the figure below.

02 Create and activate Python environment

Establish a YOPO environment through conda (can be connected to a wired network or USB shared network)

conda create -n yopo python=3.8

Activate YOPO environment

conda activate yopo

03 Install PyTorch

View CUDA version

nvcc -V

The Orin option package provided with the SU17 Developer Edition is based on the NVIDIA ARM architecture, so NVIDIA's official PyTorch that adapts to Jetson Orin NX needs to be installed.

Official website link: PyTorch for Jetson - Jetson & Embedded Systems / Announcements - NVIDIA Developer Forums

You need to install the Orin downloaded in the previous step in the corresponding YOPO environment.

pip install torch-2.1.0a0+41361538.nv23.06-cp38-cp38-linux_aarch64.whl

04 Install basic dependencies

Install OpenCV-python

pip install opencv-python

Install gym, stable-baseline3

pip install gym stable-baselines3

Install arithmetic package

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 Building and compiling flightlib

Go to the flightlib/build directory and run the command: cmake..

The construction is completed as shown in the figure:

Start compiling

make -j4

Solve the error

Solution:

Instructions: pip install pyyaml

Run make -j4 again to compile

06 Install flightgym


# Run in the directory containing setup.py (the docs recommend the build directory; do not delete setup.py by mistake)
pip install .

07 Install flightpolicy


echo "export PYTHONPATH=$PYTHONPATH:~/YOPO" >> ~/.bashrc
source ~/.bashrc

(Used to refresh environment variables, enter the base environment after refreshing, remember to reactivate the YOPO environment)

08 Run YOPO

Go to the run directory and run the py program to start planning.

python test_yopo_ros_new.py

Solve the error

Solution:

Command: pip install rospkg

Run the py program again

python test_yopo_ros_new.py means it runs successfully

09 RVizVisualization


# Load the preset RViz configuration from the YOPO root directory
rviz -d yopo.rviz

If there is no image at this time, it means that the camera and depth map compression module have not been turned on.

10 Depth map link up

Use the ground control station to connect to the aircraft. As shown in the figure below, the connection is successful.

Start four-view localization; right-click on RViz to switch the localization source and display valid That is, the switch is successful and the camera is turned on;

Enable depth map compression

Start the depth map decoder on Orin:


# In the workspace that contains devel
source devel/setup.bash
roslaunch su17_experiment su17_rvl_decoder.launch

Back to RViz: the depth map should be displayed in the lower left corner, and the trajectory planned by YOPO is on the right.

11 Field test

  • test_yopo_ros_new.py will continue to send control commands; the flight controller will not execute when the aircraft is not unlocked.

  • It is recommended to terminate the script by pressing Ctrl+C on the corresponding terminal after completing the visual inspection on the ground.

  • After arriving at the test site, repeat the process according to Sections 8–10, and finally run:
python test_yopo_ros_new.py

12 Related configuration items

Modify the maximum flight speed in the traj_opt.yaml file in the YOPO/flightlib/configs directory.

Resource Express

Past recurrence tutorials:

Tianjin University YOPO end-to-end planning algorithm recurrence tutorial | ProSim article

No need to envy Tesla FSD, you can also reproduce visual end-to-end on UAV | Ubuntu reproduction tutorial

Paper analysis:

Tianjin University end-to-end planning algorithm open-source! Autonomous flight no longer lags/recurrence video attached

Paper link:

https://ieeexplore. IEEE.org/document/10528860 (Click the lower left corner to read the original text to jump)

open-source code:

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

发表评论

All blog comments are checked prior to publishing

感谢您订阅

This email has been registered!

Shop the look

Choose Options

Recently Viewed

Edit Option
Back In Stock Notification
Terms & Conditions
What is Lorem Ipsum? Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. Why do we use it? It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).
this is just a warning
登录
Shopping Cart
0 items