Trajectory Tracking Control of an Aerial Robot with Obstacle Avoidance ´ Icaro Bezerra Viana * Igor Afonso Acampora Prado * Davi Antˆonio dos Santos * Luiz Carlos Sandoval G´ oes * * Technological Institute of Aeronautics, S˜ ao Jos´ e dos Campos, SP 12228-900 Brazil (e-mail: icaro,igorap,davists,goes@ita.br). Abstract: The present paper deals with the problem of position control of a flying robot type multirotor helicopter with obstacle avoidance. In order to solve the problem, an architecture with model predictive controller (MPC) minimize the tracking error, where are implemented the inclusion of convex constraints on the position vector, making it possible to avoid obstacles with a flexible trajectory. The proposed method is evaluated on the basis of computational simulations considering that the vehicles is subject to disturbance forces. Simulation results show the effectiveness of the method related to the tracking performance with focus on the treatment of obstacle avoidance constraints. Keywords: Aerial robotics, Multirotor helicopter, Model predictive control, Tracking control, Obstacle avoidance. 1. INTRODUCTION There is a tendency in using multirotors helicopters as robotics platforms for executing missions in urban areas, for example product delivering and traffic monitoring. In order to continue improving the flight safety and for completely autonomous operation, it is indispensable that the multirotors have incorporated in their control system the ability of avoiding obstacles. The main idea of this topic is to design algorithms able of recognizing the obstacle and recalculating the multirotor trajectory for achieving the final point with safety. Applications using MPC strategy are expanding to robot control [Vivas and Mosquera, 2005], because this tech- nique is suitable for control of multivariable systems governed by constrained dynamics. The multirotors have an under-actuated dynamics with six degrees of freedom (DOF) and four independent controls. Namely, they have three DOFs of translation and three DOFs of rotation and can be actuated by three torque components and the magnitude of the total thrust vector. To ensure avoidance requirements in the context of trajectory planning, several solutions have been proposed in the literature, such as potential fields [Chuang, 1998, Paul et al., 2008], A * with visibility graphs [Hoffmann et al., 2008, Latombe, 1991] and mixed integer linear programming (MILP) [Richards and How, 2002]. In particular the latter shows how integer variables are added to the optimization process in order to deal with the constraints properly. This paper presents a control system for flight of an autonomous multirotors in the presence of obstacles. In order to ensure, simultaneously, performance in the trajectory tracking and treating the obstacle avoidance constraints, a structure with a MPC controller is used for guiding the vehicle. In this, the design of a position controller consists of a linear state-space model predictive control (MPC) strategy. Thus, is used here the trajectory control proposed in [Prado and Santos, 2013], where the controller is designed taking into account a conical constraint on the total thrust vector, ie constraints on the inclination of the rotor plane and on the magnitude of the total thrust vector. This paper extends the problem treated in [Prado and Santos, 2013] and in Santos et al. [2013] including integer constraints on the problem formulation using a quadratic cost function, resulting in a MIQP (mixed-integer quadratic program). The main contribution of this paper is the incorporation of a MIQP form in a predictive control scheme to treat the obstacle avoidance problem for multirotors helicopters. Figure 1 shows the block diagram of a control system for controlling only the three-dimensional position r ∈ R 3 of a multirotor to follow a time-varying position command r d ∈ R 3 . This system is organized in two loops: an inner loop for attitude control and an outer loop for position control. The Navigation System block is responsible for estimating the vehicle’s attitude D ∈ SO(3), angular velocity ω ∈ R 3 , position r, and linear velocity ˙ r ∈ R 3 . The Attitude Control block receives an attitude command D d ∈ SO(3) and produces the control torque τ ∈ R 3 to incline the rotor plane with respect to the horizontal plane as desired. The Position Control block has the role of generating the throttle command (command for the total thrust magnitude) f ∈ R and the attitude command D d necessary to accelerate the multirotor in such a way to control its position as desired.