Autonomous Quadrotor Flight

Built an X650 quadrotor from a Holybro kit, integrated a Jetson Nano, and flew the vehicle indoors in BYU's MAGICC Lab without GPS by connecting it to the motion-capture system. I also set up an Apptainer-based ROS 2 / PX4 / Gazebo environment on BYU's ORC Red Hat Linux infrastructure and used it to develop and validate trajectories before physical flight. The project highlights robotics infrastructure, flight testing, and simulation-to-hardware iteration.

Role
Research Assistant
Team
BYU MAGICC Lab
Duration
August 2025 - December 2025
Outcome
Established a full simulation-to-flight workflow for indoor GPS-denied quadrotor testing, including figure-eight, waypoint, and orbital trajectories.
Core Tools
Jetson Nano, ROS 2, PX4, Gazebo, Apptainer, Motion Capture, Python, Matplotlib
X650 quadrotor flying indoors in the motion-capture room during autonomous flight testing.

Overview

This project focused on extending quadrotor development beyond hardware into indoor autonomous flight and simulation-driven testing. I built an X650 quadrotor from a Holybro kit, integrated a Jetson Nano, and flew the vehicle manually before connecting it to the BYU MAGICC Lab motion-capture system for indoor GPS-denied flight.

In parallel, I set up an Apptainer-based simulation environment on BYU’s ORC Red Hat Linux infrastructure so that ROS 2, PX4, and Gazebo could be used together in a reproducible workflow for trajectory development and validation.

Development Workflow

I used an iterative simulation-to-hardware process for each trajectory:

  1. Generate and visualize the path in Python using Matplotlib
  2. Simulate the trajectory in the ROS 2 / PX4 / Gazebo environment
  3. Fly the same trajectory physically on the X650 quadrotor in the motion-capture room

This workflow made it possible to test and refine trajectories before committing to physical flight.

Results

X650 quadrotor platform used for indoor motion-capture flight testing

The flight-testing workflow supported multiple trajectory types, including:

  • keyboard velocity commands
  • waypoint following
  • figure-eight flight
  • complex rotating orbital patterns

Figure-Eight Flight

Figure-eight trajectory generated and visualized in Python before simulation

Figure-eight trajectory in the ROS 2 / PX4 / Gazebo simulation environment

Figure-eight trajectory flown on the physical X650 quadrotor in the mocap room

Rotating Orbital Trajectory

Rotating orbital trajectory generated and visualized in Python before simulation

Rotating orbital trajectory validated in simulation before flight testing

Rotating orbital trajectory executed on the physical X650 quadrotor

Technical Skills