UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
CODIFICACIÓN Lab
IV
Tema:
Control Dinámico
OBJETIVO:
Implementar algunos de los principales esquemas de control co ntrol utilizados en robótica. OBJETIVOS ESPECIFICOS:
1.- Diferenciar y comparar los principales tipos de control monoarticular. 2.- Comparar la respuesta de los controladores frente a diferentes entradas analizando su comportamiento. 3.- Corroborar el funcionamiento de los controladores cuando cuan do existe un error razonable en los valores estimados de algunas variables tales como incercia, rozamiento, etc. REQUISITOS:
Conocer los conceptos generales de: 1.- Control dinámico del robots 2.- Programación básica en matlab 3.- Uso de Simulink. EQUIPOS Y HERRAMIENTAS
1.- Computador con matlab PROCEDIMIENTO Control prealimentado
Implementar el siguiente diagrama de control en simulink:
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Implementar el modelo de la articulación. Nota: Los valores de la inercia y el coeficiente de fricción se representan por las letras J y B.
Para crear un bloque que contenga internamente un conjunto de elementos (Subsistema), buscar en la librerias de simulink llamadas “Ports and Subsystem” y seleccionar el bloque “Subsystem”.
Al hacer doble clic en el bloque de subsistema aparecerá una ventana que contiene las entradas y salidas del mismo. Se pueden agregar tantas entradas como salidas sean necesarias.
Crear un subsistema, implementando un control prealimentado, donde Je y Be son los valores estimados de la inercia y el coeficiente de fricción respectivamente. Tal como se muestra en la siguiente figura.
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Implementar un generador de trayectorias (trapezoidal – aceleración de 1 rad/s2 durante 1 s – aceleración nula durante 3 s – aceleración de -1 rad/s2 durante 1 s ) por medio de un bloque subsistema que posee 3 salidas: aceleración deseada (qppd), velocidad deseada (qpd) y posición deseada (qd)
Corroborar las salidas del generador de trayectorias con las siguientes gráficas:
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Completar el diagrama de control. Observese que el par perturbador posee un interpolador manual por medio del cual se puede seleccionar un ruido con distribución uniforme de magnitud 1 o una constante de valor cero (par perturbador nulo).
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Al dejar el modelo de simulink con las variables indicadas se hace necesario crear un archivo m el cual contenga los valores indicados. Este archivo es llamado cada vez que se realiza una simulación. Esta técnica permite cambiar los valores rápidamente sin tener que modificar el diagrama en simulink y en caso de ser necesario se podría automatizar las simulaciones. Para llamar el archivo al simular se debe seleccionar en el menú la siguiente secuencia: file-> model properties -> CallBacks -> StartFcn Posteriormete se debe introducir el nombre del archivo m que contiene el valor de las variables J, B, K, etc… Ejemplo del archivo: % Este archivo carga algunas variables al ejecutar un archivo en simulink J = 1; B = 10; K = 1; Je = 1; Be = 10; Ke = 1;
Realizar lo mismo para InitFcn. Como se puede observar en las siguientes gráficas la posición de referencia es alcanzada continuamente cuando el par perturbador es nulo.
Al introducir un ruido con distribución uniforme (1) tal como se muestra en la siguiente figura:
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Se obtiene:
Observe las diferencias entre las curvas. Calcular y describa la evolución de la posición de la articulación cuando el parámetro de inercia estimado es un 130% del real, el coeficiente de fricción estimado es un 90% del real y la constante del motor estimada es un 110% de la real. Realizar la simulación con y sin par perturbador. Cambiando los valores estimados Je, Be, Ke: % Este archivo carga algunas variables al ejecutar un archivo en simulink J = 1; B = 10; K = 1;
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Je = 1*1.3; Be = 10*0.9; Ke = 1*1.1;
Control realimentado
Implementar el siguiente esquema de control en Simulink:
Donde, el controlador se representa como:
Los valores de las variables J, B, Kp, Kd, Ki, etc. Se introducen por medio de un archivo llamado “”, el cual se carga cada vez que se ejecuta la simulación. Ejemplo: % val_ini_control_realimentado.m % Este archivo carga algunas variables al ejecutar un archivo en
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II simulink J = 1; B = 10; K = 1; Je = 1; Be = 10; Ke = 1; Kp = 1; Kd = 0; Ki = 0; -
Realizar simulaciones tomando los valores según la siguiente tabla.:
# 1
J 1
B 10
K 1
Je 1
Be 10
Ke 1
Kp 1
Kd 0
Ki 0
2
1
10
1
1
10
1
1
0,2
0
3
1
10
1
1
10
1
1
0,2
0,03
4
1
10
1
1
10
1
1
0
0
5
1
10
1
1
10
1
1
0,2
0
6
1
10
1
1
10
1
1
0,2
0,03
qd Escalón Unitario Escalón Unitario Escalón Unitario Escalón Unitario Escalón Unitario Escalón Unitario
Tp 0 0 0 Escalón Unitario Escalón Unitario Escalón Unitario
Nota: El escalón unitario correspondiente a la entrada (qd) se aplica en el tiempo cero, y el correspondiente al par perturbador se aplica en tiempo 100s. Describir el comportamiento de los diferentes controladores. CONTROL PREALIMENTADO + REALIMENTADO:
Implementar un control prealimentado y realimentado
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
El bloque del controlador (subsistema) se puede tomar como:
El archivo que contiene los valores de las varias es de la forma: (sugerencia: poner un nombre diferente a este archivo) % Este archivo carga algunas variables al ejecutar un archivo en simulink J = 1; B = 10; K = 1; Je = 1*1.1; Be = 10*0.9; Ke = 1*1.05;
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
Kp = 10; Kd = 0.5; Ki = 0.3;
Aplicando un Tp ±5 unidades y Kp = 10, Kd = 0 y Ki = 0
Aplicando un Tp ±5 unidades y Kp = 100, Kd = 5 y Ki = 3
UNIVERSIDAD DE PAMPLONA Unidad de Ingeniería Mecatrónica Facultad de Ingenierías. Programa de Ingeniería Mecatrónica. Laboratorio II Robótica II
MARCO TEORICO
Referirse a las diapositivas de clase y al libro guia (Fundamentos de Robótica)