Está en la página 1de 13

Happy controlling!

Control avanzado
Proyecto no. 2
Alexander Guerrero
David Santiana

1. Antecedentes
El curso de control avanzado está planificado para ser aprobado a través de la solución a retos
innovadores en el área de automatización y control. Este primer reto, proyecto 1, implica usar técnicas de
control en el espacio de estados en conjunto con metodologías de identificación de procesos. El proceso
seleccionado para aplicar estas técnicas de control es el de la regulación de velocidad de un motor de
corriente directa.

2. Objetivos
El objetivo general de este proyecto es: diseñar e implementar sistemas de seguimiento en el espacio
de estados aplicado al motor de corriente continua del módulo EPC.
Los objetivos particulares son:
 Desarrollar un sistema de control aplicado al motor de corriente directa del módulo EPC para
el seguimiento de referencias de velocidad constante (seguidor integral).
 Desarrollar un sistema de control aplicado al motor de corriente directa del módulo EPC para
el seguimiento de referencias arbitrarias de tipo cuadrada y triangular (seguidor de
trayectorias con entrada cero).
 Implementar un sistema de visualización de las señales de referencia y de respuesta de
velocidad en LabVIEW.
 Realizar un reporte que incluya mínimamente: i) introducción; ii) descripción metodológica; iii)
análisis de resultados; y iv) conclusiones.

3. Descripción problemática
Los sistemas de seguimiento aplicados a servomecanismos son comunes en el área del control de
sistemas dinámicos. La Figura 1 muestra un ejemplo del seguimiento de una referencia arbitraria de
posición en un servomecanismo, en donde se ilustran desviaciones de las variables controladas (ángulos
de cadera, tobillo y rodilla) en referencia con la trayectoria propuesta. Existen aplicaciones donde este
tipo de desviaciones son inaceptables; por ejemplo, en el campo de la rehabilitación médica a través de
dispositivos de robótica usable (exoesqueletos robóticos), las trayectorias articulares enviadas a los
motores a cargo del movimiento del dispositivo, difícilmente muestran un correcto desempeño usando
controladores clásicos PID, por lo que, típicamente, se prefiere la implementación de estrategias de
control avanzadas.
En este contexto, un nuevo fabricante de exoesqueletos robóticos requiere comprobar el
funcionamiento de sistemas de control de velocidad variable aplicados a motores de corriente directa. El
objetivo de estas comprobaciones es verificar la posibilidad de seguir trayectorias de velocidad arbitrarias
con forma triangular y cuadrada en motores de corriente directa, sin cajas de engranes o de multiplicación
de torque, para al final conformar un algoritmo de control avanzado que permita seguir trayectorias de la
biomecánica de la marcha bípeda de personas sin patologías (ver Figura 2).
Happy controlling!

Respuesta seguimiento (cadera) Respuesta seguimiento (rodilla)


80 80
20 Ref
15 Sim
60 60
Angulo cadera [deg]

Angulo rodilla [deg]


10 Exp

40 40
2.8 2.9 1.5 1.6 1.7
20 20
Ref
0 0 Sim
Exp
-20 -20

0 1 2 3 4 0 1 2 3 4

Respuesta seguimiento (tobillo) Error cuadratico total


80 0.4 30
-14

Error seguimiento (deg)


Ref Experimental
60 -16 25
Sim
Angulo tobillo [deg]

Simulation
-18 0.3
Exp
-20 20
40 -22
-24 0.2 15
20 2.7 2.8 2.9
10
0 0.1
5
-20
0
0 1 2 3 4 0 1 2 3 4
Tiempo de caminata (s) Tiempo de caminata (s)

Figura 1: Ejemplo de seguimiento de trayectorias arbitrarias con desviaciones

Figura 2: Biomecánica de la marcha bípeda de un paciente sin patologías


Happy controlling!

Las especificaciones de recepción mínimas del proyecto, dictadas por el fabricante, son la siguientes:

1. Interfaz HMI que contenga, mínimamente, los siguientes elementos de ingreso de


datos/información de control y de despliegue de información (ver Figura 3 para referencia):
o Caja de texto y/o control deslizante (slide control) para la especificación de l referencia
de velocidad del motor en modo de control integral;

Figura 1: Ejemplo de HMI de la aplicación de control de velocidad del motor de cc

o Menú de selección de modos de control:


 Operación manual
 Control integral
 Seguimiento de señal cuadrada
 Seguimiento de señal triangular
o Gráfica de tendencias que despliegue el registro histórico de velocidad del motor y la
referencia de velocidad;
o Gráfica de tendencias que despliegue el registro histórico del error y de la señal de
control;
o Gráfica de respuesta geométrica del sistema (espacio de estados)
o El logo de la empresa desarrolladora.
2. El desempeño del sistema de control debe apegarse a los siguientes requerimientos:
o Seguir referencias de velocidad constante sin error de estado estacionario (𝑒𝑠𝑠 → 0);
o El sistema se recupera de perturbaciones asociadas a la operación habitual del mismo;
por ejemplo, freno aplicado al eje del motor;
o Seguimiento de una trayectoria cuadrada de frecuencia de al menos 1 Hz.
o Seguimiento de una trayectoria triangular de frecuencia de al menos 1 Hz.
Happy controlling!

3. La documentación del proyecto (reporte) debe incluir en detalle, mínimamente, las siguientes
secciones:
o Introducción.

La tarjeta MYDAQ es una interfaz electrónica de National Instruments para adquisición de datos en
tiempo real y que se alimenta mediante conexión USB.

Esta tarjeta ofrece varias ventajas frente a otras tarjetas DAQ (Data Adquisition), ya que viene
acompañada del software Labview y Multisim, con los cuales se puede llegar a hacer diseños realmente
complejos, en los cuales realicemos supervisión y control, como se muestra en la Figura 1.

Figura 1.Ny MyDAQ

(NATIONAL INSTRUMENTS, 2022)

El Entrenador de Planta de Control EPC como se muestra en la Figura 2 está diseñado para acelerar la
enseñanza de adquisición de datos aplicada a fundamentos de control (Gaspar, 2019).

Figura 2. Entrenador de Planta de Control

(Gaspar, 2019).
Happy controlling!

Este entrenador incluye un led de alto brillo para prácticas de medición y control temperatura, un motor
DC para prácticas de medición y control de velocidad, un motor stepper para control de posición, un
micrófono para medición de señales en dominio de tiempo y de frecuencia, y un relé de propósito
general (Arian, 2014).

Las prácticas están desarrolladas en LabVIEW, con código abierto, y utilizando myDAQ o myRIO. Sus
entradas y salidas analógicas y digitales son de niveles TTL y 0-10V, de modo que es compatible con
cualquier sistema de adquisición de datos genérico.

o Descripción metodológica.
Para el desarrollo de la práctica se hizo uso de la Actividad 2 previamente realizada.

 Modelo de la planta EPS

 Modelo en Matlab

clc; clear; close all;


% *********************** + Definicion del sistema + **********************
Gz = tf([ 26.29 31.58],[1 -1.245 0.3448], 0.050)
[G, H, C, D] = ssdata(Gz)
G = [1.2450 -0.6896; 0.5000 0]; % Matriz de estados
H = [0; 8]; % Matriz de entrada
C = [3.2862 7.8950]; % Matriz de salida
T = 0.1; % Tiempo de muestreo
% *************************************************************************
Happy controlling!

% *********************** + Diseno del controlador + **********************


Gcap = [G H; 0 0 0]; % Matriz G aumentada
Hcap = [0; 0; 1]; % Matriz H aumentada
tss = 2;
p1 = (-5.0093 )/tss;
p2 = (-3.9668 - j*3.7845)/tss;
p3 = (-3.9668 + j*3.7845)/tss;
z1 = exp(T*p1);
z2 = exp(T*p2);
z3 = exp(T*p3);
Kcap = acker(Gcap, Hcap, [z1 z2 z3]);
K2K1 = (Kcap + [0 0 1]) * inv([G-eye(2), H; C*G, C*H]);
K2 = K2K1(1:2);
K1 = K2K1(end);
% *************************************************************************

% ************************* + Lazo de simulacion + ************************


ts = 10; % Tiempo de simulacion
N = floor(ts/T); % # muestras por simulacion
x(:,2) = [0; 0]; % Condicion inicial
v(1) = 0;
r = 10 * ones(1,N); % Referencia

for k = 2 : N
y(k) = C * x(:,k); % Lectura del sensor
v(k) = v(k-1) + r(k) - y(k);
u(k) = -K2 * x(:,k) + K1 * v(k);
x(:,k+1) = G * x(:,k) + H * u(k); % Ecuacion de estados
end
% *************************************************************************

% ************************ + Despliegue resultados + **********************


t = 0 : T : (N-1)*T; % Vector de tiempo
subplot(2,2,1)
plot(t, r, '--', t, y, 'LineWidth', 1.2);
grid on;
legend('r(kT)', 'y(kT)')
xlabel('Tiempo (s)');
title('Respuesta de tiempo del sistema');

subplot(2,2,2)
plot(t, u, 'LineWidth', 1.2);
grid on
xlabel('Tiempo (s)');
Happy controlling!

title('Senal de control')

subplot(2,1,2)
plot(x(1,:), x(2,:), '->', 'LineWidth', 1.2);
grid on;
xlabel('x1_(kT)'); ylabel('x_2(kT)');
% ************************* + Lazo de simulacion + ************************

Adicional se hizo uso de la actividad N° 3.

 CÓDIGO EN MATLAB
%******* - ACTIVIDAD 3 ******
clc %Limpiar pantalla
clear all %Borrar variables
syms z t %Variables simbólicas
Ts = 0.05; %Tiempo de muestreo
Gp = tf([26.29 31.58],[1 -1.245 0.3448],1); %Definición de la planta
[A B C D] = ssdata([Gp]); %Representación en E.E.
Ba = -[-6.0796 17.5296 -31.238 37.5794 -31.238 17.5296 -6.0796 1]';
Aa = [Ba [diag([1 1 1 1 1 1 1]);zeros(1,7)]];
Ca = zeros(1,8);
Ca(1,1) = 1;
Da = 1;
Ad = [Aa zeros(8,2);B*Ca A]; %Sistema aumentado
Bd = [Ba;B];
Cd = [zeros(1,8) C];
p1 = (-4.6835 + j*12.4022); p2 = (-4.6835 - j*12.4022); %Polinomios de
p3 = (-7.3609 + j*9.3777); p4 = (-7.3609 - j*9.3777); %Bessel
p5 = (-8.9698 + j*6.6057); p6 = (-8.9698 - j*6.6057); %orden 10 y
p7 = (-9.9657 + j*3.9342); p8 = (-9.9657 - j*3.9342); %tss = 2 [s]
Happy controlling!

p9 = (-10.4278 + j*1.3071); p10 = (-10.4278 - j*1.3071);


p = (z-exp(Ts*p1))*(z-exp(Ts*p2))*(z-exp(Ts*p3))*(z-exp(Ts*p4))*(z-exp(Ts*p5))*(z-
exp(Ts*p6))*(z-exp(Ts*p7))*(z-exp(Ts*p8))*(z-exp(Ts*p9))*(z-exp(Ts*p10));
p = sym2poly(p); %Raíces del sistema L.C..
J = zeros(1,10);
J(1,10) = 1;
for i = 0 : length(Bd) - 1
Mc(:,i+1) = Ad^i*Bd; %Matriz de Controlabilidad
end
[r c] = size(Ad);
Aux = zeros(r,c);
for i = 1 : length(p)
Aux = p(i)*Ad^(length(p)-i) + Aux; %Ecuación característica Ad
end
E = (J*Mc^(-1)*Aux)'; %Fórmula de Ackermann
pt = 1.2732*(sin(pi*t) + 1/3*sin(3*pi*t) + 1/5*sin(5*pi*t) + 1/7*sin(7*pi*t));
for i = 0 : length(Bd) - 1 %Evaluación de la función
rho(i+1) = subs(pt,'t',Ts*i); %generadora para cálculo de
end %vector inicial
for i = 0 : length(Bd) - 1
Wo(i+1,:) = Cd*Ad^i; %Matriz de Observabilidad
end
%**************************************************************************
%********************** - Simulación de la respuesta - ********************
xz0 = Wo^(-1)*rho'; %Vector inicial
x0 = [0;0]; %Estado ini de la planta
xa0 = zeros(8,1);
xd0 = [xa0;x0]; %Estado ini sis aumentado
xd(:,1) = xd0;
ftime = 10; %Tiempo de simulación
N = ftime/Ts; %# total de muestras
x(:,1) = x0;
xz(:,1) = xz0;
u0 = E'*(xz0 - xd0);
xa(:,1) = Aa*xa0 + Ba*u0;
for k = 1: N - 1 %Ciclo de simulación
xd(:,k) = [xa(:,k);x(:,k)];
xz(:,k+1) = Ad*xz(:,k);
u(k) = E'*(xz(:,k) - xd(:,k));
ya(k) = Ca*xa(:,k) + Da*u(k);
x(:,k+1) = A*x(:,k) + B*ya(k);
xa(:,k+1) = Aa*xa(:,k) + Ba*u(k);
y(k) = C*x(:,k); %Respuesta del sistema
end
xaum(:,N) = [xa(:,N);x(:,N)];
u(N) = E'*(xz(:,N) - xaum(:,N));
y(N) = C*x(:,N);
ya(N) = Ca*xa(:,N) + u(N);
t = Ts*[0 : N - 1];
r = 1.2732*(sin(pi*t) + 1/3*sin(3*pi*t) + 1/5*sin(5*pi*t) + 1/7*sin(7*pi*t));
subplot(2,1,1); plot(t,y,'b',t,r,'r--');
title('Simulación de una referencia tipo rectangular');
xlabel('Tiempo (s)'); ylabel('Salida de la Planta y(k)');
grid;
subplot(2,1,2); plot(t,ya,'m');
xlabel('Tiempo (s)'); ylabel('Entrada de la Planta ya(k)');
grid on;
%**************************************************************************
Happy controlling!

Figura 3. Simulación de una referencia tipo rectangular.

o Análisis de resultados.

Figura 4. Programa para encender el motor DC.


Happy controlling!

Figura 5.HMI de adquisición de datos.

Figura 6. Programa con PID.


Happy controlling!

Figura 7. PID con seguimiento


Happy controlling!

Figura 8. Control en espacio estados.

o Conclusiones.

 Se realizó el control PID clásico por medio de la interfaz de desarrollo gráfico


Labview y adquisición de datos del motor por medio de una NyMyDAQ.
 El control que fue desarrollado en espacio estados del motor DC es más robusto y
susceptible a perturbaciones que el control clásico PID.
Happy controlling!

 Depende mucho del modelo que se haya obtenido previamente para el


desarrollo del control.

o Referencias

Arian, J. C. (2014). Apuntes de control PID. 2-14.

Gaspar, L. (2019). Introducción al Control Práctico con Entrenador de Planta de Control (EPC) y DAQ. DataLigths,
II(1), 5-15.

NATIONAL INSTRUMENTS. (24 de 07 de 2022). Impulsar la innovación y la productividad. Obtenido de Ny


MyDAQ: https://www.ni.com/es-cr.html

4. Rúbrica

Cumple con los Cumple parcialmente No cumple con los


No.
requerimientos con los requerimientos requerimientos
1. Interfaz hombre máquina
20% 15% 10%
Sección 3.1 de este documento
2. Operación del sistema
50% 35% 25%
Sección 3.2 de este documento
3. Reporte del proyecto
20% 15% 10%
Sección 3.3. de este documento
4. Sustentación del proyecto
Implica una sustentación virtual el 10% 7% 5%
día de la presentación del proyecto

5. Fechas
Las fechas de entrega de este proyecto son:
 Implementación práctica: al final de la clase/taller presencial
 Reporte: hasta el lunes 27 de junio de 2022 a las 23h59

6. Bonificación
El desarrollo del proyecto no implica, de forma obligatoria, la implementación de un algoritmo
de control aplicado al seguimiento de trayectorias articulares de la biomecánica de la rodilla,
tobillo y/o cadera. Sin embargo, si algún(os) equipo(s) implementan adicionalmente esta solución
se exonerarán del desarrollo de alguno de los proyectos no. 2 y no. 3 (sistema de detección de
fallas; sistema de control abs aplicado a un vehículo).

También podría gustarte