Why another flight stack?

QUEST is for power-users who were going to connect a powerful Linux SOC and do significant software customization anyway. If you’ve ever been frustrated with the complexity/bulk of MAVLink, mavros, the PX4 pub/sub architecture, and NuttX when you really just want a bare-metal flight controller connected to a Linux box over a customizable UART protocol, QUEST is for you. If you want to move from simulation to hardware, while maintaining an easy link with the ROS packages you create and rely on, QUEST is for you.

QUEST is not for people who expect an out-of-the-box experience without tuning on a wide range of platforms, and does not support many typical 2D drone use cases inside the stack itself (waypoint following, return to land, etc.). Rather, we target a small number of platforms with code for excellent and predictable performance for these use cases: robotics and autonomous high-performance 3D flight. In addition, only functionality with a high degree of reuse and/or a need for tight coupling to the hardware or high loop rates is moved inside the flight stack, while the rest of the functionality can leverage existing open-source software and/or be rapidly prototyped in ROS.

Design rationales

See the following blog posts on the design process for QUEST:

ROS and F' middlewares

Get the COde

https://github.com/quest-fw/quest-fw