Translate

PVTOL (Plannar Vertical Take Off Landing)

PVTOL -Eje X
Rodrigo Salazar Zugasti


ABSTRACT Se implemento experimentalmente el control de orientacion para un grado de libertad de un Planar vertical take off landing ( PVTOL ).

PALABRAS CLAVE PVTOL,simulink, PID, estabilización, control .
I. INTRODUCCIÓN
Una aeronave VTOL es aquiella que tiene la capacidad de  despegar y aterrizar en una posición vertical.
El PVTOL representa un desafío en los sistemas de control debido a que es un caso particular del control de movimiento. El control de un PVTOL es motivado por la necesidad de estabilizar algunas aeronaves de tipo VTOL como los helicopteros o algunos aviones en particular.
La aeronave a tratar tiene tres ejes de libertad correspondientes a la orientación del avión, el PVTOL está compuesto por dos motores separados que producen fuerza y momentos en la aeronave; Por lo tanto,es un sistema subactuado ya que tiene tres ejes de libertad y solo dos entradas de control.



Figura 1. PVTOL
En la figura 1 se muestra en PVTOL con dos hélices y elevadores, el control de altura se realiza con el impulso de las dos hélices F1 + F2, el cambio de orientación en el eje Y se realiza mediante el movimiento de los elevadores L y/o R , el eje X es controlado por la diferencia de empuje realizado por los motores.





Descripción del sistema
El modelo dinámico de un PVTOL se puede obtener mediante un aproximado con las leyes de lagrange-Newton. El sistema de ecuaciones para un PVTOL es el que se muestra en la siguiente figura.



Figura 2. Simplificación del PVTOL.

Pero en este artículo solo vamos a proponer el control de la rotación x del sistema por lo tanto asumimos que son cero los ejes Y y Z, entonces la ecuacion para la dinámica de roll es :

Donde F =f1- f2 es la fuerza producida por la diferencia de empuje de los motores, d es la distancia del centro de la masa de cada rotor y Cl0 es el coeficiente derivativo de amortiguacion en el eje x. En este caso Cl0=0.36.

Reescribiendo la ecuación.
De donde se obtiene:      




Para este caso


II. DESARROLLO EXPERIMENTAL
Con la utilización de simulink podemos caracterizar el sistema y aplicarle con facilidad un PID para poder ver el comportamiento del sistema ante la entrada de escalón.
Desde observar el sistema se nota que el sitema tiene un polo en el origen y otro polo en -25, así que debemos implementar un controlador
PID para poder hacer el sistema estable.
 






Figura 3. Simulación en simulink.

P :100
I : 98
D :7


Figura 4. Respuesta al escalón del modelo matemático.






Figura 5. Root Locust del sistema
Para la parte fisica del sistema, se construyo una base de madera la cual soporta el brazo de aluminio de 400mm de longitud con una perforación en el centro que utiliza valeros para reducir la fricción, los motores son colocados en los extremos.Por otro lado,  se utilizaron motores brushless con hélices de 10*4.5 pulgadas y variadores de velocidad de 30A.
 







Para la adquisicion de la referencia se utilizó un MPU6050, el cual tiene gyroscopios y acelerómetros.
Para hacer la conexión con la pc se utilizó un arduino nano solo como plataforma para recibir y transmitir los datos de simulink a los actuadores y del sensor de posición al puerto serial de la computadora.
Para realizar la medición con el sensor mpu6050 se utilizaron los siguientes calculos.
 




El diagrama muestra el calculo de inclinación sensado por los vectores del acelerometro.
Posteriormente se utilizó un filtro complementario para elminar el ruido del acelerometro y el drift en el gyroscopio, esto es utilizando un filtro pasa bajas en el acelerometro eliminando las fluctuaciones a corto plazo, y el drift del gyro se cancela con un filtro pasa altas.
Para ello se utilizó la siguiente expresión:
Filtered Angle = α × ( angulo del Gyroscopio) + (1 − α) × angulo del Acelerometro)

Donde:
α = τ/(τ + Δt)   and   (angulo del Gyroscopio) = (ultima medicion angulo filtrado) + ω×Δt

Δt = tiempo de muestra, τ =constante de tiempo mas grande que el ruido del acelerómetro.

Por lo tanto, como se tiene un periodo de muestreo de 0.04 s, se escogió una constante de aproximadamente 1 s ,alfa =0.96.

Los electronic speed controlers o variadores de velocidad dson circuitos que reciben cierto voltaje de entrada y aparte una señar pwm o ppm la cual transforman en señales senoidales trifasicas para poder controlar la velocidad de los rotores.
Estos variadores funcionan a una velocidad de 300 Hz.

Conexiones :

Esc : Electronic speed controller o driver variador de velocidad.

Arduino   Mpu    Esc1    Esc 2


A5   -    SCL

A4     -  SDA


GND  - GND  - GND     -GND


3v3 -    Vcc


D13         -       PWM


    D10         -                   PWM


PWM es el cable balnco.

Dejar el cable rojo del Esc sin conectar.



Para el control de posicion del PVTOL se utilizó el siguiente modelo en simulink :

 

Se introduce el angulo de referencia que se quiere seguir; posteriormente, se realiza la diferencia con el ángulo medido y se divide en dos,para divirse en los dos PIDs que controlan el sistema y que se encuentran saturados, para que cada señal vaya al motor adecuado y no pueda enviar un pwm tan álto como para dañar el sistema;por último, el arduino procesa las señales y las envía a los controladores de velocidad directamente.


III. ANÁLISIS DE DATOS

Primero para la obtención de los valores PID, se procedió a sintonizar solo un motor a cierta referencia para tener una idea del comportamiento del sistema, es decir se removió la implementación de un motor para tener la seguridad de que el PID inicial iba a funcionar.
Los resultados de este metodo fueron como lo esperado ya que los primeros valores de saturación estaban situados  vagamente  y ocasionaron la ruptura de una hélice y un tornillo.
Después de utilizar el método de zigler- nichols para la obtención de los valores PID, los resultados seguían siendo oscilaciones aunque cada vez mas cortas, lo cual se intuye que el PID implementado estaba funcionando pero necesitaba correción manual.

En la gráfica se muestra la referencia, el sensor(amarillo) y el pwm aplicado al motor.

                En cuanto a la corrección manual de los valores PID, se tenía como referencia la gráfica que muestra los datos del sensado y lo que se le aplica en pwm al motor, por lo que modificando el PID se podía observar tanto fisicamente como en la gráfica, así que era más simple la sintonización.
Claramente, al aumentar la Kd , la respuesta era muy ruidosa por lo que no debía pasar del valor de 0.1  ya que los actuadores empezaban a desfazarse.Por otro lado, si se aumenta la Kp la respuesta de los actuadores era muy agresiva.
                Para la comunicación de matlab con arduino, se manda la información del angulo menos la referencia o viceversa y posteriormente se convierte en un dato UNIT8 para que esté limitado el valor a numeros de 0-255 .





IV. CONCLUSIONES
La aplicación de un PID en el control de estabilidad de un sistema PVTOL fue satisfactorio ya que  dicho sistema se estabiliza en una referencia dada.
Por un lado, los valores para sintonizar el PID son dificiles de adquirir ya que en ocasiones al mover un parámetro el sistema puede quedar inestable; por otro lado, se nota que después de una cantidad x de saturación superior los variadores actuan de una manera no lineal y mas parecida su curva de respuesta a una exponencial, lo que claramente altera el comportamiento del sistema.
Posiblemente el error se corrija al programar los variadores de velocidad de una manera correcta, es decir que no amortigue el cambio de velocidad y que entregue directamente la señal al motor, y así crear una relación mas directa entre el motor y el programa en la pc.
Al utilizar los conversores de datos en simulink especificamente UNIT8  para poder procesar las señales se pierde información la cual crea “brincos” en el PID y los cuales se reflejan instantáneamente en sobretiros de los motores, por otro lado existe un cierto retardo dentro del sistema, lo cual quizás sea corregible al escoger los valores precisos de PID.



TUTORIAL :


A todos los interesados les dejo un link donde pueden descargar los archivos de simulink y de arduino :

http://www.4shared.com/folder/uVaappUD/PVTOL.html?detailView=true&sortAsc=true&sortsMode=NAME



  1. Antes de comenzar a tener problemas, instalen el modulo de arduino para simulink.
  2. hagan el tutorial de esta página   http://www.geekmomprojects.com/gyroscopes-and-accelerometers-on-a-chip/
  3. Conecten todo
  4. Prueben motores con el archivo que subí llamado control de motor con PWM
  5. Limitar o saturar en simulink *PID para la salida del pwm por el puerto serial para que no se vayan a matar con una hélice.






http://www.cdiweb.com/datasheets/invensense/MPU-6050_DataSheet_V3%204.pdf
http://prometheus4.com/share/quad-articles/balas_2007.pdf
http://math.ucsd.edu/~mleok/pdf/LeLeMc2010_quadrotor.pdf
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=89294
http://chrfredelasse.blogspot.mx/   (complementary filter vs kalman filter)