Lab Nº4 - Control Dinámico de Trayectorias - V2016-Par
Lab Nº4 - Control Dinámico de Trayectorias - V2016-Par
Lab Nº4 - Control Dinámico de Trayectorias - V2016-Par
I. OBJETIVO
I.1. El objetivo de esta prctica es la simulacin y el anlisis del control de una articulacin simple accionada por un
motor CC (sin autoinducciones ni rozamientos).
IV. PROCEDIMIENTO
Leer detenidamente el enunciado completo de la prctica, analizando la resolucin de las cuestiones planteadas.
El objetivo de esta prctica es la simulacin del control de una articulacin simple accionada por un motor CC (sin
2
1. Constante del motor: =1 2
2. Constante del generador: = 0.5
Estos parmetros pueden fijarse en lnea de comando de Matlab como variables. Posteriormente puede usarse el
LAB N 4
Tema: Control de Trayectorias Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Los parmetros de simulacin debern fijarse a: Inicio=0, Final=2, Paso Mnimo=0.01, Paso Mximo=0.01 y
Tolerancia=0.001.
La orden al sistema se obtiene del espacio de trabajo de Matlab con el bloque From Workspace. De momento,
se usara una excitacin tipo escaln unitario, para evaluar los distintos tipos de controlador. Para ello se debe
t=0:0.01:2;
th=[0 ones(1,200)];
donde se est fijando un periodo de muestreo de T = 0,01. Se introduce como primera muestra de th el valor
inicial de la excitacin (cero en el caso de un escaln unitario). En el bloque From Workspace debern
introducirse como datos los instantes de tiempo y el valor de la entrada para cada uno ([t, th]).
Las muestras de la seal error se recogen en el vector error, mediante el bloque To Workspace. Para evaluar
E=sum(error.*error)
LAB N 4
Tema: Control de Trayectorias Jefe de Prcticas:
Ing. Juan Carlos Cuadros
Controlador. En una ventana nueva, se implementar un bloque genrico PD digital con el siguiente esquema:
La notacin usada por Simulink para el operador de retardo unitario es R = z1. El controlador puede convertirse
en un bloque con la opcin Group y utilizarse posteriormente en el sistema de control (copindolo con el mouse
como un bloque ms). Esta opcin tiene el inconveniente de que los parmetros del controlador no son variables,
sino que deben tener valores numricos fijos. Usando la opcin Mask (despus de agrupar), los parmetros del
bloque pueden hacerse variables, de forma que el bloque agrupado y enmascarado mostrar una caja de dilogo
al estilo de los bloques de Simulink. Al seleccionar la opcin Mask, aparecer en pantalla una ventana para
Initialization commands:
Kp=@1; Kd=@2; T=@3;
En esta ventana se asigna primero un nombre genrico al bloque (PD), despus se estructura la caja de dilogo
(se escriben los ttulos de los distintos items separados por ), y por ltimo se asignan los parmetros (Kp es
Para simular los conversores A/D (sensor de realimentacin) y D/A (interfaz entre el controlador digital y el
proceso analgico) se utiliza el bloque Zero-Order Hold, cuya funcin es mantener el valor de la muestra durante
un intervalo de muestreo.
Motor CC. Incluye un bloque Constant con el que es posible simular un par de perturbacin (inicialmente se fija
a cero). El motor dispone a la salida de un bloque integrador 1/s (sublibreria linear) con el que se obtiene la
Laboratorio de Robtica II Pgina: 4/5
LAB N 4
Tema: Control de Trayectorias Jefe de Prcticas:
Ing. Juan Carlos Cuadros
posicin angular a partir de la velocidad angular. En este bloque, hay que especificar el valor inicial del ngulo
de salida th(1).
Osciloscopio. A la salida se ha dispuesto un bloque Scope que permite visualizar la seal (posicin angular) de
salida. Tambin puede conectarse a la salida un bloque To Workspace para llevar la seal de salida al espacio
de trabajo de MatLab.
Verificar los tiempos de muestreo. En aquellos bloques relacionados con la implementacin digital del
controlador (control PD y conversores A/D) debe asegurarse que el parmetro sample time es T (periodo de
muestreo).
Una vez realizado el sistema anterior, se diseara el control PD para que el sistema trabaje en amortiguamiento
crtico. Comprobar que dicha especificacin conduce a la siguiente relacin para el parmetro kd:
220 10
=
20
Implementar controladores para Kp = 1.25, 5, 10, dibujar las seales de salida correspondientes, calcular la
Disear un controlador PID que mejore los resultados del apartado anterior.
th=[th1 th1(151)*ones(1,50)];
donde th1 es el vector de valores (con periodo de muestreo T =0,01) de la variable 1 de un robot RR obtenido
en la prctica del anexo 1, para una trayectoria interpolada con los siguientes parmetros:
comportamiento del motor una vez terminada la excitacin. Comparar las funciones 1(t) deseada y real, y medir
la energa del error para cada uno de los controladores de los apartados anteriores.
En el apartado anterior se ha obviado por completo el efecto que el movimiento de la segunda articulacin tiene
sobre la primera. Este efecto puede simularse como una perturbacin. Para ello, se sustituir el bloque de
Laboratorio de Robtica II Pgina: 5/5
LAB N 4
Tema: Control de Trayectorias Jefe de Prcticas:
Ing. Juan Carlos Cuadros
perturbacin nula por una perturbacin sinusoidal (bloque sine wave) de amplitud 0,1 y periodo 8/3 (fase inicial
Opcionalmente, puede realizarse una simulacin del comportamiento completo del robot RR. Para ello,
supondremos que los dos motores tienen iguales parmetros caractersticos. Mediante la orden sim(fsimulink)
podemos lanzar la ejecucin del modelo almacenado en el fichero fsimulink, que tomar los parmetros que
De esta forma podremos tener una simulacin realista de la evolucin que sigue cada articulacin del robot.
Empleando los programas del Anexo 1 podremos dibujar la trayectoria ideal del robot y la trayectoria simulada
con los controladores previos (PD y PID) para diferentes valores de Kp, Kd y Ki. Igualmente podemos dibujar el
V. CUESTIONARIO FINAL
V.2.________________________________________________________________________________________
________________________________________________________________________________________
________________________________________________________________________________________
VI.1. Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado
- ____________________________________________________________________________________
- ____________________________________________________________________________________
- ____________________________________________________________________________________
- ____________________________________________________________________________________
- ____________________________________________________________________________________