Skip to Content

Quadrotor XY trajectory controller

A horizonal plane trajectory controller architecture is proposed. This controller allows to define a trajectory as a sequence of chekcpoints that have to be reached with a certain maximum confidence radius. Its main components are a Kalman Fitler, a State Machine that performs the path planning and the mission scheduling; and a classical cascade PID controller. This work was simplified to using two inputs: roll and pitch; and four outputs: the horizontal plane speed and position coordinates. 


Fig. 1 Quadrotor controller overview. The controller is divided in two modules: a mid-level controller that receives position and speed commands, and a high-level controller that is in charge of the mission scheduling and the path and speed planning.


The components of the controller are, see Fig. 1:

  1. Kalman Fitler: it is used to reject measurement noise and two fuse the robot odometry data and the position estimation. These data can arrive ashyncrinously to the filter. This fact will allow to use ashyncronous vision-based position estimation data in future experimental work.
  2. Finite-State machine: it is in charge of the mission scheduling. For example, if a checkpoint is not reached with the fast speed controller, then it will switch to a hover controller and will make the quadrotor hover to the non-reached checkpoint. it also performs the speed and path planning, the importance of these components is that they deliver reachable command references to the mid-level controller. For example, the bounded acceleration and velocity quadrotor constraints are taken into account in the planning algorithms. 
  3. Mid-level controller: it is basically a cascade PID controller, with some non-linearity rejection addons. 

Fig. 2 (top-left) High-level control finite state machine. The states correspond to navigation control strategies. The state transitions are activated depending on the current mission status and on the position of the drone relative to the trajectory.

Fig. 2 (top-right) Trajectory controller performance using the high precision parameter configuration, the system is simulated using the simplified model. FSM states: {st, straight line} {t, turn}. In this figure, the acceleration and decceleration stages defined by the speed planner can be observed.

Fig. 2 (bottom) Reference trajectory for the controller simulation shown in  Fig. 2 (top-right). The reference sequence of checkpoints is shown with red dots, the last reference checkpoint is shown as a green dot.

The performances of the controller have been tested in simulation only. The controller architecture shows good performances with multiple configuration parameter values, for example, changing the maximum accelerations and velocities for the planner yields the expected results. The stability robustness of the controller was tested adding model uncertainties and also using two models for the AR Drone:  a simplified model that captures only the main dynamics of the quadrotor, and a second model based on the physical laws underlying the AR Drone behavior.