AUTOMATIZACIÓN INDUSTRIAL
INTEGRANTES
CRISTHIAN DE LA CRUZ
MARLON RAMÍREZ
NRC: 1439
2
Contenido
Tema: ................................................................................................................................ 4
Objetivo general ............................................................................................................... 4
Objetivos específicos ........................................................................................................ 4
Marco Teórico .................................................................................................................. 4
Esquema básico del controlador PID ............................................................................ 4
P: acción de control proporcional ................................................................................. 4
Respuesta a una entrada escalón unitario .................................................................. 5
I: acción de control integral: ......................................................................................... 5
PI: acción de control proporcional-integral .................................................................. 5
Respuesta a una entrada escalón unitario .................................................................. 6
PD: acción de control proporcional-derivativa, se define mediante: ............................ 6
Respuesta a una entrada escalón unitario .................................................................. 7
PID: acción de control proporcional-integral-derivativa .............................................. 7
Brazo robótico ............................................................................................................. 11
Robot articular ............................................................................................................ 11
Ecuaciones de Euler-Lagrange ................................................................................... 12
Ecuación generalizada de Lagrange ........................................................................ 12
L: langragiano ......................................................................................................... 12
F: función de disipación de Rayleigh ...................................................................... 13
Desarrollo ....................................................................................................................... 13
Modelamiento motor DC ............................................................................................ 14
Coordenadas generalizadas ..................................................................................... 15
Langragiano ............................................................................................................. 15
Función de disipación de Rayleigh ......................................................................... 16
Conclusiones................................................................................................................... 31
Bibliografía ..................................................................................................................... 31
3
Tema:
Diseño de un controlador por modos deslizantes para el ángulo de la base de un brazo
robótico de tres grados de libertad
Objetivo general
Realizar el control modos deslizantes del ángulo de la base usando la dinámica
de un brazo robótico utilizando Euler Lagrange para su respectivo análisis en el
software Simulink
Objetivos específicos
Realizar el modelamiento de un brazo robótico
Realizar el diseño de un control por modos deslizantes para el ángulo de
la base de brazo robótico teniendo en consideración criterios de diseño.
Marco Teórico
Da una salida del controlador que es proporcional al error, es decir: 𝑢(𝑡) = 𝐾𝑃𝑒(𝑡),
cuya función de transferencia es igual
𝐶𝑝 (𝑠) = 𝐾𝑝
5
da una salida del controlador que es proporcional al error acumulado, lo que implica
que es un modo de controlar lento.
𝑡
𝐾𝑖
𝑢(𝑡) = 𝐾𝑖 ∫ 𝑒(𝜏)𝑑𝜏 𝐶𝑖 (𝑠) =
𝑠
0
Se define mediante
𝑡
𝐾𝑝
𝑢(𝑡) = 𝐾𝑝 𝑒(𝑡) + ∫ 𝑒(𝜏)𝑑𝜏
𝑇𝑖
0
1
𝐶𝑝1 (𝑠) = 𝐾𝑝 (1 + )
𝑇𝑖 𝑠
Con un control proporcional, es necesario que exista error para tener una acción de
control distinta de cero. Con acción integral, un error pequeño positivo siempre dará una
acción de control creciente, y si fuera negativo la señal de control será decreciente.
6
𝐾𝑝 𝑇𝑑 𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑝 𝑒(𝑡) +
𝑑𝑡
Donde Td es una constante de denominada tiempo derivativo. Esta acción tiene carácter
de previsión, lo que hace más rápida la acción de control, aunque tiene la desventaja ´
importante que amplifica las señales de ruido y puede provocar saturación en el
actuador. La acción de control derivativa nunca se utiliza por sı sola, debido a que solo
es eficaz durante perıodos transitorios. La función transferencia de un controlador PD
resulta:
La estabilidad mejora
El sobre pico disminuye
La velocidad de respuesta aumenta
Esta acción combinada reúne las ventajas de cada una de las tres acciones de control
individuales. La ecuación de un controlador con esta acción combinada se obtiene
mediante:
𝐾𝑃 𝑡 𝐾𝑃 𝑇𝑑 𝑑𝑒(𝑡)
𝑢(𝑡) = 𝐾𝑃 𝑒(𝑡) + ∫ 𝑒(𝜏)𝑑𝜏 +
𝑇𝑖 0 𝑑𝑡
1
𝐶𝑃𝐼𝐷 (𝑠) = 𝐾𝑃 (1 + + 𝑇𝑑𝑠
𝑇𝑖𝑠
La idea básica del controlador PID es simple y similar a la toma de decisión del ser
humano basada en el conocimiento del pasado, presente y predecir el futuro. El
controlador PID hace lo mismo para el control automático. Da tres partes para la señal de
control:
Un motor tiene limitada su velocidad, una válvula tiene límites máximo y mínimo de
apertura, una fuente de alimentación de energía de un dispositivo eléctrico es finita, etc.
El mejor controlador que podemos obtener para éste sistema es un PID puesto que
vamos a limitar tanto la velocidad como la posición y su aceleración, también controla
de mejor manera su estado transitorio al igual que disminuye en gran cantidad los
sobrepicos y el error.
Efecto Wind-up
Para evitar el efecto wind-up de los integradores se debe lograr que el estado del
controlador tenga las siguientes propiedades:
Ilustración 10: Ejemplo de salida del sistema con compensación anti wind-up
Brazo robótico
Robot articular
Este robot está formado por una serie de articulaciones como se muestra en la
ilustración 1. Varían la posición y orientación, gracias a su elevado número de grados de
libertad (usualmente 5 o 6), son idóneos en un amplio y variado abanico de aplicaciones
industriales, desde la soldadura por puntos, hasta aplicaciones de pintado y sellado.
(Staff, 2012)
Es un robot cuyo brazo tiene alguna articulación rotatoria. Son accionados por
distintos medios, como pueden ser motores eléctricos, o sistemas neumáticos.
12
Ecuaciones de Euler-Lagrange
Las ecuaciones de Euler-Lagrange son las condiciones bajo las cuales cierto tipo
de problema variacional alcanza un extremo. Aparecen sobre todo en el contexto de la
mecánica clásica en relación con el principio de mínima acción, aunque también
aparecen en teoría clásica de campos. (Hazewinkel, 2001)
𝑏
𝑆(𝑞) = ∫ 𝐿(𝑡, 𝑞(𝑡), 𝑞̇ (𝑡))𝑑𝑡
𝑎
𝜕𝐿 𝑑 𝜕𝐿
− ( )=0
𝜕𝑞 𝑑𝑡 𝜕𝑞̇
𝜕𝐿 𝑑 𝜕𝐿 𝜕𝐹
− ( )=
𝜕𝑞 𝑑𝑡 𝜕𝑞̇ 𝜕𝑞̇
L: langragiano
𝐿 =𝑇−𝑈
Donde:
T: energía cinética
13
U: energía potencial
1
𝐹= ∑ 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑞𝑢𝑒 𝑑𝑖𝑠𝑖𝑝𝑎𝑛 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎
2
− ∑ 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑜𝑠 𝑞𝑢𝑒 𝑒𝑛𝑡𝑟𝑒𝑔𝑎𝑛 𝑝𝑜𝑡𝑒𝑛𝑐𝑖𝑎 𝑎𝑙 𝑠𝑖𝑠𝑡𝑒𝑚𝑎
Desarrollo
1. Encuentre el modelo de la dinámica del sistema de la ilustración 2
así como el de sus actuadores
2. Realizar la simulación en simulink del sistema completo
3. Diseñar un controlador PID para el movimiento de los brazos
según las siguientes especificaciones:
0 ≤ ∅1 ≤ 360
−60 ≤ ∅2 ≤ 60
−90 ≤ ∅3 ≤ 90
Modelamiento motor DC
Datos:
Coordenadas generalizadas
𝑞, 𝑞̇ 𝜃, 𝜃̇
Langragiano
1 2 1 2̇
𝐿= 𝐿𝑞̇ + 𝐽𝜃
2 2
16
1 1
𝐹 = 𝑅𝑞̇ 2 + 𝑏𝜃̇ 2 − 𝑢𝑞̇ + (𝑘𝑒𝜃̇)𝑞̇ − 𝑘𝑡𝑞̇ 𝜃̇
2 2
𝜕𝐿 𝑑 𝜕𝐿 𝜕𝐹
− ( )=
𝜕𝑞 𝑑𝑡 𝜕𝑞̇ 𝜕𝑞̇
𝜕𝐿 𝑑 𝜕𝐿 𝜕𝐹
− ( )=
𝜕𝜃 𝑑𝑡 𝜕𝜃̇ 𝜕𝜃̇
𝜃(𝑠) 𝐾𝑡
=
𝑉𝑎 (𝑠) 𝑠. [(𝐽𝑚 . 𝑠 + 𝑏). (𝐿𝑎 . 𝑠 + 𝑅𝑎 ) + 𝐾𝑡 . 𝐾𝑒 ]
𝑉𝑎 − 𝑅𝑎 ∗ 𝑖𝑎
𝐾𝑒 =
𝜔
𝐾𝑒 ∗ 𝐼𝑎
𝐵=
𝜔
𝜏𝑎
𝐾𝑒 =
𝑖𝑎
𝑃
𝜏𝑎 =
𝜔
17
0.0617
𝑇𝑓(𝑠) =
0.0004249𝑠 3 + 0.294 𝑠 2 + 0.0000021938𝑠
Para el brazo robótico realizamos el siguiente análisis
Eslabón 2
𝐼2 = 𝑚𝑟22
𝐼𝑥𝑧 = 𝑚𝑟𝑥𝑧 2
Energía cinética
18
1 2 1 2
𝑇2 = 𝐼2 ∅2̇ + 𝐼𝑥𝑧∅1̇
2 2
1 𝑙2 2 2 1 𝑙2 2
2
𝑇2 = 𝑚2 ( ) ∅2̇ + 𝑚2 ( 𝑐𝑜𝑠∅2 ) ∅1̇
2 2 2 2
1 𝑙22 2 1 𝑙22 2
𝑇2 = 𝑚2 ∅2 + 𝑚2 ( cos 2 ∅2 ) ∅1̇
̇
2 4 2 4
1 1
cos 2 ∅2 = + 𝑐𝑜𝑠2∅2
2 2
1 2 1 1 1 2
𝑇2 = 𝑚2 𝑙22 ∅2̇ + 𝑚2 𝑙22 ( + 𝑐𝑜𝑠2∅2 ) ∅1̇
8 8 2 2
1 2 1 2 1 2
𝑇2 = 𝑚2 𝑙22 ∅2̇ + 𝑚2 𝑙22 ∅1̇ + 𝑚2 𝑙22 ∅1̇ 𝑐𝑜𝑠2∅2
8 16 16
Energía potencial
𝑙2
ℎ2 = 𝑠𝑒𝑛∅2
2
𝑈2 = 𝑚2 𝑔ℎ2
𝑙2
𝑈2 = 𝑚2 𝑔 𝑠𝑒𝑛∅2
2
Eslabón 1
19
𝐼1 = 𝑚1 𝑟12
1 1 2
𝑇1 = 𝑚1 𝑣12 + 𝐼1 ∅1̇
2 2
𝑣12 = 𝑥1̇ 2 + 𝑧̇ 2
1
𝑥1 = 𝑙2 𝑐𝑜𝑠∅2 + 𝑙1 cos(∅3 + ∅2 )
2
𝑙1
𝑥1̇ = −𝑙2 ∅2̇ 𝑠𝑒𝑛∅2 − (∅ ̇ + ∅2̇ )𝑠𝑒𝑛(∅3 + ∅2 )
2 3
2
𝑙1 2
𝑥12̇ = 𝑙22 ∅22̇ 𝑠𝑒𝑛2 ∅2 + 𝑙1 𝑙2 (∅̇22 + ∅̇2 ∅3̇ )𝑠𝑒𝑛∅2 𝑠𝑒𝑛(∅3 + ∅2 ) + (∅̇2 + ∅̇3 ) 𝑠𝑒𝑛2 (∅3
4
+ ∅2 )
1
𝑧1 = 𝑙2 𝑠𝑒𝑛∅2 + 𝑙1 sen(∅3 + ∅2 )
2
𝑙1
𝑧1̇ = 𝑙2 ∅2̇ 𝑐𝑜𝑠∅2 + (∅ ̇ + ∅2̇ )𝑐𝑜𝑠(∅3 + ∅2 )
2 3
2
𝑙1 2
𝑧12̇ = 𝑙22 ∅22̇ 𝑐𝑜𝑠 2 ∅2 + 𝑙1 𝑙2 (∅̇22 + ∅̇2 ∅3̇ )𝑐𝑜𝑠∅2 𝑐𝑜𝑠(∅3 + ∅2 ) + (∅̇2 + ∅̇3 ) 𝑐𝑜𝑠 2 (∅3
4
+ ∅2 )
𝑙 2 2
𝑣12 = 𝑙22 ∅22̇ 𝑠𝑒𝑛2 ∅2 + 𝑙1 𝑙2 (∅̇22 + ∅̇2 ∅3̇ )𝑠𝑒𝑛∅2 𝑠𝑒𝑛(∅3 + ∅2 ) + 41 (∅̇2 + ∅̇3 ) 𝑠𝑒𝑛2 (∅3 +
𝑙 2 2
∅2 ) + 𝑙22 ∅22̇ 𝑐𝑜𝑠 2 ∅2 + 𝑙1 𝑙2 (∅̇22 + ∅̇2 ∅3̇ )𝑐𝑜𝑠∅2 𝑐𝑜𝑠(∅3 + ∅2 ) + 41 (∅̇2 + ∅̇3 ) 𝑐𝑜𝑠 2 (∅3 +
∅2 )
𝑙12 2
𝑣12 = 𝑙22 ∅̇22 + (∅̇2 + ∅̇3 ) + 𝑙1 𝑙2 (∅̇22 + ∅̇2 ∅3̇ )𝑐𝑜𝑠∅3
4
1 1
𝑘1 = 𝑚1 𝑣12 + 𝑚1 𝑟12 ∅̇12
2 2
20
1
𝑥1 = 𝑙2 𝑐𝑜𝑠∅2 + 𝑙1 cos(∅3 + ∅2 )
2
1
𝑥12 = 𝑙22 cos 2 ∅2 + 𝑙1 𝑙2 𝑐𝑜𝑠∅2 cos(∅2 + ∅3 ) + 𝑙12 cos2 (∅3 + ∅2 )
4
1 2 1 1 2 1
𝑇1 = 𝑚1 𝑙22 ∅2̇ + 𝑚1 𝑙1 𝑙2 (∅̇22 + ∅̇2 ∅3̇ )𝑐𝑜𝑠∅3 + 𝑚1 𝑙22 (∅̇2 + ∅̇3 ) + 𝑚1 𝑙22 ∅̇12
2 2 8 4
1 1 1
+ 𝑚1 𝑙22 ∅̇12 cos(2∅2 ) + 𝑚1 𝑙1 𝑙2 ∅̇12 𝑐𝑜𝑠∅2 𝑐𝑜𝑠(∅3 + ∅2 ) + 𝑚1 𝑙12 ∅̇12
4 2 16
1
+ 𝑚1 𝑙12 ∅̇12 cos(2(∅3 + ∅2 ))
16
𝑈1 = 𝑚1 𝑔ℎ1
11
𝑈1 = 𝑚1 𝑔 (𝑙2 𝑠𝑒𝑛∅2 + 𝑠𝑒𝑛(∅3 + ∅2 ))
2
𝑚1 𝑔
𝑈1 = 𝑚1 𝑔𝑙2 𝑠𝑒𝑛∅2 + 𝑙 𝑠𝑒𝑛(∅3 + ∅2 )
2 1
Eslabón 3
𝐼3 = 𝑚3 𝑟 2
1 2
𝑇3 = 𝐼3 ∅1̇
2
Dando como resultado el sistema mostrado en programación en MATLAB como
SIMULINK
global m1 m2 m3 l1 l2 R g
m1=0.5;
m2=1;
m3=4;
l1=0.2;
l2=0.3;
R=0.2;
g=9.81;
A1=0.125*(l1^2)*m1+0.5*(l2^2)*m1+0.125*(l2^2)*m2+m3*(R^2)+0.125*(l1^2)*m1*
cos(2*phi2+2*phi3)+0.5*(l2^2)*m1*cos(2*phi2)+0.125*(l2^2)*m2*cos(2*phi2)+l1*l2
*m1*cos(phi2)*cos(phi2+phi3);
C1=-(l2^2)*m1*phi1dot*phi2dot*sin(2*phi2)-
0.25*(l2^2)*m2*phi1dot*phi2dot*sin(2*phi2)-
0.25*l1^2*m1*phi1dot*phi2dot*sin(2*phi2+2*phi3)-
0.25*l1^2*m1*phi1dot*phi3dot*sin(2*phi2+2*phi3)-
l1*l2*m1*phi1dot*phi2dot*cos(phi2)*sin(phi2+phi3)-
l1*l2*m1*phi1dot*phi3dot*cos(phi2)*sin(phi2+phi3)-
l1*l2*m1*phi1dot*phi2dot*sin(phi2)*cos(phi2+phi3)-thao1;
A2=-l2^2*m1-0.25*l2^2*m2-0.25*l2^2*m1-l1*l2*m1*cos(phi3);
B2=-0.25*l2^2*m1-0.5*l1*l2*m1*cos(phi3);
C2=0.5*l2^2*(phi1dot^2)*sin(phi2)-0.125*l2^2*m2*(phi1dot^2)*sin(2*phi2)-
0.125*l1^2*m1*phi1dot^2*sin(2*phi2+2*phi3)-
0.5*l1*l2*m1*phi1dot^2*cos(phi2+phi3)*sin(phi2)-
0.5*l1*l2*m1*phi1dot^2*sin(phi2+phi3)*cos(phi2)+l1*l2*m1*phi2dot*phi3dot*sin(ph
i3)+0.5*l1*l2*m1*phi3dot^2*sin(phi3)+thao2;
A3=-0.25*l2^2*m1-0.5*l2*l1*m1*cos(phi3);
B3=-0.25*l2^2*m1;
C3=0.125*m1*l1^2*phi1dot^2*sin(2*phi2+2*phi3)-
0.5*l1*l2*m1*phi1dot^2*sin(phi2+phi3)*cos(phi2)-
0.5*l1*l2*m1*(phi2dot^2+phi3dot*phi2)*sin(phi3)+0.5*l1*l2*m1*phi2dot*phi3dot*si
n(phi3)+thao3;
phi1dotdot=-C1/A1;
phi2dotdot=(-C2/A1)-((B2*(A2*C2-A1*C3))/A1*(A1*B3-A2*B2));
phi3dotdot=(A2*C2-A1*C3)/(A1*B3-A2*B2);
Y=[phi1dotdot phi2dotdot phi3dotdot];
end
Se elige la forma del controlador a ser utilizada, para el caso de un motor el controlador
que mejor desempeño tiene es el controlador PI
𝑘𝑖
𝐺𝐶 (𝑠) = 𝑘𝑝 +
𝑠
Para el diseño del controlador, se realizará primero el diseño de un controlador PI
normal, que cumpla con los siguientes requerimientos de diseño:
𝑡𝑠 = 0.1 [𝑠]
𝑀𝑝 = 2%
El valor de 𝜀 = 0.779
4
𝑡𝑠 =
𝜀𝜔𝑛
4
𝑡𝑠 =
0.779 ∗ 𝜔𝑛
𝑟𝑎𝑑
𝜔𝑛 = 51.34
𝑠
Obteniendo el polinomio característico de la planta más el controlador obtenemos lo
siguiente:
El polinomio formado por los polos debido a nuestros parámetros de diseño es:
𝑘𝑝 = 358.56
23
𝑘𝑖 = 340.43
340.43
𝐶(𝑠) = 358.56 +
𝑠
Calculo del controlador Anti wind-up:
Calculo del 𝐾∞
𝐾∞ = 𝐾𝑝
𝐾∞ = 358.56
358.56𝑠 + 340.43 −1
( ) − (358.56)−1
𝑠
−0.94
358.56 𝑠 + 340.43
Para el motor 1 se implementó un control por modos deslizantes para ello se define la
superficie de deslizamiento:
𝑆𝑧 = (𝑧̇ − 𝑧𝑑̇ ) + 𝜆𝑧 (𝑧 − 𝑧𝑑 )
𝑆𝜃 = (𝜃̇ − 𝜃𝑑̇ ) + 𝜆𝜃 (𝜃 − 𝜃𝑑 )
𝑈𝑎
𝜃̈ =
𝑀
𝑆𝜃̇ = 0
𝑈𝑒𝑞
( − 𝜃𝑑̈ ) + 𝜆𝜃 (𝜃̇ − 𝜃𝑑̇ ) = 0
𝑀
function U = Polos(phi1d,phi1dotd,phi1dotdotd,phi1,phi2,phi3,phi1dot,phi2dot,phi3dot)
global m1 m2 m3 l1 l2 R g Lphi1 nphi1
m1=0.5;
m2=1;
m3=4;
l1=0.2;
l2=0.3;
R=0.2;
g=9.81;
Lphi1=4;
nphi1=60;
AM1=0.125*(l1^2)*m1+0.5*(l2^2)*m1+0.125*(l2^2)*m2+m3*(R^2)+0.125*(l1^2)*m
1*cos(2*phi2+2*phi3)+0.5*(l2^2)*m1*cos(2*phi2)+0.125*(l2^2)*m2*cos(2*phi2)+l1
*l2*m1*cos(phi2)*cos(phi2+phi3);
CM1=-(l2^2)*m1*phi1dot*phi2dot*sin(2*phi2)-
0.25*(l2^2)*m2*phi1dot*phi2dot*sin(2*phi2)-
0.25*l1^2*m1*phi1dot*phi2dot*sin(2*phi2+2*phi3)-
0.25*l1^2*m1*phi1dot*phi3dot*sin(2*phi2+2*phi3)-
l1*l2*m1*phi1dot*phi2dot*cos(phi2)*sin(phi2+phi3)-
l1*l2*m1*phi1dot*phi3dot*cos(phi2)*sin(phi2+phi3)-
l1*l2*m1*phi1dot*phi2dot*sin(phi2)*cos(phi2+phi3);
%superficies de deslizamiento
Sphi1=(phi1dot-phi1dotd)+Lphi1*(phi1-phi1d);
%controles equivalentes
thaoeqphi1=(CM1/AM1)+phi1dotdotd-Lphi1*(phi1dot-phi1dotd);
%controles conrrectivos
thaocrphi1=-nphi1*tanh(Sphi1);
26
%controlores completos
thaophi1=thaoeqphi1+thaocrphi1;
%salida
U= [thaophi1];
end
.
27
Resultados
Para comparar el funcionamiento del sistema y el control se aplicó el de modos deslizantes a ∅1 y control PID a los otros dos:
En el set point ingresamos los valores de 60, 30 y 75 para cada uno de los ángulos, es decir ∅1, ∅2 𝑦 ∅3 respectivamente.
30
Como se puede observar el primer ángulo controlado tiene más estabilidad gracias al control por modos deslizante, esto gracias tanto al control equivalente
como correctivo, además no existe chatering. En los demás ángulos vemos como llegan a la medida deseada, sin embargo no se mantiene el estado del
sistema.
A continuación vemos el voltaje del primer motor, al cual aplicamos un control anti wind-up, que va a limitar el voltaje a 24V, de la gráfica muestra que el
voltaje se mantiene hasta t=12, que es el momento en que el primer ángulo llega al set point deseado
31
Conclusiones
Se diseñó un control por modos deslizantes para el motor que controla el ángulo el base
cuyos valores de landa y eta son 4 y 60 respectivamente, con ellos obtenemos una
respuesta, en la cual el sistema se demora en estabilizarse 12 segundos, a partir de los
cuales el ángulo deseado se mantiene constante, esto gracias a cada control del método
de modos deslizantes. Se modeló cada actuador en base al datasheet de un motor
específico y a la inercia obtenida en la dinámica del sistema, pues según el peso y la
inercia del brazo necesitaremos un motor con las características necesarias para poder
moverlo. Además se implementó un PI anti wind-up para el motor que controla esta
parte del brazo, cada ganancia se seleccionó para que la respuesta del sistema sea lo más
rápida y con el menor error posible, como se puede observar en los cálculos realizados,
el sobre pico es menor al 10% con un tiempo de subida menor a un segundo. En el
motor se repiten estas características como se puede apreciar en esta figura.
Bibliografía
Barrientos, A. (2007). Fundamentos de Robótica. Interamericana.