Documente Academic
Documente Profesional
Documente Cultură
MODELADO Y CONTROL DE UN
CUADRICOPTERO
Autor: Sevilla Fernández, Luis
Directores: Zamora Macho, Juan Luis.
Porras Galán, José.
Fernández Martı́nez, Cesáreo.
Entidad colaboradora: ICAI – Universidad Pontificia Comillas.
Resumen—El objetivo de la lı́nea de trabajo donde se enmarca este proyecto es modelar y controlar un vehı́culo aéreo no tripulado
(UAV) provisto de cuatro rotores (cuadricóptero) accionados mediante motores brushless. El sistema de control permitirá el vuelo
estacionario, la navegación guiada mediante una emisora de radiocontrol y la navegación autónoma mediante sensores de distancia.
Con el fin de poder utilizar el vehı́culo en docencia, se implantará tanto el modelo como las estrategias de control que se exploren en
el entorno Matlab/Simulink.
tres direcciones del espacio se producen generando un controles PID como el diseñado por Bouabdallah [11].
empuje diferencial entre dos rotores alternos. Ası́ pues, Es importante remarcar que en internet hay disponible
para producir un desplazamiento en la dirección x, se una gran variedad de firmwares para controladores
deberá reducir la velocidad del rotor 2 de la figura 2 de vuelo basados en Arduino como el Multiwii o el
y aumentar la del 4. Finalmente, el incremento de la Mega-Pirate disponibles para el controlador Crius y
velocidad de rotación de los motores 1 y 3 permitirá al el firmware APM para el controlador Ardu-Pilot. Sin
dispositivo realizar una guiñada dextrógira, mientras embargo, no se conocen versiones disponibles para el
que el aumento de la velocidad de 2 y 4 resulta en una entorno Matlab Simulink.
guiñada levógira.
Finalmente, la aplicación de cuadricópteros en cursos
de control avanzado en distintas universidades está au-
mentando significativamente durante los últimos años,
como por ejemplo en la Universidad de Hong Kong [12],
la Universodad de Illinois o el Swiss Federal Institute of
Technology, entre otros muchos casos.
3. M ODELADO
El modelo matemático del cuadricóptero viene dado
por el conjunto de ecuaciones que describen el compor-
tamiento fı́sico de la aeronave. En este proyecto se han
desarrollado dos modelos:
Modelo no lineal completo. Conjunto de ecuacio-
nes que permite representar de forma detallada el
Figura 2: Esquema de los pares generados por los rotores
comportamiento del cuadricóptero en vuelo. Las
El modelado matemático de una aeronave es un tema entradas del modelo son las tensiones aplicadas a
ampliamente estudiado en la literatura. En la actualidad, los cuatro motores brushless, y las salidas son las
existe una gran variedad de modelos tanto para vuelos posiciones y velocidades en los seis grados de liber-
interiores [1],[2],[3] como para vuelos exteriores, en tad del cuadricóptero. La aplicación fundamental
cuyo caso se incluyen los efectos aerodinámicos [4],[5]. de este modelo es comparar diferentes estrategias
La correcta definición de un modelo es crı́tica tanto de control mediante una simulación lo más realista
para el diseño de la estrategia de control como para los posible, como un paso de validación previo a la
estudios de simulación. implantación del sistema de control en el equipo.
Modelo simplificado. Este modelo incluye exclusi-
El control asume la disponibilidad de las variables vamente las dinámicas correspondientes a la orien-
de estado, es decir la estimación de la orientación del tación del cuadricóptero, permitiendo diseñar la
cuadricóptero definida a partir de los ángulos de Euler. estrategia de control que estabiliza la aeronave.
Los estimadores de estado más comunes para este tipo Cada uno de estos modelos requiere de un conjunto
de aplicación son: de parámetros (dimensiones, masa, momentos de inercia
El filtro complementario [6]: se basa en una pon- y caracterı́sticas dinámicas de los sistemas propulsores),
deración de la estimación de los ángulos de Euler que deben ser adecuadamente estimados. Consecuente-
realizada a partir de las medidas de los aceleróme- mente, se ha desarrollado un modelo CAD y se han
tros y los giróscopos. Hace uso de un filtro paso realizado pruebas del sistema de propulsión en un banco
bajo para eliminar el ruido del acelerómetro (alta de ensayos.
frecuencia) y de un filtro paso alto para eliminar el En este proyecto se ha hecho uso del programa Solid
bias de los giróscopos (baja frecuencia). Edge para obtener la representación gráfica (CAD) del
El filtro de Kalman [7]: Se trata de un algoritmo de cuadricóptero mostrada en la figura 3.
estimación de los ángulos de Euler a partir de un
modelo estocástico del sistema de medida, basado
en los acelerómetros y giróscopos.
En relación a la estrategia de control, existe una
gran variedad de algoritmos propuestos en la
literatura debido a que el modelo del cuadricóptero
es multivariable y no lineal. Entre los algoritmos
propuestos destacan los algoritmos basados en la
teorı́a de Lyapunov de H.Voos [1] y Bouabdallah
[3], los controladores por realimentación del estado Figura 3: Representación CAD de la estructura del cua-
como el control LQ diseñado por Hoffmann [10] y los dricóptero
MODELADO Y CONTROL DE UN CUADRICOPTERO, JUNIO 2014 3
Este programa permite calcular los parámetros para aligerar la carga computacional del conjunto y
mecánicos de la estructura incluidos en la tabla 1. ademas evitar el gimbal lock [9].
Parámetros mecánicos de la estructura La aplicación de este filtro de Kalman comprende
Masa
(Kg)
Volumen
(mm3 )
Ixx
(Kgm2 )
Iyy
(Kgm2 )
Izz
(Kgm2 )
varias fases de cálculos complejos como se ilustra en
0.2722 94059.7154 7,83 · 10−4 7,85 · 10−4 1,401 · 10−3 la figura 5 a modo de ilustración. Los detalles del
Parámetros dinámicos de los rotores funcionamiento del mismo se pueden encontrar en la
Kv Rm b d
(rpm/v)
2900
(Ω)
0.6
(N s/rad)
5.44e-7
(N ms/rad)
7.32e-9
memoria del proyecto.
−6
−7
frecuencia. Se ha hecho uso de los ı́ndices signifi- información entre el algoritmo de control programado
cativos (margen de fase, pulsación de cruce, etc) en Simulink y los sensores y actuadores instalados en
recomendados por la literatura. La presencia del el cuadricóptero. Estos ”driver blocks” han sido progra-
mecanismo anti-windup es esencial para evitar la mados en C++ e integrados en bloques de Simulink, lo
acumulación del error en la integración cuando el cual supone una dificultad añadida por la novedad que
mando satura. supone. Los drivers diseñados son los siguientes:
2. Control PID incremental. Se trata de una modifica- Driver para la IMU. Con este driver se pretende
ción realizada sobre el control PID anterior en la acceder a la información disponible en la IMU. Para
que se trabaja con incrementos en vez de con valo- su programación se ha hecho uso de la librerı́a
res absolutos. La principal ventaja es que permite FreeIMU, originalmente escrita en C++.
limitar los incrementos del mando y que simplifica Driver para el transmisor-receptor RC. Este código
la lógica del mecanismo anti-windup. es el que establece la comunicación entre el receptor
3. Control por realimentación de estado por posi- RC y el microcontrolador. Este código programado
cionamiento de polos. Los polos del sistema en hace uso de interrupciones para evitar un exceso
lazo cerrado se han seleccionado para optimizar la de consumo de memoria por parte del microcon-
respuesta del sistema. trolador. Adicionalmente se ha incluido un filtro de
4. Regulador LQ por realimentación de estado. Se ha Savitzky-Golay para reducir el nivel de ruido de las
hecho uso de un modelo estocástico del sistema señales.
para para obtener la matriz de ganancias de re- Driver para los ESC. Se trata de generar una señal
alimentación del estado que permita minimizar el PWM que permite variar la tensión aplicada al
error de seguimiento de la referencia y el esfuerzo motor.
de control. Driver para el lector de la tensión de la baterı́a.
5. Control LQ por realimentación de estado con ac- Este driver permite obtener la medida analógica de
ción integral(LQI). Se ha añadido una acción inte- la tensión en la baterı́a.
gral para corregir las perturbaciones en carga que Finalmente se ha programado un máquina de estados
presenta el sistema. para el arranque seguro del sistema y la gestión de las si-
Adicionalmente, se ha desarrollado un modelo del tuaciones de fallo. Esta máquina estados ha introducido
cuadricóptero sobre una motocicleta (péndulo invertido) al sistema:
para evaluar los algoritmos de control anteriores a la 1. Elementos de seguridad como control de altura
hora de estabilizar el cuadricóptero, mientras se reduce máxima, arranque del sistema controlado o tensión
el riesgo de dañar el dispositivo ante errores en la mı́nima de la baterı́a.
implantación y un mal ajuste del control. 2. Variaciones en el algoritmo de control, como por
ejemplo la desactivación de la acción integral du-
6. I MPLEMENTACI ÓN rante el proceso de arranque para evitar que se
Al no existir experiencia previa en el uso anteriores de acumule el error en la integración.
cuadricópteros en la UPCO, una gran parte del trabajo 3. Un arranque suave y controlado del sistema.
realizado se ha destinado a construir y poner a punto
el cuadricóptero. Estas tareas incluyen el montaje de 7. E NSAYOS
la estructura, la incorporación de los elementos necesa-
Los ensayos realizados sobre el cuadricóptero han
rios para su funcionamiento (ESC, rotores, la tarjeta de
demostrado que sólo se precisa seleccionar el algoritmo
control, etc) y el conexionado de los mismos. Adicio-
de control adecuado para realizar vuelos estables. Por
nalmente se ha diseñado y construido una placa para
tanto, el montaje y conexionado de todos los elementos
monitorizar la tensión de la baterı́a. Se trata del circuito
del equipo es el adecuado. Además, la máquina
mostrado en la figura 7 que incluye un divisor de tensión
de estados que se encarga de gestionar el arranque
con un buffer.
del sistema ha sido evaluada ofreciendo resultados
satisfactorios.
220
0
Tensión(PWM)
200
180
Ángulos (º)
−20
160
140
120
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
−40
Tiempo(s)
Mandos U2, U4
260
−60 U2
U4
240
220
Tensión(PWM)
−80 200
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Tiempo (s)
180
160
120
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Tiempo(s)
7 7 7
Se dispone de los modelos, tanto matemáticos como
6 6 6
en CAD, para diseñar un algoritmo de control
Ángulo (º)
Ángulo (º)
Ángulo (º)
5 5 5
adecuado.
4 4 4 Los drivers programados realizan su función de
3 3 3 forma adecuada.
2 2 2 La máquina de estados gestiona el arranque del
1 1 1
dispositivo adecuadamente.
0
0 0.5 1 1.5
Tiempo (s)
2 2.5 3
0
4 4.5 5 5.5
Tiempo (s)
6 6.5 7
0
7 7.5 8 8.5
Tiempo (s)
9 9.5 10 La monitorización del estado de la baterı́a se lleva
acabo de forma correcta.
Figura 9: Respuesta de los tres controladores ante esca-
Se dispone del diagrama de bloques general di-
lones de 10o
señado para volcar el algoritmo al dispositivo.
La respuesta del control PID presenta un pequeño El cuadricóptero está listo para volar de forma re-
sobrepaso mientras que las de los otros dos controles gulada, a falta de ajustar correctamente el algoritmo
son sobreamortiguadas. Si los ángulos a introducir en de control y la estimación de estado.
la referencia son cercanos al valor unitario, la mejor La causa principal por la cuál el controlador no es capaz
respuesta es la proporcionada por el control PID, dado de regular el dispositivo parece ser la estimación de los
que su tiempo de establecimiento es el menor. Si por ángulos de Euler, bien por la deriva que presentan o
el contrario, se pretende trabajar con ángulos de Euler bien por una velocidad inadecuada de estimación de
mayores la respuesta sufre modificaciones indeseables, los mismos. Existe también la posibilidad de que el fun-
como ocurre con el ángulo psi. Sin embargo, las cionamiento incorrecto del controlador sea consecuencia
respuestas de los controladores LQ y por realimentación de la conversión de la señal de mando, es decir, la
de estado no sufren este efecto. Consecuentemente, transformación de fuerzas acopladas de empuje a tensión
el control que se ensayará en el sistema real será el en cada motor.
MODELADO Y CONTROL DE UN CUADRICOPTERO, JUNIO 2014 6
R EFERENCIAS
[1] Holger Voos, Nonlinear Control of a Quadrotor
Micro-UAV using Feedback-Linearization. Procee-
dings of the 2009 IEEE International Conference on
Mechatronics. Málaga, Spain, April 2009.
[2] C BALAS and Dr J.F. Whidborne, Modelling and
Linear Control of a Quadrotor. CRANFIELD UNI-
VERSITY, September 2007.
[3] Bouabdallah, S., Murrieri, P. and Siegwart,
R.,Towards autonomous indoor micro VTO,
Autonomous Robots, France, 2005.
[4] Paul Pounds, Robert Mahony, Peter Corke, Mode-
lling and Control of a Quad-Rotor Robot. Australian
National University, 2006.
[5] McKerrow, P.,Modelling the Draganflyer four rotor
helicopter. IEEE International Conference on Robo-
tics and Automation, April 2004.
[6] Robert W Klein, Flight control system employing
complementary filter. Grumman Aerospace Corp,
May 1987
[7] James K. Hall, Nathan B. Knoebel, Timothy W.
McLain, Quaternion Attitude Estimation for Minia-
ture Air Vehicles Using a Multiplicative Extended
Kalman Filter. Brigham Young University, Provo, UT
84602.
[8] Nikolas Trawny and Stergios I. Roumeliotis, Indirect
Kalman Filter for 3D Attitude Estimation. A tuto-
rial for quaternion algebra. University of Minnesota,
March 2005.
[9] Manuel Kramer, Douglas J. Dapprich, Gyro stabili-
zed inertial reference system with gimbal lock pre-
vention means. The Charles Stark Draper Laboratory,
Inc. October 1977.
[10] Hoffmann,G.M., Rajnarayan, D.G., Waslander, S.L.,
Dostal, D., Jang, J.S. and Tomlin, C.J., The stanford
testbed of autonomous rotorcraft for multi agent
control. Digital Avionics Systems Conference, 2004.
[11] Bouabdallah, S., Noth, A. and Siegwart, R., PID
vs LQ control techniques applied to an indoor mi-
cro quadrotor. Swiss Federal Institute of Technology,
2004
[12] Igor Gaponov,Anastasia Razinkova, Quadcopter
Design and Implementation as a Multidisciplinary
MODELLING AND CONTROL OF A QUADCOPTER, JUNE 2014 7
Abstract—The objective of the research path where this project is framed is to model and control an unmanned aerial vehicle (UAV)
provided with four rotors (quadcopter) powered by brushless motors. The control system will allow the system to hover, to fly guided
by a transmitter and to fly autonomously using proximity sensors. As this project is aimed to be applied in future courses within the
university, all the control strategies as well as the models created will be adapted to Matlab/Simulink.
1 I NTRODUCTION control system. Finally, the power supply for the device
will be performed by LiPo batteries.
−1
−2
Ángulo(º)
−4
advantage of this modification is that it allows to interruptions in order to lighten the memory con-
set a constraint on the control signal as well as it sumption of the microprocessor. In addition, a
simplifies the anti-windup logic. Savitzky-Golay filter has been designed in order to
3) State feedback controller designed by pole place- reduce the amount of noises carried by the signals.
ment. The close loop poles of the system habe been • Driver for the ESC. It produced a PWM signal
chosen to optimize the system response. which allows to shift the voltage applied in the
4) State feedback LQ regulator. The stochastic model motors.
of the system has been used to obtain the state • Driver for the monitoring system of the battery
feedback gain matrix which allows to minimize the charge. This driver gets the analogue measure of
reference tracking error and the control effort. the battery voltage.
5) State feedback LQ regulator with integral action
Finally, a state machine has been programmed in order
(LQI). An integral action has been added to the
to ensure a safe and smooth start up as well as the
former LQ controller in order to reject the load
management of the fault situations. The state machine
disturbances present in the system.
has introduced to the system:
In addition, it has been developed a model of the
quadcopter placed on a Lego Motorbike (modelled as 1) Safety features such as the maximum altitude
a inverted pendulum) in order to test the control al- control, the regulated start up and the minimum
gorithms while stabilizing the device. This new model charge of the battery.
reduces the risk of damaging the quadcopter against 2) Variations over the control algorithm, such as the
implementation errors or an inappropriate fit of the disconnection of the integral action during the start
quadcopters’ paramenters. up process in order to avoid the error accumulation
in the integral action.
3) A smooth and regulated start up.
6 I MPLEMENTATION
As there is no previous experience on the use of quad-
copters within the UPCO, a great amount of the job done
has gone to build and set the device. This tasks include 7 T ESTS
the assembly of the structure, the placing of the required
elements (ESC, rotors, controller chip card, etc.) as well The tests performed over the quadcopter have shown
as their connection. In addition, a chip card has been that it only requires to choose the proper control
both designed and built to monitor the battery charge. algorithm to perform stable flights. Therefore, the
The circuit, shown in figure 7, is made up of a voltage assembly and connection of all the system elements
divisor with a buffer. have been properly done. Besides, the state machine in
charge of handling the start up of the system has been
tested throwing positive results.
220
Tensión(PWM)
200
20
180
160
140
0
120
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Tiempo(s)
Ángulos (º)
220
Tensión(PWM)
−40
200
180
160
−60
140
120
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Tiempo(s)
−80
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
Tiempo (s)
10
Realimentación
LQR 10 10
• It has been created a set of models both mathe-
9 9 9 matical and graphical (CAD) which can be used to
8 8 8 design a proper controller.
7 7 7 • The programmed drivers work properly.
6 6 6
• The state machine handles the start up of the device
Ángulo (º)
Ángulo (º)
Ángulo (º)
5 5 5
appropriately.
• The monitoring of battery charge is done correctly.
4 4 4
3 3 3
• It has been designed a detailed block diagram pre-
2 2 2
1 1 1
pared to be loaded into the quadcopter’s microcon-
0 0 0
troller card.
0 0.5 1 1.5 2 2.5 3 4 4.5 5 5.5 6 6.5 7 7 7.5 8 8.5 9 9.5 10
Tiempo (s) Tiempo (s) Tiempo (s)
• The quadcopter is ready to fly properly controlled
Fig. 9: Time response of the three main controllers when as long as the proper algorithm and state estimation
a 10o step is applied in the system is provided.
The main cause of the controller inability to regulate
The PID controller response shows a small overshoot the device seems to be the incorrect estimation of the
while the responses of the other two controlles are over- attitude angles, rather by the drift they show up or
damped responses. If the angles that will be introduced by the inappropriate estimation speed of these angles.
in the reference are close to the unitary values, the best There is also the chance that the incorrect operation of
response is the PID’s as its settling time is the smallest. the controller is due to conversion chain of the control
If, instead, the angles introduced as references are bigger signal, changing from coupled thrust forces to each
than the unit, then the response suffers undesirable motor voltage.
modifications, as it happens with the yaw angle.
Nevertheless, the state feedback controlled responses 9 F UTURE IMPROVEMENTS
do not suffer this shift. Consequently, the controller that The improvements proposed lead into an improvement
will be tested in the real system will be the LQI regulator. of the state estimation algorithm. Therefore, it is recom-
mended to:
Finally, the control signal to stabilize the quadcopter • Include the magnetometers into the attitude estima-
with the incremental LQI with anti-windup has been tion of the quadcopter. In order to achieve such a
included in figure 10. That response shows that the task, a calibration algorithm for the magnetometer
control is unable to regulate the device as the signals should be programmed. The Kalman filter code is
ranges between the minimum and maximum saturation already prepared for this enlargement.
values set in the controller. Therefore, the state estimator • Implement a telemetric system in order to monitor
and the gains from the actuator chain should be studied in realtime the tests performed.
in future research among this field, in order to solve • Design a casing which allows to absorb the vibra-
these problems. tions from the rotors.
MODELLING AND CONTROL OF A QUADCOPTER, JUNE 2014 12
R EFERENCES
[1] Holger Voos, Nonlinear Control of a Quadrotor
Micro-UAV using Feedback-Linearization. Proceed-
ings of the 2009 IEEE International Conference on
Mechatronics. Mlaga, Spain, April 2009.
[2] C BALAS and Dr J.F. Whidborne, Modelling and
Linear Control of a Quadrotor. CRANFIELD UNI-
VERSITY, September 2007.
[3] Bouabdallah, S., Murrieri, P. and Siegwart,
R.,Towards autonomous indoor micro VTO,
Autonomous Robots, France, 2005.
[4] Paul Pounds, Robert Mahony, Peter Corke, Mod-
elling and Control of a Quad-Rotor Robot. Australian
National University, 2006.
[5] McKerrow, P.,Modelling the Draganflyer four ro-
tor helicopter. IEEE International Conference on
Robotics and Automation, April 2004.
[6] Robert W Klein, Flight control system employing
complementary filter. Grumman Aerospace Corp,
May 1987
[7] James K. Hall, Nathan B. Knoebel, Timothy W.
McLain, Quaternion Attitude Estimation for Minia-
ture Air Vehicles Using a Multiplicative Extended
Kalman Filter. Brigham Young University, Provo, UT
84602.
[8] Nikolas Trawny and Stergios I. Roumeliotis, Indirect
Kalman Filter for 3D Attitude Estimation. A tuto-
rial for quaternion algebra. University of Minnesota,
March 2005.
[9] Manuel Kramer, Douglas J. Dapprich, Gyro stabi-
lized inertial reference system with gimbal lock pre-
vention means. The Charles Stark Draper Laboratory,
Inc. October 1977.
[10] Hoffmann,G.M., Rajnarayan, D.G., Waslander, S.L.,
Dostal, D., Jang, J.S. and Tomlin, C.J., The stanford
testbed of autonomous rotorcraft for multi agent
control. Digital Avionics Systems Conference, 2004.
[11] Bouabdallah, S., Noth, A. and Siegwart, R., PID
vs LQ control techniques applied to an indoor mi-
cro quadrotor. Swiss Federal Institute of Technology,
2004
[12] Igor Gaponov,Anastasia Razinkova, Quadcopter
Design and Implementation as a Multidisciplinary
Engineering Course. IEEE International Conference
on Teaching, Assessment, and Learning for Engineer-
ing (TALE), August 2012.