You are on page 1of 7

CONTROL AVANZADO

FACULTAD CIENCIAS E
VII SEMESTRE 2018
INGENIERÍA

Nombre del estudiante(s): Jesús Enrique Quesada Díaz


Nota:
Oscar Leonardo Peña Pinzón
Fecha de entrega 26/11/2018
Título Informe Control Avanzado
“Control helicóptero con dos grados de libertad”

Resumen—El presente informe muestra los procedimientos


utilizados para el modelado e implementación de un helicóptero de Se pretende construir físicamente la planta e implementar el
dos grados de libertad. Inicialmente el informe muestra la controlador previamente diseñado en un micro-controlador
construcción del modelo tomando en cuenta un sistema de capaz de generar un control óptimo del sistema.
ecuaciones de dos entradas y dos salidas. A continuación, se
utilizan métodos experimentales y teóricos para determinar los
parámetros y las constantes del sistema y se construyen los
modelos teóricos en espacio de estados y función de transferencia. III. MODELADO
Posteriormente se procede al diseño del controlador de la planta
El modelo matemático de la dinámica del prototipo del
para posteriormente implementarlo en modelo real.
helicóptero (figura 1) tiene dos grados de libertad
correspondientes al ángulo de cabeceo y al ángulo de guiñado.
El ángulo de cabeceo es definido positivo cuando la nariz del
I. INTRODUCCIÓN helicóptero esta sobre el eje horizontal y el ángulo de guiñado
es positivo cuando gira en sentido de las manecillas del reloj.
En el diseño de los sistemas de control realimentado es
necesario encontrar un controlador para mantener o conseguir
la estabilidad y atenuar las perturbaciones que son señales que
tienden a afectar adversamente el valor de la señal o variable de
salida.

Siempre van a existir incertidumbres en el comportamiento de


la planta, es decir que la salida ante una entrada de control
produce una respuesta que no está completamente determinada;
eso se debe fundamentalmente a dos razones: primero, la
dinámica de la planta no se conoce completamente. Segundo,
perturbaciones desconocidas pueden influir en el
comportamiento del sistema; entonces, la salida no es solo la
respuesta ante la señal de control, sino también a la
perturbación.

En la actualidad las investigaciones en el área de la robótica


aérea proponen prototipos para las soluciones a problemas tales
como la vigilancia, el rescate personas y el ingreso a zonas de Fig. 1. Dinámica del helicóptero de dos grados de libertad, con dos motores y
una masa desplazada del centro simétrico del sistema.
difícil acceso para el hombre. Por esta razón surge la necesidad
de plantear métodos de diseño y modelado de sistemas
electromecánicos que puedan ser monitoreados por
controladores autónomos de forma precisa. Las hélices de los ángulos se manejan por motores Brushless
cuya velocidad es controlada por los voltajes de entrada V. La
velocidad de rotación resulta en una fuerza T que actúa normal
al cuerpo a una distancia L del eje. La rotación de la hélice sin
II. OBJETIVOS embargo también causa un torque de carga Q en el eje de motor
que se ve a su vez reflejada en el eje contrario. Girando la hélice
de un eje no sólo causa el movimiento sobre el mismo sino
Se desea diseñar un controlador, por métodos de realimentación también sobre el otro. Así mismo Lm es la distancia horizontal,
del estado, que sea capaz de controlar efectivamente la planta en lejos del pivote, a la cual se encuentra fijado el centro de masa
punto específico del sistema linealizado. del sistema
Se pude realizar una identificación experimental de forma
Por otra parte, para la linealización del sistema tomamos indirecta y consiste en tomar datos de los efectos de cada motor
primero en cuenta el modelo en espacio de estados de la forma: sobre cada eje de forma individual y aislada, tomando datos de
esta forma se pueden obtener funciones de transferencia aisladas
que describen al sistema, este método indirecto se puede usar
para la validación ya que cada función de transferencia se puede
obtener del modelo teórico en espacio de estados bajo ciertas
Linealizamos el modelo y reemplazamos los parámetros de
consideraciones y así comparar cada efecto teórico con su
forma que el modelo teórico tiene la forma de:
respectiva función de transferencia practica para realizar la
validación.

Al comparar por partes el modelo teórico con el experimental,


se puede observar que en los dos ejes el modelo no se aproxima
mucho a simple vista, esto se debe a que en los datos
experimentales se les hizo un preprocesamiento para eliminar
ruido.

Finalmente, para el sistema expresado en función de


transferencia, y puesto que el sistema tienes dos variables de
entrada y dos salidas respectivas, puede interpretarse como un
modelo donde interactúan varias funciones de transferencia de
la forma:

Donde:

Fig. 2. Respuesta al step en planta física, y datos.


En el caso de este proyecto en particular la identificación
experimental no se puede realizar directamente debido a que con
cada valor de entrada en el sistema se produce un movimiento
de respuesta y no así un valor estable que se podría muestrear
además también que tiene un retardo de respuesta, por ende, si
se le colocara una señal aleatoria al modelo se tendrían datos
inexactos y por el retraso de la respuesta también se solaparían
entre sí.
Finalmente realizamos la simulación del sistema en Simulink
con la salida del sistema:

Fig. 3. Respuesta al step en planta física y respuesta del modelo teórico

IV. INCORPORACIÓN DEL CONTROLADOR


Para el diseño del controlador tomamos en cuenta primero los
polos del sistema en lazo abierto. Para el caso de la planta del
Fig. 4. Salida de la planta con realimentación del estado del ángulo pitch
helicóptero observamos que el sistema cuenta con polos en - (amarillo) y el ángulo yaw (violeta).
0.2131, -15.6879, 0 y 0 lo cual indica que el sistema se
estabiliza, pero en un punto muy superior al deseado. Por otra
Donde observamos un tiempo de asentamiento cercano a los 15
parte, y después de evaluar las matrices A, B y C confirmamos
segundos, como estaba previsto, y con un porcentaje de
que el sistema es completamente controlable y completamente
amortiguamiento relativamente bajo. Esto debido
observable.
principalmente a que el controlador fue diseñado para no tener
Tomando estos resultados en cuenta podemos comenzar a
una reacción tan violenta cuando intenta estabilizarse en el
diseñar la ganancia con realimentación del estado. Para ello
punto de referencia.
definimos primero los polos dominantes del sistema en lazo
cerrado. Para no sobrecargar los valores de control del
controlador definimos un tiempo de asentamiento largo que
implique, no solo que el controlador responda de forma sutil,
sino que los valores de la matriz de ganancia no sean demasiado V. DISEÑO
altos. El diseño se realizó en el software SolidWorks donde se da a
conocer cómo será la forma física que tendrá nuestro proyecto
)( ) y se muestra la ubicación de los motores, de igual manera se
describen las partes que tendrá y se hace una idea del
movimiento, los grados de libertad y las funciones que
desempeñará, este diseño preliminar es de gran ayuda para la
De donde se obtiene la matriz de ganancia K con respecto al construcción final ya que se tienen en cuenta sus dimensiones.
sistema en espacio de estados:
A continuación, se ilustran las diferentes imágenes del diseño.

Fig 5. Diseño

VI. SIMMECHANICS
VII. CONSTRUCCION VIII. PROGRAMACION ARDUINO

Para la estructura física, se realizó con piezas en teflón y


aluminio, dado a que estas presentaban unas mejores
características en cuanto a peso, además en las uniones se
instalaron rodamientos permitiendo libremente el movimiento
del balancín.

Fig 7. Montaje

Para el código en Arduino lo primero que se hizo fue la


declaración de las variables a utilizar. Luego que se realizó
un mapeo de los datos del potenciómetro para convertirlos a
un dato de 8 bits y por último la conexión del Arduino a los
potenciómetros.
El código empleado fue el siguiente:

#include <Servo.h>

Servo right_prop;
Servo left_prop;

/*MPU-6050 gives you 16 bits data so you have to create some


16int constants
* to store the data for accelerations and gyro*/

int16_t Acc_rawX, Acc_rawY, Acc_rawZ,Gyr_rawX,


Gyr_rawY, Gyr_rawZ;

float Acceleration_angle[2];
float Gyro_angle[2];
float Total_angle[2];

float elapsedTime, time, timePrev;


int i;
float rad_to_deg = 180/3.141592654;

float PID, pwmLeft, pwmRight, error, previous_error;


float pid_p=0;
Fig6. Construcción float pid_i=0;
float pid_d=0;
/////////////////PID CONSTANTS/////////////////
double kp=3.55;//3.55
double ki=0.005;//0.003
double kd=2.05;//2.05 IX. CONCLUSIONES
void setup() {
 Como se pudo ver a lo largo del proyecto, el
Wire.begin(); //begin the wire comunication
helicóptero demostró requerir una serie de distintas
Wire.beginTransmission(0x68);
medidas y determinaciones de los parámetros según
Wire.write(0x6B); cada ángulo, con el fin de visualizar las fuerzas que
Wire.write(0); estos generan y poder acomodar los parámetros
Wire.endTransmission(true); adecuados entre sí para lograr realizar un controlador
Serial.begin(250000); aceptable para la planta.
right_prop.attach(3); //attatch the right motor to pin 3
left_prop.attach(5); //attatch the left motor to pin 5  Se descarta la opción de utilizar un sistema de control
analógico puesto que el sistema depende de dos
time = millis entradas para su respuesta en dos salidas. Esto implica
left_prop.writeMicroseconds(1000); que las entradas interactúan entre si dentro de la planta,
right_prop.writeMicroseconds(1000); tal como lo muestra el espacio de estados y las
delay(7000); funciones de transferencia, imposibilitando la
}//end of setup void construcción de un modelo analógico lo suficiente
simplificado para implementarse físicamente.
void loop() {

Wire.beginTransmission(0x68);  Cabe indicar igualmente que se debió realizar la


Wire.write(0x3B); //Ask for the 0x3B register- correspond estimación para cada ángulo de forma independiente y
to AcX después, con ambos trabajando en conjunto, hasta
Wire.endTransmission(false); llegar al modelado en espacio de estados con el cual se
Wire.requestFrom(0x68,6,true); logró diseñar el controlador para mantener el sistema a
un nivel relativamente estable.
Acc_rawX=Wire.read()<<8|Wire.read(); //each value needs
two registres  Igualmente es importante recalcar la estimación de
Acc_rawY=Wire.read()<<8|Wire.read(); parámetros a partir de un sistema en Matlab para su
Acc_rawZ=Wire.read()<<8|Wire.read(); validación, como se pudo ver anteriormente, donde se
logró una aproximación lo suficientemente
satisfactoria y por lo cual se puede afirmar que se
desarrolló un modelado bastante acertado para el
sistema.

 Los controladores por realimentación de variables de


estado muestran una ventaja a la hora de igualar el
valor de referencia, con respecto a los controladores
basado en características externas del sistema (función
de transferencia), a pesar de que estos últimos
estabilizan el sistema, en algunas ocasiones presentan
un error de estado estacionario.

 La eficiencia de los controladores depende de un


correcto modelamiento del sistema, sin embargo, al
trabajar con sistemas no lineales, los controladores son
diseñados a partir de un modelo linealizado alrededor
de un punto de operación, obviando algunos
parámetros fundamentales del sistema. Por lo que no
son tan eficientes a la hora de implementarlos sobre el
sistema no lineal.

 La teoría nunca es final o exacta, por lo que el diseño


de controladores se está desarrollando constantemente
y adaptándose a las diferentes circunstancias.
X. REFERENCIAS

[1] . C. Vivas Gonzalez,“Control del Helicóptero 2DOF Usando Métodos de


Control Robusto H∞”, Facultad de Ingeniería, Departamento de eléctrica
y electrónica, Bogotá, Febrero de 2011.

[2] Daniel R. Villa. Santiago H. Sánchez, “Implementación de un


Helicóptero de Dos Grados de Libertad con Fines Académicos”,
Universidad de San Buenaventura, Seccional Medellín – Colombia.

[3] Leonardo S. Guzmán, Cristhian A. Cristancho, Camilo A. Gil / “Diseño


e Implementación de una Plataforma Experimental de Dos Grados de
Libertad Controlada por Dos Técnicas: PID y Lógica Difusa,
Universidad Militar Nueva Granada - Ciencia e Ingeniería Neogranadina

You might also like