  Omnidirectional micro aerial vehicles (OMAVs) are more capable of doing
environmentally interactive tasks due to their ability to exert full wrenches
while maintaining stable poses. However, OMAVs often incorporate additional
actuators and complex mechanical structures to achieve omnidirectionality.
Obtaining precise mathematical models is difficult, and the mismatch between
the model and the real physical system is not trivial. The large model-plant
mismatch significantly degrades overall system performance if a non-adaptive
model predictive controller (MPC) is used. This work presents the
$\mathcal{L}_1$-MPC, an adaptive nonlinear model predictive controller for
accurate 6-DOF trajectory tracking of an overactuated tiltrotor hexacopter in
the presence of model uncertainties and external disturbances. The
$\mathcal{L}_1$-MPC adopts a cascaded system architecture in which a nominal
MPC is followed and augmented by an $\mathcal{L}_1$ adaptive controller. The
proposed method is evaluated against the non-adaptive MPC, the EKF-MPC, and the
PID method in both numerical and PX4 software-in-the-loop simulation with
Gazebo. The $\mathcal{L}_1$-MPC reduces the tracking error by around 90% when
compared to a non-adaptive MPC, and the $\mathcal{L}_1$-MPC has lower tracking
errors, higher uncertainty estimation rates, and less tuning requirements over
the EKF-MPC. We will make the implementations, including the hardware-verified
PX4 firmware and Gazebo plugins, open-source at
https://github.com/HITSZ-NRSL/omniHex.
