Pegasus Documentation

Overview

Pegasus is a quasi open-source Guidance, Navigation and Control (GNC) software package for controlling autonomous drones using ROS 2. It is designed to be used with the PX4 flight stack, but open enough to be used with other flight stacks as well. It is mainly written in C++ and Python.

This work is part of Project Pegasus, a semi-personal side project started by Marcelo Jacinto with the end-goal of supporting experimental validation of his Ph.D. It provides:

  • A set of ROS 2 nodes with a modular state machine;

  • A CAD model for a 3D printed drone used in the project;

  • A set of Gazebo plugins to simulate the drone in Gazebo;

This project is provided as is, with no warranty or support. It is intended to be used as a reference for other researchers and developers in the field of control and robotics. It may NOT be used for commercial purposes or military applications without the explicit consent from the project founder.

Developer Team

If you find Pegasus useful in your academic work, please cite the tech report below. It is also available (TODO).

@misc{jacinto2024pegasus,
   title={Pegasus: A Quasi Open-Source Guidance, Control and Navigation Software Package for Autonomous Drones},
   author={Marcelo Jacinto and João Pinto and Rita Cunha},
   year={2024},
   eprint={},
   archivePrefix={arXiv},
   primaryClass={cs.RO}
 }

Project Sponsors

The work developed by Marcelo Jacinto and João Pinto was supported by Ph.D. grants funded by Fundação para a Ciência e a Tecnologia (FCT).

As the author of this work, I would like to thank the support of the following coleagues and friends (in no particular order) during the development and testing of this project.

Not only have you made this project possible, but also crashing drones an enjoyable experience! Checkout their work and contributions in the field of control and robotics.

References

Indices and tables