ROSflight 2.0: Lean ROS 2-Based Autopilot for Unmanned Aerial Vehicles
Jacob Moore, Phil Tokumaru, Ian Reid, Brandon Sutherland, Joseph Ritchie, Gabe Snow, Tim McLain
TL;DR
This paper presents ROSflight 2.0, a lean ROS 2–based autopilot designed for UAV research that emphasizes clarity, modularity, and ease of transition from simulation to hardware. It details design updates, notably the ROS 1-to-ROS 2 migration, a flexible mixer framework with predefined, custom, and pass-through modes, and empirical motor parameters, all implemented atop a hardware abstraction layer. The integration updates include multiple hardware configurations and a modular SIL simulation environment supporting three simulators, enabling software-in-the-loop testing and rapid development. Hardware demonstrations validate 400 Hz control via a companion computer in pass-through mode and quantify serial RTT performance, illustrating ROSflight’s capability to accelerate research in advanced air mobility. Overall, ROSflight 2.0 enhances usability and modularity, facilitating faster research iterations by moving most autonomy to the companion computer while maintaining a clear, well-documented codebase.
Abstract
ROSflight is a lean, open-source autopilot ecosystem for unmanned aerial vehicles (UAVs). Designed by researchers for researchers, it is built to lower the barrier to entry to UAV research and accelerate the transition from simulation to hardware experiments by maintaining a lean (not full-featured), well-documented, and modular codebase. This publication builds on previous treatments and describes significant additions to the architecture that improve the modularity and usability of ROSflight, including the transition from ROS 1 to ROS 2, supported hardware, low-level actuator mixing, and the simulation environment. We believe that these changes improve the usability of ROSflight and enable ROSflight to accelerate research in areas like advanced-air mobility. Hardware results are provided, showing that ROSflight is able to control a multirotor over a serial connection at 400 Hz while closing all control loops on the companion computer.
