Beruflich Dokumente
Kultur Dokumente
TEORA Y PRCTICA
OSCARANDRSVIVASALBN
elaleph.com
C ONTENIDO
PREFACIO
11
1. INTRODUCCIN
1.1 Historia de la robtica
1.2 Clula robotizada
1.3 Conceptos generales
1.4 El mercado de la robtica en el mundo
1.5 Conceptos matemticos utilizados en robtica
1.5.1 Transformaciones homogneas
1.5.1.1 Coordenadas homogneas
1.5.1.2 Transformacin de coordenadas
13
16
18
26
28
28
29
30
2. MODELO GEOMTRICO
2.1. Conceptos generales
2.2. Procedimiento para hallar la tabla de
parmetros geomtricos de un robot
2.2.1 Relaciones entre la base y el rgano terminal
2.3 Modelo geomtrico directo
2.4 Modelo geomtrico inverso
2.4.1 Mtodo de Paul
2.4.1.1 Caso especial de una mueca tipo rtula
36
41
42
48
48
51
3. MODELO CINEMTICO
3.1 Conceptos generales
3.2 Clculo de la matriz Jacobiana
3.3 Configuraciones singulares
59
60
66
4. MODELO DINMICO
4.1 Conceptos generales
4.3 Clculo de los parmetros dinmicos
69
74
35
75
77
77
78
79
79
81
5. IDENTIFICACIN PARAMTRICA
5.1. Introduccin
5.2. Planificacin de la identificacin sobre el robot
95
97
6. CONTROL DE ROBOTS
6.1 Controladores industriales
6.2 Consignas de movimiento
6.2.1 Interpolacin polinomial
6.2.1.1 Interpolacin lineal
6.2.1.2 Polinomio de 3er grado
6.2.1.3 Polinomio de 5 grado
6.2.1.4 Ley tipo Bang-bang
6.2.1.5 Ley Bang-bang con trapecio en la velocidad
6.3 Estrategias de control
6.4 Control PID
6.4.1 Sintonizacin manual del controlador PID
6.5 Control dinmico
6.5.1 Control en el espacio articular
6.5.1.1 Movimiento completo deseado
6.5.1.2 Solo la posicin deseada
6.5.2 Control en el espacio operacional
6.5.2.1 Control en el espacio operacional con
correccin en el espacio articular (primer caso)
6.5.2.2 Control en el espacio operacional con correccin
en el espacio operacional (segundo caso)
7. SIMULACIN DE SISTEMAS ROBTICOS
7.1 Aspectos iniciales
7.2 Simulacin de controladores
7.2.1 Simulacin de un control PID articular
7.2.2 Simulacin de un control CTC articular
7.2.3 Simulacin de un control PID cartesiano
101
103
104
104
104
106
107
109
110
112
113
114
116
116
118
118
119
119
123
133
133
136
138
145
149
154
157
160
8. EJERCICIOS RESUELTOS
171
REFERENCIAS
209
NDICE
213
P REFACIO
LA ROBTICA INDUSTRIAL es un campo que hace mucho
tiempo dej de pertenecer a la ciencia ficcin para convertirse en una realidad cotidiana, impulsada por los procesos de globalizacin y competencia internacional que obligan a la fabricacin de cada vez mejores productos a
mejores precios.
A 2009 existan casi milln y medio de robots industriales instalados en todo el mundo y todo hace preveer que
esta cifra aumentar cada ao. Es igualmente notable la
presencia de asignaturas de robtica en universidades e
institutos tecnolgicos, buscando preparar los profesionales que manejarn esta tecnologa en el futuro. Y aunque
existen numerosas aplicaciones de la robtica en mltiples
campos del actuar humano (robtica mvil, espacial,
quirrgica, humanoide, etc.), es la robtica industrial el
origen y la base de esta novedosa tecnologa.
Este libro pretende ofrecer a los estudiantes universitarios de pregrado y postgrado, as como a los profesionales
en el rea, una gua bsica sobre el modelado y el control
de robots industriales. Se incluyen gran cantidad de ejemplos as como ejercicios propuestos y resueltos, con el fin
de que inclusive estos conceptos puedan ser aprendidos a
travs de un proceso de auto-aprendizaje. Sin embargo,
siendo la robtica un rea de trabajo tan extensa, se pretende ofrecer una gua general que pueda servir a todos, y
no abarcar tpicos ms especializados o de complejidad
superior. Entindase con esto que este libro permitir al
lector disear, simular y controlar un robot industrial tipo
11
12
1. I NTRODUCCIN
1.1 Historia de la robtica
LA PALABRA ROBOT fue acuada por el checo Karel apek,
quien en 1921 present una obra de teatro donde aparecan humanos artificiales. Dado que en el idioma checo y en
muchos idiomas eslavos la palabra robota significa trabajo o servidumbre, mostraba con el trmino a un ser
artificial creado para servir a los seres humanos.
Desde sus inicios los robots han fascinado y generado
temor en el ser humano, gozando hoy en da de gran popularidad en el imaginario colectivo. Autores de ciencia ficcin
como Isaac Asimov (1920 1992) o exitosas pelculas de
cine como La Guerra de las Galaxias (1977 2005), Yo
robot (2004), o Wall-E (2008) han sabido guiar este marcado inters. Sin embargo, a nivel cientfico y comercial, la
historia de la robtica muestra una industria muy dinmica y variada, con aplicaciones que van desde el ensamblaje
industrial, pasando por la exploracin espacial o la robtica quirrgica, hasta llegar a los robots humanoides de
Honda o Sony, ltimos desarrollos que podran corresponder ms al trmino original creado por apek.
De manera general cualquier mecanismo que opere con
cierta autonoma y controlado por computador podra ser
llamado un robot. Sin embargo la expresin clsica del
trmino describe un manipulador mecnico con ciertas
similitudes a un brazo humano y controlado por un computador.
13
14
15
Mecanismo, que permite interactuar sobre el ambiente. Est movido por motores que pueden ser actuadores elctricos, neumticos o hidrulicos.
Percepcin, realizada a travs de sensores internos
(posicin y velocidad articular) o externos (deteccin
de presencia, distancia, visin artificial).
Control, el cual genera las rdenes hacia los actuadores.
Interfaz humano-mquina, a travs de la cual el
usuario programa las tareas que el robot debe realizar.
Puesto de trabajo, que constituye el ambiente general sobre el cual interacta el robot.
16
a)
b)
c)
d)
Las cadenas abiertas, que son las ms comunes, simulan un brazo humano y constan de varias articulaciones
que permiten al rgano terminal realizar determinada tarea
en el espacio. Las cadenas cerradas pueden involucrar articulaciones pasivas, es decir carentes de motor, las cuales
se mueven gracias al impulso que les proporcionan las
articulaciones activas presentes en el anillo cinemtico
17
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
cerrado. Las cadenas arborescentes constan de varias cadenas abiertas unidas a una misma base. Dado que es ms
fcil implementar varias cadenas abiertas trabajando de
forma colaborativa, las cadenas arborescentes no son utilizadas en la industria. Por ltimo los robots paralelos constan de una base y una plataforma, unidas entre s por varias cadenas cinemticas, lo cual proporciona al robot
mucha mayor precisin y le permite alcanzar velocidades y
aceleraciones considerables. Este tipo de robots son estudiados de manera ms detallada en Merlet (2006) y Zhang
(2009).
Industrialmente hablando la gran mayora de robots
est constituida por cadenas cinemticas abiertas, dejando
una pequea proporcin a los robots paralelos, utilizados
en aplicaciones industriales especiales donde la velocidad o
la carga son aspectos de vital importancia. De otra parte
las cadenas cerradas encuentran su aplicacin en la robtica quirrgica laparoscpica, donde el robot debe moverse
manteniendo siempre un punto fijo en alguno de sus eslabones, el cual corresponde a la abertura abdominal por
donde se realiza la intervencin laparoscpica. Finalmente
las cadenas arborescentes pueden utilizarse en aplicaciones tales como el diseo de robots bpedos, donde cada
cadena representa una pierna del robot.
1.3 Conceptos generales
A continuacin se muestran las principales definiciones
en el campo de la robtica.
Articulacin: Mecanismo que une dos cuerpos sucesivos, accionado por un motor. Las articulaciones son principalmente rotoides (de giro) o prismticas (de desplazamiento), aunque existen combinaciones de las dos o
articulaciones pasivas (sin motor) que reproducen cualquiera de los dos movimientos.
Articulacin rotoide: El movimiento de rotacin se realiza alrededor de un eje comn entre dos cuerpos. La situacin relativa entre los dos cuerpos est dada por el ngulo
alrededor de este eje (Figura 1.2).
18
Grado de libertad: Define cada movimiento independiente del robot (Figura 1.4). Para situar un objeto en un
espacio tridimensional son necesarios tres grados de libertad, uno por cada dimensin. Pero un robot debe disponer
de 6 grados de libertad para posicionar y orientar un slido
en el espacio: para ubicarlo en el espacio necesita 3 grados
de libertad, para imprimirle cualquier rotacin necesita 3
grados de libertad adicionales. Esto significa que un robot
con menos de 6 grados de libertad no puede alcanzar cualquier punto del espacio de trabajo con una orientacin arbitraria.
19
Comnmente los robots industriales poseen cuatro, cinco o seis grados de libertad. Los robots con ms de 6 grados de libertad son llamados robots redundantes y son
utilizados en aplicaciones especiales donde es necesario
sobrepasar obstculos cercanos al rgano terminal (por
ejemplo en la robtica quirrgica).
Espacio articular: Es el espacio en el cual se representa la situacin de todos los cuerpos del robot; corresponde
al lenguaje que maneja el mecanismo en s mismo (movimientos rotacionales o prismticos). Su dimensin N corresponde al nmero de grados de libertad de la estructura. En una estructura abierta o arborescente las variables
articulares son independientes, mientras que en una estructura cerrada es necesario establecer relaciones entre
las diferentes variables.
Espacio operacional: Es aquel donde se representa la situacin del rgano terminal. Para definir esta situacin se
utilizan las coordenadas cartesianas en tres dimensiones. Es
llamado tambin espacio cartesiano y es importante desde el
punto de vista de la tarea industrial a realizar por el robot.
Dicho de otra manera el robot es diseado en el espacio
articular pero los movimientos que se le piden, los cuales
corresponden a determinadas tareas industriales, son definidos en el espacio operacional. Se deben utilizar entonces
herramientas matemticas para transformar un espacio en
otro, y en tiempo real, con el fin de que efectivamente el
robot realice la tarea que le ha sido programada.
Configuraciones singulares: En ciertas configuraciones puede suceder que el nmero de grados de libertad del
rgano terminal sea inferior a la dimensin del espacio
operacional, perdindose por lo tanto un grado de libertad.
Por ejemplo si se tienen dos ejes de articulaciones prismticas paralelos o dos ejes de articulaciones rotoides confundidas, se tendr en cada caso dos articulaciones pero
solo un grado de libertad (Figura 1.5). Esto claro est es un
desperdicio desde el punto de vista econmico. Sin embargo existen otros casos donde la presencia de configuraciones singulares no es tan evidente, pudindose presentar
20
No. de estructuras
8
36
168
776
3.508
21
* Conf.
singular
22
RRR
RRP
RPR
RPP
PRR
PPR
PPP
23
El volumen de trabajo de los portadores ms utilizados, suponiendo un giro completo de 360 para la primera articulacin y un desplazamiento de L en su brazo es:
Portador
Portador
Portador
Portador
cilndrico: 3L3
esfrico: (28/3) L3
Scara: 4L3
antropomrfico: (32/3)L3
24
Desde el punto de vista comercial existen muchas caractersticas tcnicas que diferencian un robot de otro. Sin
embargo las ms comunes son:
Espacio de trabajo: Se refiere al conjunto de posiciones que el rgano terminal puede alcanzar. Est
dado en centmetros o metros cbicos.
Carga til: Es la carga mxima transportable por el
robot, dada en kilogramos.
25
26
Vendidos en
2009
18.000
Total instalados
339.800
9.000
10.000
8.100
3.500
5.000
1.800
1.500
3.400
600
166.800
145.800
79.300
62.900
36.800
34.400
27.400
23.700
13.300
1.300
1.100
850
1.600
600
500
11.200
9.500
6.700
6.500
6.000
4.200
Existen diversas formas de ubicar un punto en el espacio, tales como los ngulos de Euler o los cuaternios (Siciliano and Khatib, 2008), que tratan la rotacin y el desplazamiento de manera separada. ltimamente ha despertado
bastante inters la teora de los screws (Davidson and
Hunt, 2004), la cual combina rotacin y desplazamiento
utilizando pocos clculos. Sin embargo la forma ms utilizada para trabajar estas dos situaciones sigue siendo las
transformaciones homogneas, las cuales se vern a continuacin.
1.5.1 Transformaciones homogneas
Permiten expresar las posiciones de los diferentes cuerpos del robot, las unas en relacin con las otras. En este
28
Py
Pz 1
(1)
Pz
Px
x
Py
uy
uz
29
(2)
s x
s
u= y
s z
nx
ny
nz
0
ax
ay
az
(3)
Donde:
sx: Rotacin del eje x actual respecto al eje x anterior.
sy: Rotacin del eje x actual respecto al eje y anterior.
sz: Rotacin del eje x actual respecto al eje z anterior.
nx: Rotacin del eje y actual respecto al eje x anterior.
ny: Rotacin del eje y actual respecto al eje y anterior.
nz: Rotacin del eje y actual respecto al eje z anterior.
ax: Rotacin del eje z actual respecto al eje x anterior.
ay: Rotacin del eje z actual respecto al eje y anterior.
az: Rotacin del eje z actual respecto al eje z anterior.
1.5.1.2 Transformacin de coordenadas
Utilizando las representaciones anteriores para rotar y
desplazar un cuerpo, en la Figura 1.11 se muestra la
transformacin de coordenadas entre dos sistemas de referencia. Esta transformacin est definida por la matriz iTj,
la cual se expresa de la siguiente manera:
T j = i s j
nj
aj
s x
s
i
P j = y
s z
30
nx
ax
ny
ay
nz
0
az
0
Px
Py
Pz
(4)
xj
zj
zi
Rj
Ri
yi
yj
xi
iTj
i Aj
Tj =
0 0 0
Pj i s j
=
1 0
nj
0
aj
0
Pj
(5)
En este caso a iAj se le conoce como matriz de orientacin y a iPj como vector de posicin, iguales a:
sx
A j = sy
sz
nx
ny
nz
ax
Px
ay ; i P j = Py
Pz
a z
(6)
Ejemplo 1.1: Representacin de la matriz iTj cuando se presenta desplazamiento y rotacin respecto al sistema de coordenadas original.
31
a) Desplazamiento:
1
0
i
Tj =
0
Zj
Zi
(3, 2, 4)
4
Yj
3
Xj
2
0 0 -3
1 0 -2
0 1 4
0 0 1
Yi
Xi
Definir el vector de posicin es fcil, simplemente se expresa el actual origen de coordenadas (sistema Rj) respecto
al anterior origen de coordenadas (sistema Ri). Se observa
entonces que el origen del sistema Rj se encuentra a 3
unidades en x, 2 unidades en y, 4 unidades en z, respecto
al origen del sistema Ri. Definir la orientacin es ms complejo, por algo se necesitan nueve elementos para realizarlo. En este caso la presencia de la matriz unitaria en iAj
significa que el vector Xj est en la misma direccin que el
vector Xi, que el vector Yj est en la misma direccin que el
vector Yi, y que el vector Zj est en la misma direccin que
el vector Zi.
b) Desplazamiento y rotacin de 90 grados en los ejes:
0
0
i
Tj =
-1
(2, 8, 5)
Zi
Yj
5
Zj
Xj 8
Yi
2
Xi
32
0 1 2
1 0 8
0 0 5
0 0 1
Ejercicio 1.1:
Dibujar las rotaciones y translaciones representadas por
las siguientes matrices de transformacin:
0
-1
a) iT j =
0
0
0
-1
0
1 0
0 0
c) iT j =
0 -1
0 0
1 3
0 5
; b) iT j =
0 5
0 1
0 -2
-1 1
0 -2
0 1
0 -1
0 0
1 0
0 0
0 1
1 0
;
0 4
0 1
aj
Zj
Yj
nj
Yi
Xi
sj
1 0
0 C
i
Tj =
0 S
0 0
0 0
-S 0
C 0
0 1
Xj
Zj
Yi
nj
Xi
C
0
i
Tj =
-S
Zi
aj
0 S
0
1 0 0
0 C 0
0 0 1
Yj
sj X j
Zj
aj
Yj
nj
Xi
C -S 0 0
S C 0 0
i
Tj =
0
0 1 0
0 0 1
0
Zi
Yi
sj X j
Es claro que en la prctica se presentan mltiples combinaciones de desplazamientos y rotaciones, con varios cuerpos
y al mismo tiempo. Esto exige una representacin mucho
ms compleja, la cual se ver en el siguiente captulo.
34
2. M ODELO GEOMTRICO
2.1. Conceptos generales
Existen dos mtodos para representar geomtricamente
un robot, es decir, dos maneras de representar las caractersticas fsicas del robot en un sistema de coordenadas
referenciado a cada articulacin. El ms comn y antiguo
es el mtodo de Denavit-Hartenberg (1955). Sin embargo,
debido a las limitaciones de dicho mtodo frente estructuras robticas ms complejas, Khalil-Kleinfinger (1986) desarrollaron un mtodo ms general, el cual ser utilizado
en este libro. Dicho mtodo tambin es utilizado en los
libros de Craig (1986) y Ollero (2001).
Antes de utilizar este mtodo se debe realizar la colocacin de los ejes x y z sobre las articulaciones del robot (el
eje y no es importante). Para esto se deben tener en cuenta
dos consideraciones:
-S j
C j C j
-S j
S j C j
0
C j
0
dj
-r j S j
r j C j
(7)
j -1 A T
d j S j
j
j
T j -1 =
-r j
1
0 0 0
(8)
Recomendaciones:
-
37
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
z4
x4, x5, x6
z6
z5
z5
z0, z1
R4
z2
x5, x6
z3
x2
x0, x1, x2
z3
x4
z0, z1
R4
x3
z2
D3
x0, x1
D3
38
0
0
0
0
0
0
0
90
0
-90
90
-90
dj
0
0
D3
0
0
0
j
1
2
3
4
5
6
rj
0
0
0
R4
0
0
z0, z1, z2
z3, z4
z3, z4
x0, x1, x2,
x3, x4
0
1
1
0
0
0
-90
0
dj
0
0
0
0
39
j
1
0
0
rj
0
r2
r3
0
Ejercicio 2.1:
Hallar la tabla de parmetros geomtricos de los siguientes
robots:
a)
b)
c)
d)
e)
f)
Nota: El robot del numeral e) es conocido como robot tipo SCARA, ampliamente utilizado en la industria para operaciones de ensamblado.
40
Rn-2
R3
Rn-1
Rn
R2
R1
R0
Del rgano terminal a la
base (modelo geomtrico
directo)
Dos modelos son necesarios para saber en todo momento dnde exactamente se encuentra el rgano terminal, y
qu articulaciones se deben mover para posicionar el rgano terminal en un punto deseado. En el primer caso se
habla del modelo geomtrico directo, donde a partir de la
matriz 0Tn la base puede conocer en todo momento la posi 41
Incgnitas
0T n
ri
0T n
i
ri
0T 6.
A su vez esta matriz es igual a la multiplicacin sucesiva de 0T6 = 0T11T22T33T44T55T6. Esto significa que deben
hallarse cada una de las seis matrices que representan la
transformacin entre cada sistema de coordenadas de este
robot.
dj
0
j
1
j-1T ,
j
rj
0
con j = 1,
-S j
0
dj
C j
C S C C -S -r S
j
j
j
j
j
j-1
Tj = j j
S j S j S j C j C j r j C j
0
0
1
0
-sen1
0
d1
cos1
cos sen cos cos -sen -r sen
1
1
1
1
1
1
1
=
sen1sen1 sen1cos1 cos1 r1cos1
0
0
0
1
43
C1 -S1 0 0
C 2 -S 2 0 0
S1 C1 0 0
0 -1 0
0
; 1T = 0
T1 =
;
2
0
S 2 C 2 0 0
0 1 0
0 0 1
0
0 1
0
0
C 3 -S 3 0 D 3
C 4 -S 4 0 0
S 3 C 3 0 0
0 1 R 4
2
; 3T = 0
T3 =
;
4
0
-S 4 -C 4 0 0
0 1 0
0 0 1
0 0 1
0
0
C 6 -S 6 0 0
C 5 -S 5 0 0
0
0
0 1 0
0 -1 0 5
4
T5 =
; T6 =
-S 6 -C 6 0 0
S 5 C 5 0 0
0 0 1
0
0 1
0
0
Nota: Inmediatamente se observe en las ecuaciones resultantes un esquema que pueda conducir a una reduccin
de sumas de senos y cosenos, deben aplicarse las frmulas
siguientes con el fin de aligerar los clculos:
(9)
0
0
-1
0
1
T3 =
S 2C 3 + C 2S 3 -S 2S 3 + C 2C 3 0 D 3S 2
0
0
0
1
44
0
0
1
0
C 5C 6 -C 5S 6 -S 5
S6
C6
0
U 4 = 4T6 = 4T5 5T6 =
S 5C 6 -S 5S 6 C 5
0
0
0
0
0
0
U 3 = 3T6 = 3T4U 4 =
C 4C 5C 6 - S 4S 6 -C 4C 5S 6 - S 4C 6 -C 4S 5 0
S 5C 6
C5
R 4
-S 5S 6
-S 4C 5C 6 - C 4S 6 S 4C 5S 6 - C 4C 6 S 4S 5
0
0
0
0
1
U 2 = 2T6 =2T3U 3
45
sx =C 3 (C 4C 5C 6 - S 4S 6 ) - S 3S 5C 6
sy =S 3 (C 4C 5C 6 - S 4S 6 ) + C 3S 5C 6
sz =- S 4C 5C 6 - C 4S 6
n x =- C 3 (C 4C 5S 6 + S 4C 6 ) + S 3S 5S 6
n y =- S 3 (C 4C 5S 6 + S 4C 6 ) - C 3S 5S 6
n z =S 4C 5S 6- C 4C 6
a x =- C 3C 4S 5 - S 3C 5
ay =- S 3C 4S 5 + C 3C 5
a z =S 4S 5
Px =- S 3R 4 + D 3
Py =C 3R 4
Pz =0
U 1 = 1T6 = 1T2U 2 = 1T3U 3
46
Para hallar la matriz 0T6 de este ejemplo se puede proceder de dos formas, igualmente equivalentes. O bien se
multiplican de izquierda a derecha cada una de las matrices, o bien se lo hace de derecha a izquierda:
f)
47
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
Ejercicio 2.2:
Hallar el modelo geomtrico directo de los robots del
Ejercicio 2.1.
2.4 Modelo geomtrico inverso
Este modelo provee todas las soluciones posibles del
clculo de las coordenadas articulares, correspondientes a
una situacin cartesiana determinada. Es decir, para una
posicin y orientacin deseadas del rgano terminal, el
modelo geomtrico inverso entrega todas las posibles soluciones de las posiciones articulares con el fin de alcanzar
esa situacin deseada. La dificultad de este modelo estriba
en el hecho de que para una posicin cartesiana deseada,
pueden existir mltiples soluciones para las posiciones
articulares. Esto puede observarse en la Figura 2.4, donde
la posicin deseada marcada con una cruz puede alcanzarse a travs de diferentes movimientos de las articulaciones
involucradas.
Para hallar el modelo geomtrico inverso existen varios
mtodos (Buchberger, 1987; Raghavan and Roth, 1990;
Manocha and Canny, 1992), el ms general y conveniente a
la mayora de robots industriales es el mtodo de Paul
(1981).
2.4.1 Mtodo de Paul
Dado un robot serial con la matriz de transformacin:
0
(10)
48
s x
s
U0 = y
sz
nx
ny
nz
0
ax
ay
az
0
Px
Py
Pz
(11)
Se busca entonces hallar las posiciones de las articulaciones del robot con el fin de que el rgano terminal se site en U0.
Por ejemplo para un robot de 6 grados de libertad se
procede como sigue:
1) Se multiplica a la izquierda de cada parte de la ecuacin
(10) por 1T0. Con esto se logra eliminar la matriz 0T1 en la
parte derecha de la ecuacin, quedando as:
1
(12)
De esta forma el trmino de la izquierda estar en funcin de los elementos de U0 y de la variable q1. Se despeja
entonces esta variable igualando los trminos a la derecha
y a la izquierda.
2) Una vez despejada la variable q1 se multiplica a la izquierda de cada ecuacin por 2T1, obtenindose por despeje la variable q2. Se contina sucesivamente con las
multiplicaciones a la izquierda de cada ecuacin hasta
que todas las variables hayan sido despejadas.
(13)
T4U 4 = 5T6
La metodologa aconseja que cada vez se comparen solamente los vectores de posicin de cada lado de la igualdad, tratando de despejar la variable buscada. Sino es posible despejar, realizar una nueva multiplicacin a la
izquierda, y as sucesivamente. En caso de quedar variables por encontrar, volver a la primera multiplicacin pero
esta vez comparar los trminos de la matriz de orientacin.
En cada caso lo que se pretende es, o bien despejar completamente la variable, o bien obtener una ecuacin a partir de la cual sea posible el despeje utilizando algn tipo de
software especializado como Matlab, o ms fcilmente
Maple.
En los casos particulares donde el robot posee una mueca tipo rtula (tres articulaciones rotoides con ejes concurrentes), puede utilizarse una estrategia particular para
hallar los ngulos de esta mueca, lo cual simplifica los
50
clculos. Es decir, ngulos del portador se hallan utilizando el mtodo de Paul, pero los ngulos de la mueca utilizan una variacin de este mtodo, teniendo en cuenta solo
la matriz de orientacin.
Las particularidades de este caso, para un robot de seis
grados de libertad, se muestran a continuacin as como
en el ejemplo siguiente.
2.4.1.1 Caso especial de una mueca tipo rtula
Suponiendo un robot de seis grados de libertad con una
mueca tipo rtula, los siguientes valores geomtricos se
dan:
d5 = r5 = d6 = 0
4 = 5 = 6 = 0
S5 0; S6 0
La posicin del centro de la rtula es entonces nicamente funcin de las variables q1, q2 y q3. Esto significa
que si el centro de la rtula permanece en un punto fijo,
las articulaciones 4, 5 y 6 pueden moverse en cualquier
direccin pero el centro de la rtula no se mover. Luego la
posicin del rgano terminal estar dada por la posicin
del centro de la rtula, esto es: 0P6 = 0P4.
La orientacin del rgano terminal se definir entonces
como:
(14)
[s n a ] = 0 A6 ( q )
Si se multiplica al lado izquierdo de cada trmino por la
matriz 3A0 se obtiene:
3
A0 (q1 ,q 2 ,q 3 ) [s n a ] = 3 A6 (4 ,5 ,6 )
[F
H ] = 3 A6 (4 ,5 ,6 )
Es decir:
51
(15)
A0 (q1 ,q 2 ,q 3 ) [s n a ] = [F
H]
(16)
La anterior frmula introduce los vectores F, G y H, necesarios para simplificar los clculos como se ver en el
ejemplo siguiente.
Ejemplo 2.4: Modelo geomtrico inverso del robot tipo PUMA del Ejemplo 2 1.
Para hallar los valores de las variables articulares se utilizar el mtodo de Paul para las tres primeras (1, 2, 3), y
el caso particular de la mueca tipo rtula para las tres
ltimas (4, 5, 6).
a) Clculo de 1, 2, 3:
De acuerdo a la metodologa de Paul se multiplica a la
izquierda de la ecuacin del modelo geomtrico directo por
1T , como se indic en (12):
0
1
T0U 0 = 1T6
1T
6
T (1)=- S 23R 4 + C 2D 3
T (2)= 0
T (3)= C 23R 4 + S 2D 3
Igualando U(2) con T(2) se encuentran las dos soluciones siguientes para 1 :
52
1 = atan(Py , Px )
1 '= 1 +180
La solucin 1' muestra que una rotacin de 180 para
este ngulo tambin puede ser solucin del problema (ver
Figura 2.1), permitiendo igualmente alcanzar la posicin
U0 deseada. Esto sucede solo en ciertos ngulos, requirindose un anlisis cuidadoso para determinar si dicho
movimiento adicional tambin lleva a U0.
Nota: Deben hallarse siempre las soluciones de los
ngulos en trminos de arco tangente, ya que de esta manera se obtiene una solucin global en los cuatro cuadrantes. Esto significa que soluciones de solamente arco seno o
arco coseno no deben ser consideradas ya que proveen solo
soluciones parciales al problema.
T1U 1 = 2T6
Se pueden calcular 2 y 3 considerando las dos primeras ecuaciones. Para esto se elevan al cuadrado y se su-
53
man con el fin de eliminar el ngulo 3 y tener una ecuacin solo en funcin de 2. El procedimiento es el siguiente:
Se define B1 como una constante, ya que 1 fue hallado
en el punto anterior:
B 1 = C 1Px + S 1Py
(17)
XS 2 + YC 2 = Z
Con:
X =- 2Pz D 3
Y =- 2B 1D 3
Z =(R 4 )2 -(D 3)2 -(PZ )2 -(B 1)2
YZ - X X 2 +Y 2 - Z 2
X 2 +Y 2
YZ + X X 2 +Y 2 - Z 2
X 2 +Y 2
; = 1
2 =atan(S 2,C 2)
54
3 =atan(S 3,C 3)
b) Clculo de 4, 5, 6 :
Se puede continuar con la metodologa de Paul (multiplicaciones sucesivas a la izquierda de cada trmino), o
aprovechar las caractersticas especiales de la mueca tipo
rtula, vistas anteriormente. En este ltimo caso solo interesan solo las ecuaciones de orientacin. Se debe hallar
entonces la ecuacin (16):
3
A0 [s n a ] = [F
H]
Luego se tiene:
55
Las expresiones para las columnas dos y tres son las siguientes:
G x = C 23(C1n x + S1n y )+ S 23n z
G y =- S 23(C1n x + S1n y )+ C 23n z
G z = S1n x - C1n y
H x = C 23(C1a x + S1ay )+ S 23a z
H y =- S 23(C1a x + S1a y )+ C 23a z
H z = S1a x - C1ay
[F
C 6C 5C 4-S 6S 4 -S 6C 5C 4-C 6S 4 -S 5C 4
C 6S 5
-S 6S 5
C 5
H ] =
-C 6C 5S 4-S 6C 4 S 6C 5S 4-C 6C 4 S 5S 4
56
-S 4H x - C 4H z = 0
La cual proporciona dos soluciones:
4 = atan(H z ,- H x )
4 '= 4 +180
A partir de los elementos (1, 3) y (3, 3) se obtiene la solucin para 5 :
-S 5 = C 4H x - S 4H z
C5 = Hy
Obtenindose por solucin:
5 =atan(S 5,C 5)
Finalmente considerando los elementos (2, 1) y (2, 2) se
obtiene la solucin para 6:
57
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
S 6 =- C 4Fz - S 4Fx
C 6 =- C 4G z - S 4G x
Sistema que tiene por solucin:
6 = atan(S 6,C 6)
6 '= 6 +180
Ejercicio 2.3:
Hallar el modelo geomtrico inverso de los robots del
Ejercicio 2.1.
58
3. M ODELO CINEMTICO
3.1 Conceptos generales
El modelo cinemtico describe las velocidades de las articulaciones del robot en el espacio operacional (cartesiano)
en funcin de las velocidades de estas articulaciones expresadas en el espacio articular. El modelo cinemtico directo tiene por expresin:
(18)
Donde J(q) es la llamada matriz Jacobiana, definida como la derivada parcial entre las posiciones cartesianas y
articulares (X/q). La matriz Jacobiana tiene un inters
particular en el diseo mecnico, en el anlisis de singularidades, y en el diseo de controladores en el espacio operacional.
De otra parte el modelo cinemtico inverso se expresa como:
(19)
La matriz Jacobiana tiene una dimensin de (6 x n),
donde n representa el nmero de grados de libertad del
robot. La expresin completa del modelo cinemtico directo
ser:
59
(20)
Obsrvese que el vector X& se descompone en las velocidades lineales x& , y& , z& , y en las velocidades rotacionales
x , y , z . Dado que la Jacobiana tiene una dimensin de
(6 x n), ella ser cuadrada solamente para robots de seis
grados de libertad, indicndose con esto que dicho robot
puede posicionarse perfectamente en un espacio de tres
dimensiones, y puede realizar tres rotaciones en su rgano
terminal (alabeo, cabeceo y guiada).
En robots de menos de seis grados de libertad la matriz
Jacobiana no ser cuadrada, reflejando el hecho de que
algn grado de libertad se pierde, o que alguna rotacin no
es posible realizar. Como para los anlisis siguientes es
necesario el carcter invertible de la Jacobiana, las filas o
columnas que representan movimientos nulos pueden suprimirse para as lograr una matriz cuadrada e invertible.
3.2 Clculo de la matriz Jacobiana
Para hallar la matriz Jacobiana de un robot serie se utiliza la frmula de la Jacobiana de base (Khalil and Dombre,
2002), la cual define la ksima columna de nJn como:
n
n a + k ( - k Pny n sk + k Pnx n nk )
j n:k = k k
k n ak
(21)
a la matriz de orientacin kAn, as como los valores del vector de posicin en x e y (kPnx y kPny respectivamente).
Es de notar que el clculo de la matriz nJn sirve para
hallar la relacin entre las velocidades cartesianas y articulares de las articulaciones situadas entre las articulaciones
k y n, lo cual puede ser til desde el punto de vista del diseo mecnico del robot. Ms interesante y visto desde el
sistema de control, es hallar la matriz 0Jn, es decir la relacin de velocidades cartesianas y articulares desde la base
hasta el rgano terminal. La ksima columna de 0Jn se escribe:
0
k 0ak
(22)
0
0
0
1
0
0
0
0
dj
0
D2
D3
0
j
1
2
3
0
61
rj
0
0
0
r4
C1 -S1 0 0
C 2 -S 2
S1 C1 0 0
0
; 1T = S 2 C 2
T1 =
2
0
0
0 1 0
0
0 0 1
0
0
0
C 3 -S 3
S 3 C 3
2
T3 =
0
0
0
0
0 D 3
1
0
0 0 3
; T4 =
0
1 0
0 1
0
0
1
0
0
0 D 2
0 0
1 0
0 1
0 0
0 0
1 r4
0 1
Columna 1:
Columna 2:
Columna 3:
Columna 4:
-1 P 0s + 1P4 x 0n1
j 4:1 = 4y 10
a1
-2 P 0s + 2P4 x 0n 2
j 4:2 = 4y 20
a2
-3 P 0s + 3P4 x 0n 3
j 4:3 = 4y 30
a3
0a
j 4:4 = 34
0
- P4y s1 + P4 x
C1
-S1
n1 =-(D 3S 2) S1 +(D 3C 2+ D 2) C1
0
0
-D 3S12- D 2S1
= D 3C12+ D 2C1
62
0
a1 = 0
1
- P4y s 2 + P4 x
C12
-S12 -D 3S12
0
a 2 = 0
1
0
0
0
= 0
0
0
a 3 = 0
1
63
0
a 4 = 0
1
Como toda Jacobiana, la matriz anterior tiene una dimensin (6 x 4). Para hacerla cuadrada pueden quitarse
las filas que contienen trminos nulos (filas 4 y 5), lo que
significa que el rgano terminal no puede realizar rotaciones en los ejes x e y. El modelo cinemtico directo se expresa entonces por:
Nota: Tener en cuenta los siguientes vectores particulares, los cuales pueden ser necesarios en el clculo de determinadas matrices Jacobianas:
1
0
0
0
n
n
n
sn = 0 ; nn = 1 ; a n = 0 ; Pn = 0
0
0
1
0
(23)
Ejemplo 3.2: Clculo de las velocidades cartesianas puntuales para un robot SCARA con valores geomtricos D2 =
0.5 y D3 = 0.4.
Si el robot SCARA del ejemplo anterior se encuentra en
un momento dado en las posiciones articulares q1 = /2
rads; q2 = /4 rads; q3 = /5 rads y q4 = 0.15 m; y sus velocidades articulares de valor instantneo son q&1 =/3
rad/seg; q& 2 = /6 rad/seg; q& 3 =/4 rad/seg y q& 4 = 0.3
m/seg. A partir de la ecuacin del modelo cinemtico directo del ejemplo anterior se puede calcular el valor instantneo de sus velocidades cartesianas, as:
Obsrvese que la velocidad articular de la tercera articulacin no influye en ninguna de las velocidades cartesianas
ya que representa simplemente la rotacin de la tercera
articulacin, sin proporcionar movimiento en x, y o z. No
obstante dicha velocidad est relacionada con la velocidad
rotacional z .
Ejercicio 3.1:
Hallar la matriz Jacobiana 0Jn de los robots del Ejercicio
2.1.
66
68
4. M ODELO DINMICO
4.1 Conceptos generales
El modelo dinmico contiene toda la informacin (geometra y dinmica) del robot (Khalil and Dombre, 2002;
Siciliano and Khatib, 2008). Matemticamente se define
como la relacin entre las fuerzas aplicadas a los actuadores () y las posiciones, velocidades y aceleraciones articulares. Se expresa as:
= f (q , q& , q&&, f e )
(24)
q&&= f (q , q& , , f e )
(25)
la simulacin en computador utilizando un programa como Matlab (el MDD equivale a la funcin de
transferencia en un sistema de control y permite
simular cualquier tipo de robot).
el dimensionamiento de los actuadores (ya que en
simulacin se pueden obtener los pares o fuerzas
69
igual a: j a j = [0 0 1]
jJj
MSj
Iaj
Mj
Gj
Vj
j
Fsj
Fvj
G
70
MS j = xdm
= MX j
ydm zdm
MZ j
MY j
(26)
El segundo momento de inercia hace referencia a la resistencia en los tres ejes que opone un cuerpo sometido a
una rotacin. Por su parte el tensor de inercia es un tensor
simtrico de segundo orden que caracteriza la inercia rotacional de un slido rgido. Expresado en una base ortonormal viene dado por una matriz simtrica, dicho tensor
se forma a partir de los momentos de inercia segn tres
ejes perpendiculares y tres productos de inercia. Su frmula se muestra a continuacin:
(y 2 + z 2 )dm
j
J j = - xy dm
- xz dm
XX j
= XY j
XZ j
XY j
YY j
YZ j
- xy dm
(x + z )dm
- yz dm
2
- yz dm
2
2
(
x
+
y
)
dm
- xz dm
(27)
XZ j
YZ j
ZZ j
71
iguales. Por lo tanto se tienen solamente seis trminos diferentes en vez de nueve.
Ejemplo 4.1: Determinar el tensor de inercia y el primer
momento de inercia del siguiente robot de dos grados de
libertad.
Dado del robot de dos grados de libertad que se muestra
en la Figura 4.1 se desea calcular numricamente los valores del tensor de inercia jJj y del primer momento de inercia jMSj para cada una de las articulaciones. Las masas de
cada cuerpo son iguales a M1 = 5 Kg y M2 = 2 Kg. El punto
al interior de cada cuerpo revela la posicin del centro de
masa.
Se supone que la posicin del centro de masa del primer
cuerpo est desplazada Z1cm metros del origen del sistema
de coordenadas, con Z1cm = 0.15 m. Este centro de masa
no tiene ningn desplazamiento en x ni en y respecto a ese
mismo origen de coordenadas. Adems la rotacin se verifica respecto al eje z, que se llamar z1g (z de giro).
De otra parte se supone que el centro de masa del segundo cuerpo tiene desplazamientos en x y en y, respecto
al sistema origen de coordenadas, que es el mismo del primer cuerpo, teniendo en cuenta que la z2g de este segundo
cuerpo est en la misma direccin que x1 y x2. Estos desplazamientos son: X2cm = 0.1 m y Y2cm = 0.03 m.
z0, z1
z1g
X2cm
z2
Y2cm
z2
M2
Z1cm
z2g
x0, x1, x2
M1
72
M 1Y1cm
= [0 0 0.75 ]
2
MS2 = [M 2 X 2cm
M 1Z1cm ]
M 2Y2cm
= [0.2 0.06 0 ]
M 2 Z 2cm ]
1
2
2
J 1 = - X 1cmY1cm dm
(X 1cm + Z 1cm )dm
- X Z dm
-Y1cm Z 1cm dm
1cm 1cm
0
0
0.1125
= 0
0.1125 0
0
0
0
73
- X 1cm Z 1cm dm
-Y1cm Z 1cm dm
2
2
(X 1cm +Y1cm )dm
2
2
2
J 2 = - X 2cmY2cm dm
(X 2cm + Z 2cm )dm
- X Z dm
-Y2cm Z 2cm dm
2cm 2cm
0
0.0018 -0.006
= -0.006
0.02
0
0
0
0.0218
- X 2cm Z 2cm dm
-Y2cm Z 2cm dm
2
2
(
X
+
Y
)
dm
2
cm
cm
2
74
d L
dt q& i qi
(28)
Con:
L : Lagrangiano del sistema igual a: L = E - U.
E : Energa cintica total del sistema.
U : Energa potencial total del sistema.
La energa cintica se expresa como:
1
E = q& T A q&
2
(29)
(30)
Donde:
A: Matriz de inercia.
Q: Vector de fuerzas de gravedad.
C (q,q& )q& : vector que representa las fuerzas de Coriolis
(debida a la rotacin de la Tierra) y centrfugas (inercia debido a la aceleracin centrpeta) tal que:
75
& & - E
Cq& = Aq
q
(31)
2 qk q j qi
k=1
(32)
Sin embargo, para bajas velocidades articulares del robot esta matriz C puede despreciarse. En los ejercicios de
este libro no se calcular, no obstante es tenida en cuenta
en los clculos que realiza el software SYMORO (Khalil and
Creusot, 1997), presentes en algunos ejercicios en la parte
prctica al final de este documento.
Por ltimo los elementos del vector Q son calculados a
partir de la energa potencial as:
Qi =
U
q j
(33)
j)
E =E j
(34)
j=1
(V
j
j j )
(35)
V j = j A j -1 j -1V j -1 +
j -1
j -1
j -1
P j + j q& j j a j
(36)
(37)
U j = - 0 g T
j MS j
0 0T j
M j
77
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
(38)
78
(42)
Con:
Nj : relacin de reduccin del eje j.
Jmj : momento de inercia del rotor del accionador.
El valor de esta inercia es proporcionado por el fabricante de cada motor, sin embargo es un valor que no tiene en
cuenta la carga del motor. Para hallar el valor real, con el
motor posicionado en la articulacin y por lo tanto con
carga, debe realizarse un procedimiento de identificacin,
el cual se ver en el captulo 5.
Nota: La ecuacin (40) representa la dinmica del manipulador robtico. Sin embargo el robot necesita dispositivos que lo muevan, en este caso motores elctricos o hidrulicos. Para una definicin ms completa de la dinmica
del robot sera necesario incluir la dinmica de los motores
en la ecuacin del modelo dinmico inverso. En este libro
no se considera el modelo de los actuadores con el fin de
simplificar los clculos, lo cual no influye significativamente en los resultados obtenidos al controlar un robot serie.
No obstante el lector podr consultar ms detalles sobre la
inclusin del modelo matemtico de los motores en la
ecuacin del modelo dinmico en Lewis, et al. (2004) y
Spong, et al. (2006).
4.4 Determinacin de los parmetros de base
Como se vio anteriormente, existen once parmetros que
definen la dinmica del robot por cada articulacin. Estos
parmetros pueden ser hallados por clculo simple (por
medio de un software CAO (por ejemplo SolidEdge), o por
medio de un mtodo experimental de identificacin paramtrica (Captulo 5). El objetivo de cualquiera de estos
79
z2
zj
zr1
zr2
80
81
YYj, MZj y Mj si j = 0.
XXj, XYj, XZj, YYj, YZj, ZZj si j = 1.
Nota: Obsrvese que cada trmino que aparece reagrupado incluye a l mismo y a otros ms. Cuando no incluye
a otros trminos no est reagrupado, se le quita entonces
la R mayscula que indica la reagrupacin.
2) Eliminar MZj y reagrupar MXj y MYj utilizando la siguiente relacin, si j es prismtica y aj paralelo a
ar1, para r1 < j < r2:
MXRj-1 = MXj-1 + CjMXj SjMYj
MYRj-1 = MYj-1 + SjCjMXj + CjCjMYj
MZRj-1 = MZj-1 + SjSjMXj + CjSjMYj
ZZRj = ZZj + 2djCjMXj 2djSjMYj
3) Reagrupar o eliminar uno de los parmetros MXj,
MYj o MZj si j es prismtica y si aj NO es paralela a
arj para r1 < j < r2, segn la siguiente tabla:
ja
ja
zr1
= 0;
0;
ja
yr1 0
ja
zr1 = 0;
ja
xr1 = 0
ja
zr1 = 0;
ja
yr1 = 0
ja
zr1
xr1
MXRj=MXj
(jaxr1/jazr1)MZj
MYRj
=
(jayr1/jazr1)MZj
=
MXRj
(jaxr1/jayr1)MYj
MYj = 0
MXj = 0
82
MYj
MXj
83
Cuerpo 6:
XXR6 = XX6 YY6
XXR5 = XX5 + YY6
ZZR5 = ZZ5 + YY6
MYR5 = MY5 + MZ6
MR5 = M5 + M6
Parmetros mnimos (es decir, parmetros que finalmente quedan activos para esta articulacin): XXR6, XY6,
XZ6, YZ6, ZZ6, MX6, MY6.
Cuerpo 5:
XXR5 = XX5 YY5 = (XX5 + YY6) YY5
XXR4 = XX4 + YY5
ZZR4 = ZZ4 + YY5
MYR4 = MY4 MZ5
MR4 = M4 + MR5 = M4 + M5 + M6
Parmetros mnimos: XXR5, XY5, XZ5, YZ5, ZZR5, MX5,
MYR5.
Nota: Para el clculo de XXR5 se tiene en cuenta el resultado obtenido para este parmetro en el cuerpo 6.
Cuerpo 4:
XXR4 = XX4 + YY5 YY4
XXR3 = XX3 + YY4 + 2RL4MZ4 + RL42(M4 + M5 + M6)
ZZR3 = ZZ3 + YY4 + 2RL4MZ4 + RL42(M4 + M5 + M6)
MYR3 = MY3 + MZ4 + RL4(M4 + M5 + M6)
MR3 = M3 + M4 + M5 + M6
Parmetros mnimos: XXR4, XY4, XZ4, YZ4, ZZR4, MX4,
MYR4.
84
Cuerpo 3:
XXR3 = XX3 + YY4 + 2RL4MZ4 + RL42(M4 + M5 + M6) YY3
XXR2 = XX2 + YY3
XZR2 = XZ2 D3MZ3
YYR2 = YY2 + D32(M3 + M4 + M5 + M6) + YY3
ZZR2 = ZZ2 + D32(M3 + M4 + M5 + M6)
MXR2 = MX2 + D3(M3 + M4 + M5 + M6)
MZR2 = MZ2 + MZ3
MR2 = M2 + M3 + M4 + M5 + M6
Parmetros mnimos: XXR3, XY3, XZ3, YZ3, ZZR3, MX3,
MYR3.
Cuerpo 2:
XXR2 = XX2 YY2 D32(M3 + M4 + M5 + M6)
ZZR1 = ZZ1 + YY2 + D32(M3 + M4 + M5 + M6) + YY3
Parmetros mnimos: XXR2, XY2, XZR2, YZ2, ZZR2,
MXR2, MY2.
Cuerpo 1:
El nico parmetro no nulo es ZZR1.
Inercias:
Ia1 se reagrupa con ZZ1.
Ia2 se reagrupa con ZZ2.
Las frmulas finales de los parmetros que no son nulos se
muestran a continuacin:
ZZR1 = ZZ1 + YY2 + D32(M3 + M4 + M5 + M6) + YY3
XXR2 = XX2 YY2 D32(M3 + M4 + M5 + M6)
XZR2 = XZ2 D3MZ3
ZZR2 = ZZ2 + D32(M3 + M4 + M5 + M6)
MXR2 = MX2 + D3(M3 + M4 + M5 + M6)
XXR3 = XX3 + YY4 + 2RL4MZ4 + RL42(M4 + M5 + M6)
ZZR3 = ZZ3 + YY4 + 2RL4MZ4 + RL42(M4 + M5 + M6)
MYR3 = MY3 + MZ4 + RL4(M4 + M5 + M6)
XXR4 = XX4 + YY5 YY4
85
XXj
0
XXR2
XXR3
XXR4
XXR5
XXR6
j
1
2
MXj
0
MX
R2
MX3
MX4
MX5
MX6
3
4
5
6
XYj
0
XY2
XY3
XY4
XY5
XY6
XZj
0
XZR2
XZ3
XZ4
XZ5
XZ6
YYj
0
0
0
0
0
0
MYj
0
MY2
MZj
0
0
Mj
0
0
Iaj
0
0
MYR3
MYR4
MYR5
MY6
0
0
0
0
0
0
0
0
Ia3
Ia4
Ia5
Ia6
YZj
0
YZ2
YZ3
YZ4
YZ5
YZ6
ZZj
ZZR1
ZZR2
ZZR3
ZZR4
ZZR5
ZZ6
Si se supone que la distribucin de masas de cada cuerpo es simtrica respecto al sistema base de coordenadas de
cada articulacin, los trminos del tensor de inercia jJj fuera
de la diagonal son iguales a cero, lo cual simplifica los clculos. Haciendo un anlisis similar al mostrado en el Ejemplo
4.1 se llega a las siguientes simplificaciones adicionales:
MS1 = [0 0 MZ1 ]
MS2 = [MX 2
0]
MS3 = [0 MY3
MS 4 = [0 0 MZ 4 ]
MY2
0]
T
T
86
MS5 = [0 MY5
0]
MS6 = [0 0 MZ 6 ]
T
T
XXj
0
XXR2
XXR3
XXR4
XXR5
XXR6
XYj
0
0
0
0
0
0
j
1
2
3
4
5
6
MXj
0
MXR2
0
0
0
0
MYj
0
MY2
MYR3
0
MYR5
0
XZj
0
0
0
0
0
0
YYj
0
0
0
0
0
0
MZj
0
0
0
0
0
0
Mj
0
0
0
0
0
0
YZj
0
0
0
0
0
0
ZZj
ZZR1
ZZR2
ZZR3
ZZR4
ZZR5
ZZ6
Iaj
0
0
Ia3
Ia4
Ia5
Ia6
87
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
Segn la tabla de parmetros de base hallada anteriormente (Ejemplo 4.2.), las matrices del tensor de inercia y del
primer momento de inercia pueden organizarse as:
0
0
0 0
XXR2 0
2
J 1 = 0 0
0 ; J 2 = 0
0
0 ;
0 0 ZZR1
0
0 ZZR2
0
XXR3 0
0 0 0
3
J 3 = 0
0
0 ; I a = 0 0 0 ;
0
0 0 IA3
0 ZZR3
0
MXR2
0
2
3
MS1 = 0 ; MS2 = MY2 ; MS3 = MYR3
0
0
0
O =0
C 2 0 S 2 0 0 S 2q&1
2 = A1 1 + q& 2 a 2 = -S 2 0 C 2 0 + 0 = C 2q&1
0 -1 0 q&1 q& 2 q& 2
C 3 S 3 0 S 2q&1 0 S 23q&1
3
&
3 = A2 2 + q 3 a 3 = -S 3 C 3 0 C 2q&1 + 0 = C 23q&1
0
0 1 q& 2 q& 3 q& 2 + q& 3
V 0 =0
88
V 1 = 1 A0 0V0 + 0 0 0 P1 = 0
V2 = 2 A1 1V1 + 1 1 1P2 =0
3
V3 = 3 A2 2V2 + 2 2 2P3
2
-D 3C 2q&1 ]
Entonces:
D 3C 3q& 2
-D 3C 2q&1 ]
c) Clculo de los elementos de la matriz de inercia A, utilizando la ecuacin de la energa cintica (35):
Energa cintica del cuerpo 1:
1
E1 = 11T 1J 1 11 + M 1 1V1T 1V1 +2 1MS1T ( 1V1 11 )
2
0 0
0 0
1 1 T1 1
1
&
E1 = 1 J 1 1 = [0 0 q1 ] 0 0
0 0
2
2
0 0 ZZR1 q&1
1
= ZZR1q&12
2
Dado que M2 = 0 y 2V2 = 0, el trmino de la energa cintica para la segunda articulacin queda resumido a:
89
1 2 T2 2
2 J 2 2
2
0 S 2q&1
XXR2 0
1
0 ZZR2 q& 2
0
1
1
= XXR2S 22 q&12 + ZZR2 q& 22
2
2
E2 =
1 3 T3 3
3 J 3 3 + M 3 3V3 T 3V3 + 2 3MS3 T ( 3V3 3 3 )
Donde:
3
3 T 3J 3 33 =
0 S 23q&1
XXR3 0
90
2 3MS3 T ( 3V3 33 ) =
D 3C 3q& 22 + D 3C 3q& 2q& 3 + D 3C 2C 23q&12
2
2
&
&
=- 2MYR3D 3C 2S 23q1 - 2MYR3D 3S 3q 2 - 2MYR3D 3S 3q& 2q& 3
1
E 3 = -2MYR3D 3C 2S 23q&12 - 2MYR3D 3S 3q& 22
A22 =ZZR2+ZZR3-2MYR3D 3S 3
A33 = ZZR3+ IA 3
A12 = A21 =0
A13 = A31 =0
A23 =ZZR3-MYR3D 3S 3
Ntese que el valor de la inercia del accionador IA3 es
adicionada al trmino A33. Si existiesen por ejemplo las
inercias IA1 y IA2, deberan ser adicionadas a los trminos
A22 y A33 respectivamente.
91
U 1 =- 0 g T
MS1
0 T
0 0T1
=- g
M1
1
0
0
0 0T1 = 0
0
0
2MS2
0 0T2
M2
C1C 2 -C1S 2 S1
S1C 2 -S1S 2 -C1
0
S2
C2
0
0
0
0
0 MXR2
0 MY2
=- 0 g T
0 0
1 0
MXR2C1C 2 - MY2C1S 2
MXR2S1C 2 - MY2S1S 2
=- [0 0 G3 0]
MXR2S 2 + MY2C 2
=- G3MXR2S 2- G3MY2C 2
92
3MS3
0 0T3
M3
a1 -C1C 2S 3 - C1S 2S 3 b1 c1 0
a 2 -S1C 2S 3 - S1S 2C 3 b 2 c 2 MYR3
=- 0 g T 0
a 3
b 3 c 3 0
-S 2S 3 + C 2C 3
0
0 1 0
0
MYR3(-C1C 2S 3 - C1S 2S 3)
MYR3(-S1C 2S 3 - S1S 2C 3)
=- [0 0 G3 0]
MYR3C 23
=- G3MYR3C 23
U 3 =- 0 g T
Los trminos ai, bi y ci de la matriz anterior no se calculan pues no son necesarios, dado que el vector conformado
por 3MS3 y M3 tiene solo un elemento no nulo, perteneciente a la segunda fila.
U U
=
=0
q1 1
Q2 =
U U
=
=- G3MXR2C 2+G3MY2S 2+G3MYR3S 23
q 2 2
Q3 =
U U
=
= G3MYR3S 23
q 3 3
93
1 A11
= 0
2
3 0
0
A22
A23
0 q&&1 0
A23 q&&2 + Q2
A33 q&&3 Q3
Ejercicio 4.2:
Hallar la matriz A y el vector Q del modelo dinmico inverso de los robots del ejercicio.
Ejemplo 4.4: Hallar la expresin del modelo dinmico directo del ejemplo anterior (Ejemplo 4.3). En este caso se debe
despejar el vector de aceleraciones articulares e invertir la
matriz de inercia. Esto ltimo se puede realizar con la ayuda de Matlab, una vez definida la matriz de manera
simblica. El resultado es:
1
0
0
A11
&&
q
1
1
A23
A33
q&& = A 1 - Q = 0
Q2
2
2 2
B
B 2
q&&3
3 - Q3
A
A22 3 - Q3
0
- 23
B
B
Con:
B = A22 A33 - A232
94
5. I DENTIFICACIN PARAMTRICA
5.1. Introduccin
Dado que varias leyes de control estn basadas en el
modelo dinmico (control robusto, predictivo, adaptativo,
por par calculado, etc.), el modelo matemtico de la planta
debe ser conocido con cierta exactitud. Aun si no se tuviera
en cuenta el modelo en una ley de control (control PID por
ejemplo), para realizar la simulacin del robot en un ambiente como Matlab/Simulink se necesitan los valores de
los parmetros dinmicos del mecanismo. Estos parmetros son:
= XX j XYj XZ j YYj YZ j ZZ j MX j MYj MZ j M j Iaj
Las medidas, donde se miden cada uno de los cuerpos del robot. Esto implica que el robot debe ser
desmontado.
La aproximacin, donde a partir de consideraciones
geomtricas bsicas se pueden encontrar valores
aproximados (como en el Ejemplo 4.1).
El clculo, a partir de consideraciones geomtricas
y de un sistema CAO (como SolidEdge).
La identificacin, que es la mejor solucin para conocer en forma real los parmetros del robot.
Se explicar a continuacin el procedimiento de identificacin propuesto por Khalil y Dombre (2002). Ante todo se
95
= Aq&&(q )+ Q (q )
Y =W ( q , q& , q&& ) +
(43)
= Argmin
(44)
Y la solucin ser:
min Y -W Y - W
min Y TY - 2W T TY +W T T W
(45)
(46)
96
(47)
p =
Y -W
(r - c )
(48)
j
j
(49)
Normalmente se considera que se ha realizado una buena estimacin de parmetros cuando la desviacin estndar para cada parmetro es menor del 10%. Desviaciones
mayores a este valor obligan a realizar experimentaciones
adicionales hasta bajar el error por debajo del 10%.
97
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
A
11
A
21
=
A31
A41
A12
A22
A13
A23
A32
A42
A33
A43
A14 q&&1 Q1
A24 q&&2 Q2
+
A34 q&&3 Q3
A44 q&&4
Q4
Con:
A11 = ZZR1 + ZZR2 + 2MXR2D2C2 2MY2D2S2
2MXR3(D2C23 + D3C3) 2MYR3(D2S23 + D3S3) + ZZR3
M4D22 + 2M4D2D3C2 + M4D32
A12 = ZZR2 + MXR2D2C2 MY2D2S2 + ZZR3
MXR3(2D3C3 + D2C23) MYR3(2D3S3 + D2S23)
M4D2D3C2 + M4D32
A13 = ZZR3 + MXR3(D2C23 + D3C3) MYR3(D2S23
D3S3)
A14 = 0
+
+
+
+
+
98
A44 = M4 + IA4
Q1 = 0
Q2 = 0
Q3 = 0
Q4 = G3M4
Recurdese que la matriz de inercia es simtrica, por lo
tanto A12 = A21. El vector de once parmetros dinmicos a
identificar ser:
Y = =W
El modelo dinmico inverso del SCARA, expresado por
filas es:
99
0
0
&&
q3
0
ZZR1
ZZR2
ZZR3
MXR2
0
MXR3
0
MY2
0
MYR3
q&&4
M4
IA2
IA3
IA4
Con:
A = D 2C 2
B = ( D 2C 23 + D 3C 3 )
C = ( 2D 3C 3 + D 2C 23 )
D =- 2D 2S 2
E =- ( D 2S 23 + D 3S 3 )
F =- ( 2D 3S 3 + D 2S 23 )
G = D 32
H = D 3C 3
I = D 3S 3
Ejercicio 5.1:
Hallar la matriz W y la ecuacin general para identificacin de los robots del Ejercicio 2.1.
100
6. C ONTROL DE ROBOTS
6.1 Controladores industriales
La mayora de robots comerciales utilizan servomotores
elctricos, tanto DC como AC, con reductores de velocidad.
Para algunas aplicaciones especiales pueden encontrarse
robots con motores hidrulicos, mientras que los robots
accionados con motores neumticos son ya bastante raros.
Y todos poseen sensores de posicin en sus articulaciones,
siendo menos comn el uso de sensores de velocidad.
Los controladores industriales actuales son sistemas
especializados que proporcionan cuatro caractersticas que
permiten la integracin del robot en un sistema de automatizacin industrial. Estas caractersticas son:
a) Generacin de trayectorias y seguimiento de stas:
Los controladores industriales deben trabajar en tiempo
real, con tasas de muestreo de entre 10 y 20 milisegundos.
El controlador debe transformar las rdenes de consignas
deseadas en seales de movimiento que sean ejecutadas
por cada servo controlador individual que posean las articulaciones. Este controlador individual normalmente es un
clsico PID, lo cual es suficiente para la mayora de aplicaciones, pero que se queda corto en el seguimiento de consignas conjuntas de posicin y velocidad, o cuando se involucra el esfuerzo del robot sobre el ambiente. ltimamente
algunos fabricantes ofrecen sofisticados sistemas de control que integran control de movimiento, visin de mquina, sensado de fuerza y programacin de manufactura en
una misma plataforma, lo cual resuelve prcticamente
cualquier problemtica de la robtica industrial.
101
102
q (t )= q i + r (t ) D
q& (t )= r&(t ) D
(50)
Con: D = qf qi
La trayectoria que permitir realizar el movimiento articular deseado r(t) est definida por los siguientes valores
lmites (significa que empieza en 0 y termina en el valor
final):
r(0) = 0; r(tf) = 1
En seguimiento de trayectoria el trmino qf vara, siendo
entonces la distancia a recorrer:
D = qf(0) qi
Existen varias funciones que permiten satisfacer los requerimientos de la funcin q(t) para pasar suavemente de
103
qi a qf. A continuacin se muestran estas funciones, propuestas por Khalil y Dombre (2002). Para mayores detalles
se aconseja consultar ese documento.
q (t )= q i +
t
D
tf
(51)
(52)
a0 = q i
a2 =
a1 = 0
3
D
tf 2
a 3 =-
2
D
tf 3
(53)
104
qf
q&
3D/2tf
q&&
tf /2
6D/tf 2
t
6D/t
f2
q& j max =
3 Dj
2t f
(54)
Con: D j = q j f - q j i
Por su parte la aceleracin es mxima en t = 0 y t = tf :
105
q&&j max =
6 Dj
(55)
tf 2
q&&(0)= 0
q&&(t f )= 0
(56)
t
t
-15 + 6
tf
tf
(57)
15 D j
8t f
q&&j max =
10 D j
3 tf 2
106
(58)
qf
q&
15D/8tf
q&&
tf /2
10D/3tf 2
t
10D/3tf 2
107
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
t
i
q (t )= q + 2 D
tf
i
q (t )= q + -1+ 4
tf
para 0 t
t
- 2
tf
tf
2
t
D para f t t f
2
(59)
q& j max =
2 Dj
tf
q&&j max =
4 Dj
(60)
tf 2
qf
q&
2D/tf
q&&
tf /2
4D/tf 2
t
4D/tf 2
Figura 6.3. Evolucin de las consignas para la ley
tipo Bang- bang.
108
1 2
i
q (t )= q + 2 t ka sign ( D )
i
q (t )= q + t - kv sign ( D )
2
2
1
f
q (t )= q - (t f - t ) ka sign ( D )
2
Con: =
para 0 t
para t t f -
para t f - t t f
kv
ka
109
(61)
qf
q&
kv
ka
q&&
tf /2
ka
Figura 6.4. Evolucin de las consignas para la ley tipo Bang- bang
con trapecio en la velocidad.
D
kv
(62)
110
(63)
(64)
A continuacin se analizarn los dos tipos de controladores ms utilizados en robtica industrial segn las propuestas de Khalil y Dombre (2002): control PID y control
por par calculado. En este libro se hace un anlisis simple
de dichos controladores y se proponen unas leyes de control que son de fcil aplicacin para la mayora de los robots industriales tipo serie. Sin embargo no se trata el problema de la estabilidad de los mismos segn la funcin de
Lyapunov, y las no linealidades presentes en el modelo del
robot se solucionan con la linealizacin por realimentacin.
Para mayores detalles sobre estos dos importantes aspectos se invita al lector a que consulte Lewis et al. (2004),
Kelly et al. (2005) o cualquiera de los otros libros listados
anteriormente.
111
qd
_
Kp
Ki
q
Robot
+
q&
q&
Kv
_
Figura 6.5. Esquema control PID.
Ntese que el bloque Robot contiene el modelo dinmico directo (MDD), necesario para realizar la respectiva simulacin en un software como Simulink. La ley de control PID se escribe como:
= K p (q d - q )+ K v (q& d - q& )+ K i (q d - q )dt
(66)
El clculo de las ganancias Kp, Kv y Ki se realiza considerando el sistema robot, lineal y de segundo orden:
(67)
= a j q&& j + Fv q& j + j
Donde aj = Ajjmax designa el valor mximo del elemento
Ajj de la matriz de inercia A del robot y j es una fuerza
perturbadora.
112
q j (s )
K vj s 2 + K pj s + K ij
(68)
q j d (s ) a j s 3 +(K vj + Fvj )s 2 + K pj s + K ij
La solucin ms corriente consiste en escoger las ganancias con el fin de obtener un triple polo real negativo, lo
cual proporciona una respuesta rpida y sin oscilaciones.
Entonces:
(s )= a j s 3 +(K vj + Fvj )s 2 + K pj s + K ij = a j (s + j )3 ;
j > 0 (69)
Ubicando el polo tripe en la posicin j, se deducen entonces las ganancias del controlador:
K pj = 3a j j 2
K vj + Fvj = 3a j j
K =a 3
ij
j j
(70)
113
i.
ii.
iii.
iv.
v.
(71)
x
x = 1 ; y = x1
x
2
La ecuacin (64) puede entonces ser reescrita como:
(72)
0 I
0
; C = ; (x )= A(x1 ); (x ) = H (x1 , x 2 )
B =
0 0
I
(73)
Con:
115
= (x )v + (x )
(74)
(q )w (t )+ H (q , q& )
=A
(76)
q&& = w (t )
(77)
El vector w(t) se considera entonces como un nuevo vector de control, siendo sta la esencia del control por par
calculado. El problema se reduce entonces a un problema
de control de n sistemas lineales, invariantes, desacoplados
y de segundo orden (doble integrador). En la prctica esta
es una ventaja considerable para el control CTC, donde
cada articulacin se sintoniza por separado sin tener en
cuenta las dems.
Dependiendo del tipo de consigna se pueden tener los
siguientes esquemas para el control CTC.
6.5.1.1 Movimiento completo deseado
Se fijan como variables deseadas la posicin, la velocidad y la aceleracin. El vector de control se define como:
116
(78)
K pj = j
K vj = 2 j j
(80)
qd
q& d
d
q&&
e&
Kp
+ w
Kv
A (q )
+
+
q
Robot
q&
Algoritmo de
Newton-Euler
H (q,q& )
w (t )= K p (q d - q )- K v q&
(81)
q&& + K v q& + K p q = K p q d
(82)
Esto representa igualmente una ecuacin lineal desacoplada de segundo orden. Su esquema es:
qd
_
Kp
+ w
Kv
A (q )
q
Robot
q&
+
q
H (q,q& )
118
(84)
Reemplazando en la ecuacin general del modelo dinmico inverso (ecuacin (64)) se obtiene:
&& - Jq
& & )+H
(85)
= A J 1 ( X
Igualmente que para el caso en el espacio articular, una
ley de control que linealice y desacople las ecuaciones del
robot puede escribirse como:
& & ) + H
(86)
= A J 1 (w (t )- Jq
119
&& = w (t )
X
(87)
Existen varias soluciones para el controlador. Si se aplica un corrector PD, con el movimiento deseado completamente especificado se obtiene:
&& d + K (X& d - X& )+ K (X d - X )
w (t )= X
(88)
v
X& = J q&
X = f (q)
d
X&
+
&& d
X
Kp
+
Kv
MGD
+ ++
J(q)-1
A (q )
Robot
q&
Algoritmo de
NewtonEuler
H (q,q& )
J& q&
X& = J q&
X = f (q)
Kp
+
Kv
MGD
+ ++
J(q)-1
A (q )
Robot
q&
Algoritmo de
NewtonEuler
H (q,q& )
J& q&
Tngase en cuenta que ahora los valores de las ganancias proporcionales y derivativas a sintonizar son tres por
cada dimensin, independiente del nmero de articulaciones del robot. Es decir se sintonizarn los errores en los
ejes x, y e z, y no errores por cada articulacin. Esto hace
que el proceso de sintonizacin sea ms simple, aunque la
construccin del controlador total es ms compleja debido
a la presencia de la Jacobiana.
121
www.ai.unicauca.edu.co/Robotica
Los diferentes bloques de Simulink que se utilizarn son:
Men Sources:
From Workspace: Bloque que introduce en la simulacin
valores previamente cargados en memoria, por ejemplo las
consignas.
Men Sinks:
To Workspace: Bloque que enva al espacio de trabajo
las variables definidas en este bloque.
Scope: Osciloscopio que muestra las seales de entrada.
El orden de las seales segn el color es: primera seal
(amarillo); segunda seal (fucsia); tercera seal (azul claro);
cuarta seal (rojo); quinta seal (verde); sexta seal (azul
oscuro); etctera.
XY Graph: Osciloscopio que muestra la seal X sobre Y.
123
Consignas:
En los ejercicios desarrollados en este libro se tratarn
las siguientes consignas:
% Tiempo de muestreo:
Tem=0.001;
% Posicin inicial y final (en radianes):
Qiniti = 0.0;
Qfini = 1.0;
% Tiempo final de la trayectoria:
Tfini=1.0;
% Clculo de la distancia a recorrer:
delta_pos=Qfini-Qiniti;
% Puntos de quiebre:
t1=0;
t2=Tfini;
t3=2*Tfini;
t4=Tfini;
% Calculo del nmero de muestras:
nbech=1000;
instant=[0.001:Tem:1]';
xt=0;
temps=0;
p=[]';
% Construccin de los vectores para la simulacin:
for g=1:1:nbech
p(g)=xt;
126
if (temps<=t2)
ti=t1;
a0=Qfini*(10*(temps/Tfini)^3 - 15*(temps/Tfini)^4 +
6*(temps/Tfini)^5);
elseif (temps<=t3)
ti=t2;
a0=Qfini;
end
xt=a0;
temps=temps+Tem;
end
qd_1 = p';
%Consigna articular:
cons1 = qd_1;
La forma de la consigna es:
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
100
200
300
400
500
600
700
800
900
1000
128
0.44
0.42
0.4
0.38
0.36
0.34
0.34
0.36
0.38
0.4
0.42
0.44
0.46
129
0.375
0.37
0.365
0.36
0.355
0.35
0.35
0.352
0.354
0.356
0.358
0.36
0.362
0.364
0.366
132
133
1.5
Articulacin 1
Articulacin 2
Articulacin 3
Articulacin 4
Consignas (rads)
0.5
100
200
300
400
500
600
Tiempo (ms)
700
800
900
1000
Mux
pos
Consignas
[i nstant qd_2]
scara_directo
Torques
q2d
Zero-Order
Hold
Pos/Vel
[i nstant qd_3]
pos
Dem ux
MDD
vel
vel
Control PID
q3d
[i nstant qd_4]
q4d
Zero-Order
Hold1
1
s
-K-
1
Torques
Integrator
Ki
du/dt
Derivative
-K-
Dem ux
2
Pos/Vel
Sum 3
Kd
clear all;
clc;
% Tiempo de muestreo
Tem=0.001;
% Trayectoria deseada:
grado_cinco;
% Valores articulares iniciales para el SCARA:
QI = [0;0;0;0];
% Ganancias del controlador PID:
KP1=60000;
KV1=70;
KI1=0;
KP2=20000;
KV2=50;
KI2=0;
135
KP3=40000;
KV3=50;
KI3=0;
KP4=50000;
KV4=100;
KI4=0;
Los errores articulares obtenidos son:
-4
x 10
Articulacin 1
Articulacin 2
Articulacin 3
Articulacin 4
4
2
0
-2
-4
-6
-8
0
100
200
300
400
500
600
Tiempo (ms)
700
800
900
1000
Ejercicio 7.1:
Sintonizar el controlador PID articular con el fin de obtener errores articulares menores de 3x10-4.
7.2.2 Simulacin de un control CTC articular
El control CTC involucra el modelo de la planta, representado por el modelo dinmico inverso (archivo scara_inverso1.m). Teniendo las mismas consignas del caso
anterior, el esquema de esta estrategia es:
136
Y(4,1)
[instant qd_1]
pos
q1d
Mux
Consignas
MATLAB
Function
Mux
Torques
[instant qd_2]
Zero-Order
Hold
MDI
Pos/Vel
q2d
[instant qd_3]
Demux
scara_directo1
MDD
pos
vel
vel
Control CTC
q3d
[instant qd_4]
q4d
Zero-Order
Hold1
El bloque MDI tiene 12 entradas: 4 posiciones, 4 velocidades y 4 aceleraciones. Por lo tanto al dar doble click sobre l debe colocarse el llamado a la funcin respectiva as:
scara_inverso1(u(1),u(2),u(3),u(4),u(5),u(6),u(7),u(8),u(9),u(10),
u(11),u(12))
El bloque del control CTC es:
entrada1
4
-K-
Ganancia posicion
4
4
4
Demux
1
salida
entrada2
4
-K-
Ganancia velocidad
Sum3
137
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
16
x 10
14
12
10
8
6
4
2
Articulacin 1
Articulacin 2
Articulacin 3
Articulacin 4
0
-2
100
200
300
400
500
600
Tiempo (ms)
700
800
900
1000
Ejercicio 7.2:
Sintonizar el controlador CTC articular con el fin de obtener errores articulares menores de 5x10-4.
7.2.3 Simulacin de un control PID cartesiano
La consigna deseada est definida ahora en el archivo
circular.m, equivalente a un crculo de 5 centmetros de
138
[instant cons1]
4
4
Posicion deseada 1
[instant cons2 ]
Posicion deseada 2
[instant cons3 ]
Mux
MATLAB
Function
MGI
salida
8
Control
PID
scara_directo
Zero-Order
Hold
entrada2
Posicion deseada 3
Pos
Posiciones
entrada1
8
8
Demux
mod_directo
Vel
Velocidades
8
8
Zero-Order
Hold1
xr
To Workspace
yr
To Workspace1
MATLAB
Function
Dif Circular
em
MAT LAB
Function
E Cartesiano
Terminator2
mgi_scara(u(1),u(2),u(3))
Es decir este bloque llama al archivo mgi_scara.m, el
cual debe haber sido escrito con anterioridad. El archivo
contiene el modelo geomtrico inverso del SCARA, el cual
se escribe:
sy = 0;
sx = 1;
C2 = (x1^2 + x2^2 - D2^2 - D3^2)/(2*D2*D3);
B1 = D2 + D3*C2;
% Valor de la segunda articulacin:
q2 = atan2((-sqrt(1 - C2^2)),C2);
B2 = D3*sin(q2);
S1 = (B1*x2 - B2*x1)/(B1^2 + B2^2);
C1 = (B1*x1 + B2*x2)/(B1^2 + B2^2);
% Valor de la primera articulacin:
q1 = atan2(S1,C1);
% Valor de la tercera articulacin:
q3 = atan2(sy,sx) - q2 - q1;
% Valor de la cuarta articulacin:
q4 = x3;
salida = [q1 q2 q3 q4];
Igualmente esta estrategia de control debe involucrar el
modelo geomtrico directo (MGD), ya que las seales que
entrega el robot son articulares y deben transformarse en
seales cartesianas para ser comparadas con las consignas
iniciales. En la MATLAB Fcn que contiene al MGD se escribe:
mgd_scara(u(1),u(2),u(3),u(4))
El archivo mgd_scara.m tiene el respectivo modelo:
D3 = 0.3;
% Matriz de transformacin 0T4 (modelo geomtrico directo):
TTT = [cos(q1+q2+q3) -sin(q1+q2+q3) 0 (D3*cos(q1+q2) +
D2*cos(q1));
sin(q1+q2+q3) cos(q1+q2+q3) 0 (D3*sin(q1+q2) +
D2*sin(q1));
0 0 1 q4;
0 0 0 1];
% Valores de la cuarta columna:
xa = TTT(1,4);
ya = TTT(2,4);
za = TTT(3,4);
salida = [xa ya za];
Para hallar el error cartesiano se utiliza el bloque Dif
Circular, el cual contiene el archivo Diferencia.m. En este
archivo se realiza un clculo del mdulo de los errores
cuadrticos en cada eje, entregando la diferencia entre el
crculo deseado y el crculo obtenido. Su cdigo es:
141
QI = mgi_scara(cons1(1),cons2(1),cons3(1))
El archivo inicio.m se escribe entonces:
142
143
-3
1.5
x 10
Articulacin 1
Articulacin 2
Articulacin 3
Articulacin 4
0.5
-0.5
-1
500
1000
1500
Tiempo (ms)
2000
2500
3000
4.5
x 10
3.5
3
2.5
2
1.5
1
0.5
0
500
1000
1500
Tiempo (ms)
2000
2500
3000
144
0.351
0.3505
0.35
Eje Y (m)
0.3495
0.349
0.3485
0.348
0.3475
0.347
0.3465
0.346
0.398
0.4
0.402
0.404
0.406
0.408
Eje X (m)
0.41
0.412
0.414
Ejercicio 7.3:
Sintonizar el controlador PID cartesiano con el fin de obtener un error cartesiano menor de 1x10-4 metros (100
micras).
7.2.4 Simulacin de un control CTC cartesiano
El control CTC involucra el modelo de la planta, representado por el modelo dinmico inverso (archivo scara_inverso1.m). Teniendo la misma consigna circular del
caso anterior, el esquema de esta estrategia es:
145
Y(4,1)
[instant cons1]
4
4
Posicion deseada 1
[instant cons2 ]
Mux
MAT LAB
Function
MGI
Posicion deseada 2
salida
8
[instant cons3 ]
Mux
12
MAT LAB
Function
scara_directo1
Zero-Order
Hold2
MDI
entrada2
8
8
Demux
mod_directo
Vel
Velocidades
CTC
Posicion deseada 3
Pos
Posiciones
entrada1
8
8
Zero-Order
Hold1
x1
em
To Workspace
4
MATLAB
Function
Dif Circular
y1
E Cartesiano
MATLAB
Function
MGD
4
4
Zero-Order
Hold3
T erminator
T o Workspace1
KP1=125000;
KV1=250;
KP2=140000;
KV2=200;
KP3=150000;
KV3=1000;
KP4=120000;
KV4=700;
El error articular es:
-3
x 10
Articulacin 1
Articulacin 2
Articulacin 3
Articulacin 4
-1
-2
-3
500
1000
1500
Tiempo (ms)
2000
2500
3000
147
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
-4
x 10
500
1000
1500
Tiempo (ms)
2000
2500
3000
Consigna
Seal obtenida
0.351
0.3505
0.35
Eje Y (m)
0.3495
0.349
0.3485
0.348
0.3475
0.347
0.3465
0.346
0.398
0.4
0.402
0.404
0.406
0.408
Eje X (m)
0.41
0.412
0.414
Ejercicio 7.4:
Sintonizar el controlador CTC cartesiano con el fin de
obtener un error cartesiano menor de 1x10-4 metros (100
micras).
148
salida = Vector;
Posicin cartesiana: Contenida en el archivo Xpunto.m.
El archivo tiene 8 entradas: cuatro posiciones articulares y
cuatro velocidades articulares, todas tomadas desde la
salida. Con las posiciones articulares se halla la Jacobiana
y luego sta se multiplica por el vector de velocidades articulares con el fin de obtener X& . El cdigo es:
function salida = Xpunto(q1,q2,q3,q4,qp1,qp2,qp3,qp4)
% Velocidad cartesiana X mayscula: incluye a x punto, y
punto, z punto.
qp = [qp1 qp2 qp4]';
D2 = 0.5;
D3 = 0.3;
t1 = q1;
t2 = q2;
% Matriz Jacobiana (3x3):
J = [-(D3*sin(t1+t2)+D2*sin(t1)) -D3*sin(t1+t2) 0;
D3*cos(t1+t2)+D2*cos(t1) D3*cos(t1+t2) 0;
0 0 -1];
% Clculo de Xpunto = J*Qpunto (modelo cinemtico directo):
A = J*qp;
salida = A;
Derivada de la Jacobiana por la velocidad articular:
Contenida en el archivo JpQp.m. El archivo tiene 8 entradas: cuatro posiciones articulares y cuatro velocidades articulares, todas tomadas desde la salida. La Jacobiana se
150
salida = A;
El esquema en Simulink de este controlador puede verse a continuacin. Se recomienda compararlo detalladamente con aquel presentado en la parte terica con el fin
de comprender bien lo que se est implementando.
Y(4,1)
[instant cons1]
4
4
Posicion deseada 1
[instant cons2 ]
Mux
7
4
MATLAB
Function
Mux
12
MATLAB
Function
MDI
Jinv
-K-
8
8
scara_directo1
Zero-Order
Hold
Demux
mod_directo
Vel
Velocidades
Gain1
Posicion deseada 3
Pos
Posiciones
Gain 3
Posicion deseada 2
[instant cons3 ]
3 -K-
3
3
8
8
Zero-Order
Hold1
MATLAB
Function
Jpunto Qpunto
3
4
MATLAB
Function
xr
Diferencia
To Workspace
E Cartesiano
MATLAB
Function
4
4
Zero-Order
Hold2
MGD
yr
MATLAB
Function
Xpunto
To Workspace1
Terminator
El archivo inicio.m es similar al del control CTC cartesiano, utilizndose las siguientes ganancias del controlador:
KP1=125000;
KV1=250;
KP2=140000;
KV2=200;
KP3=150000;
KV3=1000;
Nota: Debido a la necesidad de calcular la matriz Jacobiana, este controlador no puede funcionar si los valores
iniciales de las articulaciones estn en cero radianes. Por lo
tanto debe encontrarse el valor correcto o aproximado de
QI antes de correr el programa en Simulink. Es decir
152
x 10
Eje x
Eje y
Eje z
3
2
1
0
-1
-2
-3
500
1000
1500
Tiempo (ms)
2000
2500
3000
x 10
500
1000
1500
Tiempo (ms)
2000
2500
3000
153
Eje Y (m)
0.35
0.349
0.348
0.347
0.346
0.398
0.4
0.402
0.404
0.406
0.408
Eje X (m)
0.41
0.412
0.414
Ejercicio 7.5:
Sintonizar el controlador CTC operacional con el fin de
obtener un error cartesiano menor de 1x10-4 metros (100
micras).
7.2.6 Simulacin de una consigna lineal con cambio de
direccin
En este caso la trayectoria deseada se llama lineal.m, y los
esquemas de control PID y CTC son los mismos utilizados
para el control cartesiano. Solamente se cambia en el archivo
inicio.m, de consigna circular a consigna lineal, conservndose los valores de las ganancias en los dos casos.
El error cartesiano obtenido para el CTC en el cambio de
direccin es de menos de 6x10-5 metros, estabilizndose en
un valor fijo 100 milisegundos despus. Esto puede observarse en la siguiente figura:
154
-5
x 10
5.5
5
4.5
4
3.5
3
2.5
2
1.5
1
1000
1100
1200
1300
1700
1800
1900
2000
Realizando un zoom sobre el momento del cambio de direccin puede verse como el controlador rpidamente corrige y sigue la trayectoria deseada.
0.3655
Consigna
Seal obtenida
0.3654
0.3653
0.3652
Eje Y (m)
0.3651
0.365
0.3649
0.3648
0.3647
0.3646
0.3645
0.3645
0.3646
0.3647
0.3648
Eje X (m)
0.3649
0.365
0.3651
x 10
6
5
4
3
2
1
0
1000
1100
1200
1300
1700
1800
1900
2000
0.3654
0.3653
0.3652
Eje Y (m)
0.3651
0.365
0.3649
0.3648
0.3647
0.3646
0.3645
0.3645
0.3646
0.3647
0.3648
Eje X (m)
0.3649
0.365
0.3651
Ejercicio 7.6:
156
[instant qd1]
q1d
Mux
4
4
Consignas
Torq
[instant qd2]
q2d
Mux
12
MAT LAB
Function
MDI
Pos/Vel
[instant qd3]
Zero-Order
Hold1
scara_directo1
8
8
mod_inverso
Pos
q1
Demux
4
Vel
q2
CTC
4
4
4
q3d
Scope2
[instant qd4]
q4d
Out1
In1
Perturbaciones
8
8
Zero-Order
Hold2
4
4
Zero-Order
Hold3
157
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
em
1
Out1
em
1
In1
Perturbacion3
Perturbacion4
Las perturbaciones son inyectadas a las posiciones articulares de realimentacin del sistema. Por el contrario los
datos de velocidad se supone pasan sin inconveniente
hacia la entrada. La perturbacin se simula con un bloque
Pulse Generator con los siguientes parmetros:
Pulse type: Time based
Time (t): use simulation time
Amplitude: 0.2
Periode (secs): 10
Pulse width (% of period): 0.1
Phase delay (secs): 0.3
El archivo inicio_perturbacion.m define las consignas fijas para cada una de las articulaciones del robot. El cdigo
es:
% Inicio regulador CTC para rechazo de perturbaciones:
clear all;
clc;
% Posiciones iniciales fijas:
158
QI=[1.2;0.7;0.5;0.2];
Tem = 0.001;
Tfinal = 1.0;
% Definicin de la base de tiempo;
instant=[0:Tem:Tfinal-Tem]';
% Definicin de los valores fijos de consignas:
qd1
qd2
qd3
qd4
=
=
=
=
1.2*ones(1000,1);
0.7*ones(1000,1);
0.5*ones(1000,1);
0.2*ones(1000,1);
159
0.3
0.25
0.2
Perturbacin (rads)
0.15
0.1
0.05
0
-0.05
-0.1
-0.15
-0.2
100
200
300
400
500
600
Tiempo (ms)
700
800
900
1000
Ejercicio 7.7:
Implementar un controlador PID articular y sintonizar
para rechazo de perturbaciones, con el fin de obtener un
resultado similar al obtenido con el CTC articular.
7.2.8 Presencia de errores en el modelo
El xito de un controlador basado en el modelo radica
en un buen conocimiento de los valores de los parmetros
dinmicos, lo que significa haber obtenido previamente
buenos resultados a partir del proceso de identificacin
paramtrica. Pero una identificacin perfecta no es posible,
y siempre existirn diferencias entre el valor real de un
parmetro y su valor identificado o supuesto.
Para evitar estas diferencias entre el modelo real y el
modelo identificado o supuesto, se han diseado una gran
cantidad de soluciones que involucran controladores avanzados como el robusto, el adaptativo, el predictivo, etctera.
Sin embargo, a menos que para una aplicacin industrial
en particular se necesite mejorar notablemente los resultados obtenidos, el control por par calculado visto debera
manejar bastante bien los errores presentes en el modelo.
En esta seccin se ver el comportamiento de un control
CTC cartesiano cuando existen errores del 50% en todos
160
los valores de los parmetros dinmicos. Para esto se disminuye en un 50% los valores obtenidos en la Tabla 3. Los
valores errneos se colocan en el modelo dinmico inverso (archivo scara_inverso1.m), dejndose los valores reales
en el modelo dinmico directo (archivo scara_directo1.m).
Se introducen como consignas a este controlador con
errores en los parmetros, la consigna circular y la consigna lineal con cambio de direccin, vistas anteriormente.
Las siguientes figuras muestran los nuevos errores cartesianos obtenidos.
La Figura muestra el nuevo error cartesiano frente a la
consigna circular. Si se compara este resultado con la Figura puede verse que el error transitorio ha aumentado
desde 3.5x10-4 m hasta casi 5x10-4 m, aunque el error estacionario no presenta cambios aparentes.
Para el caso de la consigna lineal con cambio de direccin, el nuevo error cartesiano llega hasta 8.5x10-5 m,
mientras que anteriormente se haba visto en la Figura que
ste llegaba solo a 5.5x10-5 m. Adems han aumentado
ahora las oscilaciones.
-4
x 10
500
1000
1500
Tiempo (ms)
2000
2500
3000
161
-5
x 10
1
1000
1100
1200
1300
1700
1800
1900
2000
162
1
0
A11
&&
q1
1
A33
q&& = A 1 - Q = 0
2
2
2
B
q&&3
3 - Q3
A23
0
B
Con:
1
A23
Q2
B 2
A22 3 - Q3
B
0
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;
El vector x0 define los valores iniciales de los estados
definidos. Para las posiciones son los valores definidos para
QI en el archivo de inicio respectivo y para las velocidades
es cero, con el fin de asegurar continuidad en estas seales.
Lnea 73:
x0=[QI(1);QI(2);QI(3);0;0;0];
Se colocan los valores de los parmetros geomtricos y
dinmicos que aparecen en las ecuaciones del modelo
dinmico inverso:
Lnea 93:
G3=9.81;
D3=0.4;
ZZR1=4.25;
ZZR2=1.25;
ZZR3=0.58;
XXR2=0.90;
XXR3=0.40;
MXR2=0.35;
MY2=0.05;
MYR3=0.10;
IA3=0.040;
Se definen luego las entradas (cuplas ) y los estados
del sistema de x(1) a x(6), donde los tres primeros son posiciones articulares y los tres siguientes las velocidades articulares (QPi):
GAM1=u(1);
GAM2=u(2);
GAM3=u(3);
S1=sin(x(1));
164
C1=cos(x(1));
S2=sin(x(2));
C2=cos(x(2));
S3=sin(x(3));
C3=cos(x(3));
QP1=x(4);
QP2=x(5);
QP3=x(6);
Posteriormente se deben escribir las ecuaciones del modelo dinmico directo as:
A11=ZZR1+XXR2*S2^2+XXR3*S23^2-2*MYR3*D3*C2*S23;
A22=ZZR2+ZZR3-2*MYR3*D3*S3;
A33=ZZR3+IA3;
A23=ZZR3-MYR3*D3*S3;
Q2=-G3*MXR2*C2+G3*MY2*S2+G3*MYR3*S23;
Q3=G3*MYR3*S23;
B=A22*A33-A23^2;
QDP1 = 1/A11+GAM1;
QDP2 = (A33/B)*(GAM2-Q2)-(A23/B)*(GAM3-Q3);
QDP3 = -(A23/B)*(GAM2-Q2)+(A22/B)*(GAM3-Q3);
Finalmente se describen y organizan las salidas del sistema:
sys(1)
sys(2)
sys(3)
sys(4)
sys(5)
sys(6)
=
=
=
=
=
=
x(4) ;
x(5) ;
x(6) ;
QDP1;
QDP2;
QDP3;
% end mdlDerivatives
% mdlOutputs
% Return the block outputs.
165
function sys=mdlOutputs(t,x,u)
sys(1)
sys(2)
sys(3)
sys(4)
sys(5)
sys(6)
=
=
=
=
=
=
x(1);
x(2);
x(3);
x(4);
x(5);
x(6);
clear all
clc
Tem = 0.001;
grado_cinco;
QI = [0;0;0];
KP1=80000;
KV1=100;
KI1=0;
KP2=80000;
KV2=100;
KI2=0;
KP3=80000;
KV3=100;
KI3=0;
Los errores articulares que se obtienen con estos valores
de ganancia son:
166
-4
x 10
Articulacin 1
Articulacin 2
Articulacin 3
1.5
1
0.5
0
-0.5
-1
-1.5
-2
-2.5
100
200
300
400
500
600
Tiempo (ms)
700
800
900
1000
1 A11
= 0
2
3 0
0
A22
A23
0 q&&1 0
A23 q&&2 + Q2
A33 q&&3 Q3
function GAM =
puma_inverso(pos1,pos2,pos3,vel1,vel2,vel3,w1,w2,w3)
% Definicin de los parmetros geomtricos y dinmicos:
G3=9.81;
D3=0.4;
ZZR1=4.25;
ZZR2=1.25;
ZZR3=0.58;
XXR2=0.90;
XXR3=0.40;
MXR2=0.35;
MY2=0.05;
167
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
MYR3=0.10;
IA3=0.040;
% Definicin de las entradas del sistema:
S1=sin(pos1);
C1=cos(pos1);
S2=sin(pos2);
C2=cos(pos2);
S3=sin(pos3);
C3=cos(pos3);
S23=sin(pos2+pos3);
C23=cos(pos2+pos3);
QP1=vel1;
QP2=vel2;
QP3=vel3;
QDP1=w1;
QDP2=w2;
QDP3=w3;
% Definicin de la matriz de inercia:
A11=ZZR1+XXR2*S2^2+XXR3*S23^2-2*MYR3*D3*C2*S23;
A22=ZZR2+ZZR3-2*MYR3*D3*S3;
A33=ZZR3+IA3;
A23=ZZR3-MYR3*D3*S3;
Q2=-G3*MXR2*C2+G3*MY2*S2+G3*MYR3*S23;
Q3=G3*MYR3*S23;
B=A22*A33-A23^2;
% Modelo dinmico inverso:
GAM1 = A11*QDP1;
GAM2 = A22*QDP2 + A23*QDP3 + Q2;
GAM3 = A23*QDP3 + A33*QDP3 + Q3;
% Salidas finales:
GAM(1) = GAM1;
GAM(2) = GAM2;
GAM(3) = GAM3;
168
Con este procedimiento, construyendo el modelo dinmico directo en una S-Function (y eventualmente el modelo
dinmico inverso en una MATLAB Fcn), y siguiendo los
pasos vistos en este ejemplo, se puede simular cualquier
robot tipo serie partiendo de la definicin de los ejes y la
tabla de parmetros geomtricos hasta llegar al modelo
dinmico directo, base principal de la simulacin.
Ejercicio 7.8:
1) Implementar un controlador PID articular y utilizar como consigna una trayectoria tipo Bang-bang (archivo bangbang.m en la pgina Web www.ai.unicauca.edu.co/Robotica).
Sintonizar para obtener un error articular menor a 300
micras (3x10-4 metros).
2) Implementar un control CTC cartesiano y utilizar como consigna un crculo de 2 centmetros de dimetro, realizado en 2 segundos y con centro en (0.35, -0.35). Sintonizar para obtener un error cartesiano menor a 100 micras
(1x10-4 metros).
3) Implementar un control PID cartesiano y utilizar una
consigna lineal con cambio de direccin, realizada en 1
segundo e iniciando en el punto (-0.4, -0.4). Sintonizar
para obtener un error cartesiano de mximo 100 micras
(1x10-4 metros) en el momento del cambio de direccin.
4) Implementar un control CTC operacional utilizando
una consigna elipsoidal (amplitud de la seal seno igual a
0.02 m; amplitud de la seal coseno igual a 0.001 m), centrada en (0.4, 0.4) y realizada en 3 segundos. Sintonizar
para obtener un error cartesiano menor a 100 micras
(1x10-4 metros).
169
8. E JERCICIOS RESUELTOS
A continuacin se presenta la solucin de buena parte
de los ejercicios propuestos.
Ejercicio 1.1:
a)
Zi
0
-1
i
Tj =
0
0
0
-1
0
1
0
0
0
3
5
5
Xj
Zj
Yj
5
Yi
3
Xi
Ejercicio 2.1:
a)
z0, z1
x0,
x1
j
1
2
3
z3
x2,
x3
z2
b)
171
0
0
1
0
-90
90
dj
0
0
0
j
1
2
0
rj
0
R2
r3
x2,
x3,
x4
z0, z1
z3, z4
x0,
x1
j
1
2
3
4
z2
1
1
1
0
0
-90
90
0
dj
0
0
0
0
0
-90
0
4
rj
r1
r2
r3
0
d)
z2
z3
x2,
x3
j
1
2
3
0
1
1
0
90
-90
z0, z1
x0,
x1
172
dj
0
0
0
j
1
0
0
rj
0
r2
r3
Ejercicio 2.2:
a)
C1
S1
0
T1 =
0
0
1
0
2
T3 =
0
-S1 0 0
C 2 -S 2
0
C1 0 0 1
0
; T2 =
0 1 0
-S 2 -C 2
0 0 1
0
0
0 0
1 R 2
;
0 0
0 1
0 0 0
0 -1 -r 3
1 0 0
0 0 1
C1C 2 -S1 C1S 2 C1S 2r 3 - S1R 2
S1C 2 C1 S1S 2 S1S 2r 3 + C1R 2
0
T3 =
-S 2
C2
C 2r 3
0
0
0
1
0
b)
1
0
0
T1 =
0
0 0
1 0
1
0
2
T3 =
0
0 0
0 -1
0 1
0 0
1
0
0
0
0
0 1
0 0
0 1
; T2 =
1 0
r1
1
0 0
0
C 4
S 4
-r 3 3
; T4 =
0
0
1
0
0 0
1 r 2
;
0 0
0 1
-S 4 0 0
C 4 0 0
0 1 0
0 0 1
0 -1 -r 3
0
S 4 C 4 0 r 2
0
T4 =
C 4 -S 4 0 r1
0
0 1
0
173
d)
C1 -S1 0 0
1
S1 C1 0 0
0
; 1T = 0
T1 =
2
0
0
0 1 0
0 0 1
0
0
0 0 0
0 -1 -r 2
;
1 0 0
0 0 1
1 0 0 0
0 0 1 r 3
2
T3 =
0 -1 0 0
0 0 0 1
C1 -S1 0 S1r 2
S1 C1 0 -C1r 2
0
T3 =
0
r3
0 1
0 0
1
0
Ejercicio 2.3:
a) U 0 = 0T1 1T2 2T3
Primera iteracin de Paul:
1
T0U 0 = 1T3
T1 1T0U 0 = 2T3
174
Tampoco es clara la solucin de cualquiera de las ecuaciones. Se procede entonces a analizar los valores de las
matrices de orientacin de la primera iteracin:
-S 2 0 C 2
sz
nz
az
Igualando los trminos (1,2) a cada lado se obtiene:
C1nx + S1ny =0
Luego: 1 = atan(nx,ny)
Para hallar r3 se toman de nuevo las ecuaciones de las
cuartas columnas de la primera iteracin:
C1Px + S1Py = S 2r 3
Pz = C 2r 3
Haciendo B1= C1Px + S1Py , las ecuaciones anteriores se
reescriben como:
B1= S 2r 3
Pz = C 2r 3
Elevando al cuadrado y sumando:
B12 + Pz 2 = r 32
Luego: r 3 = B12 + Pz 2
175
Finalmente para 2:
S 2= B1/r 3
C 2= Pz /r 3
Obtenindose 2 = atan(S2,C2)
b) U 0 = 0T1 1T2 2T3 3T4
Primera iteracin de Paul:
1
T0U 0 = 1T4
Por lo tanto:
r1 = Pz
r2 = Py
r3 = Px
De la primera iteracin con la matriz de orientacin
( 1T0U 0 = 1T4 ) se obtiene:
0 -1
sx nx ax 0
sy ny ay = S 4 C 4 0
sz nz az C 4 -S 4 0
Entonces una solucin para 4 podra ser:
4 = atan(sy, ny)
d) U 0 = 0T1 1T2 2T3
176
T0U 0 = 1T3
Luego:
1 = atan(Px,Py)
r2 = (S1PxC1Py)
r3 =Pz
Ejercicio 3.1:
a) La matriz Jacobiana estar definida como:
0
a3
Ntese que la tercera columna tiene una expresin diferente ya que la articulacin es prismtica. Se tienen en
total seis vectores, la solucin para cada uno de ellos es:
Primera columna:
1
- P3y s1 + P3 x
C1
-S1
n1 =- (R 2) S1 +(S 2r 3) C1
0
0
-R 2C1- S1S 2r 3
= -R 2S1 + C1S 2r 3
0
0
0
a1 = 0
1
177
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
Segunda columna:
2
- P3y s 2 + P3 x
C1C 2
-C1S 2 r 3C1C 2
-S1
a 2 = C1
0
Tercera columna:
C1S 2
0
a 3 = S1S 2 ; 0 = 0
0
C 2
1
0
0
z
0a
J4 = 1
0
a2
0
a3
0
- 4P4y 0s 4 + 4P4 x 0n 4
0
a4
178
Primera columna:
0
0
0
a1 = 0 ; 0 = 0
1
0
Segunda columna:
0
0
a 2 = 1 ; 0 = 0
0
0
Tercera columna:
-1
0
a 3 = 0 ; 0 = 0
0
0
Cuarta columna:
4
- P4y s 4 + P4 x
0
0 0
-1
a 4 = 0
0
El modelo cinemtico directo puede expresarse como:
x& 0
y& 0
z& 1
=
x 0
y 0
z 0
0 -1 0
1 0 0 q&1
0 0 0 q& 2
0 0 -1 q& 3
0 0 0 q& 4
0 0 0
179
- 1P 0s + 1P3 x 0n1
J 3 = 3y 10
a1
a2
0
a3
C1
-S1 r 2C1
0
- 1P3y 0s1 + 1P3 x 0n1 =- (-r 2) S1 +(0) C1 = r 2S1 ; 0a1 = 0
0
0 0
1
Segunda columna:
0
S1
0
a 2 = -C1 ; 0 = 0
0
0
Tercera columna:
0
0
a 3 = 0 ; 0 = 0
1
0
0 0
z 1
180
Ejercicio 4.1:
a) Para este caso r1 = 1 y r2 = 2.
Se aplican las frmulas del caso as:
Cuerpo 3 (j = 3):
Segn la frmula 1b (seccin 4.4.1) para una articulacin prismtica y teniendo en cuenta la tabla de parmetros geomtricos vista en el Ejercicio 2.1:
XXR2 = XX2 XX3
XYR2 = XY2 XZ3
XZR2 = XZ2 + XY3
YYR2 = YY2 + ZZ3
YZR2 = YZ2 YZ3
ZZR2 = ZZ2 + YY3
Los trminos XX3, XY3, XZ3, YY3, YZ3, ZZ3 son eliminados segn la definicin. Revisando las otras frmulas se
observa que no hay ninguna otra que pueda ser aplicada a
este cuerpo prismtico.
Cuerpo 2 (j = 2):
Frmula 1a (seccin 4.4.1) para una articulacin rotoide, donde se eliminan los parmetros YY2, MZ2 y M2:
XXR2 = XX2 YY2 = (XX2 XX3) (YY2 + ZZ3)
XXR1 = XX1 + YY2 + 2R2MZ2 + R22M2 = XX1 + (YY2 +
ZZ3) + 2R2MZ2 + R22M2
ZZR1 = ZZ1 + YY2 + 2R2MZ2 + R22M2 = ZZ1 + (YY2 +
ZZ3) + 2R2MZ2 + R22M2
MYR1 = MY1 + MZ2 + R2M2
MR1 = M1 + M2
En este caso varios parmetros pasan sin el reagrupamiento (XY1, XZ1, YY1, YZ1, MX1, MZ1). Por otra parte no
hay ninguna otra frmula que pueda ser aplicada a este
cuerpo rotoide.
Cuerpo 1 (j = 1):
181
XXj
0
XXR2
0
j
1
2
3
MXj
0
MX2
MX3
XYj
0
XYR2
0
MYj
0
MY2
MY3
XZj
0
XZR2
0
MZj
0
0
MZ3
Mj
0
0
M3
YYj
0
0
0
YZj
0
YZR2
0
ZZj
ZZR1
ZZR2
0
Iaj
0
0
IA3
b) En este caso r1 = 4.
Cuerpo 4 (j = 4):
Se eliminan YY4, MZ4 y M4. Los reagrupamientos son
(frmula 1a, seccin 4.4.1):
XXR4 = XX4 YY4
XXR3 = XX3 + YY4
YYR3 = YY3 + YY4
MZR3 = MZ3 + MZ4
MR3 = M3 + M4
En este caso varios parmetros pasan sin el reagrupamiento (XY3, XZ3, YZ3, ZZ3, MX3, MY3).
182
Cuerpo 3 (j = 3):
Los trminos XX3, XY3, XZ3, YY3, YZ3, ZZ3 son eliminados segn la definicin (frmula 1b). Aplicando sta se
tiene:
XXR2 = XX2 + XX3 = XX2 + (XX3 + YY4)
XYR2 = XY2 XZ3
XZR2 = XZ2 + XY3
YYR2 = YY2 + ZZ3
YZR2 = YZ2 YZ3
ZZR2 = ZZ2 + YY3 = ZZ2 + (YY3 + YY4)
De otra parte, aplicando la frmula 6 (j < r1) se eliminan MX3, MY3 y MZ3.
Cuerpo 2 (j = 2):
Los trminos XX2, XY2, XZ2, YY2, YZ2, ZZ2 son eliminados segn al definicin (frmula 1b). Aplicando sta se
tiene:
XXR1 = XX1 + YY2 = XX1 + (YY2 + ZZ3)
XYR1 = XY1 + YZ2 = XY1 + (YZ2 YZ3)
XZR1 = XZ1 + XY2 = XZ1 + (XY2 XZ3)
YYR1 = YY1 + ZZ2 = YY1 + (ZZ2 + YY3 + YY4)
YZR1 = YZ1 + XZ2 = YZ1 + (XZ2 + XY3)
ZZR1 = ZZ1 + XX2 = ZZ1 + (XX2 + XX3 + YY4)
Igualmente aplicando la frmula 6 (j < r1) se eliminan
MX2, MY2 y MZ2.
Cuerpo 1 (j = 1):
Los trminos XX1, XY1, XZ1, YY1, YZ1, ZZ1 son eliminados segn la definicin (frmula 1b). Igualmente aplicando la frmula 6 (j < r1) se eliminan MX1, MY1 y MZ1.
En cuanto a la inercia de los motores se aplican las
frmulas 7 y 9:
ZZR4 = ZZR4 + IA4
MR1 = M1 + IA1
183
XXj
0
0
0
XXR4
j
1
2
3
4
MXj
0
0
0
MX4
XYj
0
0
0
XY4
MYj
0
0
0
MY4
XZj
0
0
0
XZ4
MZj
0
0
0
0
YYj
0
0
0
0
Mj
MR1
M2
MR3
0
YZj
0
0
0
YZ4
ZZj
0
0
0
ZZR4
Iaj
0
IA2
IA3
0
d) En este caso r1 = 1.
Cuerpo 3 (j = 3):
Los trminos XX3, XY3, XZ3, YY3, YZ3, ZZ3 son eliminados segn la definicin (frmula 1b, seccin 4.4.1).
Aplicando sta se tiene:
XXR2 = XX2 + XX3
XYR2 = XY2 + XZ3
XZR2 = XZ2 XY3
YYR2 = YY2 + ZZ3
YZR2 = YZ2 YZ3
ZZR2 = ZZ2 + YY3
Adicionalmente debe aplicarse la frmula 2 (eliminar
MX2, MY2 y MZ3), lo cual produce:
MXR2 = MX2 + MX3
MZR2 = MZ2 MY3
Cuerpo 2 (j = 2):
Los trminos XX2, XY2, XZ2, YY2, YZ2, ZZ2 son eliminados segn la definicin (frmula 1b). Aplicando sta se
tiene:
XXR1 = XX1 + XX2
XYR1 = XY1 + XZ2
XZR1 = XZ1 XY2
184
ja
Cuerpo 1 (j = 1):
Como en este caso r1 1, segn las frmulas 4 y 5, y
1a se obtiene:
YY1, MZ1 y M1 son eliminados (frmula 1a). XX1,
XY1, XZ1 y YZ1 se eliminan tambin (frmula 4), as como MX1 y MY1 (frmula 5). El nico trmino que queda
para esta articulacin es ZZR1.
En cuanto a la inercia de los motores se aplica la frmula 7:
ZZR1 = ZZR1 + IA1
La tabla final de parmetros de base es:
j
1
2
3
XXj
0
0
0
j
1
2
3
MXj
0
MXR2
0
XYj
0
0
0
MYj
0
0
0
XZj
0
0
0
MZj
0
MZR2
0
YYj
0
0
0
Mj
0
M2
M3
YZj
0
0
0
ZZj
ZZR1
0
0
Iaj
0
IA2
IA3
Ejercicio 4.2:
a) Segn la tabla de parmetros de base hallada en el
Ejercicio 4.1, las matrices del tensor de inercia y del primer
momento de inercia pueden organizarse como sigue (suponiendo que los cuerpos son simtricos, por lo que se eliminan los trminos no pertenecientes a la diagonal):
185
niendo que los cuerpos son simtricos, por lo que se eliminan los trminos no pertenecientes a la diagonal):
0
0
0 0
XXR2 0
0 0 0
2
3
0 ; J2 = 0
0
0 ; J 3 = 0 0 0
J 1 = 0 0
0 0 ZZR1
0
0 0 0
0 ZZR2
0
MX2
MX3
MS1 = 0 ; 2MS2 = MY2 ; 3MS3 = MY3 ;
0
0
MZ3
0 0 0
I a = 0 0 0
0 0 IA3
a1) Clculo de las velocidades de rotacin:
0
0 = 0
C 2 0 -S 2 0 0 -S 2q&1
2 = A1 1 + q& 2 a 2 = -S 2 0 -C 2 0 + 0 = -C 2q&1
0 1 0 q&1 q& 2 q& 2
1 0 0 -S 2q&1 -S 2q&1
3 = A2 2 = 0 0 1 -C 2q&1 = q& 2
0 -1 0 q& 2 C 2q&1
V 0 =0
V 1 = 1 A0 0V0 + 0 0 0 P1 = 0
2
V2 = 2 A1 1V1 + 1 1 1P2
186
0 r3S 2q&1 ]
Entonces:
-R 2C 2q&1 + r3q& 2
r3S 2q&1
V3 = A2 V2 + 2 P3 + q& 3 a 3 =
-R 2S 2q&1 + q& 3
E1 =
0 0
0 0
1 1 T1 1
1
E1 = 1 J 1 1 = [0 0 q&1 ] 0 0
0 0
2
2
0 0 ZZR1 q&1
=
1
ZZR1q&12
2
1 2 T2 2
2 J 2 2 + M 2 2V2 T 2V2 + 2 2MS2 T ( 2V2 2 2 )
187
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
E2 =
1 2 T2 2
2 J 2 2 + 2 2MS2 T ( 2V2 2 2 )
Donde:
T 2
J2
0 -S 2q&1
XXR2 0
&
&
&
0
0 -C 2q&1
2 = [-S 2q1 -C 2q1 q 2 ] 0
0
0 ZZR2 q& 2
= XXR2S 22 q&12 + ZZR2q& 22
R 2S 2q&1q& 2
-R 2C 2q&1 -S 2q&1
R 2C 2q&1q& 2
V2 2= R 2S 2q&1 -C 2q&1 =
2 MS2
R 2S 2q&1q& 2
V2 2 ) = 2 [MX2 MY2 0] R 2C 2q&1q& 2
2
R 2q&1
2
2
2
1 XXR2S 2 q&1 + ZZR2q& 2 + 2MX2R 2S 2q&1q& 2
2 + 2MY2R 2C 2q&1q& 2
1 3 T3 3
3 J 3 3 + M 3 3V3 T 3V3 + 2 3MS3 T ( 3V3 3 3 )
188
1
M3 3V3 T 3V3 + 2 3MS3 T ( 3V3 3 3 )
Donde:
3
V3 T 3V3 =
-R 2C 2q&1 +r3q& 2
[-R 2C 2q&1 +r3q& 2 r3S 2q&1 -R 2S 2q&1 +q& 3 ] r3S 2q&1
-R 2S 2q&1 +q& 3
= ( R 22 q&12 +r32S 22 q&12 +r32q& 22 +q& 32 -2R 2r3C 2q&1q& 2 -2R 2S 2q&1q& 3 )
-R 2C 2q&1 +r3q& 2 -S 2q&1
q&
V3 3=
r3S 2q&1
2
-R 2S 2q&1 +q& 3 C 2q&1
2
=
r3S 2C 2q&1 + R 2S 2q&1q& 2 -q& 2q& 3
Luego:
E3 =
1
M3 3V3 T 3V + 2K
2
Con:
K=
2
r3S 2C 2q&1 + R 2S 2q&1q& 2 -q& 2q& 3
[MX3 MY3 MZ3]
189
2
-2M3R 2r3C 2q&1q& 2 -2M3R 2S 2q&1q& 3 +MX3r3q& 2
1
2
2
2
E 3 = + 2MX3r3S 2 q&1 - 2MX3R 2C 2q&1q& 2 + 2MY3r3S 2C 2q&1
2
+ 2MY3R 2S 2q& q& - 2MY3q& q& + 2MZ3R 2S 22 q& 2
1 2
2 3
1
A33 = M3+IA3
A12 = A21 = MX2R 2S 2+ MY2R 2C 2- MX3R 2C 2+ MY3R 2S 2
A23 =- MY3
a4) Clculo del vector de gravedad:
Energa potencial del cuerpo 1:
U 1 =- 0 g T
MS1
0 T
0 0T1
=- g
M
1
1
190
0
0
0 0T1 = 0
0
0
U 2 =- 0 g T
=- 0 g T
2MS2
0 0T2
M2
C1C 2 -C1S 2 -S1 -R 2S1 MX2
S1C 2 -S1S 2 C1 R 2C1 MY2
0
-S 2
-C 2
0
0 0
0
0
1 0
0
MX2C1C 2-MY2C1S 2
MX2S1C 2-MY2S1S 2
=- [0 0 G3 0 ]
-MX2S 2-MY2C 2
= G3MX2S 2+ G3MY2C 2
M3
C1C 2 -S1 C1S 2 C1S 2r 3-S1R 2 MX3
S1C 2 C1 S1S 2 S1S 2r 3+C1R 2 MY3
0 T
=- g
0
-S 2
MZ3
0
C2
C 2r 3
0
0
1
0
M3
fila1
fila 2
=- [0 0 G3 0 ]
-MX3S 2+ MZ3C 2
M3
= G3MX3S 2- G3MZ3C 2
U 3 =- 0 g T
191
U U
=
=0
q1 1
Q2 =
U U
=
= G3MX2C 2- G3MY2S 2+ G3MX3C 2+ G3MZ3S 2
q 2 2
U U
=
=0
q 3 3
Finalmente la expresin del modelo dinmico inverso
puede escribirse como:
Q3 =
1 A11
= A
2 12
3 A13
A12
A22
A23
A13 q&&1 0
A23 q&&2 + Q2
A33 q&&3 0
2
J 1 = 0 0 0 ; J 2 = 0 0 0 ;
0 0 0
0 0 0
0
0 0 0
XXR4 0
3
4
J 3 = 0 0 0 ; J 4 = 0
0
0
0 0 0
0
0 ZZR4
192
0
0
0
MX4
2
3
4
MS1 = 0 ; MS2 = 0 ; MS3 = 0 ; MS4 = MY4 ;
0
0
0
0
0 0
0 0
0 IA2 0 0
Ia =
0 0 IA3 0
0 0
0 0
0 = 0
1 = 1A0 00 =0
2 = 2 A1 1 1 = 0
3 = 3 A2 2 2 =0
4 = A3 3 + q& 4
0
a 4 = 0
q& 4
V 0 =0
0
0
0
0
1
&
V1 = A0 V0 + 0 P1 + q1 a1 = 0
q&1
0 0 1 0 0 q&1
2
2
1
1
1
2
V2 = A1 V1 + 1 P2 + q& 2 a 2 = 1 0 0 0 + 0 = 0
0 1 0 q&1 q& 2 q& 2
1 0 0 q&1 0 q&1
= 0 0 1 0 + 0 = q& 2
0 -1 0 q& 2 q& 3 q& 3
193
0
1
1
1
1 T1
E1 = M1 V1 V1 = MR1[0 0 q&1 ] 0 = MR1q&12
2
2
2
q&1
MS2 = [0 0 0 ] , el trmino de la
T
q&1
1
1
1
= M2 [q&1 0 q& 2 ] 0 = M2 q&12 + M2q& 22
2
2
2
q& 2
E2 =
MS3 = [0 0 0 ] , el trmino de la
T
q&1
1
1
3
T 3
E 3 = M3 V3 V3 = MR3 [q&1 q& 2 q& 3 ] q& 2
2
2
q& 3
1
1
1
= MR3 q&12 + MR3q& 22 + MR3q& 32
2
2
2
2
Donde:
E4 =
T 4
J4
0 0
XXR4 0
0
0 0
4 = [0 0 q& 4 ] 0
0
0 ZZR4 q& 4
= ZZR4q& 42
q& 4
0
q& 3
2 4MS4 T ( 4V4 4 4 )
=-2MX4S 4q&1q& 4 +2MX4C 4q& 2q& 4 - 2MY4C 4q&1q& 4 - 2MY4S 4q& 2q& 4
Luego:
195
A11 = MR1+M2+MR3
A22 = M2+ MR3 + IA2
A33 =MR3+IA3
A44 = ZZR4
A12 = A21 =0
A13 = A31 =0
A14 = A41 =- MX4S 4- MY4C 4
A23 = A32 = 0
A24 = A42 = MX4C 4- MY4S 4
A34 = A43 = 0
b4) Clculo del vector de gravedad:
Energa potencial del cuerpo 1:
0
0
MS1
0 T
U 1 =- 0 g T 0 0T1
0 0T1
=- g
0
M1
MR1
1 0 0 0 0
0 1 0 0 0
=- [0 0 G3 0 ]
0 0 1 r1 0
0 0 0 1 MR1
0
0
=- G3MR1r
=- [0 0 G3 0 ]
1
MR1r1
MR1
1
196
U 2 =- 0 g T
MS2
0 T
0 0T2
=- g
M
2
0
0
0
1
1 0 0 0
0 1 r2 0
0 0 0 0
0 0 1 M2
0
M2r
2
=- [0 0 G3 0]
=0
0
M2
M3
0 0 -1 -r3 0
0 1 0 r 0
2
=- 0 g T 0
1 0 0 0 0
0 0 0 1 MR3
-MR3r3
MR3r
2
=- [0 0 G3 0]
=0
0
MR3
U 3 =- 0 g T
197
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
4MS4
0 0T4
M4
0 -1 -r 3 MX4
0
S 4 C 4 0 r 2 MY4
=- 0 g T 0
C 4 -S 4 0 r1 0
0
0 1 0
0
0
MX4S 4+MY4C 4
=- [0 0 G3 0]
MX4C 4-MY4S 4
=- G3MX4C 4 + G3MY4S 4
U 4 =- 0 g T
U U
=
=-G3MR1
q1 r1
Q2 =
U U
=
=0
q 2 r2
Q3 =
U U
=
=0
q 3 r3
Q4 =
U U
=
= G3MX4S 4 + G3MY4C 4
q 4 4
198
1 A11
0
2=
3 0
4 A14
0
A22
0
0
A33
A24
A14 q&&1 Q1
A24 q&&2 0
+
0 q&&3 0
A44 q&&4 Q4
0
0 0
0 0 0
0 0
J 1 = 0 0
0 ; 2J 2 = 0 0 0 ; 3J 3 = 0 0
0 0 ZZR1
0 0 0
0 0
0
0
MXR2
0
1
2
3
MS1 = 0 ; MS2 = 0 ; MS3 = 0 I a = 0
0
0
MZR2
0
;
d1) Clculo de las velocidades de rotacin:
1
0 = 0
0
1 = A0 0 + q&1 a1 = 0
q&1
1 0 0 0 0
2 = A1 1 = 0 0 1 0 = q&1
0 -1 0 q&1 0
199
0
0
0
0
IA2
0
0
0
IA3
1 0 0 0 0
3 = A2 2 = 0 0 -1 q&1 = 0
0 1 0 0 q&1
V 0 =0
V 1 = 1A0 0V0 + 0 0 0 P1 = 0
2
V2 = 2 A1 1V1 + 1 11P2 + q& 2 2a 2
1 0 0 r2q&1 0 r2q&1
= 0 0 1 0 + 0 = 0
0 -1 0 0 q& 2 q& 2
1 0 0 r2q&1 0 r2q&1
= 0 0 1 0 + 0 = q& 2
0 1 0 q& 2 q& 3 q& 3
0 0
0 0
1 1 T1 1
1
&
0 0
E1 = 1 J 1 1 = [0 0 q1 ] 0 0
2
2
0 0 ZZR1 q&1
1
= ZZR1q&12
2
200
1
M2 2V2 T 2V2 + 2 2MS2 T ( 2V2 2 2 )
Donde:
M2 V2 V2 = M2 [r2q&1
2
T 2
r2q&1
0 q& 2 ] 0 = M2r22q&12 + M2q& 22
q& 2
r2q&1 0 -q&1q& 2
V2 2 = 0 q&1 = 0
q& 2 0 r2q&12
2 MS2
-q&1q& 2
V2 2 ) = 2 [MXR2 0 MZR2] 0
r2q&12
=-2MXR2q&1q& 2 + 2MZR2r2q&12
Luego:
E2 =
1
M2r22q&12 + M2q& 22 -2MXR2q&1q& 2 + 2MZR2r2q&12
2
MS3 = [0 0 0 ] , el trmino de la
T
201
r2q&1
1
1
3
T 3
E 3 = M3 V3 V3 = M3 [r2q&1 q& 2 q& 3 ] q& 2
2
2
q& 3
1
1
1
= M3 r22q&12 + M3q& 22 + M3q& 32
2
2
2
U 1 =- 0 g T
MS1
0 T
0 0T1
=- g
M
1
1
202
0
0
0 0T1 = 0
0
0
2MS2
0 0T2
M2
C1 0 S1 r2S1 MXR2
S1 0 -C1 -r C1 0
2
=- 0 g T 0
0 1 0
0 MZR2
1 M2
0 0 0
MXR2C1+MZR2S1+M2r2S1
MXR2S1-MZR2C1-M2r C1
2
=- [0 G3 0 0]
M2
U 2 =- 0 g T
=- 0 g T
3MS3
0 0T3
M3
C1 S1 0 r2S1 0
S1 C1 0 -r C1 0
2
0
0
r3 0
0 1
0 0
1 M3
0
M3r2S1
-M3r C1
2
= G3M3r C1
=- [0 G3 0 0]
2
M3r3
M3
U =-G3MXR2S1+ G3MZR2C1+G3M2r2C1+G3M3r2C1
Luego los elementos del vector de gravedad son:
203
Q1 =
U U
=
q1 1
U U
=
= G3M2C1+ G3M3C1
q 2 r2
Q3 =
U U
=
=0
q 3 r3
1 A11
= A
2 12
3 0
A12
A22
0 q&&1 Q1
0 q&&2 + Q2
A33 q&&3 0
Ejercicio 5.1:
a) Dado el modelo dinmico inverso hallado en el Ejercicio 4.2:
1 A11
= A
2 12
3 A13
A12
A22
A23
A13 q&&1 0
A23 q&&2 + Q2
A33 q&&3 0
204
Aq&&2
Aq&&1 +C
Bq&&2
Bq&&1 -D
2R 2S 22 q&&1 -S 2q&&2
Aq&&1 -q&&3
-q&&2
-S 2q&&1 +D
0
[ ZZR1
( R 2 +r
2
Con:
A = R 2S 2
B = R 2C 2
C = G3C 2
D = G3S 2
E = R 2r3C 2
205
1 A11
0
2=
3 0
4 A14
0
A22
0
A24
0
0
A33
0
A14 q&&1 Q1
A24 q&&2 0
+
0 q&&3 0
A44 q&&4 Q4
3 = A33q&&3
4 = A41q&&1 + A42q&&2 + A44q&&4 + Q4
Segn el Ejercicio 4.1, los parmetros a identificar para
este robot son ocho:
-S 4q&&4
C 4q&&4
...
0
...
-S 4q&&1 +C 4q&&2 +G3S 4...
-C 4q&&4
-S 4q&&4
0 0
q&&2 0
0
0 q&&3
...
...
206
MR1
M2
MR3
ZZR4
MX4
MY4
IA2
IA3
1 A11
= A
2 12
3 0
A12
A22
0 q&&1 Q1
0 q&&2 + Q2
A33 q&&3 0
3 = A33q&&3
Segn el Ejercicio 4.1, los parmetros a identificar para
este robot son siete:
IA2
IA3
207
ESTE LIBRO FUE AUTORIZADO POR ELALEPH.COM PARA EL USO EXCLUSIVO DE
OSCAR ANDRS VIVAS ALBN (AVIVAS@UNICAUCA.EDU.CO)
R EFERENCIAS
Buchberger, B. (1987). Applications of Grbner bases in
non-linear computational geometry. In: Lecture Notes in
Computer Science, Vol. 296, pp. 5280.
Craig, J.J. (1986). Introduction to Robotics: Mechanics
and Control. Addison-Wesley Publishing Company, Reading, MA, USA.
Denavit, J. and Hartenberg, R.S. (1955). A kinematic notation for lower-pair mechanisms based on matrices. Journal of Applied Mechanics, Vol. 22, pp. 215221.
Davidson, J. and Hunt, K. (2004). Robots and Screw
Theory: Applications of Kinematics and Statics to Robotics.
Oxford University Press, Oxford, UK.
Haddad, W. and Challaboina, V. (2008). Nonlinear Dynamical Systems and Control: A Lyapunov-Based Approach.
Princeton University Press, Princeton, USA.
Jazar, R. (2010). Theory of Applied Robotics: Kinematics,
Dynamics, and Control. Springer, New York, USA.
Kelly, R., Santibez, V., and Lora, A. (2005). Control of
Robot Manipulators in Joint Space. Springer-Verlag, London, UK.
Khalil, W. and Creusot, D. (1997). SYMORO+: a system
for the symbolic modelling of robots. Robotica, Vol. 15, pp.
153-161.
209
Khalil, W. and Dombre, E. (2002). Modeling, Identification and Control of Robots. Hermes Penton Science, London,
UK.
Khalil, W. and Kleinfinger, J.F. (1986). A new geometric
notation for open and closed-loop robots. IEEE International Conference on Robotics and Automation, San Francisco,
USA, pp. 1174-1180.
Lewis, F., Dawson, D. and Abdallah, C. (2004). Robot
Manipulator Control. Marcel Dekker, Inc., New York, USA.
Manocha, D., and Canny, J. (1992). Real time inverse
kinematics for general 6R manipulators. International Conference on Robotics and Automation, Nice, France, pp. 383389.
Merlet, J.P. (2006). Parallel Robots, Solid Mechanics and
Its Applications. Springer, Dordrecht, Netherlands.
Ollero, A. (2001). Robotica: Manipuladores y Robots Mviles. Marcombo, Madrid, Espaa.
Paul, R.C. (1981). Robot Manipulators: Mathematics, Programming and Control. The MIT Press, Cambridge, MA,
USA.
Raghavan, M. and Roth, B. (1990). Kinematic analysis of
the 6R manipulator of general geometry. 5th International
Symposium in Robotics Research, Tokio, Japan, pp. 262269.
Sciavicco, L. and Siciliano, B. (1996). Modeling and Control of Robot Manipulators. McGraw Hill, London, UK.
Siciliano, B. and Khatib, O. (Eds), (2008). Handbook of
Robotics. Springer-Verlag, Berlin, Germany.
Spivak, M. (1990). A Comprehensive Introduction to Differential Geometry. Publish or Perish Inc., Houston, TX, USA.
210
211
NDICE
Arquitecturas
de robots ................. 16
Articulacin prismtica 13
Articulacin rotoide ..... 12
Bloques Simulink
(Matlab) ................. 123
Carga til .................... 19
Clula robotizada .......... 8
Cntrol CTC en el
espacio articular .... 116
Configuraciones
singulares.......... 14, 62
Consigna circular ...... 128
Consigna de
quinto grado .. 106, 126
Consigna de
tercer grado ........... 104
Consigna lineal.. 104, 129
Consigna tipo
bang-bang ............. 107
Consignas de
movimiento............ 103
Control CTC .............. 115
Control CTC en el
espacio operacional 119
Control de robots ...... 102
Control PID ............... 112
Coordenadas
homogneas ............ 23
Desempeo ..................20
Desviacin estndar.....95
Ejercicios resueltos .... 171
Energa cintica ...........73
Energa potencial .........73
Espacio articular .........14
Espacio de trabajo .......19
Espacio operacional .....14
Formalismo de
Lagrange ..................71
Frotamientos ...............74
Fuerzas de Coriolis
y centrifugas ............71
Fuerzas de gravedad ....71
Grado de libertad .........13
Identificacin de
parmetros ..............93
Inercia del accionador ..75
Matriz de inercia ..........71
Matriz Jacobiana .........55
Mtodo de Paul ............44
Modelo cinemtico .......55
Modelo dinmico..........65
Modelo geomtrico .......31
Modelo geomtrico
directo .....................38
Modelo geomtrico
inverso .....................44
Momentos de inercia ....66
Simulacin PID
articular ................ 133
Simulacin PID
cartesiano ............. 139
Sintonizacin de
un PID................... 113
Transformacin de
coordenadas ............ 24
Transformaciones
homogneas ............ 23
Velocidad de rotacin .. 73
Velocidad de
traslacin ................ 73
Velocidad y aceleracin
mxima ................... 20