MPC Based Linear Equivalence with Control Barrier Functions for VTOL-UAVs
<|reference_start|>MPC Based Linear Equivalence with Control Barrier Functions for VTOL-UAVs: In this work, we propose a cascaded scheme of linear Model prediction Control (MPC) based on Control Barrier Functions (CBF) with Dynamic Feedback Linearization (DFL) for Vertical Take-off and Landing (VTOL) Unmanned Aerial Vehicles (UAVs). CBF is a tool that allows enforcement of forward invariance of a set using Lyapunov-like functions to ensure safety. The First control synthesis that employed CBF was based on Quadratic Program (QP) that modifies the existing controller to satisfy the safety requirements. However, the CBF-QP-based controllers leading to longer detours and undesirable transient performance. Recent contributions utilize the framework of MPC benefiting from the prediction capabilities and constraints imposed on the state and control inputs. Due to the intrinsic nonlinearities of the dynamics of robotics systems, all the existing MPC-CBF solutions rely on nonlinear MPC formulations or operate on less accurate linear models. In contrast, our novel solution unlocks the benefits of linear MPC-CBF while considering the full underactuated dynamics without any linear approximations. The cascaded scheme converts the problem of safe VTOL-UAV navigation to a Quadratic Constraint Quadratic Programming (QCQP) problem solved efficiently by off-the-shelf solvers. The closed-loop stability and recursive feasibility is proved along with numerical simulations showing the effective and robust solutions. Keywords: Unmanned Aerial Vehicles, Vertical Take-off and Landing, Model Predictive Control, MPC, Nonlinearity, Dynamic Feedback Linearization, Optimal Control.<|reference_end|>
@article{ali2024mpc,
    title={MPC Based Linear Equivalence with Control Barrier Functions for
  VTOL-UAVs},
    author={Ali Mohamed Ali, Hashim A. Hashim, Chao Shen},
    journal={arXiv preprint arXiv:2404.09320},
    year={2024},
    archivePrefix={arXiv},
    eprint={2404.09320},
    primaryClass={eess.SY cs.SY}
}