You are on page 1of 2

Opatives de grau, ETSEIAT, 2014

Advanced Control Systems
This project is about the automatic control of the Parrot AR.Drone, a radio controlled flying quad-copter
designed to be operated manually through smart phones or tablet devices.
From the control point of view, the main objective is to design a state feedback controller for the device.
1. To become familiar with the platform from the control point of view. In particular, students are
expected to identify the state variables, the inputs (or control actions) and the outputs.
2. To design a state estimator based on the linear model.
3. To design a velocity controller based on the linear model.
4. To implement and test the controller on the simulator.
1. First activity: getting familiarized with the system
This activity is about getting used to the terminology of aerial vehicles, understanding that their dynamics
is described through the use of a relatively large number of states and, finally, starting to navigate and use
the AR.Drone simulation kit for Matlab.
(a) Download and read articles [
and [
to understand the description of the system.
(b) Download and open the AR.Drone simulation kit for Matlab.
(c) Write down the vector components of the control actions (inputs), measures (outputs) and state vari-
ables. Group the components according to their physical meaning in the system.
(d) Design the appropriate open loop inputs to obtain a system trajectory that goes through the following
waypoints (wait for 2 seconds between waypoints):
− take off (move to position (0,0,1))
− move to position (5,0,1)
− move to position (5,5,1)
− turn to face position (0,0,1)
− go back to (0,0,1)
− land (move to position (0,0,0))
(e) Simulate the system with the inputs obtained previously.
Deliverables: The simulink files to perform task 1.e)
2. Second activity: state estimation
Considering the overall goal of this project, it is necessary to have complete access to the state vector.
Nevertheless, the system state is not directly accessible so there is a need to estimate some of the state
T Krajn´ık, V Von´asek, D Fiˇser, J Faigl. AR-drone as a platform for robotic research and education. Research and Education
in Robotics-EUROBOT 2011, 172-186.]
P.-J. Bristeau, F. Callou, D. Vissi`ere, and N. Petit. The navigation and control technology inside the AR.Drone micro
UAV. Proc. of the 2011 IFAC World Congress.]
– 2 –
variables. This activity assumes the existence of a linear model of the quad-rotor and it uses that model
as a starting point. When loading the ARDroneBaseSim simulink file through the start here script various
transfer function objects are also loaded in the Matlab workspace. Those objects are the linear and uncoupled
approximations of the subsystems in the quad-rotor: tfH relates ˙ z
with z; tfPitch2U relates θ
with u,
the x velocity; tfPitchAng3 relates θ
with θ; tfRoll2V relates φ
with v, the y velocity; tfRollAng3
relates φ
with φ; tfYaw relates
with ψ.
(a) Obtain a state space representation of the linear model of the quad-rotor.
(b) Check the observability and controllability properties of the model.
(c) Design the state observer and validate it using the inputs calculated in the previous activity. Try
different pole configurations for the observer dynamics and choose one according to an index that
measures the difference between the real and estimated state.
Deliverable: A report detailing the necessary transformations to obtain the state space representation and
explaining the estimator results.
3. Third activity: desired trajectory
Taking into account that position is an estimated variable, and its estimation is not reliable, you will
concentrate on controlling velocities. But before designing the controller you are asked to make the effort of
designing an appropriate input signal to test the controller with. This signal (u
(t), v
(t)) should allow
you to test the controller’s performance and it should be a realistic input signal that could be used as an
experimental demonstration of the effectiveness of your controller. For example, the input signal could be
the velocities to make the quad-rotor fly in circles.
(a) Design the test experiment and create a Simulink file (Inpus.slx) that produces the desired velocities
signal. Include, if necessary the desired position visualization to verify that it works as expected.
Deliverables: the Simulink file.
4. Fourth activity: controller design
The state feedback controller is intended to drive the system states to zero but we want them to follow a
specific time signal, (u
(t), v
(t)). In order to do so the controller needs a feedforward gain matrix to
shift the zero steady state to a different one.
(a) Design a state feedback controller and a feedforward gain to control velocities.
(b) Simulate the control system with the inputs designed in the previous activity and evaluate the controller
with an index that measures the difference between the desired velocities and the real ones.
Deliverable: A report explaining the controller results.