Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab Nº4 - Control Dinámico de Trayectorias - V2020-Par
Lab Nº4 - Control Dinámico de Trayectorias - V2020-Par
I. OBJETIVO
I.1. El objetivo de esta práctica es la simulación y el análisis del control de una articulación simple accionada por un
motor CC (sin autoinducciones ni rozamientos).
II.1. Control de Robots: Desarrollar un breve marco teórico acerca del tema específico.
IV. PROCEDIMIENTO
Leer detenidamente el enunciado completo de la práctica, analizando la resolución de las cuestiones planteadas.
El objetivo de esta práctica es la simulación del control de una articulación simple accionada por un motor CC (sin
𝐾𝑔𝑚2
1. Constante del motor: 𝐾𝑎 = 1
𝑠2𝐴
𝑉
2. Constante del generador: 𝐾𝑏 = 0.5 𝑟𝑎𝑑
⁄𝑠
Estos parámetros pueden fijarse en línea de comandos de Matlab como variables. Posteriormente puede usarse el
LAB N° 4
Tema: Control Dinámico de Trayectorias Jefe de Prácticas:
Ing. Juan Carlos Cuadros
Los parámetros de simulación deberán fijarse a: Inicio=0, Final=2, Paso Mínimo=0.01, Paso Máximo=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 excitación tipo escalón 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 excitación (cero en el caso de un escalón unitario). En el bloque From Workspace deberán
introducirse como datos los instantes de tiempo y el valor de la entrada para cada uno ([t’, th’]).
• Las muestras de la señal error se recogen en el vector error, mediante el bloque To Workspace. Para evaluar
E=sum(error.*error)
LAB N° 4
Tema: Control Dinámico de Trayectorias Jefe de Prácticas:
Ing. Juan Carlos Cuadros
• Controlador. En una ventana nueva, se implementará un bloque genérico PD digital con el siguiente esquema:
La notación usada por Simulink para el operador de retardo unitario es R = z−1. El controlador puede convertirse
en un bloque con la opción Group y utilizarse posteriormente en el sistema de control (copiándolo con el mouse
como un bloque más). Esta opción tiene el inconveniente de que los parámetros del controlador no son variables,
sino que deben tener valores numéricos fijos. Usando la opción Mask (después de agrupar), los parámetros del
bloque pueden hacerse variables, de forma que el bloque agrupado y enmascarado mostrará una caja de diálogo
al estilo de los bloques de Simulink. Al seleccionar la opción Mask, aparecerá en pantalla una ventana para
Initialization commands:
Kp=@1; Kd=@2; T=@3;
En esta ventana se asigna primero un nombre genérico al bloque (PD), después se estructura la caja de diálogo
(se escriben los títulos de los distintos items separados por —), y por último se asignan los parámetros (Kp es
• Para simular los conversores A/D (sensor de realimentación) y D/A (interfaz entre el controlador digital y el
proceso analógico) se utiliza el bloque Zero-Order Hold, cuya función 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 perturbación (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 Robótica II Página: 4/5
LAB N° 4
Tema: Control Dinámico de Trayectorias Jefe de Prácticas:
Ing. Juan Carlos Cuadros
posición 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 señal (posición angular) de
salida. También puede conectarse a la salida un bloque To Workspace para llevar la señal de salida al espacio
de trabajo de MatLab.
• Verificar los tiempos de muestreo. En aquellos bloques relacionados con la implementación digital del
controlador (control PD y conversores A/D) debe asegurarse que el parámetro ’sample time’ es T (periodo de
muestreo).
• Una vez realizado el sistema anterior, se diseñara el control PD para que el sistema trabaje en amortiguamiento
crítico. Comprobar que dicha especificación conduce a la siguiente relación para el parámetro kd:
2√20𝐾𝑝 − 10
𝐾𝑑 =
20
• Implementar controladores para Kp = 1.25, 5, 10, dibujar las señales de salida correspondientes, calcular la
• Diseñar 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, para una
comportamiento del motor una vez terminada la excitación. Comparar las funciones θ1(t) deseada y real, y medir
la energía 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 articulación tiene
sobre la primera. Este efecto puede simularse como una perturbación. Para ello, se sustituirá el bloque de
Laboratorio de Robótica II Página: 5/5
LAB N° 4
Tema: Control Dinámico de Trayectorias Jefe de Prácticas:
Ing. Juan Carlos Cuadros
perturbación nula por una perturbación sinusoidal (bloque sine wave) de amplitud 0,1 y periodo 8/3 (fase inicial
• Opcionalmente, puede realizarse una simulación del comportamiento completo del robot RR. Para ello,
supondremos que los dos motores tienen iguales parámetros característicos. Mediante la orden sim(’fsimulink’)
podemos lanzar la ejecución del modelo almacenado en el fichero fsimulink, que tomará los parámetros que
• De esta forma podremos tener una simulación realista de la evolución que sigue cada articulación del robot.
Empleando programación Matlab 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 robot y
V. CUESTIONARIO FINAL
V.2.________________________________________________________________________________________
________________________________________________________________________________________
________________________________________________________________________________________
VI.1. Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado
- ____________________________________________________________________________________
- ____________________________________________________________________________________
- ____________________________________________________________________________________
- ____________________________________________________________________________________
- ____________________________________________________________________________________