  We present a multirotor Unmanned Aerial Vehicle control (UAV) and estimation
system for supporting replicable research through realistic simulations and
real-world experiments. We propose a unique multi-frame localization paradigm
for estimating the states of a UAV in various frames of reference using
multiple sensors simultaneously. The system enables complex missions in GNSS
and GNSS-denied environments, including outdoor-indoor transitions and the
execution of redundant estimators for backing up unreliable localization
sources. Two feedback control designs are presented: one for precise and
aggressive maneuvers, and the other for stable and smooth flight with a noisy
state estimate. The proposed control and estimation pipeline are constructed
without using the Euler/Tait-Bryan angle representation of orientation in 3D.
Instead, we rely on rotation matrices and a novel heading-based convention to
represent the one free rotational degree-of-freedom in 3D of a standard
multirotor helicopter. We provide an actively maintained and well-documented
open-source implementation, including realistic simulation of UAV, sensors, and
localization systems. The proposed system is the product of years of applied
research on multi-robot systems, aerial swarms, aerial manipulation, motion
planning, and remote sensing. All our results have been supported by real-world
system deployment that shaped the system into the form presented here. In
addition, the system was utilized during the participation of our team from the
CTU in Prague in the prestigious MBZIRC 2017 and 2020 robotics competitions,
and also in the DARPA SubT challenge. Each time, our team was able to secure
top places among the best competitors from all over the world. On each
occasion, the challenges has motivated the team to improve the system and to
gain a great amount of high-quality experience within tight deadlines.
