UNIVERSIDAD DE SEVILLA ESCUELA SUPERIOR INGENIEROS DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y AUTOMÁTICA GRUPO DE ROBÓTICA, VISIÓN Y CONTROL CONTROL DE QUADROTOR CON BRAZO MANIPULADOR Autor: Antonio Enrique Jiménez Cano Tutores: Guillermo Heredia Benot Aníbal Ollero Baturone Proyecto Fin de Carrera 20 SEPTIEMBRE DE 2012
86
Embed
GRUPO DE ROBÓTICA, VISIÓN Y CONTROL - bibing.us.esbibing.us.es/proyectos/abreproy/50066/fichero/Control+de+Quadrotor... · universidad de sevilla escuela superior ingenieros departamento
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
UNIVERSIDAD DE SEVILLA
ESCUELA SUPERIOR INGENIEROS
DEPARTAMENTO DE INGENIERÍA DE SISTEMAS Y
AUTOMÁTICA
GRUPO DE ROBÓTICA, VISIÓN Y CONTROL
CONTROL DE QUADROTOR CON
BRAZO MANIPULADOR
Autor: Antonio Enrique Jiménez Cano Tutores: Guillermo Heredia Benot
Aníbal Ollero Baturone
Proyecto Fin de Carrera
20 SEPTIEMBRE DE 2012
ÍNDICE Lista de símbolos
1. INTRODUCCIÓN
1.1. MOTIVACIÓN Y OBJETIVOS................................................................................................ 4
1.2. ESTRUCTURA DE LA MEMORIA........................................................................................ 5
2. MODELADO DEL SISTEMA
2.1. CONCEPTOS Y GENERALIDADES....................................................................................... 7
2.2. MODELADO DEL QUADROTOR........................................................................................... 8
2.3. MODELO DEL MANIPULADOR............................................................................................ 16
2.4. MODELADO DEL QUADROTOR CON MANIPULADOR...................................................... 23
3. SISTEMA DE CONTROL
3.1. CONCEPTOS Y GENERALIDADES....................................................................................... 27
3.2. MODELO PARA EL CONTROL.............................................................................................. 28
Ω Velocidad de giro dl rotor Matriz de inercia Ángulo roll Ángulo pitch Ángulo yaw , , , , , Términos matriz de inercia , , Momentos sobre ejes x y z Energía potencial Lagrangiano Energía cinética Vector velocidad Fuerza i , , Velocidad angular en roll, pitch y yaw , , Aceleraciones angulares en roll, pitch y yaw J Inercia rotor masa gravedad Entrada de control Posición angular de la articulación i Constantes controlador Errores angulares o de posición Factor de arrastre Factor de empuje Longitud brazo quadrotor Ω Velocidad angular residual hélices
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
INTRODUCCIÓN
- 4 -
1. INTRODUCCIÓN
1.1 MOTIVACIÓN Y OBJETIVOS
Este trabajo nace como respuesta a uno de los objetivos tecnológicos marcados dentro
del ámbito del proyecto ARCAS[1]. ARCAS es un proyecto, a nivel internacional, cuyo
principal objetivo es desarrollar robots que trabajen conjuntamente en el mantenimiento y el
montaje de piezas en lugares inaccesibles.
Fig. 1. Arcas-Project
Estas plataformas construidas gracias a la tecnología que incorporen los aviones no
tripulados en el futuro, pueden servir para la evacuación de personas o como pistas de aterrizaje
en lugares de difícil acceso, como en el caso de un accidente nuclear o fuga de gases tóxicos,
así como en otro tipo de desastres.
Para la realización de estos objetivos, se contempla la investigación y el desarrollo de
helicópteros y quadrotors equipados con manipuladores robóticos capaces de transportar
materiales de construcción o herramientas. Por lo tanto, se plantea necesario el desarrollo de un
sistema de control de movimiento.. Este trabajo entraría dentro de este objetivo tecnológico de
control de movimiento, intentando buscar una estrategia de control robusta, precisa e
innovadora que sirva de manera útil y eficaz a la ejecución del proyecto ARCAS.
Concretamente, en este proyecto se presentará una estrategia de control para un quadrotor con
manipulador robótico acoplado a su base.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
INTRODUCCIÓN
- 5 -
1.2 ESTRUCTURA DE LA MEMORIA
El estado del arte del control de quadrotors ha evolucionado de manera drástica en los
últimos años, llegando a implementarse gran cantidad de técnicas de control diferentes en este
tipo de UAVs. Un claro ejemplo de esto, es la gran cantidad de artículos sobre este tema. En la
diversa e ingente bibliografía que podemos encontrar, se pueden ver desarrolladas técnicas de
control que van desde: PIDs[2], fuzzy control[3], LPV control[4], control usando técnicas de
Lyapunov, etc. Además, otro claro ejemplo del auge de este tipo de UAVs es la gran variedad
de quadrotors comerciales existentes a día de hoy, véase modelos como Dranganflyer o
Pelicans desarrollados por empresas privadas hasta modelos creados en distintos proyectos de
universidades como Mesicopter o Starmac (Stanford) o en tesis doctorales como la de S.
Las correspondientes velocidades se obtendrían mediante la derivada de (1), y la expresión que
corresponde al cuadrado de la velocidad para cada punto viene dado por:
= % + 0 + 2 (2)
E Z
X Y
F1
Q
F2 F3
F4
x y
z
mquad
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
MODELADO DEL SISTEMA
- 10 -
ENERGÍA
De la ecuación (2) obtenemos la expresión para la energía cinética:
= 125. + / '6)'$) ∙ 8 − 2 sin + sin = +125/ + * '6)'$) ∙ 8 cos + 2 sin cos cos + sin cos = +125* + . '6)'$) ∙ 8 sin − 2 sin cos cos + cos cos = +5*.'6)'$) ∙ 8 sin sin cos + 8cos sin − sin cos = + cos= +5/*'6)'$) ∙ 8 cos sin cos + 8− cos cos − sin sin = + sin= +5./'6)'$) ∙ 8− sin cos cos + 8sin cos − cos cos= + sin =
(3)
Dado que el quadrotor es simétrico, la ecuación quedaría simplificada de la siguiente forma:
Las correspondientes velocidades se obtendrían mediante la derivada de (2.1), y la expresión
que corresponde al cuadrado de la velocidad para cada punto viene dado por:
= % + 0 + 2 (30)
ENERGÍA
De la ecuación (2.2) obtenemos la expresión para la energía cinética:
= 125. + / '6)'$) ∙ 8 − 2 sin + sin = +125/ + * '6)'$) ∙ 8 cos + 2 sin cos cos + sin cos = +125* + . '6)'$) ∙ 8 sin − 2 sin cos cos + cos cos = +5*.'6)'$) ∙ 8 sin sin cos + 8cos sin − sin cos = + cos= +5/*'6)'$) ∙ 8 cos sin cos + 8− cos cos − sin sin= + sin= +5./'6)'$) ∙ 8− sin cos cos + 8sin cos − cos cos= + sin =
(31)
Y la expresión para la energía potencial es:
= 5'− sin · * + sin cos · . + cos cos · /)'$) = 5*'*) · '− sin ) +5.'.) · ' sin cos ) +5/'/) · ' cos cos)
(32)
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
MODELADO DEL SISTEMA
- 25 -
ECUACIONES DE MOVIMIENTO
Usando el Lagrangiano y la fórmula de su derivada para las ecuaciones de movimiento:
= − , Γ = DDE F GHGI JK − GHGIJ (33)
Dado que, como se ha mencionado antes, el sistema no es simétrico, las tres ecuaciones
Donde K² es el factor de empuje y K³ es el factor de arrastre.
Si suponemos que el quadrotor está en hover entonces podemos suponer que la matriz
de rotación es unitaria por lo tanto las velocidades de rotación del quadrotor con respecto al
sistema global y con respecto al sistema serán:
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 29 -
¦'n, ) =
´µµµµµµµµµµµµµ¶
bO + 8 − =b − 8 + =bN + 8 − =bM + bªΩ + O O − 8 + = + 8 − =N + 8 − =M −ªΩ + N + U"x')(O + 8 − =( + 8 − =(N − 8 + =(M + NM/ − cos cos O*sin sin + cos sin cos O.sin sin cos − sin cos O ·¸¸¸¸¹
(45)
Donde los vectores b') = [bO, b , bN, bM, bª], ') = [O, , N, M, ª], (') = [(O, ( , (N, (M] y ') = [O, , N] varían con la posición del manipulador ya que se obtendrían mediante los
términos de la matriz de inercia ') del sistema, la cual, es variable con los ángulos de las
articulaciones del manipulador.
1bO = 8 − =b = bN = bM = bª = " º
ººº1O = ' − ) = N = M = ª = " º
ººº1(O = 8 − =( = (N = (M = º
ºº O = = N = 1
(46)
Y Ω es una perturbación que puede ser obtenida mediante las velocidades angulares de los
cuatro rotores de la siguiente forma:
Ω =Ω +ΩM −ΩO −ΩN (47)
Se puede ver, en el sistema descrito anteriormente, como los ángulos y sus derivadas en el
tiempo no dependen de la traslación del sistema. Mientras que las ecuaciones que describen la
traslación del sistema si dependen de los ángulos. Por lo tanto, se podría imaginar el sistema
como formado por dos subsistemas uno de traslación que depende exclusivamente de las
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 30 -
entradas , N y M; y un subsistema de traslación de que dependería de la entrada O(empuje)
y de los ángulos.
Fig. 10. Conexión de los subsistemas de rotación y traslación
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 31 -
3.3 CONTROLADOR PID
Para el diseño de este controlador, tomaremos el par externo generado por el
manipulador como una perturbación externa y los valores de las matrices de inercia fijos aunque
respetando la no simetría del modelo, ya que nos ayudaran al ajuste de los distintos
controladores PID del sistema. No se detallarán las fórmulas de los controlades PID ya que se
considera que existe bastante información en bibliografía. Se puede representar la estructura del
control PID en cascada de forma esquemática en la figura 11. Esta será la misma que lleva
implementada Arducopter en su firmware predefinido:
Fig. 11. Estructura PID con estructura en cascada para el control sobre ángulo roll implementada en el firmware del Arducopter.
En este tipo de control, la velocidad angular deseada es calculada mediante el error de
ángulo multiplicado por la ganancia proporcional. El error de velocidad angular correspondiente
sería la entrada de un controlador PID, su salida es la señal de control más la parte integral del
error angular. Con este tipo de estructura de control se aprovecha la estructura en cascada del
quadrotor.
Nota: A lo largo de este trabajo, para referirse al control PID con estructura en cascada,
utilizaremos nombres con PID en cascada, PI cascade (gráficas) o simplemente PID.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 32 -
SIMULACIONES
Se realizó un modelo simulink con el controlador PID en cascada y modelo del
quadrotor más el manipulador. En una primera simulación, se optó por probar la respuesta del
controlador ante el quadrotor con el manipulador, sin moverse y completamente extendido. Se
optó por esta posición debido a que en los experimentos con el quadrotor Arducopter más el
prototipo del manipulador, este debía estar completamente extendido a la hora del despegue.
En la figura 12, podemos observar la respuesta del control de actitud ante un salto de
más de 20 grados. La simulación se ha llevado a cabo introduciendo un error angular en la IMU
de un máximo de 0.02 rad y una frecuencia de refresco de 50 Hz; con el manipulador
completamente extendido acoplado a la base del quadrotor pero sin movimiento alguno.
Fig. 12. Respuesta del controlador PID de actitud de los ángulos roll, pitch y yaw.
Se diseña también un control de altura y otro de posición mediante la técnica de PID con
estructura en cascada. En la siguiente simulación, el quadrotor se pondrá a una altura de 1
metro, el despegue será desde un punto (2,3) y se desplazará a (0,0). La IMU simulada tendrá
una frecuencia de refresco de 50 Hz y un error angular menor de 1.2 grados. El GPS tendrá una
frecuencia de refresco de 10 Hz y un error en la medida menor de 0.05 metros. Se observan los
siguientes resultados:
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 33 -
Fig. 13. Respuesta de los controles PID de altitud y posición
En la figura 13. podemos ver la respuesta de los controles PID en cascada de posición y
altitud. La simulación se ha llevado a cabo introduciendo un error angular en la IMU de un
máximo de 0.02 rad y una frecuencia de refresco de 50 Hz; Para el GPS, la frecuencia de
refresco sería de 10 Hz y el error de 5 cm. Durante la simulación el brazo permaneció en
posición completamente extendido y sin moverse. Se podría decir que esta simulación
correspondería al despegue del UAV a la vez que se dirige a una posición inicial.
Fig. 14. Representación 3D de la trayectoria seguida
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 34 -
3.4 CONTROLADOR INTEGRAL BACKSTEPPING
Durante la búsqueda del control ideal para nuestro sistema de quadrotor más
manipulador, se estudiaron varias técnicas de control que habían sido antes implementadas para
el control de quadrotors: PID, LQR, fuzzy controllers, etc. Después de una evaluación y tras el
estudio de sus características se decidió utilizar un control integral backstepping(IB) que había
sido desarrollado antes en [11] para un quadrotor. Como se explica en [11], la idea de usar la
técnica de backstepping es debido a que esta permite una rechazo eficaz ante perturbaciones
fuertes aunque la estabilización en hover es delicada, para mejorar esto se introduce una acción
integral. La idea principal, era mejorar aún más, la ya de por si buena, respuesta que se obtiene
con el control PID. Al igual que la técnica de PID, la técnica de Backstepping se adapta muy
bien a la estructura en cascada de la dinámica del quadrotor. Además, este método garantiza
estabilidad asintótica y robustez ante algunas incertidumbres y, gracias a la acción integral,
cancelación de los errores en régimen permanente. Se desarrollará un control de actitud, altitud
y posición con esta técnica. En este caso, supondremos que el manipulador es una perturbación
que actúa sobre el quadrotor. Por lo tanto, no tendremos en cuenta en el modelo empleado para
el desarrollo del controlador los cambios que sobre este ejerce el hecho del acoplamiento a la
base de un manipulador.
Control de Actitud
El control de actitud es el principal conductor de quadrotor, ya que es el principal encargado de
la estabilidad y de la orientación del sistema. Se explicará el desarrollo de la obtención de la ley
de control roll. Para pitch y yaw el desarrollo es similar y por lo tanto se obviará. El primer paso
en el diseño de nuestro controlador es definir el error en roll O = D − y su dinámica:
O = D − » (48)
Crearemos un control virtual de la velocidad angular », que en este caso, no es una entrada de
control. Por lo tanto, nuestra velocidad angular deseada se define de la siguiente forma:
»D = OO + D + kO¼O (49)
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 35 -
siendo O y kO constantes positivas y ¼O = ½ O')¾Eh la integral del error en roll.
Como se ha definido un error para la velocidad angular, se calcula su dinámica de la
siguiente forma:
= O8D − »= + D + kOO − (50)
Donde , el error en la velocidad angular es definido por:
= »D − » (51)
Gracias a las ecuaciones (49) y (51) se puede rescribir la dinámica del error en roll como:
O = −OO − kO¼O + (52)
Ahora, se reemplaza en (50) por la ecuación en el modelo (19), y entonces, vemos como
aparecería nuestra señal de control en (53) :
= O8D − »= + D + kOO − bO − bªΩ − O (53)
Si combinamos el error O, el error de la velocidad angular y del término integral del error
angular ¼O, obtanemos:
= O'−OO − kO¼O + ) + D + kOO − bO − bªΩ − O (54)
Despejando la entrada de control obtenemos, finalmente:
= + 1O ['1 − O + kO)O + 'O + ) − OkO¼O + D − bO − bªΩ] (55)
Donde es una constante positiva que determina la velocidad de convergencia del bucle de la
velocidad angular. De forma similar se obtendrían los controles para pitch y yaw:
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 36 -
N = + 1 ['1 − N + k )N + 'N + M)M − Nk ¼ + D − O + ªΩ] (56)
M = + 1N [81 − ª + kN=ª + 'ª + «)« − ªkN¼N + D − (O] (57)
Con 'N, M, ª, «, k , kN)> 0, y '¼ , ¼N) los términos integrales de los errores angulares de
pitch y yaw respectivamente.
Control de Altitud
El control en altitud es el encargado de que la distancia del quadrotor al suelo sea la dada por
un valor deseado. En nuestro simulador, supondremos que la altura viene dada por un GPS. Para
desarrollar la ley de control en altitud, comenzaremos por la definición del error en altitud,
donde el efecto tierra es despreciado:
¬ = /D − / (58)
La dinámica del error viene dada por:
= ¬¬ + /D + kM¼M − / (59)
Luego entonces la ley de control será:
O = cos cos [ + '1 − ¬ + kM)¬ + '¬ + ) − ¬kM¼M] (60)
donde '¬, , kM) son constantes positivas.
Control en Posición
El control de posición es el encargado de que el quadrotor este sobre el punto deseado. Es
significa, sobre el punto '*, .) del plano horizontal con respecto a nuestro sistema de
referencias global donde el origen sería el punto de comienzo. El movimiento horizontal se
logra mediante la orientación del vector de empuje en la dirección de movimiento deseado. Esto
se realiza mediante la rotación del propio quadrotor. En la práctica, se realiza el control de
posición por balanceo o cabeceo del quadrotor como respuesta a un punto de referencia
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
SISTEMA DE CONTROL
- 37 -
dado'*D , .D) . Por lo tanto, el control de posición genera los valores deseados de D y D que
serán seguidas por el controlador de actitud.
Se define entonces la ley de control usando la técnica de IB comenzado por definir los errores
• Se crearon funciones para calcular los parámetros del modelo necesarios para el control
VPIB y que son variables dependiendo de la posición del manipulador.
En principio, el controlador VPIB se implementaría para el control de actitud, altura y posición.
Pero por limitaciones técnicas de arducopter, solo se implemento en actitud.
Las limitaciones técnicas de arducopter para la implementación del control completo del
quadrotor más el manipulador son las siguientes:
• Limitación de memoria y procesado de información.
• Limitaciones sensorial.
• Limitación de carga máxima.
A continuación, detallaremos las limitaciones antes nombradas:
Limitación de memoria y procesado de información
Arducopter trabaja con un microcontrolador Arduino ATmega2560, cuyas características son:
ATmega2560 Voltaje operativo 5 V Voltaje de entrada recomendado 7-12 V Voltaje de entrada límite 6-20 V Pines de I/O digital 86 (12 proporcionan PWM) Pines de entrada analógica 16 Intensidad de corriente 40 mA Memoria Flash 256 KB (4 KB reservados para el bootloader) SRAM 8 KB EEPROM 4 KB Frecuencia de reloj 16 MHz
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
EXPERIMENTOS
- 72 -
Fig. 54. Placa Ardupilot
El firmware básico de arducopter ocupa una cantidad considerable de memoria. Esto significa
que el código añadido para implementar el control VPIB debía de reducirse y simplificarse lo
suficiente como para que el tamaño total no fuera excesivo, ya que esto podría provocar fallos
en vuelo por sobrecarga o por incapacidad de procesado de datos lo suficientemente rápido.
El principal problema a la hora de implementar el control VPIB fue el cálculo de las variables y
parámetros de modelo necesarias para llevar a cabo esta técnica de control. Para realizar esta
tarea se optaron por varias estrategias:
• Ya que estos parámetros y variables estaban calculadas para el desarrollo del simulador,
en primer lugar se optó por guardar estas dentro del firmware en forma de tablas y
dependiendo de los ángulos que toman las articulaciones del manipulador, tomar el
valor correspondiente. Esta opción se descartó debido a que los datos calculados son
tipo float, lo que conlleva que ocupen una cantidad excesiva de memoria.
• En segundo lugar, se optó por realizar el cálculo de esta variables y parámetros para
cada valor de las articulaciones en tiempo real. El cálculo de los términos de las
matrices de inercia es bastante complejo, además estos cálculos son con variables tipo
float por lo que el nivel de cálculo se acrecienta. Este nivel de procesado resulto
excesivo y el sistema se bloqueaba por lo que se descartó.
• En tercer lugar se optó por realizar una simplificación de las tablas. Mediante un
análisis de los datos se observo que dependiendo de la evolución de los ángulo los
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
EXPERIMENTOS
- 73 -
valores de las matrices de inercia variaban de manera lineal a tramos. Por lo tanto, se
realizaron unas tablas que incluían los valores límites y mediante un sencillo cálculo de
interpolación se podía obtener una estimación del valor necesario, dependiendo de la
evolución de los valores de los ángulos de las articulaciones obtenidos en tiempo real.
Además se adecuaron los datos a tipo entero ya que el cálculo de este tipo de datos es
más rápido en este tipo de microcontroladores. Gracias a esto, se solvento las
limitaciones de memoria y procesado.
La tercera opción fue la escogida y nos proporcionó una estimación de los datos suficientemente
precisa para llevar a cabo la implementación de la técnica de control VPIB en Arducopter.
Limitaciones sensoriales
Aunque la IMU del sistema Arducopter es bastante buena para su coste y suficiente para realizar
un control preciso en actitud. El problema surgió a la hora de realizar el control de posición y
altitud. Dado que la precisión capaz de proporcionar (>3 mts.) no era suficiente para las
funciones que se requerían, para la que necesitaríamos una precisión de centímetros, no se
pudieron implementar dichos controladores.
Limitación de carga máxima
La carga máxima dada por nuestro arducopter era aproximadamente de 500 grs. para que su
comportamiento en vuelo fuera bueno, aunque podría llegar a ser de 600 grs. aproximadamente
para un comportamiento en vuelo aceptable. El peso del manipulador es de 490 grs.
aproximadamente por lo que la capacidad de carga del sistema completo quedaba limitada a
unos 110 grs. aproximadamente.
Como opción para poder implementar un controlador en posición y altitud con precisión
aceptable se estudió equipar al sistema con un GPS diferencial. El problema fue que el peso de
este excedía en demasía la carga máxima del sistema por lo que, y tras la realización de vuelos
de prueba que lo confirmaban, se descartó esta posibilidad.
En conclusión, debido a estas limitaciones del sistema se optó por implementar, únicamente, el
control en actitud y realizar los experimentos para demostrar la mejora que supondría la
implementación del controlador VPIB con respecto al controlador PID, tal y como hemos visto
en las simulaciones realizadas.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
EXPERIMENTOS
- 74 -
4.3 EXPERIMENTOS CON ARDUCOPTER
Se realizaron una serie de experimentos con el quadrotor Arducopter con el manipulador
acoplado a la base. Se realizaron tres vuelos con el controlador PID y cuatro con el controlador
Variable Parameter Integral Backstepping. Todos ellos fueron realizados al aire libre y con
condiciones de viento variables aunque moderadas, por lo que los datos obtenidos en cada vuelo
pueden ser engañosos. A continuación, expondremos los datos obtenidos de los mejores
resultados de los vuelos realizados. Solo expondremos los datos de pitch y roll ya que es la
variación de estos ángulos la que nos interesaría para comparar cuál de los dos tipos de
controladores resulta más eficaz a la hora de rechazar el par externo provocado por el
movimientos del manipulador y el consecuente desplazamiento de centro de gravedad del UAV.
Las siguientes gráficas exponen los mejores datos de cada controlador obtenidos en los
experimentos.
Primero, veremos los resultados para el controlador PID:
Fig. 55. Pitch y Roll para PID.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
EXPERIMENTOS
- 75 -
Y para el controlador VPIB:
Fig. 56. Pitch y Roll para VPIB.
Si vemos ahora una comparación de ambos:
Fig. 57. Comparación de Pitch y Roll para VPIB y PID
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
EXPERIMENTOS
- 76 -
Como podemos observar, las mayores oscilaciones se producen en el control PID, tal y
como habíamos visto en las simulaciones realizadas anteriormente. Por lo que habría que
suponer que el rechazo sobre el par externo provocado por el movimiento del manipulador es
peor que con el controlador VPIB. A simple vista, y dado que las condiciones de viento eran
variables ya que los experimentos se realizaron días distintos y con velocidades de viento
distintas, es difícil apreciar la mejoría que supone el controlador VPIB con respecto a el
controlador PID. A fin de aclarar esta incógnita se grabaron en video estos experimentos para
terminar de acreditar la mejoría que supone el uso del control VPIB. En estos se puede observar
como el desplazamiento que provoca el par externo sobre el quadrotor es mayor con el control
PID. En la siguiente figura, realizamos una ampliación en un tramo en el que el manipulador
está realizando un movimiento y podemos ver una comparación del comportamiento en Pitch de
los dos controladores
Fig. 58. Comparación de Pitch y Roll para VPIB y PID.
Tramo 1: movimiento manipulador (90º a 0º) Tramo 1: movimiento manipulador (0º a 90º)
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
CONCLUSIONES
- 77 -
5. CONCLUSIONES
En este proyecto se ha diseñado un control especifico para un quadrotor al que se la ha
acoplado un manipulador de dos grados de libertad. Para ello, primero se ha desarrollado, paso a
paso, un modelo matemático que describa de una manera lo más realista posible, sin entrar en
un modelo completo, la dinámica del sistema. Esto se ha realizado, primero, desarrollando un
modelo del quadrotor mediante la formulación de Euler-Lagrange y la formulación de Newton-
Euler. Posteriormente, se ha expuesto un modelo matemático del manipulador robótico. Por
último, se ha desarrollado un modelo del quadrotor en el que se incluían los efectos de un
manipulador acoplado a su base, además, de las diferencias inerciales (no simetría, variabilidad
de los momentos de inercia) que provocan este hecho con respecto al modelo del quadrotor
simple. Este modelo ha sido usado para realizar las simulaciones de tres tipos de técnicas de
control que en el capítulo siguiente se han expuesto. En primer lugar, se justificado el uso de un
control PID con estructura en cascada. A continuación, el uso de la técnica de control Integral
Backstepping. Por último, se ha desarrollado y explicado el diseño de una técnica de control
adaptada a este especialmente a este sistema, donde existen parámetros variables con la posición
de los ángulos del manipulador y que, por lo tanto, se adapta continuamente a los cambios en
los momentos de inercia que es provoca. Además, es capar de rechazar mediante feedback el par
externo que crearía el movimiento del manipulador y que afectaría a la dinámica de pitch. Este
nuevo control ha sido bautizado como Variable Parameter Integral Backstepping.
Mediante distintas simulaciones, en un simulador desarrollado en SIMULINK, se han
probado los distintos controles, pudiendo observar la mejoría que supone la técnica de control
Variable Parameter Integral Backstepping sobre las técnicas PID e Integral Backstepping en este
tipo de sistemas.
Por último, se han realizado una serie de experimentos, gracias a la implementación
realizada en un Arducopter al que se le ha acoplado un prototipo de manipulador de dos grados
de libertad, los que se ha podido observar mediante pruebas realizas al aire libre, con viento
variable, que la respuesta en actitud del control Variable Parameter Integral Backstepping
mejora al PID.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
LÍNEAS FUTURAS
- 78 -
6. LÍNEAS FUTURAS
Con el objetivo de continuar con el desarrollo y mejora del control sobre UAVs con
manipuladores robóticos, los siguientes pasos a realizar debieran ser:
1. El estudio y desarrollo de un modelo dinámico del sistema completo. Estudiando los efectos
de interacción del sistema completo con elementos del medio (estudio de sistemas híbridos[12]),
para crear un modelo que incluya los efectos que provocarían sobre el sistema, por ejemplo, la
recogida de piezas y que por lo tanto interactúen con el ambiente [13].
2. Desarrollo de una técnica de control que incluya al manipulador gracias al modelo dinámico
del sistema completo (control conjunto) que incluya, entre otras cosas, la estabilización en
posición del efector final del manipulador.
4. Desarrollo de un nuevo simulador para el modelo completo.
3.Desarrollo de un nuevo prototipo de vehículo aéreo, diseñado a medida para un nuevo
prototipo de manipulador que permita mejores condiciones de control.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
ANEXOS
- 79 -
A.CÁLCULO DE MOMENTOS DE INERCIA
Dado que nuestro sistema completo está formado por un quadrotor y un manipulador,
para el cálculo de los momentos de inercia variables con las posiciones angulares de las
articulaciones del manipulador se siguieron los siguientes pasos:
1.- Se realizó el cálculo de los momentos de inercia del quadrotor. Para ello se optó por varias
técnicas. La primera, fue considerar el quadrotor como un sólido rígido y para, a continuación,
calcular su momento de inercia siguiendo el siguiente algoritmo:
• Dividir el quadrotor en piezas más pequeñas para que sean más fácil de calcular. Por
ejemplo, el quadrotor estaría compuesto por: motores, los cuales por su forma se
pueden aproximar a cilindros; varillas y una caja central, que se tomarían como
paralelepípedos; etc.
• Como se aproximan a sólidos rígidos las coordenadas del centro de masa equivalen al
centro de masas de cada pieza. Determinar las coordenadas del centro de masas de
todas las piezas con respecto al centro de masas del sistema completo. Y calcular las
distancias existentes
• Por lo tanto los componentes de la matriz de inercia de cada una de las piezas que
componen el quadrotor referidos a un sistema de coordenadas cartesianas
rectangulares:
à = à = 5 [~Ã$ − **Ã]Ä = 5 _'$)[~Ã$ − **Ã]N$Å
donde '*O, * , *N) son las coordenadas cartesianas rectangulares. Y ~Ã es el símbolo de
Kronecker que es igual a 1 si A = Æ, y 0 si A ≠ Æ.
• Una vez calculados los momentos de inercia para cada uno de las piezas, mediante el
uso del teorema de Steiner, referidos al centro de masas del sistema completo. È = | +É⨂É
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
ANEXOS
- 80 -
donde | es la matriz de inercia referida a su centro de masas; , es la masa; y É, es el
vector distancia.
La segunda opción era calcular la matriz de inercia de forma experimental. La idea fue la
construcción de un péndulo compuesto para determinar los momentos respecto a los ejes X
e Y, y aplicando la siguiente fórmula general para el cálculo del momento de inercia:
En la matriz podemos ver esos valores límites multiplicados por una constante, la cual sirve
para transformar el valor double a entero perdiendo poca precisión. Si se ingresa par de valores
PWM que equivaldrían a un par de posiciones angulares del manipulador. Mediante una función
con esos valores se obtendrían un par de índices, los cuales utilizaríamos para acceder los
términos necesarios para nuestro controlador.
CONTROL DE QUADROTOR CON BRAZO MANIPULADOR
BIBLIOGRAFÍA
- 86 -
BIBLIOGRAFÍA
[1] Arcas project. Aerial Robotics Cooperative Assembly System (ARCAS). http://www.arcas-project.eu/
[2] A. L. Salih, M. Moghavvemi, H. A. F. Mohamed and H. S. Caeid. Flight PID controller design for a UAV quadrotor. Scientific Research an Essays Vol 5(23), pp. 3660-3667, 4 December, 2010.
[3] M. Santos, V. López and F. Morata. Intelligent Fuzzy Controller of a Quadrotor. 978-1-4244-6793-8/10 2010 IEEE.
[4] Smarathunga L.M.D. Rangajeeva and James F. Whidborne. Linear Parameter Varying Control of a Quadrotor. ICIIS 2011, Aug 16-19, 2011, Sri Lanka.
[5] S. Bouabdallah. Design and Control of Quadrotors with Applications to Autonomous Flying. PhD thesis. EPFL. 2007.
[6] P. Pounds. Design, Constructions and Control of a Large Quadrotor Micro-air Vehicule. PhD thesis. ANU, 2007.
[7] V. Ghadiok. Autonomous aerial manipulation using a quadrotor, Master's thesis, Utah State University, Logan, Utah, 2011.
[8] Arducopter, Arduino-based autopilot for multicopters, http://code.google.com/p/arducopter/
[9] G. Fary. "Derivation of the aerodynamic forces for the mesicopter simulation". 2001.
[10] A. Ollero. Robótica, manipuladores y robots móviles. 2001
[11] S. Bouabdallah and R. Siegwart. Full control of a quadrotor. In Proceedings of IROS- 2007, pp. 153-158.
[12] R. Goebel, R. G. Sanfelice, A.R. Teel. Hybrid Dynamical Systems. IEEE Control Systems Magazine. April 2009.
[13] L. Marconi, R. Naldi, L. Gentili. Modelling and Control of a Flying Robot Interacting with the Enviroment. Automatica 47 (2011) 2571-2583.