Documentos de Académico
Documentos de Profesional
Documentos de Cultura
y Desarrollo Tecnolgico
Subdireccin Acadmica
presentada por
Director de tesis
Dr. Carlos Daniel Garca Beltrn
Codirector de tesis
Dr. Gerardo Vicente Guerrero Ramrez
Cuernavaca, Morelos, Mxico. Enero de 2016.
HOJA EN BLANCO
Dedicatoria
Quiero dedicar este trabajo a mi familia, especialmente a mis padres que, gracias a ellos, por
su dedicacin, amor y apoyo que me han brindado durante toda mi vida, me motivan para
seguir superndome da con da.
Quiero agradecer de una manera muy especial a todas las personas que me brindaron su apoyo
y amistad durante mi estancia en la ciudad de Cuernavaca, especialmente a mis compaeros
de generacin, as tambin agradecer a las personas que, confiaron en m y me dieron su apoyo
para venir a esta ciudad.
A mi director de tesis el Dr. Carlos Daniel por haberme brindado su amistad, y al personal
docente y administrativo del departamento de Electrnica por darme su apoyo en mi
preparacin.
i
5 SIMULACIONES Y RESULTADOS...............................................................................................................71
5.1 DESCRIPCIN DE LAS PRUEBAS. ........................................................................................................................ 71
5.2 REGULACIN ................................................................................................................................................ 72
5.2.1 Escenario 1: regulacin sin perturbacin. ....................................................................................... 73
5.2.2 Escenario 2: Regulacin con perturbacin. ..................................................................................... 76
5.3 SEGUIMIENTO. ............................................................................................................................................. 78
5.3.1 Escenario 3: seguimiento sin perturbacin. .................................................................................... 79
5.3.2 Escenario 4: Seguimiento con perturbacin. .................................................................................. 81
5.4 ESCENARIO 5: PERTURBACIN EN MASAS Y CONDICIONES INICIALES DIFERENTES. ....................................................... 84
5.5 ESCENARIO 6: TAREA PICK & PLACE. ................................................................................................................. 87
5.6 CONCLUSIN DEL CAPTULO. ........................................................................................................................... 92
6 CONCLUSIONES Y TRABAJOS FUTUROS. .................................................................................................93
6.1 TRABAJOS FUTUROS ....................................................................................................................................... 94
BIBLIOGRAFA ..................................................................................................................................................96
APNDICE A .....................................................................................................................................................98
APNDICE B ...................................................................................................................................................100
APNDICE C....................................................................................................................................................104
APNDICE D ...................................................................................................................................................107
ii
ndice de figuras.
Fig. 1.1: Robot Unimate fabricado en Japn (Barrientos, 2007). ............................................................. 3
Fig. 1.2: Esquema general de control de un robot. .................................................................................. 5
Fig. 1.3: Unidades de robot industriales por sector de los ltimos 3 aos. (IFR Statistical department,
2015) ........................................................................................................................................................ 6
Fig. 2.1: Relacin cinemtica inversa y directa. ..................................................................................... 11
Fig. 2.2: Interpretacin de los vectores de orientacin y posicin. ....................................................... 12
Fig. 2.3: Estructura de la matriz de transformacin homognea. ......................................................... 15
Fig. 2.4: Parmetros D-H para un eslabn giratorio (Barrientos, 2007). ............................................... 17
Fig. 2.5: Obtencin de parmetros D-H en Robotic Arm Kinematic GUI. .............................................. 19
Fig. 2.6: Vista del robot desde el plano XY. ............................................................................................ 25
Fig. 2.7: Diagramas de bloque de cinemtica inversa y directa. ............................................................ 27
Fig. 3.1: Espacio de trabajo del robot SCARA 4GDL. .............................................................................. 30
Fig. 3.2: Estructura fsica del robot SCARA. ............................................................................................ 30
Fig. 3.3: Comparacin del modelo obtenido vs artculo. ....................................................................... 44
Fig. 4.1: Sistema visto como transformador de energa. ....................................................................... 51
Fig. 4.2: Estabilidad de un sistema. ........................................................................................................ 54
Fig. 4.3: Estabilidad asinttica. ............................................................................................................... 55
Fig. 4.4: Oscilador de Van der Pol con el origen del sistema como equilibrio inestable. ...................... 56
Fig. 5.1: Esquema de control del sistema en lazo cerrado ..................................................................... 72
Fig. 5.2: Comparacin del punto deseado vs. real en regulacin sin perturbacin. .............................. 74
Fig. 5.3: Convergencia del error de posicin en regulacin sin perturbacin........................................ 74
Fig. 5.4: Valores de las proyecciones nx y oy en regulacin sin perturbacin. ...................................... 75
Fig. 5.5: Pares aplicados a los actuadores en regulacin sin perturbacin............................................ 75
Fig. 5.6: Comparacin del punto deseado vs real en regulacin con perturbacin............................... 76
Fig. 5.7: Valores de las proyecciones nx y oy en regulacin con perturbacin. ..................................... 77
Fig. 5.8: Pares aplicados a los actuadores en regulacin con perturbacin. ......................................... 77
Fig. 5.9: Trayectoria deseada en el plano XY para seguimiento............................................................. 78
Fig. 5.10: Comparacin de la trayectoria deseada vs real en el plano XYZ ............................................ 79
Fig. 5.11: Convergencia a cero en el error de posicin del efector en seguimiento sin perturbacin. . 80
Fig. 5.12: Valores de las proyecciones nx y oy en regulacin sin perturbacin. .................................... 80
Fig. 5.13: Pares aplicados a los actuadores en regulacin sin perturbacin.......................................... 81
Fig. 5.14: Comparacin de la trayectoria deseada vs real en seguimiento con perturbacin. .............. 82
Fig. 5.15: Error de posicin en la trayectoria deseada vs real en seguimiento con perturbacin. ........ 82
Fig. 5.16: Valores de las proyecciones nx y oy en seguimiento con perturbacin................................. 83
Fig. 5.17: Pares aplicados a los actuadores en seguimiento con perturbacin. .................................... 83
Fig. 5.18: Convergencia de las posiciones al punto deseado con diferentes condiciones iniciales y
masas...................................................................................................................................................... 85
Fig. 5.19: Regulacin ante una fuerza externa. ...................................................................................... 86
Fig. 5.20: Definicin grfica de exactitud vs repetibilidad. .................................................................... 87
iii
Fig. 5.21: Vista de la trayectoria descrita en las 3 simulaciones con 0%, 2.5% y 5% de aumento en
masa 4. ................................................................................................................................................... 89
Fig. 5.22: Vista del plano XY de la trayectoria con 0%, 2.5% y 5% de aumento en masa 4. .................. 89
Fig. 5.23: Comparacin de punto deseado y puntos obtenidos en pick & place plano XY. ................... 90
Fig. 5.24: Comparacin de punto deseado y puntos obtenidos en pick & place plano XZ. ................... 91
Fig. A. 1: Bloque cinemtica directa en SIMULINK. ................................................................................ 98
Fig. A. 2: Bloques internos en cinemtica directa. ................................................................................. 98
Fig. A. 3: Bloque cinemtica inversa en SIMULINK................................................................................. 99
Fig. A. 4: Bloques internos en cinemtica inversa.................................................................................. 99
Fig. C. 1: Controlador IDA-PBC en SIMULINK. ...................................................................................... 104
Fig. C. 1 Esquema de control con cinemticas acopladas. ................................................................... 105
Fig. D. 1: Bloques para obtener el valor de fitness. ............................................................................. 107
Fig. D. 2: Construccin de la seal de referencia para q1. .................................................................... 108
Fig. D. 3: Obtencin de las reas de error fuera de las referencias deseadas. .................................... 109
Fig. D. 4: Interior del bloque de comparacin para obtener valor de fitness. ..................................... 109
Fig. D. 5: Poblacin inicial de partculas en PSO................................................................................... 112
Fig. D. 6: Convergencia de los valores al finalizar el algoritmo PSO..................................................... 113
iv
Lista de Tablas.
Tabla 2.1: Parmetros D-H del manipulador robtico. .......................................................................... 19
Tabla 2.2: Evaluacin cinemtica inversa............................................................................................... 28
Tabla 2.3: Evaluacin cinemtica directa. .............................................................................................. 28
Tabla 3.1: Parmetros del Robot SCARA ................................................................................................ 31
Tabla 4.1: Definicin de trminos del algoritmo PSO. ........................................................................... 66
Tabla 4.2: Ganancias del controlador encontrados mediante PSO para el robot SCARA. ..................... 69
Tabla 5.1: Punto deseado a regular en regulacin................................................................................. 73
Tabla 5.2: Variacin en las masas del modelo para simulacin con perturbacin. ............................... 84
Tabla 5.3: Intervalos de las condiciones iniciales para simulacin con perturbacin. .......................... 84
Tabla 5.4: Valores de simulacin para perturbacin externa. ............................................................... 86
Tabla 5.5: Puntos deseados para tarea pick & place. ............................................................................ 88
Tabla 5.6: Puntos obtenidos en pick & place con 0% de aumento en masa 4....................................... 91
Tabla 5.7: Puntos obtenidos en pick & place con 2.5% de aumento en masa 4.................................... 91
Tabla 5.8: Puntos obtenidos en pick & place con 5% de aumento en masa 4....................................... 92
Tabla B. 1: Cdigo en MATLAB para simulacin del sistema SCARA. ................................................... 103
Tabla C. 1: Cdigo en MATLAB de parmetros del sistema en lazo cerrado y cinemtica. ................. 106
Tabla D. 1: Cdigo en MATLAB con algoritmo PSO de sintonizacin. .................................................. 111
v
Nomenclatura.
Por orden de aparicin:
qi i-sima coordenada generalizada
(articulacin del robot)
x Coordenada x
y Coordenada y
z Coordenada z
ni Vector unitario de orientacin proyeccin i
di Traslacin a lo largo de Z i 1
ai Traslacin a lo largo de X i
S1...i sin(1+2++i)
Determinante
mi parmetro de masa del eslabn i
vi
li Parmetro de longitud del eslabn i
L( q, q) Ecuacin de Lagrange
ui Par para el eslabn i
M ( q) Matriz de inercias
C(q, q) Matriz de efectos coriolis
B(q) Matriz de efectos de disipacin
gv(q) Matriz de efectos gravitatorios
I Matriz identidad
i i-simo escalar
J Matriz antisimtrica
i Par del eslabn i
H Funcin Hamiltoniana
p Coordenada generalizada de momento
J Matriz de interconexin del sistema
x Vector de estados del sistema
D Matriz de amortiguamiento
G Matriz de entrada al sistema
g ( x) Funcin de entrada del sistema
R Matriz de disipacin del sistema ( B )
Jd Matriz de interconexin deseada
vii
Hd Funcin Hamiltoniana deseada
q Seal de error
viii
Abreviaturas y acrnimos.
AMF American Machine and Foundry
ANSI American National Standards Institute
ASEA Allmnna Svenska Elektriska
Aktiebolaget, (English translation: General
Swedish Electric Company)
D-H Denavit-Hartenberg
E-L Euler-Lagrange
Fig. Figura
GDL Grados De Libertad
IDA-PBC Interconnection and Damping Assignment
Passivity-Based Control
IFR International Federation of Robotics
ISO International Organization for
Standardization
JIRA Japanese Industrial Robot Association
MATLAB Matrix Laboratory
MIT Massachusetts Institute of Technology
MLD Matriz Lado Derecho
PBC Passivity-Based Control
PCH Port-Controlled Hamiltonian
PD Proporcional Derivativo
PDE Partial Differential Equation
PID Proporcional Integral Derivativo
PSO Particle Swarm Optimization
RIA Robotics Industry Association
RRPR Rotativo Rotativo Prismtico Rotativo
RRRP Rotativo Rotativo Rotativo Prismtico
SCARA Selective Compliant Articulated Robot Arm
UNIMATE Universal Automation
ix
Control de un Robot SCARA basado en pasividad
1 Introduccin.
1.1 Antecedentes
La palabra robot fue usada por primera vez en el ao 1921, cuando el escritor checo
Karel Capek (1890-1938) estrena en el teatro nacional de Praga su obra Rossums
Universal Robot (R.U.R.). Su origen es de la palabra eslava robota que se refiere al
trabajo realizado de manera forzada (Barrientos, 2007).
Robtica fija.
Robtica mvil.
Robot cartesiano.
Robot cilndrico.
o SCARA
1
Captulo 1: Introduccin.
o Robot polar.
Eslabones unidos (paralelos).
Configuraciones mixtas.
Con el objetivo de disear una maquina flexible, adaptable al entorno y de fcil manejo,
George Devol, pionero de la robtica industrial, patent en 1948, un manipulador
programable que fue el germen del robot industrial. Despus en 1948 R.C. Goertz del
Argonne National Laboratory, desarroll el primer robot teleoperado mediante un
esquema esclavo-maestro, con el fin de replicar los movimientos de un manipulador a
otro para manejar elementos radioactivos.
En 1968 J.F. Engelberger visit Japn y poco ms tarde se firmaron acuerdos con
Kawasaki para la construccin de robots tipo Unimate. El crecimiento de la robtica en
Japn aventaja en breve a los Estados Unidos gracias a Nissan, que formo la primera
2
Control de un Robot SCARA basado en pasividad
Por su parte Europa tuvo un despertar ms tardo. En 1973 la firma sueca ASEA
construyo el primer robot con accionamiento totalmente elctrico, en 1980 se fund la
Federacin Internacional de Robtica (IFR) con sede en Estocolmo Suecia.
3
Captulo 1: Introduccin.
4
Control de un Robot SCARA basado en pasividad
Dicho esto se debe mantener una estabilidad en el punto deseado, presentar cierto
grado de robustez a diferentes cargas de trabajo, precisin y repetividad a pesar de la
presencia de incertidumbres y comportamientos dinmicos no modelados.
En este trabajo se busca mejorar el desempeo de un control clsico con las nuevas
tcnicas de control enfocadas en energa, como son las de pasividad. Esta tcnica de
pasividad est basada en el control robusto con lo cual se espera que el controlador
sea una buena alternativa para las diferentes perturbaciones que entren al sistema y
resolver problemas tales como las diferentes cargas de trabajo.
5
Captulo 1: Introduccin.
1.3 Justificacin.
Debido a las exigencias en los sistemas de produccin, se est introduciendo una gran
variedad de avances tecnolgicos en las plantas industriales de todos los niveles. La
industria automotriz, es la ms demandante de equipos robticos donde su principal
aplicacin es la soldadura, pintura y manipulacin de partes.
La actual demanda en la robtica industrial ha hecho que esta sea un campo muy
atractivo que en los ltimos aos ha tenido un crecimiento notable (Fig. 1.3).
Fig. 1.3: Unidades de robot industriales por sector de los ltimos 3 aos. (IFR Statistical department,
2015)
6
Control de un Robot SCARA basado en pasividad
1.4 Objetivos.
1.4.1 Objetivo general.
El Objetivo principal es controlar un robot tipo SCARA de cuatro grados de libertad
aplicando una ley de control basada en el enfoque IDA-PBC.
7
Captulo 1: Introduccin.
Fue en 1989 cuando se introdujo el termino pasividad, y en (Ortega, van der Schaft,
Maschke, & Escobar, 2002) donde se introduce la metodologa IDA-PBC, y en (Ortega
& Garcia-Canseco, 2004) se realiza un caso de aplicacin a un pndulo con una rueda
inercial, existen muchas aplicaciones a sistemas mecnicos para resolver problemas
de estabilidad tales como (Pia & Arteaga, 2007) utilizado en un sistema sub actuado
conocido como acrobot, (Banavar, Kazi, Ortega, & Manjarekar, 2006) aplicado a una
gra viajera sub-actuada, (Acosta & Rios-Bolvar, 2010) aplicada a un sistema
pendubot, y en (Paim, Neves, Moreno, & de Pieri, 2011) aplicado a un robot SCARA
de tres grados de libertad.
1.7 Metodologa.
El presente trabajo se realiza mediante la siguiente metodologa:
8
Control de un Robot SCARA basado en pasividad
1.8 Alcances.
Los alcances de este proyecto de investigacin fueron, la obtencin del modelo del
robot rgido de cuatro grados de libertad mediante la estructura E-L, para
posteriormente encontrar la representacin equivalente en Hamilton, la obtencin del
modelo cinemtico, una ley de control de regulacin, sintonizacin de las ganancias
por medio de un mtodo heurstico y sus respectivos programas en MATLAB para
realizar las simulaciones
En el captulo tres se desarrollan los modelos cinemticos inverso y directo, los cuales
son necesarios para conocer el comportamiento espacial del robot en toda su
estructura y saber en todo momento la posicin de los eslabones y del efector final.
9
Captulo 1: Introduccin.
10
Control de un Robot SCARA basado en pasividad
2 Modelado cinemtico
11
Captulo 2: Modelado cinemtico.
Z a
Z a Z
Y n
Y o
Y
n o
a o
P(x,y,z) P(x,y,z)
P(x,y,z) n X
X X
O(0,0,0) O(0,0,0) O(0,0,0)
1 0 0 0 1 0 0 Px 0 1 0 Px
0 1 0 0 Py
0 0 1 0 Py
1 0
0 0 1 0 0 0 1 Pz 0 0 1 Pz
0 0 0 1 0 0 0 1 0 0 0 1
a) b) c)
12
Control de un Robot SCARA basado en pasividad
13
Captulo 2: Modelado cinemtico.
donde las matrices ( 2.1.2 ),( 2.1.3 ),( 2.1.4 ) y ( 2.1.5 ) representan las rotaciones y
traslaciones del marco de referencia.
1 0 0 0 ( 2.1.3 )
0 1 0 0
Transz ,di
0 0 1 di
0 0 0 1
1 0 0 ai ( 2.1.4 )
0 1 0 0
Transx ,ai
0 0 1 0
0 0 0 1
1 0 0 0 ( 2.1.5 )
0 cos sin 0
Rotx ,i i i
0 sin i cos i 0
0 0 0 1
Los parmetros i , ai , di y i , son los parmetros D-H del eslabn i . De este modo,
basta con identificar estos parmetros para obtener las matrices Ai y as poder
relacionar a todos y cada uno de los eslabones del robot.
14
Control de un Robot SCARA basado en pasividad
En general un robot de n grados de libertad est formado por eslabones unidos por n
articulaciones, de forma que cada par articulacin-eslabn constituye un grado de
libertad. A cada eslabn se le puede asociar un sistema de referencia solidario a l y,
utilizando las transformaciones homogneas, es posible representar las rotaciones y
traslaciones relativas entre los distintos eslabones que componen el robot.
Normalmente, la matriz de transformacin homognea, que representa la posicin y
orientacin relativa entre los sistemas asociados a dos eslabones consecutivos del
robot, se suele denominar matriz Ti i 1 . De esta forma, T10 describe la posicin y
orientacin del sistema de referencia solidario al primer eslabn, con respecto al
sistema de referencia solidario a la base, T21 describe la posicin y orientacin del
segundo eslabn respecto del primero, etc. Del mismo modo, denominando Tn0 o matriz
de transformacin total, a las matriz resultante del producto de las matrices Ti i 1 con i
desde 1 hasta n , con el que se puede representar de forma total o parcial la cadena
cinemtica que forma al robot.
15
Captulo 2: Modelado cinemtico.
3. Localizar el eje de cada articulacin. Si esta es rotativa, el eje ser su propio eje
de giro. Si es prismtica, ser el eje a lo largo del cual se produce el
desplazamiento.
5. Situar el origen del sistema de la base {Si } en cualquier punto del eje Z 0 . Los
ejes X 0 e Y0 se situaran de modo que formen un sistema dextrgiro con Z 0 .
9. Situar el sistema {Sn } en el extremo del robot de modo que Z n coincida con la
direccin de Z n 1 y X n sea normal a Z n 1 y Z n .
10. Obtener i como el ngulo que hay que girar entorno a Zi 1 para que X i 1 y X i
queden paralelos.
16
Control de un Robot SCARA basado en pasividad
12. Obtener ai como la distancia medida a lo largo de X i (que ahora coincidira con
X i 1 ) que habra que desplazar el nuevo {Si 1} para que su origen coincidiese
con {Si } .
13. Obtener i como el ngulo que habra que girar entorno a X i (que ahora
coincidira con X i 1 ), para que el nuevo {Si 1} coincidiese totalmente con {Si } .
15. Obtener las matrices de transformacin que relaciona al sistema de la base con
el del extremo del robot Tn0 T10T21...Tnn1 .
17
Captulo 2: Modelado cinemtico.
Una vez obtenidos los parmetros D-H, el clculo de las relaciones entre los eslabones
del robot es inmediato, ya que vienen dadas por las matrices T , que se calculan segn
la expresin general ( 2.1.6 ). Se puede obtener la relacin de entre cada uno de los
eslabones, desarrollando la matriz correspondiente y haciendo la pre-multiplicacin
del marco de referencia anterior, para as obtener la ubicacin y orientacin de cada
uno de los eslabones respecto a la base.
18
Control de un Robot SCARA basado en pasividad
# d a
i Rot. en Z[] Desp. en Desp. en Rot. En z[]
z[mm] x[mm]
1 1 d1 500 a1 500 1 0
2 2 d 2 100 a2 400 2 0
3 3 d3 0 a3 0 3 0
4 4 0 d 4 d 100 a4 0 4 0
19
Captulo 2: Modelado cinemtico.
La cinemtica directa del robot se realiza sustituyendo para cada i hasta n , la matriz
de transformacin T , para despus realizar una serie de multiplicaciones y encontrar
la matriz de transformacin total, es decir desde la base de nuestro manipulador hasta
el extremo final del robot queda de la siguiente forma:
nx ox ax Px ( 2.4.1 )
n o ay Py
A4 T4 T1 T2 T3 T4 y
0 0 1 2 3 y
nz oz az Pz
0 0 0 1
donde T10 , T21 , T32 y T43 son las matrices para cada marco de referencia.
1 0 0 0 ( 2.4.5 )
0 1 0 0
T4
3
0 0 1 d4
0 0 0 1
20
Control de un Robot SCARA basado en pasividad
0 0 1 d1 d 2 d 4
0 0 0 1
y de acuerdo con ( 2.4.1 ) la ecuacin ( 2.4.7 )corresponde a la cinemtica directa de
nuestro manipulador para obtener la posicin y orientacin del efector final.
nx ox ax Px ( 2.4.7 )
n oy ay Py
y
nz oz az Pz
0 1
0 0
cos(1 2 3 ) sin(1 2 3 ) 0 a2 cos(1 2 ) a1 cos(1 )
sin( ) cos( ) 0 a2 sin(1 2 ) a1 sin(1 )
1 2 3 1 2 3
0 0 1 d1 d 2 d 4
0 0 0 1
21
Captulo 2: Modelado cinemtico.
n x ox ax Px ( 2.5.2 )
n o ay Py
Td y y
nz oz az Pz
0 0 0 1
22
Control de un Robot SCARA basado en pasividad
1 0 0 0 ( 2.5.7 )
0 1 0 0
T43
0 0 1 d4
0 0 0 1
1 0 0 0 ( 2.5.8 )
0 1 0 0
T4
4
0 0 1 0
0 0 0 1
n x ox ax Px ( 2.5.9 )
n o ay Py
Td y y
nz oz az Pz
0 0 0 1
nx C12 n y S12 ox C12 o y S12 a x C12 a y S12 Px.C12 Py.S12 a1C2 a2 ( 2.5.11 )
n C n S oy C12 ox S12 a y C12 ax S12 Py.C12 Px.S12 a1S2
Td2 y 12 x 12
nz oz az Pz d1 d 2
0 0 0 1
23
Captulo 2: Modelado cinemtico.
Td3T ( 2.5.12 )
nx C123 n y S123 n y C123 nx S123 nz 0
ox C123 oy S123 oy C123 ox S123 oz 0
ax C123 a y S123 ax C123 a y S123 az 0
Px.C Py.S a C a C Py.C123 Px.S123 a1S23 a2 S3 Pz d1 d 2 1
123 123 1 23 2 3
Td4T ( 2.5.13 )
nx C123 n y S123 n y C123 nx S123 nz 0
ox C123 oy S123 o y C123 ox S123 oz 0
ax C123 a y S123 a y C123 a x S123 az 0
Px.C Py.S a C a C Py.C123 Px.S123 a1S23 a2 S3 Pz d1 d 2 d 4 1
123 123 1 23 2 3
Td T40 ( 2.5.14 )
24
Control de un Robot SCARA basado en pasividad
1 ( 2.5.25 )
cos A cos B (cos( A B) cos( A B))
2
1 ( 2.5.26 )
sin A sin B (cos( A B) cos( A B))
2
1 ( 2.5.27 )
cos 2 ( Px 2 Py 2 a12 a22 )
2a1a2
Se despeja el trmino sin 2 de ( 2.5.24 ):
( 2.5.28 )
sin 2 1 cos2 2
y se obtiene la ecuacin de cinemtica inversa para el ngulo 2 .
sin 2 ( 2.5.29 )
2 tan 1
cos 2
Para encontrar el ngulo 1 se considera la Fig. 2.6, que es una vista desde arriba, en
el plano XY de los dos eslabones de longitud a1 y a2 :
Y
a2 sin 2
( Px, Py ) a1 sin 2 cos 1
1
1
a2
2
a2 cos 2
1
25
Captulo 2: Modelado cinemtico.
de las igualdades ( 2.5.21 ) y ( 2.5.22 ), y con las ecuaciones obtenidas de Fig. 2.6, se
resuelve mediante la regla de Cramer.
(a a cos 2 ) Px ( 2.5.33 )
sin 1 1 2 (a1 a2 cos 2 ) Py a2 sin 2 Px
a2 sin 2 Py
( 2.5.34 )
Px a2 sin 2
cos 1 (a1 a2 cos 2 ) Px a2 sin 2 Py
Py (a1 a2 cos 2 )
( 2.5.35 )
sin 1 (a1 a2 cos 2 ) Py a2 sin 2 Px
sin 1
Px 2 Py 2
( 2.5.36 )
cos 1 (a1 a2 cos 2 ) Px a2 sin 2 Py
cos 1
Px 2 Py 2
entonces se obtiene la ecuacin de cinemtica inversa para el ngulo 1 .
26
Control de un Robot SCARA basado en pasividad
d Pz d1 d 2 100 ( 2.5.41 )
Para comprobar la cinemtica inversa y directa se utilizan los valores D-H de la Tabla
2.1, despus se realiza la cinemtica directa a partir de valores articulares, el resultado
se evala en la cinemtica inversa para ver que sean coincidentes, tal y como lo explica
la Fig. 2.1.
27
Captulo 2: Modelado cinemtico.
cinemticas). En la Tabla 2.2 y Tabla 2.3 se muestra los resultados para dos
coordenadas diferentes.
28
Control de un Robot SCARA basado en pasividad
3 Modelado dinmico.
29
Captulo 3: Modelado dinmico.
30
Control de un Robot SCARA basado en pasividad
El modelado del robot se basa en la Fig. 3.2 y se hacen las siguientes suposiciones:
m1 15kg
m2 12kg
m3 3kg
m4 3kg
I1 0.02087 m1 m2
I2 0.08 m2 m2
I3 0.05 kg m2
I4 0.02 m4 m2
l1 0.50m
l2 0.40m
lc1 0.25m
lc2 0.20m
h1 0.10m
h2 0.10m
.
El modelado bajo el formulismo de E-L se basa en definir la energa total del sistema,
haciendo uso de los conceptos de la energa potencial y la energa cintica. Cada
elemento o cadena cinemtica del robot se define mediante su energa, y al final se
realiza una suma para obtener la energa total del sistema. Se ha establecido una
serie de pasos para obtener el modelo bajo este formalismo.
31
Captulo 3: Modelado dinmico.
y la energa potencial,
d L L F ( 3.2.4 )
ui
dt i i i
F
donde i =1,2,, n , ui es el par, y , es la ecuacin de disipacin de Rayleigh.
i
La energa cintica se establece para cada uno de los eslabones con la siguiente
frmula:
1 1 ( 3.2.5 )
Ki ( q, q)
mi vi 2 I i qi 2
2 2
donde: m =masa, v =velocidad, I =inercia y q =coordenada generalizada.
Dicho esto, se procede a realizar los pasos antes descritos para cada eslabn.
32
Control de un Robot SCARA basado en pasividad
Eslabn 1:
1 1 ( 3.2.7 )
K1 m1 v12 I 112
2 2
se requiere la velocidad traslacional definida por:
donde,
v12 x12 y12 lc12 sin2 112 lc12 cos2 112 lc12 sin2 1 cos2 1 12 ( 3.2.15 )
recordar que sin2 1 cos2 1 1 para simplificar ( 3.2.15 ).
Por lo que al sustituir ( 3.2.16 ) en ( 3.2.7 ) se obtiene la energa cintica del eslabn
1:
1 1 ( 3.2.17 )
K1 m1lc1212 I112
2 2
Eslabn 2:
1 1
K 2 m2v22 I 2 1 2
2 2
2
( 3.2.18 )
33
Captulo 3: Modelado dinmico.
lc22 sin 2 1 2 1 2
2
lc22 cos2 1 2 1 2
2
sin 1 sin 1 cos 2 cos 1 sin 2 cos 1 cos 1 cos 2 sin 1 sin 2
sin 2 1 cos 2 sin 1 cos 1 sin 2 cos2 1 cos 2 sin 1 cos 1 sin 2
cos 2 sin 2 1 cos2 1
cos 2
Por lo tanto,
( 3.2.28 )
2
v22 l1212 lc22 1 2 2l1lc2 cos 21 1 2
34
Control de un Robot SCARA basado en pasividad
1 2 2 ( 3.2.29 )
2l1lc2 cos 21 1 2 I 2 1 2
2 1 2
K2 m2 l1 1 lc22 1 2
2 2
Eslabn 3:
1 1 ( 3.2.30 )
m3 m4 v32 I 3 I 4 1 2 3
2
K3
2 2
se obtiene la velocidad de traslacin del eslabn 3 encontrando las componentes
de velocidad,
( 3.2.32 )
x3 l1 cos 1 l2 cos 1 2
y3 l1 sin 1 l2 sin 1 2 ( 3.2.33 )
y3 l1 cos 11 l2 cos 1
2 1
2
( 3.2.35 )
x32 l12 sin2 112 2l1l2 sin 1 sin 1 2 1 1 2 l22 sin2 1 2 1 2 ( 3.2.36 )
2
l22 cos2 1 2 1 2
2
( 3.2.39 )
2
v32 l1212 l22 1 2 2l1l2 cos 21 1 2
35
Captulo 3: Modelado dinmico.
m3 m4 l1212 l22 1 2
2l1l2 cos 21 1 2
1 2 ( 3.2.40 )
K3
2
1
I 3 I 4 1 2 3
2
2
Eslabn 4:
1 1 ( 3.2.41 )
K4 m4 v42 m442
2 2
Ahora se obtiene la energa potencial para cada uno de los eslabones, tomando en
cuenta que en las tres primeras coordenadas no acta la energa potencial.
U1 U2 U3 0 ( 3.2.42 )
U4 m4 g4 ( 3.2.43 )
K K1 K2 K3 K4 ( 3.2.44 )
1 1
m1lc1212 I112
2 2
m2 l1212 lc22 1 2 2l1lc2 cos 21 1 2 I 2 1 2
1 1
2 2
2
2
m3 m4 l1212 l22 1 2 2l1l2 cos 21 1 2
1
2
2
1
1
I 3 I 4 1 2 3 m442
2
2 2
U U1 U2 U3 U4 m4 g4 ( 3.2.45 )
L K U ( 3.2.46 )
m1lc1212 I112 m2 l1212 lc22 1 2 2l1lc2 cos 21 1 2
1 1 1
2
2 2 2
I 2 1 2 m3 m4 l1212 l22 1 2 2l1l2 cos 21 1 2
1 1
2 2
2 2
1
1
I 3 I 4 1 2 3 m442 m4 g4
2
2 2
y la funcin F, la cual corresponde a la disipacin en cada uno de los elementos.
36
Control de un Robot SCARA basado en pasividad
1 1 1 1 ( 3.2.47 )
F B112 B222 B332 B442
2 2 2 2
Para i=1:
d L L F ( 3.2.48 )
u1
dt 1 1 1
Se obtienen cada uno de los elementos de la ecuacin anterior,
L
( 3.2.49 )
m1lc121 I11 m2 l121 lc22 1 2 l1lc2 cos 21 l1lc2 cos 2 1 2
1
I 2 1 2 m3 m4 l121 l22 1 2 l1l2 cos 21 l1l2 cos 2 1 2
I 3 I 4 1 2 3
d L ( 3.2.50 )
dt 1
2 2
m1lc1 1 I11 m2 l1 1 m2 lc2 1 2 m2 l1lc2 cos 21
2
m2l1lc2 sin 212 m2 l1lc2 cos 2 1 2 m2 l1lc2 sin 2 1 2 2
I 2 1 2 m3 m4 l121 m3 m4 l22 1 2 m3 m4 l1l2 cos 21
m3 m4 l1l2 sin 212 m3 m4 l1l2 cos 2 1 2
m3 m4 l1l2 sin 2 1 2 2 I 3 I 4 1 2 3
L ( 3.2.51 )
0
1
F ( 3.2.52 )
B11
1
37
Captulo 3: Modelado dinmico.
1 I a m1lc12 m2l12 m2 lc22 2l1lc2 cos 2 m3 m4 l12 l22 2l1l2 cos 2 ( 3.2.53 )
2 m2 l1lc2 sin 2 1 2 m3 m4 l1l2 sin 2 1 2 B11 u1
donde I a I1 I 2 I 3 I 4 .
Para i=2:
d L L F ( 3.2.54 )
u2
dt 2 2 2
L
( 3.2.55 )
m2 lc22 1 2 l1lc2 cos 21 I 2 1 2
2
m3 m4 l22 1 2 l1l2 cos 21 I 3 I 4 1 2 3
d L ( 3.2.56 )
m2 lc2 1 2 m2 l1lc2 cos 21 m2 l1lc2 sin 212 I 2 1 2
dt 2
2
m3 m4 l22 1 2 m3 m4 l1l2 cos 21 m3 m4 l1l2 sin 212
I 3 I 4 1 2 3
L
( 3.2.57 )
m2l1lc2 sin 21 1 2 m3 m4 l1l2 sin 21 1 2
2
F ( 3.2.58 )
B22
2
2 I 2 I 3 I 4 m2lc22 m3 m4 l22 3 I 3 I 4
m2l1lc2 sin 22 m3 m4 l1l2 sin 22 m2l1lc2 sin 21
1
m2l1lc2 sin 22 m3 m4 l1l2 sin 21 m3 m4 l1l2 sin 22
B22 u2
38
Control de un Robot SCARA basado en pasividad
Para i=3:
d L L F ( 3.2.60 )
u3
dt 3 3 3
L
( 3.2.61 )
I 3 I 4 1 2 3
3
d L ( 3.2.62 )
I 3 I 4 1 2 3
dt 3
L ( 3.2.63 )
0
3
F ( 3.2.64 )
B33
3
1 I 3 I 4 2 I 3 I 4 3 I 3 I 4 B33 u3 ( 3.2.65 )
Para i=4:
d L L F ( 3.2.66 )
u4
dt 4 4 4
L ( 3.2.67 )
m44
4
d L ( 3.2.68 )
m44
dt 4
L ( 3.2.69 )
m4 g
4
F ( 3.2.70 )
B44
4
4 m4 m4 g4 B44 u4 ( 3.2.71 )
39
Captulo 3: Modelado dinmico.
M11 M12 M13 M14 1 C11 C12 C13 C14 1 B11 0 u1 ( 3.2.73 )
M M 22 M 23 M 24 2 C21 C22 C23 C24 2 B22 0 u2
12
M13 M 23 M 33 M 34 3 C31 C32 C33 C34 3 B33 0 u3
M
14 M 24 M 34 M 44 4 C41 C42 C43 C44 4 B44 m4 g u4
donde:
M 13 M 23 M 33 I 3 I 4 ( 3.2.76 )
M 14 M 24 M 34 0 ( 3.2.77 )
M 44 m4 ( 3.2.79 )
C12 m2l1lc2 sin 2 1 2 m3 m4 l1l2 sin 2 1 2 ( 3.2.81 )
C m l lc sin m m l l sin
21 2 1 2 2 1 3 4 1 2 2 1
( 3.2.82 )
C13 C14 C22 C23 C24 C31 C32 C33 C34 C41 C42 C43 C44 0 ( 3.2.83 )
40
Control de un Robot SCARA basado en pasividad
1 I M (q) 2 I ( 3.3.1 )
Propiedad 6. La matriz:
41
Captulo 3: Modelado dinmico.
1
Y anlogamente M (q) C (q, q) es una matriz antisimtrica, tambin resulta que
2
M (q) C(q, q) C(q, q)T . Independientemente de la manera en la que se obtenga
C(q, q) , esta siempre satisface que,
1 ( 3.3.3 )
qT M (q) C (q, q) q 0, q, q n
Propiedad 8. Existe una funcin lineal para cada uno de los elementos de
B(q) .
f1q1 0 0 ( 3.3.4 )
B( q) 0 0
0 0 f n qn
Es una matriz diagonal de n n elementos. Cabe sealar que en el presente trabajo,
no se toma en cuenta la friccin del sistema, por lo que Bi 0 , donde i 1,..., n .
42
Control de un Robot SCARA basado en pasividad
Los parmetros de dicha simulacin fueron los descritos en Tabla 3.1, donde los
parmetros mi , I i , i 1,..., n son las masas e inercias, l1 y l2 son las longitudes del
brazo 1 y del brazo 2, los parmetros lc1 y lc2 son las distancias de los centros de
masa de los eslabones. El vector de entrada tiene escalones de diferentes
magnitudes,
100 ( 3.4.1 )
100
u
10
10
como resultado tenemos la Fig. 3.3.
43
Captulo 3: Modelado dinmico.
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
Eje Y (m)
Eje Y (m)
0 0
-0.2 -0.2
-0.4 -0.4
-0.6 -0.6
-0.8 -0.8
-1 -1
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1 -1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
Eje X (m) Eje X (m)
Cabe sealar que las consideraciones en estos modelos difieren, como por ejemplo
el robot en el artculo es un RRPR y la forma en que las inercias tienen efecto en el
sistema. Aun as, el comportamiento de estos dos modelos es muy similar y es
vlido para nuestros objetivos.
44
Control de un Robot SCARA basado en pasividad
1 ( 3.5.2 )
K (q, q) qT M (q)q
2
Al realizar el cambio de variables a las coordenadas generalizadas q y p , se tiene
la relacin,
q M 1 (q) p ( 3.5.3 )
De acuerdo con (Ortega & Schaft, 2001), para caracterizar una clase de sistemas
estabilizables con PBC y simplificar la solucin de ecuaciones diferenciales
parciales, necesitamos agregar ms estructura a la dinmica del sistema, es decir,
hacer explcitos los trminos de amortiguamiento y dependencia de la funcin de
energa. Es por eso que los sistemas PCH, son adecuados debido a que cubren un
amplio rango de sistemas no lineales.
H ( 3.5.5 )
x [ J ( x) R( x)] x ( x) g ( x)u
: T H
y g ( x) ( x)
x
x q p ( 3.5.6 )
T
45
Captulo 3: Modelado dinmico.
T
El cual est compuesto por los trminos generalizados q q1 ... qn y las
q 0 I n 0 0 q H 0 ( 3.5.7 )
p I D 0 R H G u
n n p
y g ( x)H
T ( 3.5.8 )
H H
donde G es la matriz de entrada del sistema, q H y p H , I n es la
q p
matriz identidad, D nxn
es la matriz de amortiguamiento y Rn es la matriz de
disipacin del sistema ( B ).
q p H M 1 (q) p ( 3.5.9 )
p q H R(q) p H u
e introducimos la derivada de ( 3.5.3 ),
K U ( 3.5.11 )
M ( q) q M ( q ) q (q, q) ( q ) R( q ) q u
q q
donde podemos encontrar las siguientes relaciones,
K U
M ( q) q ( q, q) C( q, q) es la matriz de coriolis, ( q) gv(q) la matriz de
q q
gravedad y R(q)q B(q) el vector de friccin (Paim, Neves, Moreno, & de Pieri,
2011).
46
Control de un Robot SCARA basado en pasividad
Para ver en detalle el resultado de las ecuaciones y la funcin-S del modelo en PCH
vase Anexo B.
En este captulo se detall la estructura fsica del robot, as como sus parmetros y
consideraciones para la obtencin del modelo dinmico en la estructura E-L dada
por ( 3.2.73 ) y se mostraron algunas propiedades de dicho modelo. Se compar el
modelo obtenido con el modelo del artculo (Voglewede, Smith, & Monti, 2009), y se
obtuvo la representacin del modelo por medio de la estructura PCH ( 3.2.57 ).
47
Captulo 3: Modelado dinmico.
48
Control de un Robot SCARA basado en pasividad
Esta idea ha sido exitosa para sistemas mecnicos simples que pueden ser
estabilizados solamente moldeando la energa potencial. En este caso, el lazo
cerrado sigue manteniendo el sistema en la estructura E-L, siendo la energa total
la diferencia entre la energa almacenada y la energa suministrada, por lo tanto la
estabilizacin puede ser explicada en trminos de balance energtico (Ortega &
Schaft, 2001).
49
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
Es por eso que se introduce una nueva metodologa llamada Interconnection and
Damping Assignment Passivity-Based Control, (Ortega, van der Schaft, Maschke, &
Escobar, 2002), el cual se extiende a un amplio rango de sistemas que requieran
un moldeo de la energa total.
Las principales caractersticas de este mtodo son (Ortega, van der Schaft,
Maschke, & Escobar, 2002):
Las principales distinciones entre el PBC clsico y el IDA-PBC (Ortega, van der
Schaft, Maschke, & Escobar, 2002), es que en el primero seleccionamos la funcin
de almacenamiento de energa y despus diseamos el controlador, asegurando el
objetivo. Por otra parte, en IDA-PBC la funcin de energa en lazo cerrado es
obtenida como resultado de nuestra eleccin de la interconexin y amortiguamiento
deseado entre los subsistemas.
De acuerdo con (Ortega, van der Schaft, Maschke, & Escobar, 2002), el anlisis y
diseo de controladores para sistemas no lineales es mejor cuando la planta a ser
controlada y el controlador son vistos como dispositivos transformadores de energa
(Fig. 4.1), descomponindolos en subsistemas en los cuales sus energas se suman
despus de la interconexin y determinan el comportamiento del sistema. El
problema de control puede ser reformulado en orden de encontrar una dinmica del
sistema y una interconexin estndar, tal que la funcin de la energa tome una
50
Control de un Robot SCARA basado en pasividad
forma deseada. Este enfoque llamado moldeo de energa es la esencia del control
basado en pasividad.
En el enfoque IDA-PBC se siguen dos pasos bsicos (Ortega, van der Schaft,
Maschke, & Escobar, 2002):
Entrada de Energa
Salida de Energa
4.1 Preliminares
x f ( x) g ( x)u ( 4.1.1 )
y h( x )
51
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
y H d ( x ) es tal que,
con x* 2n
un punto de equilibrio a ser estabilizado, entonces la dinmica en lazo
cerrado del sistema ( 4.1.1 ), utilizando,
x [ J d ( x) Rd ( x)]H d ( 4.1.5 )
donde x q p .
T
La cual se mantiene para todo t 0 . Esto quiere decir que si el sistema es acotado
desde abajo define un operador pasivo que tiene como funcin H [ x(t )] . En ese caso
la ecuacin anterior expresa el hecho de que un sistema no puede almacenar ms
energa de la que se suministra desde el exterior, siendo la diferencia la energa
disipada.
52
Control de un Robot SCARA basado en pasividad
Si la funcin f no depende explcitamente del tiempo, i.e. f (t, x(t )) f ( x(t )) , luego
la ecuacin (sistema diferencial) se denomina autnoma. Si
f (t, x(t )) A(t ) x(t ) u(t ) con A(t ) una matriz cuadrada de dimensin n y siendo
A(t ) y u(t ) funciones nicamente de t (o constantes), entonces ( 4.1.7 ) es lineal.
Caso contrario es no lineal.
53
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
Un vector constante xe n
es un equilibrio o estado de equilibrio del sistema
( 4.1.7 ) si:
f (t, xe ) 0 t 0
Como consecuencias inmediatas de la definicin inicial x(0) n
es justamente un
equilibrio x(0) xe n
, entonces se satisface:
- x(t ) xe t 0
- x(t ) 0 t 0
Definicin 2. Estabilidad.
El origen x(t ) 0 n
es un equilibrio estable (en el sentido de Lyapunov) de
( 4.1.7 ) si para cada nmero 0 se puede encontrar un nmero 0 , tal que:
x(0) x(t ) t 0
En la definicin anterior la constante ( ) no es nica. Si existe una constante
que satisfaga la condicin de la definicin, entonces cualquier con 1 tambin
la satisface.
54
Control de un Robot SCARA basado en pasividad
El origen x 0 n
es un equilibro asintticamente estable de ( 4.1.7 ) si:
El origen es estable.
El origen x 0 n
es un equilibrio asintticamente estable en forma global de
( 4.1.7 ) si:
El origen es estable.
55
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
El origen x 0 n
es un equilibrio exponencialmente estable en forma global de
( 4.1.7 ) si existen constates positivas y tales que:
Definicin 6. Inestabilidad.
El origen x 0 n
es un equilibrio inestable de ( 4.1.7 ) si este no es estable. El
concepto de equilibrio (origen) inestable es equivalente a enunciar que existe al
menos un 0 para el cual no es posible encontrar un 0 , tal que:
x(0) x(t ) , t 0
En otras palabras, si existe al menos un 0 , el cual se desea que acote la norma
de la solucin x(t ) y no existe ninguna condicin inicial x(0) 0 n
cuya solucin
Fig. 4.4: Oscilador de Van der Pol con el origen del sistema como equilibrio inestable.
El origen del sistema Van der Pol es un equilibrio inestable. Para demostrarlo basta
con tomar 0 y claramente no existe un 0 tal que:
x(0) x(t ) 0 , t 0 .
56
Control de un Robot SCARA basado en pasividad
q 0 I n q H 0 ( 4.2.1 )
p I
0 p H G
u
n
x f ( x) g( x)
1 T 1 ( 4.2.2 )
H d (q, p) p M d ( q) p U d ( q)
2
donde el subndice d, indica deseable es decir la referencia, M d M d T 0 es la
matriz de inercia deseada y U d la funcin de energa potencial deseada.
q q H d ( 4.2.4 )
p J d (q, p) Rd (q, p) H
p d
donde:
0 M 1M d ( 4.2.5 )
J d ( q, p) 1
M d M J 2 (q, p)
0 0 ( 4.2.6 )
Rd Rd T T
0 GKvG
representan las estructuras deseadas de interconexin y amortiguamiento.
58
Control de un Robot SCARA basado en pasividad
0 I n q H 0 ( 4.2.7 )
(u u )
I
n 0 p H G es di
0 M 1M d 0 0 q H d
1 0 GK GT H
M d M J 2 (q, p) v p d
pH 0 0 M 1M d q H d ( 4.2.8 )
H Gu Gu
q es di M d M
1
J 2 (q, p) GKvGT p H d
de la ecuacin anterior, obtenemos dos ecuaciones diferenciales parciales,
p H M 1M d p H d ( 4.2.9 )
equivalente tambin,
ues q H M d M 1q H d ( 4.2.13 )
equivalente tambin a,
59
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
Ahora podemos hacer una adecuada seleccin de U d para encontrar una ley de
control. Una buena eleccin de U d puede ser la siguiente (Paim, Neves, Moreno, &
de Pieri, 2011):
1 ( 4.2.16 )
Ud (q) (q qd )T K p (q qd )
2
Siendo qd la posicin de referencia del actuador. Como ya conocemos la energa
potencial deseada del sistema as como tambin la funcin de energa deseada.
Podemos reescribir ( 4.2.15 ),
ues qU K p (q qd ) ( 4.2.17 )
udi Kv q ( 4.2.18 )
u qU K p (q qd ) Kv q ( 4.2.19 )
De acuerdo con la ley de control obtenida, la cual hace que nuestro punto de inters
en lazo cerrado sea asintticamente estable, realizamos la siguiente comprobacin
de la funcin Hamiltoniana y el por qu la seleccin de ella.
60
Control de un Robot SCARA basado en pasividad
1 T ( 4.2.20 )
U ( q) q Kpq
2
q q qd ( 4.2.21 )
1 T 1 ( 4.2.22 )
H ( q, q) q M ( q) q qT K p q
2 2
si la derivamos con respecto al tiempo tenemos,
1 ( 4.2.23 )
H (q, q) qT M (q)q qT M (q)q qT K p q
2
donde conocemos el termino M ( q)q de acuerdo con ( 3.2.72 ) ,
1
qT M (q)q qT K p q
2
1 ( 4.2.26 )
H (q, q) qT C (q, q)q qT K p (q) qT Kv q qT M (q)q qT K p q
2
donde podemos eliminar el primero y cuarto termino de acuerdo a la propiedad
( 3.3.3 ) y como qd es una constante, entonces q q ,y obtenemos la siguiente
ecuacin:
H (q, q) qT Kv q ( 4.2.27 )
entonces la funcin H (q, q) es una funcin de Lyapunov en vista de que cumple con
H (q, q) 0 , ya que q no puede ser negativo ni tampoco cero puesto que alguna
articulacin esta en movimiento. La funcin H (q, q) es una funcin de Lyapunov
para el sistema ( 3.2.72 ), y debido a que el anlisis no se hizo para un nico punto
de equilibrio, sino que fue de forma general. Por lo tanto se dice que el sistema es
globalmente asintticamente estable (Yepez, 2013).
61
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
q q1 q2 q3 q4 ( 4.3.1 )
T
p p1 p4 ( 4.3.2 )
T
p2 p3
u 1 2 3 4 ( 4.3.3 )
T
1 T 1 ( 4.3.4 )
H (q, p) p M p U ( q)
2
donde:
M 13 M 23 M 33 I 3 I 4 ( 4.3.7 )
M 14 M 24 M 34 0 ( 4.3.8 )
M 44 m4 ( 4.3.10 )
62
Control de un Robot SCARA basado en pasividad
1 T 1 ( 4.3.12 )
H d (q, p) p M p U d (q, qd )
2
donde,
( 4.3.13 )
q1 q1d 0 q1 q1d
T
Kv1 0 0
0 0 q2 q2 d
1 q q2d Kv 2 0
U d (q, p) 2
2 q3 q3d 0 0 Kv 3 0 q3 q3d
q4 q4d 0 0 0 Kv 4 q4 q4 d
q1 H d q1 H ( 4.3.14 )
H q2 H
ues
q2 d
q3 H d q3 H
q4 H d q4 H
Kv1 p1 H d ( 4.3.15 )
K H
udi
v 2 p2 d
Kv 3 p3 H d
Kv 4 p4 H d
63
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
1 1 ( 4.3.21 )
udi (2) Kv 2 * ((2((m3 m4 )l2 m2 lc2 )( p2
p3 p1)l1 cos q2
2 2
(m2 m3 m4 )( p2 p3 )l1 (m3 m4 )( p2 p1 )l2 2
2
p4 ( 4.3.23 )
udi (4) Kv 4 * ( )
m4
64
Control de un Robot SCARA basado en pasividad
La ventaja del PSO es que es fcil de implementar y contiene muy pocos parmetros
a modificar. Otra ventaja es que podemos penalizar ciertas variables para hacer que
nuestra solucin se ajuste a un fitness especfico, por ejemplo, en este caso se
penaliza el sobretiro en la salida q, se desea que la trayectoria que describa el
eslabn tenga una respuesta suave similar a la respuesta de los sistemas de primer
orden, despus de eso se verifica que el esfuerzo de control no exceda de cierto
par debido a que no sera posible realizar por el actuador. A continuacin se
establecen las siguientes definiciones:
65
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
Pi ( pi1 , pi 2 , pi 3, ..., piD ) La mejor posicin anterior (la posicin que dio el mejor
resultado) de la particular i-sima.
66
Control de un Robot SCARA basado en pasividad
A continuacin se describen cada uno de los pasos que conlleva este algoritmo:
Paso 1:
Paso 2:
Paso 3:
Paso 4:
Paso 5:
67
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
Paso 6:
La velocidad es una funcin que est compuesta por la suma de tres partes. La
primera parte es la velocidad anterior de la partcula. A esta parte se le conoce como
inercia. La segunda parte es la diferencia entre la mejor posicin encontrada por la
partcula, con la actual posicin. Esta es la parte cognitiva que representa el
aprendizaje de su propia experiencia. Y la ltima parte es la diferencia entre la mejor
posicin alcanzada por un vecino, con la posicin actual de la partcula. Esta parte
es la social, que representa el aprendizaje del grupo.
Las ganancias para nuestro controlador dadas por (Kp1,, Kp4) y (Kv1,, Kv4),
deben de ajustarse para obtener una dinmica deseada dentro de los parmetros
reales y posibles que el actuador puede realizar, es decir, que los pares necesarios
para el movimiento articular puedan ser proporcionados por el actuador. Se propuso
la sintonizacin de parmetros del controlador mediante el algoritmo de bsqueda
de la seccin anterior y las ganancias encontradas para esta simulacin fueron:
68
Control de un Robot SCARA basado en pasividad
Tabla 4.2: Ganancias del controlador encontrados mediante PSO para el robot SCARA.
K p1 = 2460
K p 2 = 1503
K p 3 = 1593
K p 4 = 1986
Kv1 = 378
K p 2 = 220
K p 3 = 108
K p 4 = 139
69
Captulo 4: Pasividad y diseo del controlador IDA-PBC.
70
Control de un Robot SCARA basado en pasividad
5 Simulaciones y resultados.
71
Captulo 5: Simulaciones y resultados.
5.2 Regulacin
q(t ) qd
lim .
t q(t )
0
q(t ) 0
lim .
t q(t )
0
Evidentemente para propsitos industriales, una vez que el extremo final del robot
ha alcanzado el punto deseado, en el siguiente periodo de muestreo el punto
deseado cambiar su valor, entonces el robot se mover al siguiente punto; el
anterior punto deseado representa la condicin inicial y el extremo final del robot se
estar posicionando en la siguiente coordenada; as sucesivamente el robot sigue
72
Control de un Robot SCARA basado en pasividad
q(0) 0 ( 5.2.1 )
p(0) 0
Es decir, el robot partir del reposo q(0) 0 , con estas coordenadas articulares el
efector est desplegado a lo largo del eje X en las coordenadas P(x,y,z)=(0.9,0,0.3)
y la orientacin es colineal a los ejes XYZ. Se observan las siguientes grficas
donde se muestran la posicin deseada del efector comparada con la posicin real:
73
Captulo 5: Simulaciones y resultados.
Fig. 5.2: Comparacin del punto deseado vs. real en regulacin sin perturbacin.
74
Control de un Robot SCARA basado en pasividad
Se puede observar en Fig. 5.3 que el error es prcticamente cero respecto a las
posiciones deseadas con las reales. Ahora se muestra los pares aplicados a cada
uno de los actuadores:
par actuador 1 par actuador 2
500 500
par (N.m)
par (N.m)
0 0
87 N.m
185 N.m
-500 -500
0 1 2 3 4 5 0 1 2 3 4 5
tiempo (s) tiempo (s)
76 N.m 75 N.m
29.5 N.m
0 0
-500 -500
0 1 2 3 4 5 0 1 2 3 4 5
tiempo (s) tiempo (s)
Fig. 5.5: Pares aplicados a los actuadores en regulacin sin perturbacin.
Fig. 5.6: Comparacin del punto deseado vs real en regulacin con perturbacin.
76
Control de un Robot SCARA basado en pasividad
200 300
150
par (N.m)
par (N.m)
200
100
100
50
0 0
-50 -100
-100
-200
-150
-200 -300
0 1 2 3 4 5 0 1 2 3 4 5
tiempo (s) tiempo (s)
150
60
par (N.m)
par (N.m)
100
40
50
20
0
-50 0 31.4
31.2
31
-100 -20 30.8
30.6
-150 -40 0 5
0 1 2 3 4 5 0 1 2 3 4 5
tiempo (s) tiempo (s)
77
Captulo 5: Simulaciones y resultados.
En la Fig. 5.8, los pares de los actuadores 1, 2 y 3 tienden a cero, puesto que han
alcanzado la posicin deseada y al no actuar ninguna fuerza externa su posicin no
cambia, el par en el actuador 4 es de aproximadamente 30.9Nm lo cual es mayor a
cuando no se tena la perturbacin, esto representa un esfuerzo mayor para
mantener una posicin estable.
5.3 Seguimiento.
0.58
0.56
0.54
P1
0.52
Yd (m)
0.5
0.48
0.46
0.44
P0
0.42
0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 0.6
Xd (m)
Fig. 5.9: Trayectoria deseada en el plano XY para seguimiento.
78
Control de un Robot SCARA basado en pasividad
0.32
Trayectoria deseada
0.3
Trayectoria real P0
0.28
0.26
0.24
z (m)
0.22
0.2
0.18
0.16
P2
0.8
0.6
P1 0.9
0.8
0.4 0.7
0.6
0.2
0.5
0 0.4
y (m) x (m)
Como puede observarse en Fig. 5.10, las condiciones iniciales corresponden a que
el efector se encuentre en la posicin P0(0.9,0,0.3) y se lleve al punto inicial de la
recta deseada, la cual inicia en P1(0.45,0.45,0.15) y despus a lo largo de la recta
que termina en P2(0.55,0.55,0.15), se muestra la grfica del error en los respectivos
ejes:
79
Captulo 5: Simulaciones y resultados.
Fig. 5.11: Convergencia a cero en el error de posicin del efector en seguimiento sin perturbacin.
Se puede observar en la Fig. 5.11 que la posicin del efector sigue la trayectoria
con un error en estado estacionario menor a 0.003m en X e Y, y al no tener
80
Control de un Robot SCARA basado en pasividad
par (N.m)
2 2.5 3 100 2 2.5 3
0 0
-100
-200
-200
-400 -300
-400
-600
0 1 2 3 4 5 0 1 2 3 4 5
tiempo (s) tiempo (s)
100 60
40
0
par (N.m)
par (N.m)
20
-100
0
10 29.8
-200
-20 29.6
0 29.4
-300 -40 29.2
-10 29
2 2.5 3 -60 2 2.5 3
-400
0 1 2 3 4 5 0 1 2 3 4 5
tiempo (s) tiempo (s)
Fig. 5.13: Pares aplicados a los actuadores en regulacin sin perturbacin.
81
Captulo 5: Simulaciones y resultados.
Comparacin x vs xd
0.9
x
0.8 xd
posicin (m)
0.7
0.6
0.5
y
posicin (m)
0.4
yd
0.2
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo (s)
Comparacin z vs zd
z
zd
posicin (m)
0.25
0.2
0.15
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo (s)
Fig. 5.15: Error de posicin en la trayectoria deseada vs real en seguimiento con perturbacin.
82
Control de un Robot SCARA basado en pasividad
La orientacin del efector final sigue siendo unitaria por lo tanto, los vectores noa
son colineales a los ejes XYZ.
100 4
300 2
50 0
-2
0 -4
par (N.m)
par (N.m)
200
2 2.2 2.4 2.6
-50
100
-100 1
0
-150 -1 0
-2
-200 2.6 2.8 3 3.2 3.4
-100
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 1 2 3 4 5 6
tiempo (s) tiempo (s)
70
50 31.2
31
60 30.8
0 30.6
par (N.m)
par (N.m)
30.4
50 0 2 4
-50
40
-100
30
-150
20
-200
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5
tiempo (s) tiempo (s)
83
Captulo 5: Simulaciones y resultados.
Se realiz una serie de simulaciones del sistema con una variacin paramtrica del
5% en sus 4 masas y en las condiciones iniciales para observar su comportamiento
ante una regulacin en un punto fijo.
Tabla 5.2: Variacin en las masas del modelo para simulacin con perturbacin.
Tabla 5.3: Intervalos de las condiciones iniciales para simulacin con perturbacin.
84
Control de un Robot SCARA basado en pasividad
0.6
0.4003
0.4002
posicin (m)
0.4001
0.5 0.4
0.95 1
0.4
0.3
0.101
0.1
0.2
0.099
0.95 1
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
tiempo (s)
Fig. 5.18: Convergencia de las posiciones al punto deseado con diferentes condiciones iniciales y masas.
85
Captulo 5: Simulaciones y resultados.
m1 = 15.1284 kg
m2 = 12.3155 kg
m3 = 2.8749 kg
m4 = 3.04 kg
q1(0) = 0.4060 rad
q2(0) = 0.1343 rad
q3(0) = 0.7371 rad
q4(0) = -0.1229 m
Comparacion x vs xd
0.9
x
0.85 xd
posicion (m)
0.8
0.75
0.7
0.65
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo (s)
Comparacion y vs yd
0.42
y
0.415 yd
posicion (m)
0.41
0.405
0.4
0.395
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo (s)
Comparacion z vs zd
0.18
z
0.16 zd
posicion (m)
0.14
0.12
0.1
0.08
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
tiempo (s)
86
Control de un Robot SCARA basado en pasividad
Estos dos conceptos son con frecuencia confundidos, por lo que se proporcionan
las siguientes definiciones (Conrad, Shiakolas, & Yih, 2000):
87
Captulo 5: Simulaciones y resultados.
Las pruebas asociadas a esta norma se realizan con ciertas caractersticas, tales
como que el robot este completamente ensamblado y operacional, este
debidamente nivelado y alineado, las condiciones ambientales de operacin deben
realizarse a 20C 2C, la carga de operacin debe realizarse al 100% y a la mxima
velocidad, entre otras caractersticas fsicas. Despus se trazan 5 puntos dentro de
un plano inclinado que est situado en el interior de un cubo, dicho cubo est en la
regin de operacin del robot, y se realizan 30 ciclos para poder determinar los
valores de exactitud y repetibilidad.
Al ser este trabajo una simulacin, la exactitud y repetibilidad son ideales, es decir
la reproducibilidad de las simulaciones siempre va a dar los mismos puntos, as
pues, no se puede obtener cuanta precisin o exactitud tiene en los diferentes
puntos de operacin.
Lo que se muestra en las siguientes figuras y tablas son tres simulaciones en la que
se determina el error que existe entre un punto deseado y el punto obtenido,
teniendo un aumento del valor de la masa 4 de 0%, despus 2.5% y 5%, cada punto
de referencia se mantiene durante 1s y luego cambia al siguiente, los puntos
deseados se muestran en la siguiente tabla:
Puntos deseados
X Y Z
P1 0.9 0 0.3
P2 0.8 0.4 0.2
P3 0.2 0.6 0.2
P4 0.7 0.1 0
En la Fig. 5.21 se muestran las trayectorias que describen las 3 simulaciones con
los aumentos de masa, y se puede observar que las trayectorias no son las mismas,
debido a la variacin paramtrica, y como sabemos, solamente controlamos el punto
final.
88
Control de un Robot SCARA basado en pasividad
0.35
0.3
P1
0.25
0.2
P3 P2
Eje Z (m)
0.15
0.1
0.05
-0.05
1 P4
0.5
0.7 0.8 0.9 1
0.3 0.4 0.5 0.6
0 0 0.1 0.2
Eje Y (m)
Eje X (m)
Fig. 5.21: Vista de la trayectoria descrita en las 3 simulaciones con 0%, 2.5% y 5% de aumento en masa 4.
0.6
P3
0.5
0.4 P2
Eje Y (m)
0.3
0.2
0.1
P4
0 P1
-0.1
0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Eje X (m)
Fig. 5.22: Vista del plano XY de la trayectoria con 0%, 2.5% y 5% de aumento en masa 4.
89
Captulo 5: Simulaciones y resultados.
En Fig. 5.23 se tiene una vista sobre el plano XY y se inserta una etiqueta que
muestra la coordenada del punto ms lejano del punto deseado, sealado con un
crculo rojo.
-4
x 10 Vista plano XY P1 Vista plano XY P2
3 0.4003
2 0.4002
1 X: 0.9 X: 0.799993
0.4001
Eje Y (m)
Eje Y (m)
Y: 0 Y: 0.400009
0 0.4
-1 0.3999
-2 0.3998
-3 0.3997
-4 0.3996
0.8997 0.8998 0.8999 0.9 0.9001 0.9002 0.9003 0.9004 0.7996 0.7997 0.7998 0.7999 0.8 0.8001 0.8002 0.8003
Eje X (m) Eje X (m)
0.6001
Eje Y (m)
0.6 0.1
0.5999 0.0999
0.5998 0.0998
0.5997 0.0997
0.1997 0.1998 0.1999 0.2 0.2001 0.2002 0.2003 0.2004 0.6996 0.6997 0.6998 0.6999 0.7 0.7001 0.7002 0.7003
Eje X (m) Eje X (m)
Fig. 5.23: Comparacin de punto deseado y puntos obtenidos en pick & place plano XY.
90
Control de un Robot SCARA basado en pasividad
0.2998 0.2
Eje Z (m)
Eje Z (m)
0.1998
0.2996
0.1996
0.2994
X: 0.799993
0.1994
Z: 0.199259
0.2992 X: 0.9
Z: 0.299259
0.1992
0.899 0.8995 0.9 0.9005 0.901 0.7985 0.799 0.7995 0.8 0.8005 0.801 0.8015
Eje X (m) Eje X (m)
-4
Vista plano XZ P3 x 10 Vista plano XZ P4
0.2 2
0.1998 0
Eje Z (m)
Eje Z (m)
0.1996 -2
0.1994 -4
X: 0.700075
0.1992 -6
X: 0.200111 Z: -0.000740937
Z: 0.199259
0.199 -8
0.199 0.1995 0.2 0.2005 0.201 0.2015 0.6985 0.699 0.6995 0.7 0.7005 0.701 0.7015
Eje X (m) Eje X (m)
Fig. 5.24: Comparacin de punto deseado y puntos obtenidos en pick & place plano XZ.
Tabla 5.6: Puntos obtenidos en pick & place con 0% de aumento en masa 4.
0%
X Y Z
P1 0.9 0 0.3
P2 0.799992969736397 0.400008037481065 0.199999999983449
P3 0.200098321883228 0.600252965120260 0.2
P4 0.700079994244973 0.100187395046686 -3.182382135591411e-11
En Tabla 5.6 y Tabla 5.7, se muestran las posiciones obtenidas por el efector, con
0% de aumento en masa 4 y 2.5% respectivamente, para los 4 puntos deseados en
la tarea pick & place.
Tabla 5.7: Puntos obtenidos en pick & place con 2.5% de aumento en masa 4.
2.5%
X Y Z
P1 0.9 0 0.299629531721975
P2 0.799993070721611 0.400008655125634 0.199629531700508
P3 0.200105061041819 0.600261738263134 0.199629531722054
P4 0.700077891339060 0.100195474601231 -3.704683210380977e-04
91
Captulo 5: Simulaciones y resultados.
Tabla 5.8: Puntos obtenidos en pick & place con 5% de aumento en masa 4.
5%
X Y Z
P1 0.9 0 0.299259063444006
P2 0.799993224763570 0.400009199803286 0.199259063430204
P3 0.200112101557039 0.600270748660038 0.199259063444109
P4 0.700075590098217 0.100203877335917 7.409365837009463e-04
De acuerdo con la informacin anterior, se puede deducir que el error en los ejes X
e Y es menor a 0.3mm y en el eje Z menor a 0.7mm, mientras que la carga mxima
no exceda los 0.150g en el efector final como lo muestra la Tabla 5.8 , teniendo en
cuenta que cada setpoint dura 1 segundo antes de cambiar a la nueva posicin.
92
Control de un Robot SCARA basado en pasividad
6 Conclusiones y
trabajos futuros.
Se comprob que el sistema en lazo cerrado tiene una estabilidad global asinttica,
es decir, el sistema se puede llevar a cualquier punto de operacin a partir de
cualquier condicin inicial.
La velocidad de respuesta del controlador depender del valor de las ganancias, las
cuales son las pendientes de la funcin del moldeo de energa y la inyeccin de
amortiguamiento.
93
Captulo 6: Conclusiones.
Las ganancias obtenidas mediante la tcnica PSO son suficientes para tener una
dinmica deseada por el diseador y se comprueba que el esfuerzo de control
necesario para esa dinmica, no exceda los valores reales que un actuador pueda
proporcionar.
94
Control de un Robot SCARA basado en pasividad
95
Bibliografa.
Bibliografa
Acosta, V., & Rios-Bolvar, M. (2010). Application of the IDA-PBC in the stabilization of
the system Pendubot. Revista Ciencia e Ingenieria, 31(1), 3-12.
Banavar, R., Kazi, F., Ortega, R., & Manjarekar, N. (2006). The IDA-PBC methodology
applied to a gantry crane. 17th International Symposium on Mathematical Theory of
Networks and Systems. Kyoto, Japan.
Barrientos, A. (2007). Fundamentos de robtica. Espaa: MCGRAW HILL.
Conrad, K., Shiakolas, P., & Yih, T. (2000). Robotic calibration issues: accuracy,
repeatibility and calibration. Procedings of the 8th Mediterranean Conference on
Control and Calibration, (pgs. 17-19). Rio Patras, Grecia.
Dorigo, M., & Gambardella, L. (1997). Ant colony system: a cooperative learning approach
to te traveling salesman problem. IEEE Transactions on Evolutionary Computation,
1(1).
Glover, F., & Kochenberger, G. (2003). Handbook of metaheuristics. Colorado, USA:
Springer-US.
Hernandez, V., Santibaez, V., Carrillo, R., Molina, J., & Lpez, J. (2008). Control PD de
robots: Dinmica de actuadores y nueva sintona. Revista Iberoamericana de
Automtica e Informatica Industrial, 5(4), 62-68.
IFR Statistical department. (1 de Noviembre de 2015). IFR Statistical department.
Obtenido de World Robotics:
http://www.worldrobotics.org/uploads/media/Executive_Summary__WR_2015.pdf
ISO. (23 de 04 de 1998). ISO 9283:1998. Manipulating industrial robots - Performance
criteria and related test methods. International Organization for Standardization.
Kelly, R., & Santibaez, V. (2003). Control de movimiento de robots manipuladores.
Madrid, Espaa: Pearson Educacin.
Kennedy, J., & Eberhart, R. (2001). Swarm intelligence. Morgan Kaufmann Publishers.
Loizidis, I., & Doulgeri, Z. (1995). Performance of two kinds of non-linear robust
controllers for robot manipulators: a comparative study. IEEE International
Symposium of Industrial Electronics. Atenas: IEEE.
Lu, W.-S., & Erlic, M. (1989). Robust motion control of manipulators: Design and
experimental evaluation. Canadian Conference on Electrical & Computer
Engineering. Montreal, Canada.
Mobile Robot Programming Toolkit. (1 de Noviembre de 2015). Obtenido de MRPT:
http://www.mrpt.org/list-of-mrpt-apps/application-robotic-arm-kinematics/
Ortega, R. (1989). Adaptive motion control of rigid robots: a tutorial. Automatica, 25(6),
877-888.
Ortega, R., & Garcia-Canseco, E. (2004). Interconnection and damping assignment
passivity-based control: A survey. European Journal of Control, 432-450.
96
Control de un Robot SCARA basado en pasividad
Ortega, R., & Schaft, A. (2001). Putting energy back in control. IEEE Transactions on
Automatic Control, 48(10), 18-33.
Ortega, R., van der Schaft, A., Maschke, B., & Escobar, G. (2002). Interconnection and
damping assignment passivity-based control of port-controlled Hamiltonian system.
Automatica, 38(4), 585-596.
Paim, G., Neves, L., Moreno, U., & de Pieri, E. (2011). Passivity and power based control
of a scara robot manipulator. X SBAI- Simpsio Brasileiro de Automao
Inteligente. So Joo del Rei: SBAI.
Pia, A., & Arteaga, F. (2007). Estabilizacin del sistema Acrobot usando el enfoque IDA-
PBC. Revista Ingenieria UC, 14, 30-40.
Reyes, F. (2013). MATLAB aplicado a robotica y mecatrnica. Mxico: Alfaomega Grupo
Editor.
Slotine, J.-J. E. (1985). The robust control of robot manipulators. International Journal of
Robotics Research, 4, 49-63.
Slotine, J.-J. E., & Li, W. (1988). Adaptive manipulator control: A case study. IEEE
Transactions on Automatic Control, 33(11), 995-1003.
Sotirov, Z. (1992). A non linear robust controller for robot manipulators. (pgs. 2134-
2139). Nice: 1992 IEEE International Conference on Robotics and Automation.
Takegaki, M., & Arimoto, S. (1981). A new feedback method for dynamic control of
manipulators. ASME Journal of Dynamic Systems, Measurement, and Control,
103(2), 119-125.
Tomei, P. (1991). Adaptive PD controller for robot manipulators. IEEE Transactions on
Robotics and Automation, 7, 565-570.
Voglewede, P., Smith, A., & Monti, A. (2009). Dynamic performance of a SCARA robot
manipulator with uncertainty using polynomial chaos theory. IEEE Transactions on
Robotics, 25(1), 206-210.
Yao, B., & Tomizuka, M. (1994). Comparative experiments of robust and adaptative
control with new robust adaptative controllers for robot manipulators. Proceedings
of 33rd IEEE Conference on Decision and Control (pgs. 1290-1295). Lake Buena
Vista: IEEE.
Yepez, M. (2013). Funciones de Lyapunov y algunas aplicaciones(Tesis de pregrado).
Veracruz: Universidad Veracruzana.
97
Apndice A
Apndice A
98
Control de un Robot SCARA basado en pasividad
Las funciones estn definidas por las relaciones dadas en ( 2.4.7 ), cabe resaltar
que a x , a y , nz y oz son cero y que az siempre va a ser 1, debido a las limitaciones
que tiene el robot, en su orientacin (su orientacin no cambia en el eje Z).
Dentro del bloque se encuentran funciones definidas por el usuario de igual forma
que la cinemtica directa:
Las ecuaciones dada por ( 2.5.29 ), ( 2.5.37 )( 2.5.40 ) y ( 2.5.41 ) son las definidas
en sus respectivos bloques y tambin se hace uso de las ecuaciones ( 2.5.27 ) y (
2.5.28 )
99
Apndice B
Apndice B
H ( B. 1 )
q
1
H
q
2
q1 0 0 0 0 1 0 0 0 H 0 0 0 0
q 0 0 0 0 0 1 0 0 q 0 0 0 0
2 3
q3 0 0 0 0 0 0 1 0 H 0 0 0 0 u1
q4 0 0 0 0 0 0 0 1 q4 0 0 0 0 u2
p1 1 0 0 0 0 0 0 0 H 1 0 0 0 u3
p2 0 1 0 0 0 0 0 0 p1 0 1 0 0 u4
p3 0 0 1 0 0 0 0 0 H 0 0 1 0
p4 0 0 0 1 0 0 0 0 p2 0 0 0 1
H
p
3
H
p
4
Individualmente, tenemos las ecuaciones siguientes:
H ( B. 2 )
q1
p1
H ( B. 3 )
q2
p2
100
Control de un Robot SCARA basado en pasividad
H ( B. 4 )
q3
p3
H ( B. 5 )
q4
p4
H ( B. 6 )
p1 u1
q1
H ( B. 7 )
p2 u2
p2
H ( B. 8 )
p3 u3
p3
H ( B. 9 )
p4 u4
p4
p1 ( B. 10 )
p
1
H ( q, p) p1 p2 p3 p4 M 1 2
m4 .g.q4
2 p3
p4
Se capturo todas las variables en el software MAPLE 18 para facilitar su solucin y
se usaron las funciones simplify y diff, para obtener las derivadas parciales, su
solucin estn escritas en el siguiente cdigo:
101
Apndice B
switch flag
%%%%%%%%%%%%%%%%%%
% Inicializacin %
%%%%%%%%%%%%%%%%%%
case 0
[sys,x0,str,ts]=mdlInitializeSizes(l1,l2,lc1,lc2,m1,m2,m3,m4,I1,I2,I3,I4,g,q10,q20,q30,q40,p10,p20,p30
,p40);
%%%%%%%%%%%%%%%
% Derivadas %
%%%%%%%%%%%%%%%
case 1
sys=mdlDerivatives(t,x,u,l1,l2,lc1,lc2,m1,m2,m3,m4,I1,I2,I3,I4,g);
%%%%%%%%%%%
% Salidas %
%%%%%%%%%%%
case 3
sys=mdlOutputs(t,x,u);
%%%%%%%%%%%%%%%%%%%
% Unhandled flags %
%%%%%%%%%%%%%%%%%%%
case {2 4 9}
sys = [];
%%%%%%%%%%%%%%%%%%%%
% Unexpected flags %
%%%%%%%%%%%%%%%%%%%%
otherwise
error(['Unhandled flag = ',num2str(flag)]);
end
%=======================================================================
% mdlInitializeSizes
% Tamaos del paso, condiciones iniciales, y tiempos de muestreo.
%===================================================================
function
[sys,x0,str,ts]=mdlInitializeSizes(l1,l2,lc1,lc2,m1,m2,m3,m4,I1,I2,I3,I4,g,q10,q20,q30,q40,p10,p20,p30
,p40)
sizes = simsizes;
sizes.NumContStates = 8; %Nmero de variables de estado sizes.NumDiscStates = 0; %No hay estados
discretos
sizes.NumOutputs = 9; %Se contemplan 8 salidas
sizes.NumInputs = 4; %Nmero de entradas
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
sys = simsizes(sizes);
x0 = [q10,q20,q30,q40,p10,p20,p30,p40]'; %Las condiciones iniciales se especifican por medio de
estas variables
str = [];
ts = [0 0];
%=======================================================================
% mdlDerivatives
% Serivadas para los estados continuos.
%=======================================================================
function sys=mdlDerivatives(t,x,u,l1,l2,lc1,lc2,m1,m2,m3,m4,I1,I2,I3,I4,g)
102
Control de un Robot SCARA basado en pasividad
((m3+m4+m2)*l1^2+m1*lc1^2+I1)*(x(6)-x(7)))/(((m3+m4)*l2+lc2*m2)^2*l1^2*cos(x(2))^2-
((m3+m4+m2)*l1^2+m1*lc1^2+I1)*((m3+m4)*l2^2+m2*lc2^2+I2))^2;
%=======================================================================
% mdlOutputs
% Return -the block outputs.
%=======================================================================
function sys=mdlOutputs(t,x,u)
sys = [x(1),x(2),x(3),x(4),x(5),x(6),x(7),x(8),t]';%Vector de salidas del sistema
q1,q2,q3,q4,p1,p2,p3,p4,tiempo
Tabla B. 1: Cdigo en MATLAB para simulacin del sistema SCARA.
103
Apndice C
Apndice C
104
Control de un Robot SCARA basado en pasividad
El cdigo *.m el cual contiene los parmetros de simulacin del sistema y del
controlador es el siguiente:
%parametros del robot SCARA
clear all
l1 = 0.50; % Longitud del eslabon 1
l2 = 0.40; % Longitud del eslabon 2
lc1 = 0.25; % Longitud del centro de masa del eslabn 1
lc2 = 0.20; % Longitud del centro de masa del eslabn 2
m1 = 15; % Masa del eslabon 1
m2 = 12; % Masa del eslabon 2
m3 = 3; % Masa del eslabn 3
m4 = 3; % Masa del eslabn 4 //aqui se agrega el payload
I1 = 0.02087*m1; % Inercia en la articulacin 1
105
Apndice C
%parametros de cinematica
d1=.5;
d2=-.100;
d4c=-.100;
a1=l1;
a2=l2;
Kv1=378;
Kv2=220;
Kv3=108;
Kv4=139;
106
Control de un Robot SCARA basado en pasividad
Apndice D
107
Apndice D
108
Control de un Robot SCARA basado en pasividad
0.8
lmite sup
0.7 lmite inf
salida q1
0.6
rea de error
Posicin (rad)
0.5
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
Tiempo (s)
109
Apndice D
clear all;
clc;
warning off;
flag=0;
C1=0.25;
C2=0.25;
W=random('unif',0.5,1);% coeficientes de inercia
par=50; %numero de particulas y creacion de las 100 particulas, acomodarlas en la matriz P
%y crear la matris Vid con las velocidades asociadas a cada particulas
for i=1:par
Kp1(i)=random('unif',550,2500);
Kp2(i)=random('unif',500,2500);
Kp3(i)=random('unif',500,2500);
Kp4(i)=random('unif',500,2500);
Kv1(i)=random('unif',100,450);
Kv2(i)=random('unif',100,300);
Kv3(i)=random('unif',50,500);
Kv4(i)=random('unif',100,500);
Ka4(i)=random('unif',0,1000);
end
for i=1:par
P(i,:)=[Kp1(i) Kp2(i) Kp3(i) Kp4(i) Kv1(i) Kv2(i) Kv3(i) Kv4(i) Ka4(i)];
end;
for i=1:par
Vid(i,:)=[random('unif',-10,10) random('unif',-10,10) random('unif',-10,10) random('unif',-10,10)
random('unif',-10,10) random('unif',-10,10) random('unif',-10,10) random('unif',-10,10)
random('unif',-10,10)];
end
%hasta aqui la creacion de 50 particuas con posiciones y velocidades aleatorias P y Vid
subplot(2,2,1);
plot(P(:,1),P(:,5),'O');
axis square;
axis ([-0 3000 -0 1000]);
title('Ganancias Kp1 y Kv1');
xlabel('Kp1');
ylabel('Kv1');
drawnow;
hold off;
subplot(2,2,2);
plot(P(:,2),P(:,6),'O');
axis square;
axis ([-0 3000 -0 1000]);
title('Ganancias Kp2 y Kv2');
xlabel('Kp2');
ylabel('Kv2');
drawnow;
hold off;
subplot(2,2,3);
plot(P(:,3),P(:,7),'O');
axis square;
axis ([-0 3000 -0 1000]);
title('Ganancias Kp3 y Kv3');
xlabel('Kp3');
ylabel('Kv3');
drawnow;
hold off;
subplot(2,2,4);
plot(P(:,4),P(:,8),'O');
110
Control de un Robot SCARA basado en pasividad
axis square;
axis ([-0 3000 -0 1000]);
title('Ganancias Kp4 y Kv4');
xlabel('Kp4');
ylabel('Kv4');
drawnow;
hold off;
pause(5.0);
for j=1:par %
Kp1=P(j,1);
Kp2=P(j,2);
Kp3=P(j,3);
Kp4=P(j,4);
Kv1=P(j,5);
Kv2=P(j,6);
Kv3=P(j,7);
Kv4=P(j,8);
Ka4=P(j,9);
simout=sim('untitled');%aqui va el archivo de simulacion
e=max(fitness_ss);%% aqui va el error
Y(j,:)=[Kp1 Kp2 Kp3 Kp4 Kv1 Kv2 Kv3 Kv4 Ka4 e];
end
for i=1:par
if Yt(10,i)<Ytant(10,i)
Pbest(i,:)=[Yt(1,i) Yt(2,i) Yt(3,i) Yt(4,i) Yt(5,i) Yt(6,i) Yt(7,i) Yt(8,i) Yt(9,i)];
else Pbest(i,:)=[Ytant(1,i) Ytant(2,i) Ytant(3,i) Ytant(4,i) Ytant(5,i) Ytant(6,i) Ytant(7,i)
Ytant(8,i) Ytant(9,i)] ; end
end
end
for i=1:par
for j=1:9
if P(i,j)<0
P(i,j)=100*rand(1);
end
end
end
end
flag=1;
clc
P
end
111
Apndice D
800 800
600 600
Kv1
Kv2
400 400
200 200
0 0
0 1000 2000 3000 0 1000 2000 3000
Kp1 Kp2
800 800
600 600
Kv3
Kv4
400 400
200 200
0 0
0 1000 2000 3000 0 1000 2000 3000
Kp3 Kp4
112
Control de un Robot SCARA basado en pasividad
113