Documente Academic
Documente Profesional
Documente Cultură
Fundamentos de mecánica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Transformaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Problema cinemático directo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Problema cinemático inverso.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Cálculo de velocidades y fuerzas estáticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Problema dinámico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Generación de trayectorias.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Problemas complementarios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Descripción programas de prácticas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
FUNDAMENTOS DE MECÁNICA
3
1. El mecanismo de la figura consta de una
barra articulada AB de longitud l, que puede
girar alrededor de la articulación A, estando
definido dicho giro por el ángulo è. La
articulación A está montada sobre un collarín el
cual puede girar alrededor del eje vertical OC,
si bien en este caso dicha rotación no se
considera, al mismo tiempo el collarín se
desplaza verticalmente a una velocidad
constante u. Se pide determinar.
a) La velocidad angular de la barra ù.
b) La aceleración angular de la barra á.
c) La velocidad del extremo B.
d) La aceleración del extremo B.
e) La velocidad del cdg G, situado en el punto
medio de la barra.
f) La aceleración de G.
Particularizar los resultados para los siguientes valores :
è = 30º, è’= 4 rad/ seg, è’’= 2 rad/ seg2 (horarios), u = 0,8 m/s, Ù = Ù’ = 0 rad/seg, l =1m.
a) y b) Al ser en este caso nula la rotación alrededor de OC, se tendrá directamente, para la
velocidad y aceleración angular, teniendo en cuenta además el sistema de ejes de la figura:
c) Aplicando las ecuaciones de la cinemática, teniendo en cuenta que rB/A = [0,sen30º, cos30º]T
= [0, 0'5, 0'866]T, y vA = [0,0,0'8]T, se tiene para las velocidades:
4
Siendo:
Resultando:
e) Volviendo a aplicar las ecuaciones de la cinemática, teniendo en cuenta ahora que rG/A = [0,
0'5.sen30º, 0'5. cos30º]T = [0, 0'25, 0'433]T , se tiene para las velocidades:
5
Siendo:
Resultando:
6
2. El mecanismo de la figura consta de una
barra articulada AB de longitud l, que puede
girar alrededor de la articulación A, estando
definido dicho giro por el ángulo è. La
articulación A está montada sobre un collarín el
cual puede girar alrededor del eje vertical OC a
una velocidad variable Ù al mismo tiempo el
collarín se desplaza verticalmente a una
velocidad constante u. Se pide determinar.
a) La velocidad angular de la barra ù.
b) La aceleración angular de la barra á.
c) La velocidad del extremo B.
d) La aceleración del extremo B.
e) La velocidad del cdg G, situado en el punto
medio de la barra
f) La aceleración de G.
Particularizar los resultados para los siguientes
valores:
è = 30º, è’= 4 rad/ seg, è’’= 2 rad/ seg2(horarios), u = 0,8 m/s, Ù = 10 rad/seg, Ù’ = 5
rad/seg (anti-horarios), l =1m.
a) Se trata de un problema similar al anterior pero en donde la rotación alrededor de Oz, presenta
una velocidad y una aceleración. Para determinar la velocidad angular de AB, necesitaremos
aplicar conceptos de movimiento relativo, para ello, supondremos dos sistemas de referencia:
el móvil Oxyz, y el fijo OXYZ, no representado, coincidentes ambos en el instante considerado.
El sistema móvil gira con la barra alrededor de Oz, a una velocidad ù1 = Ù. La barra AB por su
parte tendrá dos rotaciones, una rotación alrededor de Oz de velocidad angular ù1 = Ù y otra
rotación alrededor de A, de velocidad angular ù2 = è’ con la dirección de Ox . Aplicando el
principio de composición de rotaciones, se tendrá que la velocidad angular total de AB, será la
suma vectorial de las velocidades angulares parciales:
7
Sin embargo la derivada de la velocidad angular ù2 correspondiente a la rotación de la barra
sobre la articulación , es un vector que varía en módulo y dirección, y su derivada se calculará
a partir de la fórmula de la derivada de un vector, considerando los sistemas fijo y móvil,
teniendo en cuenta que el vector ù2 no varía de dirección en el sistema móvil:
Resultando:
c) Aplicando las ecuaciones de la cinemática, teniendo en cuenta que rB/A = [0,sen30º, cos30º]T
= [0, 0'5, 0,866]T, y vA = [0,0,0'8]T, se tiene para las velocidades:
Siendo:
8
Y también:
Resultando:
e) Volviendo a aplicar las ecuaciones de la cinemática, teniendo en cuenta ahora que rG/A = [0,
0'5.sen30º, 0'5. cos30º]T = [0, 0'25, 0'433]T , se tiene para las velocidades:
Siendo:
9
Y también:
Resultando:
10
3. El mecanismo de la figura consta de una
barra articulada AB de longitud l, que puede
girar alrededor de la articulación A, estando
definido dicho giro por el ángulo è. La
articulación A está montada sobre un collarín el
cual puede girar alrededor del eje vertical OC a
una velocidad variable Ù al mismo tiempo el
collarín se desplaza verticalmente a una
velocidad constante u. Sobre la varilla desliza
otro collarín D que se desplaza sobre la varilla
a una velocidad v y una aceleración v’ hasta
contactar con el tope B. Se pide determinar.
a) La velocidad del collarín D cuando éste llegue
a contactar con el tope B.
b) La aceleración del collarín D cuando éste
llegue a contactar con el tope B.
Particularizar los resultados para los siguientes
valores:
è = 30º, è’= 4 rad/ seg, è’’= 2 rad/ seg2(horarios), u = 0,8 m/s, v = 0,8 m/s, v’ = 0,5 m/s2,
Ù = 10 rad/seg, Ù’ = 5 rad/seg2 (anti-horarios), l =1m.
En donde vD1 = vB , representa la velocidad de arrastre, vD2/D1 la velocidad relativa, mientras que
vD = vD2 la velocidad absoluta. De problemas anteriores, se sabe que:
11
Resultando para la velocidad absoluta de D:
12
13
4. El mecanismo de la figura consta de una
barra articulada AB de longitud l, que puede
girar alrededor de la articulación A, estando
definido dicho giro por el ángulo è. La
articulación A está montada sobre un collarín el
cual puede girar alrededor del eje vertical OC,
si bien en este caso dicha rotación no se
considera, al mismo tiempo el collarín se
desplaza verticalmente a una velocidad
constante u. Una fuerza F conocida actúa en el
extremo B de la barra y un momento M de
módulo desconocido y dirección Ox actúa en la
articulación A.
Se pide determinar el momento M y la reacción
en A.
Particularizar los resultados para los siguientes
valores:
è = 30º, è’= 4 rad/ seg, è’’= 2 rad/ seg2 (horarios), u = 0,8 m/s, Ù = Ù’ = 0 rad/seg, l =1m.
El vector fuerza F en B: F = [ 0, -6, 10 ]t N.
La masa de la barra: m =10 kg.
El momento de inercia: IG = 1/12 m.l2 = 0,8333 kg.m2
14
Se sabe: aGy = - 3,134, aGz = - 7,428, á = - 2, Sustituyendo por los valores conocidos, obtenemos
directamente los valores de las reacciones en A y del momento M:
15
TRANSFORMACIONES
16
1. (Problema 2.1 Craig). Un vector AP se gira
è grados sobre ZA y posteriormente ö grados
sobre XA. Proporcionar la matriz de rotación
que realice estas operaciones en el orden
dado:
Siendo:
Resultando:
17
2. (Problema 2.5 Craig). AB R es una matriz 3 x 3 con valores propios 1, eai, e-ai, siendo i =
%-1,. Cuál es el significado físico del vector propio de AB R, asociado con el valor propio 1?
El problema del cálculo de los valores y vectores propios de una matriz A, se establece a partir
de una transformación sobre el vector X, que verifica:
Siendo ë una constante denominada valor propio, para que la ecuación anterior tenga una
solución no trivial, es necesario que:
Es decir que al girar el vector P1 una rotación dada por R, el vector permanezca inalterado, ese
caso corresponde cuando P1 tiene la dirección del eje de rotación. Este vector representará el
vector propio asociado al valor propio 1. Como únicamente existe esa posibilidad, el resto de
valores y vectores propios no se corresponden con números soluciones dentro del campo de los
números reales.
18
3. (Problema 2.6 Craig). Derivar la ecuación (2.80) correspondiente a la matriz de rotación
definida por el eje K =[kx,ky,kz]t y el ángulo è:
Sustituyendo las expresiones de las matrices de rotación parciales y efectuando las operaciones
correspondiente se obtiene la matriz de rotación total.
19
4.(Problema 2.20 Craig). Demostrar la fórmula de Rodrigues correspondiente a la
trasformación de rotación definida por el eje de vector unitario: K =[kx,ky,kz]t y el ángulo
è, sobre el vector Q:
Al girar el vector Q, su extremo pasa del punto A al punto B de la figura, mientras que su origen
permanece fijo sobre el origen del sistema OXYZ. El extremo de Q describe una trayectoria
circular en un plano perpendicular al eje de giro definido por K. El resultado de la trasformación
será el vector Q’. Se tiene además la siguiente relación entre los vectores Q, Q’, ÄQ, b1, b2:
Cumpliéndose, de acuerdo con al figura, para el módulo del vector b1, y para el radio a,
correspondiente a la rotación del extremo del vector Q:
Al ser K un vector unitario. El vector b1 es perpendicular al plano definido por los vectores K
y Q, resultando:
20
El vector b2 es, de acuerdo con la figura, perpendicular al vector b1 y también perpendicular al
vector Q, al estar situado en el plano de rotación del extremo de dicho vector, cumpliéndose:
El extremo de Q pasa del punto A al punto B, definiendo el vector ÄQ, el cual verifica:
Resultando:
21
como el producto de una matriz antisimétrica por un vector columna:
El producto escalar de dos vectores se puede también expresar matricialmente como el porducto
de la traspuesta de un vector columna por otro vector columna:
En donde se ha tenido en cuenta, de acuerdo con las propiedades del producto de matrices:
Siendo además:
22
5.(Problema 2.27, Craig). Tomando como
referencia la figura, calcular ABT:
Se tiene:
Resultando:
23
6.(Problema 2.33, Craig). Tomando como
referencia la figura, calcular BCT:
Resultando:
24
7. (Problema 2.3, Craig). Un sistema {B} se encuentra inicialmente coincidente con {A}.
Giramos {B} un ángulo è sobre ZB y luego giramos el sistema resultante un ángulo n sobre
YB. Determinar la matriz de rotación que cambie las descripciones de los vectores de BP a
A
P.
En este caso las rotaciones se efectúan sobre ejes de la trama transformada. Las matrices de
rotación:
25
8. ( Problema 2.7, Craig). Describa el algoritmo
que extraiga el ángulo equivalente y el eje de
una matriz de rotación. Considerar los caso
especiales de è = 0 y è = 180º.
Donde:
De acuerdo con la teoría y tal como se aprecia de las ecuaciones, el ángulo de giro y el vector
de rotación, se pueden obtener a partir de:
Esta solución nos da los valores de è y K siempre que el ángulo è esté comprendido entre 0º y
180º, degenerando cuando è = 0º y cuando è = 180º. Analicemos cada caso por separado: en
principio suponemos que el ángulo se puede identificar siempre, siendo la solución para K la que
degenera. Cuando è = 0, el cuerpo no gira y K es indeterminado, sin embargo si el cuerpo no gira
no existe ninguna transformación y la matriz de rotación será siempre la matriz unidad I, de
manera que:
26
No siendo necesario en este caso identificar el vector rotación K.
Cuando è = 180º, la solución también degenera pero en este caso la matriz de rotación no es I,
existiendo un eje de rotación K que es necesario identificar. En este caso cosè = -1, resultando:
27
9. (Problemas 2.21, 2.22, Craig). Para rotaciones que sean suficientemente pequeñas como
para que las aproximaciones senè = 0, cosè = 1, è2 = 0, sean siempre ciertas, derivar la
matriz de rotación equivalente a una rotación è sobre un eje K. Con el resultado obtenido
demuestre que dos rotaciones infinitesimales conmutan.
Consideremos a continuación la rotación Äá alrededor del eje J, se tendrá haciendo las mismas
aproximaciones:
28
10. (Problema 2.38 Craig). Imagine dos vectores unitarios v1 y v2 incrustados en un cuerpo
rígido. Tenga en cuenta que, sin importar como se gire el cuerpo, el ángulo geométrico
entre estos dos vectores se preserva (es decir, la rotación de un cuerpo rígido es una
operación de “preservación de ángulo” ). Use esta propiedad para proporcionar una
prueba concisa (de cuatro o cinco líneas) de que la inversa de una matriz de rotación debe
de ser igual a su traspuesta y de que una matriz de rotación es ortonormal.
El producto escalar de dos vectores unitarios es igual al coseno del ángulo entre vectores:
29
PROBLEMA CINEMÁTICO DIRECTO
30
1. (Problema 3.8 Craig). En la figura no se conoce la ubicación exacta de la herramienta
W
TT. Usando el control de fuerza, el robot siente el entorno con la punta de la herramienta
hasta que la inserta en el receptáculo ( u objetivo) en la ubicación SGT. Una vez en esta
configuración de calibración ( en la que {G} y {T} son coincidentes). La posición del robot
B
W T se averigua tomando lectura de los sensores de los ángulos de articulación y calculando
la cinemática. Suponiendo que se conozcan BST y SGT, proporcionar la ecuación de
transformación para calcular el sistema de herramienta desconocido WTT.
31
2. (Problema 3.1 Craig). Determinar la cinemática del brazo articulado plano de la figura.
i ái-1 ai-1 di èi
1 0 0 0 è 1*
2 0 L1 0 è 2*
3 0 L2 0 è 3*
(*CG)
32
Resultando la matriz de transformación total:
Siendo:
33
3. (Problema 3.3 Craig). En el brazo de 3GDL de la figura, obtener las ecuaciones
cinemáticas
i ái-1 ai-1 di èi
1 0º 0 0 è1 *
2 90º L1 0 è2 *
3 0º L2 0 è3 *
(*CG)
34
4. (Problema 3.4 Craig). En el brazo de 3GDL de la figura, las articulaciones 1 y 2 son
perpendiculares y las 2 y 3 son paralelas. Según lo ilustrado, todas las articulaciones están
en su ubicación cero. Observe que se indica el sentido positivo del ángulo de la articulación.
Asigne los sistemas de barras y derive las matrices de transformación.
Aunque lo mas usual es hacer coincidir los sistemas base y de la barra 1, con è1 = 0, aquí se ha
preferido poner el sistema base en el soporte del manipulador, si bien esto no altera básicamente
el resultado final. La tabla de parámetros es:
i ái-1 ai-1 di èi
1 0º 0 L0+L1 è1 *
2 90º 0 0 è2 *
3 0º L2 0 è3 *
(*CG)
35
Resultando:
36
5. (Problema 3.11 Craig). La figura muestra el diagrama esquemático de una muñeca de
tres ejes que no son ortogonales. Asigne los sistemas a las barras y proporcione los
parámetros.
i ái-1 ai-1 di èi
1 0º 0 0 è1 *
2 n 0 0 è2 *
3 -n 0 0 è3 *
(*CG)
Resultando:
37
6. (Problema 3.16 Craig). Asigne los sistemas a las barras del robot plano RPR de la figura
y proporcione los parámetros de las articulaciones.
i ái-1 ai-1 di èi
1 0º 0 0 è1 *
2 90º L1 d2* 0
3 90º 0 0 è3 *
(*CG)
Resultando:
38
7. (Problema 3.17 Craig). Asigne los sistemas a las barras del robot espacial RRP de la
figura
La tabla de parámetros:
i ái-1 ai-1 di èi
1 0º 0 L1 è1 *
2 90º 0 0 è2 *
3 90º L2 d3* 90º
(*CG)
39
La matriz de trasformación general se obtendrá:
Resultando:
40
8. (Problema 3.19 Craig). Asigne los sistemas a las barras del robot espacial de la figura
Se trata de un robot RPP. Se ha hecho coincidir el sistema de la barra (3) con el sistema de la
herramienta, al coincidir el origen con el extremo del elemento terminal. El esquema del robot
y la tabla de parámetros:
i ái-1 ai-1 di èi
1 0º 0 0 è1 *
2 0 0 d2* 0
3 -90º 0 d3* 0
(*CG)
Las matrices de rotación:
41
9. Asigne los sistemas a las barras del robot de la figura
Se trata de un robot RRP similar al SCARA. El esquema del robot y la tabla de parámetros:
i ái-1 ai-1 di èi
1 0º 0 0 è1 *
2 0º L1 0 è2 *
3 180º L2 d3* 0
(*CG)
42
10. (Problema 3.21 Craig) Asignar los sistemas a las barras del robot de la figura.
i ái-1 ai-1 di èi
1 0 0 d1* 0
2 -90º 0 d2* 90
3 90º 0 d3* 0
(*CG)
Las matrices de rotación:
43
11. (Craig 3.2) Imagine un brazo como el PUMA 560 excepto que se remplaza la articulación
3 por una articulación prismática. Derive las ecuaciones cinemáticas.
Se tendrá un robot esférico tipo “Stanford” RRPRRR. El esquema del robot y la tabla de
parámetros :
i ái-1 ai-1 di èi
1 0º 0 0 è1 *
2 -90º 0 d2 è2*
3 90º 0 d3* 0
4 0º 0 0 è4 *
5 90º 0 0 è5 *
6 -90 0 0 è6 *
(* CG)
44
La matriz de transformación total:
45
PROBLEMA CINEMÁTICO INVERSO
46
1. Resolver el problema cinemático inverso del robot de la figura mediante el método
algebraico. Suponemos como datos de partida la posición de P extremo de la segunda barra
y la inclinación de la última barra (ver Craig 4.4).
Se trata de un robot plano de tres barras RRR. La posición del elemento terminal vendrá dada por
las coordenadas cartesianas del extremo del robot P(x,y) y por la inclinación ö de la última barra
o elemento terminal. De acuerdo con la figura suponemos que P es en realidad el extremo de la
segunda barra. La tabla de parámetros cinemáticos del robot, es:
i ái-1 ai-1 di èi
1 0 0 0 è 1*
2 0 L1 0 è 2*
3 0 L2 0 è 3*
(*CG)
47
Siendo:
A partir de los datos de partida: coordenadas del elemento terminal e inclinación P(x,y), n, el
subespacio de matriz de transformación del elemento terminal respecto del sistema base BwT se
puede expresar también como:
Siendo:
En este caso trataremos de determinar los ángulos è1,è2 y è3, mediante ecuaciones algebraicas a
través de la matriz de transformación. Elevando al cuadrado las expresiones de x e y, y sumando:
De donde:
Para que esta ecuación tenga solución es necesario que el lado derecho esté comprendido entre
-1 y +1. Lo contrario implica que el punto P está fuera del espacio de trabajo. Suponiendo que hay
solución, se tendrá:
48
Existiendo pues dos soluciones para è2, según los dos signos de s2. Estas soluciones corresponden
a las posiciones codo hacia arriba o codo hacia abajo. Para la determinación de è2 hemos utilizado
la función arco tangente en la forma atan2 que se encuentra en algunos lenguajes informáticos:
C, Matlab, etc. Los argumentos son s2 y c2, con los dos signos de s2, lo cual nos permite
determinar el ángulo è2 situándolo en el cuadrante adecuado.
Volviendo a las expresiones de x e y:
Siendo:
Es posible resolver las ecuación anteriores de x e y para è1, para ello efectuamos un cambio de
variable, de manera que:
Resultando:
Teniendo pues:
Resultando dos soluciones para è1 al haber dos soluciones para è2. Para el ángulo è3:
En este caso se comprueba que sólo existe una solución para è3.
49
2. Resolver el problema cinemático inverso del robot de la figura mediante el método
geométrico. En este caso tomamos como dato de partida la posición del extremo de la
tercera barra P y la inclinación de ésta ö (ver Craig 4.4).
La posición del elemento terminal vendrá dada por las coordenadas cartesianas del extremo del
robot P(x,y) y por la inclinación ö de la última barra o elemento terminal. A diferencia del caso
anterior suponemos que P no es el extremo de la segunda barra sino el extremo de la tercera barra.
Es posible obtener la posición de Q, en la articulación de las barras 2 y 3:
Se puede observar de la figura que existen dos disposiciones geométricas: una para el codo hacia
abajo y otra para el codo hacia arriba. Aplicando el teorema del coseno al triángulo OAQ
suponiendo la solución de codo hacia abajo:
Para que exista solución el cosè2 tiene que estar comprendido entre -1 y 1, de lo contrario el punto
Q cae fuerza del espacio de trabajo. En este caso resolvemos la ecuación anterior para el ángulo
è2 entre 0 y 180º. Para la posición de codo hacia arriba se tendrá la solución de è’2= - è2.
50
Aplicando nuevamente el teorema del coseno:
En donde se utiliza el signo positivo para la posición codo hacia arriba y el signo negativo para
el codo hacia abajo. Para el ángulo è3 se tendrá:
51
3. (Problema 4.14 Craig) ¿Existen robots de 6 GDL para los que la cinemática inversa no
puede resolverse en forma cerrada?: Si, únicamente existe solución cerrada cuando los tres ejes
de la muñeca se intersectan en un punto
¿Existen algún robot de 3 GDL para el que la cinemática de posición no pueda resolverse
en forma cerrada?: En general no
En este caso existe una única solución, en donde los parámetros que definen las posiciones de las
barras, se corresponden con las coordenadas del punto P.
52
5. (Problema 4.18 Craig) Considere el manipulador RRP de la figura ¿Cuantas soluciones
de posición poseen las ecuaciones cinemáticas? Resolver el problema cinemático inverso.
53
De la figura:
Para el signo menos de á, el signo de d3 será negativo pero con el mismo valor absoluto. Para que
exista solución, se tiene que cumplir:
54
6. (Problema4.19 Craig) Considere el manipulador RRR de la figura ¿Cuantas soluciones
de posición poseen las ecuaciones cinemáticas? Resolver el problema cinemático inverso.
55
Se tendrá además, de acuerdo con la figura, aplicando el teorema del coseno al triángulo O2 O3
P:
Resultando:
Se tiene también:
56
Para la segunda solución, se tendrá:
Y también:
57
7. (Problema 4.11 Craig). Una tabla de posicionamiento de 2GDL se utiliza para orientar
piezas para soldadura de arco. La cinemática directa que ubica la cubierta de la mesa
(elemento 2), con respecto a la base (elemento 0), es:
58
Resultando las siguientes ecuaciones:
Existiendo dos soluciones de è1 para cada solución de è2 , siempre que el radical del segundo sea
mayor que cero. Como existen siempre dos soluciones para è2, pueden existir hasta cuatro
soluciones para è1 y cuatro soluciones en total.
Otra posibilidad es que 2Vx = 2Vy = 0, en ese caso se produciría una indeterminación en è2,
existiendo infinitas soluciones para è2, sin embargo para è1 seguirían existiendo dos soluciones,
ya que la ecuación (1), se tiene:
Supongamos pues que 2Vx y 2Vy son diferentes de cero y consideremos una de las dos soluciones
59
para è2, dentro del intervalo 0, 180º. Para que existe una solución única en è1, se tiene que
cumplir que el último término de la anterior ecuación se anule, esto es:
Para que no exista solución para è1, se tiene que cumplir que el término del radical sea menor que
cero, esto es:
60
8. (Problema 4.12 Craig). En la figura se ilustran dos mecanismos 3R. En ambos casos los
tres ejes se intersectan en un punto ( y, sobre todas las configuraciones posibles, este punto
permanece fijo en el espacio). El mecanismo (a) tiene un ángulo de torsión de barra (ái) de
90º el mecanismo de la figura (b) presenta unos ángulos de torsión de n y 180-n. Se puede
ver que el mecanismo (a) está en correspondencia con los ángulos de Euler Z-Y-Z y por
tanto sabemos que basta con orientar el elemento {3} con la flecha de la figura
arbitrariamente con respecto del elemento {0} fijo. Como n
90º, el mecanismo (b) no
puede orientar el elemento (3) de manera arbitraria. Describir el conjunto de orientaciones
inalcanzables con el mecanismo (b) . Todas las articulaciones pueden girar 360º.
En este caso es preferible razonar en términos de ángulos de Euler: el sistema OXYZ es el sistema
fijo y el OX’Y’Z’ es el sistema móvil asociado a elemento 3. Los ángulos de Euler á, â, ã,
representan al mismo tiempo los giros de los elementos:
61
Al final de la transformación, la herramienta tendrá una posición dada por los ángulos de Euler:
á, â, y ã. La orientación del vector herramienta vendrá dada por los ángulos á, y â, mientras que
ã dará la rotación propia. El vector herramienta corresponderá al eje OZ’ de la figura. Existirá
una limitación en el ángulo â que mide el ángulo entre el primer y tercer eje ( o entre OZ y OZ’),
en (a) puede valer entre 0 y 360º pero en (b) siempre ha de ser mayor que 90- n, y menor que 360-
(90 - n) = 270º + n.
62
9. Resolver el problema cinemático inverso para un robot de 6 barras en donde los ejes de
las tres últimas barras se intersectan (método de Pipeper, ver Craig 4.6).
Cuando se intersectan los tres últimos ejes, los orígenes de las tramas-sistemas de los vínculos-
barras {4},{5} y {6} coinciden con el punto de intersección que suponemos además como el
extremo del robot, el cual se expresa en coordenadas base como:
(1)
Siendo pues x,y,z las coordenadas del extremo del robot expresadas en el sistema base, que
suponemos conocidas. Teniendo en cuenta la expresión general de la matriz de transformación
para el caso de 34T, cuarta columna:
(2)
(3)
Siendo:
(4)
En donde:
63
(5)
(6)
Siendo:
(7)
Cumpliéndose:
(8)
(9)
En donde:
(10)
En la ecuación (9) los parámetros r y z son conocidos y los hemos podido expresar de forma
independiente de è1. En primer lugar trataremos de determinar è3, existen tres casos:
64
1. Si a1 = 0, de la primera ecuación (9), r = k3, en donde r es conocido, k3 obteniendo una ecuación
que se puede resolver para è3.
2. Si sá1 = 0, de la segunda ecuación (9), z = k4, en donde se conoce z, obteniendo nuevamente
una ecuación que se puede resolver para è3.
3. En caso de no cumplirse las ecuaciones anteriores, es posible eliminar s2 y c2 de (9) ,
obteniendo:
(11)
Pudiendo resolverse para è3 mediante una ecuación de cuarto grado. A continuación la ecuación
(9) se puede resolver para è2 y la (6) para è1. Resultando ecuaciones trascendentes en la forma:
(12)
Y también:
(13)
A continuación, queda por calcular è4, è5, è6, se puede considerar que para gran parte de los
manipuladores estos ángulos se corresponden con los ángulos Z-Y-Z de Euler. Para el cálculo
determina en primer lugar (04R)è4=0, esta matriz da la orientación de la trama-sistema {4} relativa
a la base cuando è4 = 0. La orientación de {6} difiere de esta orientación por la acción de las tres
últimas articulaciones, resultando:
(14)
Los ángulos è4, è5, è6 se determinaran a partir de (46R)è4=0, identificándose estos ángulos como
los ángulos de Euler Z-Y-Z.
65
10. (Problema 4.16 Craig). Un manipulador 4R se muestra esquemáticamente en la figura.
Los parámetros de las barras diferentes de cero son a1 = 1, á2 = 45º, d3 = %2 y el mecanismo
se ilustra en la configuración correspondiente a È = [ 0º, 90º, -90º, 0] T. Cada articulación
tiene ± 180º como límite. Encontrar los valores de è2 tales que: 0P4ORG = [1'1, 1'5, 1'707 ]T:
66
Problema cinemático inverso para un robot articulado de 3 barras,
resuelto por el metodo de Pieper
67
11. (Problema 4.17 Craig, cambiando la posición del punto 0P4ORG ya que con los valores del
texto no existía solución). Un manipulador 4R se muestra esquemáticamente en la figura.
Los parámetros de las barras diferentes de cero son: d2 = 1, á1 = 45º, d3 =1 y a3 = 1, y el
mecanismo se ilustra en la configuración correspondiente a È = [ 0º, 0º, 90º, 0] T. Cada
articulación tiene ± 180º como límite. Encontrar los valores de è2 tales que: 0P4ORG = [0'2, 1'0,
1'414 ]T:
68
Problema cinemático inverso para un robot articulado de 3 barras,
resuelto por el metodo de Pieper
69
12. Como se sabe de la teoría, el método de Pieper permite resolver el problema cinemático
inverso de un robot de 6 barras siempre que los ejes de las últimas tres barras se intersecten
en un punto que se correspondería con el origen común de los sistemas de referencia
asociados a las últimas tres barras y que para mayor simplicidad podemos considerar
también como el punto que define la posición de elemento terminal (o efector final) del
manipulador. La posición del elemento terminal definida a partir sus coordenadas en el
espacio cartesiano, nos permitirá conocer la posición de las tres primeras barras: è1, è2, è3,
mientras que la orientación del elemento terminal nos definirá la posición de las tres
últimas barras:è4, è5, è6. Para el cálculo de la posición de las tres primeras barras, se utiliza
el algoritmo explicado en la teoría ( ver Craig 4.6 y el problema 9), mientras que para el
cálculo de la posición de las tres últimas barras se puede utilizar un procedimiento basado
en los ángulos de Euler. Explicar este procedimiento y aplicarlo a una situación real de un
robot articulado PUMA.
Como se explica en la teoría para completar el cálculo de las coordenadas è4, è5, è6, puesto que
los ejes asociados a los giros se intersectan, estas coordenadas definirán la orientación de la última
barra ( elemento terminal o efector final). Podemos definir estos ángulos a parir de la rotación
parcial tomada a partir de la orientación final de la última barra, definida mediante la matriz de
rotación final 06 R. Una vez determinadas las coordenadas è1, è2, è3, se computa la matriz (04R)è4=0,
esta matriz define la orientación de la barra 4 cuando dicha barra no gira. La orientación final de
la barra (6) difiere de esta orientación, únicamente por el giro de las últimas tres barras. Puesto
que la matriz de rotación de la última barra: 06 R, se supone que es un dato conocido, es posible
computar la rotación de las últimas tres últimas barras respecto de la barra 4 con è4 = 0, definida
por la matriz (46R)è4=0, mediante la expresión:
La matriz (46R)è4=0, una vez computada, nos permite determinar los ángulos è4, è5, è6,
completándose el problema cinemático inverso. Para el cálculo de estos ángulos podemos utilizar
los ángulos de Euler á, â, ã, empleados para definir la orientación de un objeto en el espacio
tridimensional. Es un hecho comúnmente aceptado que para muchos manipuladores, estos tres
ángulos se corresponden exactamente con los ángulos de Euler Z-Y-Z. Vamos a aplicar todo esto
al estudio del problema cinemático inverso de un robot PUMA, considerando las últimas tres
barras, empleando los sistemas de referencia tal como aparecen en el texto de J.J. Craig. La tabla
de parámetros tal como aparece en el texto, es:
i ái-1 a i-1 di èi
1 0 0 0 è1*
2 -90º 0 0 è2*
3 0 a2 d3 è3 *
4 -90º a3 d4 è4 *
70
5 90º 0 0 è5 *
6 -90º 0 0 è6 *
Sin embargo en nuestro estudio tenemos que hacer una distinción en la posición de la barra 4:
consideramos la posición de 4 cuando è4 = 0, a esta posición la representamos por la barra
imaginaria 4', diferente de la barra real 4 cuya posición se corresponde con la posición real de la
barra. La posición de 4 respecto de 4' , será una rotación respecto del eje Z4, cumpliéndose:
La posición de la última barra respecto de 4' será una rotación dada por la matriz:
En donde además:
71
Y también:
Para comprobar que la posición de las últimas tres barras, dada por los ángulos è4, è5, è6, se
corresponde con los ángulos de Euler Z-Y-Z, comparamos esta matriz de rotación con la matriz
obtenida para esta transformación y que podemos encontrar en cualquier texto de robótica. Se
comprueba que es muy simular pero no exactamente igual, ya que en los términos en donde
aparece s5 , el signo cambia.. Se puede comparar también con la matriz obtenida en otras
transformaciones según los ángulos de Euler pero las diferencias son todavía mayores. A la vista
de los resultados, podemos pensar que la transformación de las tres barras del robot se
corresponde con la obtenida con los ángulos de Euler Z-Y-Z pero en donde el sentido de giro
según el eje OY (OZ5) ha sido cambiado. Podemos pensar además que esto sucede porque no
hemos orientado el eje OZ5 adecuadamente ( la notación de Hartenber-Denavit nos define la
dirección de eje OZ pero nos permite elegir el sentido). Con objeto de establecer una correcta
analogía con los ángulos de Euler efectuamos la siguiente modificación en la tabla de parámetros
parámetros de las últimas tres barras:
i ái-1 a i-1 di èi
4 -90º a3 d4 è4 *
5 -90º 0 0 è5 *
6 90º 0 0 è6 *
72
En donde se han cambiado los signos de los ángulos, quedando á4 = -90º , á5 = 90º , con objeto
de obtener una completa analogía con los ángulos de Euler Z-Y-Z. Con esta modificación, las
matrices de transformación son:
Resultando:
73
CÁLCULO DE VELOCIDADES Y FUERZAS ESTÁTICAS
74
1. ( ejemplo 5.3 y problema 5.1. Craig). En la
figura se muestra un manipulador de dos
barras con articulaciones giratorias. Calcular
la velocidad de la punta del brazo en función
de las articulaciones, así como el jacobiano
correspondiente. Obtener las configuraciones
singulares. Expresar los resultados en
términos del sistema {3} (herramienta) y del
sistema {0}.
i ái-1 a i-1 di èi
1 0 0 0 è1*
2 0 L1 0 è2*
3 0 L2 0 0
75
Se verifica también:
Y también:
El jacobiano asociado a la velocidad lineal del origen O3, considerando dos dimensiones:
Operando:
76
El jacobiano expresado en el sistema base {0}, considerando dos dimensiones:
Resultando, finalmente:
77
Es decir:
Otra forma de obtener el jacobiano lineal es directamente mediante la geometría del robot,
derivando la posición del elemento terminal del robot, resultando:
78
2 (Problema 5.8 Craig). Algunas veces los
mecanismos generales tienen ciertas
configuraciones llamadas “puntos isotrópicos”,
en donde las columnas del jacobiano se vuelven
ortogonales y de igual magnitud. Para el
manipulador plano de dos barras, encontrar si
existen puntos isotrópicos. Sugerencia ¿existe
algún requerimiento sobre L1 y L2?
Suponiendo en primer lugar el signo negativo en L2. Comparando ambas matrices de 3J:
Así mismo:
Es decir las componentes de la velocidad son independientes entre sí y dependen cada una de una
79
única CG, lo cual equivale a decir que el robot se comporta en ese punto como un robot
cartesiano. Para la otra solución, se tiene:
80
3. (Problema 5.13 Craig) Para un manipulador plano de dos barras, ignorando la gravedad,
calcular los momentos de torsión requeridos de las articulaciones para que aplica en el
elemento terminal un vector fuerza 0F = [10, 0]t:
81
4. (Problema 5.2. Craig). Encontrar el jacobiano del manipulador plano RRR de la figura.
Escribirlo en términos del sistema base {0} y del sistema {4} (herramienta) ubicado en la
punta del elemento terminal con la misma orientación que {3}
La matriz de trasformación del sistema {4} al {0}, se puede expresar directamente a partir de una
rotación de ángulo è1 +è2 +è3 sobre el eje OZ:
La forma más directa de obtener el jacobiano lineal expresando la posición del elemento terminal
P en el sistema base, bien por geometría o a partir de la matriz de trasformación:
82
Derivando las expresiones anteriores respecto del tiempo obtenemos la velocidad lineal de P:
Es decir:
Prescindiendo de las dos primeras filas por innecesarias se tiene el jacobiano relativo a las
rotaciones:
83
5. Encontrar el jacobiano del manipulador RRR. Ubicarlo en el sistema base {0} y en el
sistema {4} ubicado en la punta del elemento terminal con la misma orientación que {3}
Suponemos que el elemento terminal P/O4 está situado en el origen del sistema {4}. Expresando
la posición del elemento terminal en el sistema base, bien por geometría o a partir de la matriz de
trasformación:
Derivando las expresiones anteriores respecto del tiempo, obtenemos la expresión de la velocidad
lineal de P:
84
Es decir
Es decir:
85
Los jacobianos en el sistema {4} se obtendrán multiplicando por la matriz de rotación
86
6. Encontrar el jacobiano del manipulador RRP Ubicarlo en el sistema base {0} y en el
sistema {3}.
Suponemos que el elemento terminal P/O3 está situado en el origen del sistema {3}. Expresando
la posición del elemento terminal en el sistema base, bien por geometría o a partir de la matriz de
trasformación:
87
Derivando las expresiones anteriores respecto del tiempo, obtenemos la expresión de la velocidad
lineal de P:
Es decir:
Es decir:
88
89
7. En la figura se muestra un manipulador
plano de dos barras con articulaciones
giratorias. En el extremo se ejerce la fuerza 3f,
calcular los momentos de torsión y fuerzas en
las articulaciones ( ejemplo 5.7 Craig)
Resultando:
90
8.(problema 5.17 Craig). Desarrollar un
algoritmo para generar numéricamente
el jacobiano de un manipulador de n
barras a partir del análisis de
velocidades.
Supongamos el manipulador de n barras de
la figura y sea H el extremo de la última
barra del robot (también herramienta o
elemento terminal). A continuación
consideraremos la contribución de cada
articulación a la velocidad de H, 0vH para
ello supongamos que inmovilizamos todas
las articulaciones excepto la articulación i
a la que le comunicamos un giro de
velocidad è’i, la contribución de la
articulación i a la velocidad total de H, para
el caso de un par de rotación será:
La contribución de i a la velocidad angular de la última barra para el caso de par de rotación, será:
Generalizando las expresiones anteriores a todas las articulaciones del robot, se tendrá
91
Adoptándose una solución u otra, según se trate de un par prismático o de un par de rotación. Para
la velocidad angular, se tendrá igualmente:
Siendo:
92
PROBLEMA DINÁMICO
93
1. Establecer las ecuaciones dinámicas
en forma cerrada de un manipulador
plano de dos barras aplicando las
ecuaciones recursivas de Newton-
Euler. Para mayor sencillez, suponer
que las masas de las barras son
puntuales y concentradas en las
articulaciones (Craig 6.7).
En base también a lo anterior, los tensores o matrices de inercia de las barras serán nulos:
Para incluir las fuerzas de gravedad se supondrá sin embargo una aceleración positiva de la
gravedad en el sistema base:
94
Aplicando las ecuaciones iterativas hacia adelante, barra-vínculo 1:
Para la barra-vínculo 2:
Considerando a continuación las ecuaciones iterativas hacia atrás, paa la barra-vínculo 2, se tiene:
95
Para la barra-vínculo 1, la fuerza es:
El momento es:
Para determinar los momentos de torsión, extraemos las componentes Z de las ini:
De forma genérica las ecuaciones dinámicas del manipulador de n GDL se pueden escribir como:
96
En donde ô representa el vector n x 1 de los momentos torsores, M(È) la matriz de masas n x n
o de inercia del manipulador, V(È,È’) es el vector n x 1 de las fuerzas centrífugas y de Coriolis,
G(È) es el vector n x1 de los términos gravitatorios y È el vector de las coordenadas
generalizadas. También es común en otros textos representar el vector de coordenadas
generalizadas por q, y la matriz de masas M(È) como H(q). En este problema:
97
2. Establecer las ecuaciones dinámicas del
manipulador plano RP de la figura,
empleando la formulación de Lagrange
(Craig ejemplo 6.5).
Este mismo resultado se podría haber también obtenido directamente a partir de las ecuaciones
de la cinemática. Para la segunda barra, se obtendrá también por geometría:
98
La energía cinética de la barras-vínculos:
99
Estas ecuaciones se pueden escribir en la forma clásica matricial:
Siendo:
100
3. (Problema 6.18 Craig) Proporcione dos propiedades que debería poseer cualquier modelo
de fricción razonable en la ecuación dinámica:
De acuerdo con la teoría, la fricción introducirá un par resistente que se opondrá siempre al par
matriz en cada articulación. Existen dos tipos de resistencia de de fricción:
Este término habrá de incluirse para cada articulación, formando el vector F(È,È’).
101
4. Establecer las ecuaciones dinámicas
en forma cerrada de un manipulador
plano de dos barras aplicando la
formulación de Lagrange.
Este mismo resultado se podría haber también obtenido directamente a partir de las ecuaciones
de la cinemática. Para la segunda barra, se obtendrá también por geometría:
Elevando al cuadrado:
102
Sumando las expresiones anteriores, teniendo en cuenta que: sen2 x +cos2 x=1, y que de acuerdo
con la fórmula trigonométrica del coseno de la diferencia de ángulos: c1c12 + s1s12 =c2 y volviendo
a ordenar términos:
103
Sustituyendo en las ecuaciones de Lagrange:
Siendo:
Resultados que coinciden con los del problema 1, en donde se ha estudiado la dinámica del robot
mediante las ecuaciones de Newton-Euler.
104
5. Dado el manipulador cartesiano PP de
la figura, formado por dos barras
homogéneas con cdg en el punto medio,
se pide establecer las ecuaciones del
modelo dinámico mediante la formulación
de Lagrange. Para mayor simplicidad se
supondrá que los centros de gravedad
están en los extremos de las barras, tal
como se muestra en la figura.
105
6. Establecer las expresiones generales para las ecuaciones cerradas de un robot articulado
de n barras, mediante la formulación de Lagrange.
Las ecuaciones de Lagrange nos permiten obtener una formulación matemática explícita de las
acciones o pares en los actuadores del robot y las coordenadas generalizadas. Las ecuaciones de
Lagrange, se pueden escribir como:
(1)
(2)
Teniendo pues en cuenta que la energía cinética depende de las coordenadas generalizadas y sus
derivadas y que la energía potencial depende únicamente de las coordenadas, las ecuaciones de
Lagrange se pueden expresar como:
(3)
Necesitaremos pues expresar las energías cinética y potencial en función de las coordenadas
generalizadas y sus derivadas. La expresión general de la energía cinética un sólido rígido, es:
(4)
Para el caso de un robot de n barras, la energía cinética total del robot será la suma de las n
energías cinéticas de la barras:
(5)
106
(6)
(7)
Hay que resaltar que, puesto que el movimiento de la barra i depende de las articulaciones 1ª- i,
los vectores columna son 0 para j>=i. Esta notación, nos permite obtener los jacobianos lineales
y angulares de cada barra de forma sistemática, en particular, se puede demostrar, tal como
aparece explicado en algunos textos de robótica que los jacobianos se pueden obtener:
(8)
Siendo rj,Gi el vector de posición del cdg de la barra i, referido al origen del sistema j, y zj es el
vector unitario 3x1 de la dirección del eje j-1. No obstante si el robot no presenta gran
complejidad, los jacobianos también se pueden obtener directamente, a partir de las expresiones
de las velocidades lineales y angulares. Sustituyendo las expresiones de las velocidades lineales
y angulares (5), en las expresiones de la energía cinética (3) y(4):
(9)
La matriz M recibe el nombre de matriz de inercia del manipulador. Se trata de una matriz
cuadrada n x n que comprende las matrices o tensores de inercia de cada barra. Es una matriz
simétrica definida positiva que cambia de valor para cada posición del robot al variar los
jacobianos, es decir es función del vector de coordenadas generalizadas È. Empleando una
notación en forma de subíndice, la energía cinética se puede expresar también como:
(10)
107
En lo que respecta a la energía potencial, existirá una energía potencial gravitatoria. Si g
representa el vector 3 x 1 de la aceleración de la gravedad referido al sistema base, la energía
potencial del robot se expresará como:
(11)
En lo que respecta a las fuerzas generalizadas, hay que incluir todas las acciones: fuerzas y
momentos exteriores que actúan sobre el robot, prescindiendo de las fuerzas de inercia y de la
fuerzas de gravedad. Estas fuerzas serán los pares en los actuadores del robot, definidos por el
vector: ô = [ ô 1,....,ô n]T, así como la fuerza en el extremo del robot que se representa como Fext,
si r representa el vector de posición del elemento terminal del robot, el trabajo virtual del robot,
será:
(12)
En la ecuación anterior, se ha tenido en cuento que: är = J äÈ. El término Q = [Q1,..Qn ]T, recibe
el nombre de fuerza generalizada y es un vector de n dimensiones, siendo:
(13)
(14)
Una vez se tiene una expresión de la energía cinética y potencial, en función de las coordenadas
generalizadas y sus derivadas, ecuaciones (10) y (11), es posible desarrollar las ecuaciones
dinámicas del movimiento del robot en forma cerrada, a partir de las ecuaciones de Lagrange.
Para el primer término de la ecuación (3), teniendo en cuenta (9) y que además la energía
potencial del robot dada por (10), depende de las coordenadas generalizadas pero no de sus
derivadas:
(15)
La matriz de inercia del manipulador M varía de acuerdo con las coordenadas generalizadas È,
108
resultando:
(16)
(17)
(18)
Puesto que la derivada parcial del vector de posición r0,Gj con respecto a èi es lo mismo que el
vector columna (i) de la matriz jacobiana J Li(j), definido por las ecuaciones (6)-(8). Sustituyendo
las expresiones (13)-(18) en (3), se tiene:
(19)
En donde:
(20)
La expresión (19) constituye las ecuaciones dinámicas del robot en forma cerrada, y nos da el
valor de los pares torsores en los actuadores de las barras en función de las coordenadas
generalizadas del robot è1..èn, y sus derivadas, así como de las características mecánicas y
geométricas del robot. Los valores de las coordenadas generalizadas y sus derivadas, vienen
impuestos por las características de la trayectoria impuesta y son por tanto conocidos. De acuerdo
con (14), si no existe una fuerza externa actuando sobre el elemento terminal del robot, la fuerza
generalizada Qi, nos da directamente el valor del par torsor en el actuador. En caso contrario, hay
que tener en cuenta el término adicional correspondiente a la fuerza exterior de acuerdo con la
ecuación (13). El primer término de la ecuación (19) corresponde al par producido por las fuerzas
de inercia sobre la barra, el segundo término corresponde al par producido por las fuerzas
centrífugas y de coriolis. Como se ha visto en el problema 1 estas mismas ecuaciones (19) se
109
pueden obtener también empleando la formulación de Newton-Euler, si bien las ecuaciones de
Lagrange permiten establecer estas ecuaciones de forma más sistemática y directa para un robot
de n barras de cualquier configuración, mientras que la formulación de Newton-Euler es mas
adecuada para calcular numéricamente los pares en los actuadores de forma recursiva con menos
operaciones aritméticas y menor coste computacional. Las ecuaciones dinámcas se pueden
escribir también en forma matricial, presentado la forma clásica:
(21)
110
7. Establecer las ecuaciones dinámicas en
forma cerrada para un manipulador plano
de dos barras empleando la formulación de
Lagrange.
(1)
Siendo È = [ è1, è2]T . Las velocidades lineales se han obtenido derivando los vectores de
posición. Para la primera barra, se tiene:
(2)
(3)
Las ecuaciones (1), (2) y (3) nos dan los jacobianos lineales y angulares. Sustituyendo estas
expresiones en la segunda expresión de la ecuación (9) del problema anterior, se tiene:
(4)
111
Los componentes del tensor de inercia del manipulador son los coeficientes Mij de la ecuación
dinámica, ecuación (19) del problema anterior. El segundo término se obtiene de la primera
expresión de la ecuación (20), resultando:
(5)
(6)
Y también:
(7)
(8)
(9)
Siendo:
(10)
112
8. El manipulador plano de dos barras de la figura
está accionado por dos actuadores, de manera que
el actuador de la barra 2 está situado en la base y
transmite su potencia a través de una cadena. El
actuador de la barra 1 está también situado sobre
la base y transmite la potencia directamente.
Establecer las ecuaciones dinámicas.
En donde las coordenadas generalizadas siguen siendo los ángulos de las barras: q1 = è1, q2 = è2,
resultando para las fuerzas generalizadas:
113
GENERACIÓN DE TRAYECTORIAS
114
1. El extremo P del robot plano articulado-
prismático RP de la figura, se mueve entre
los puntos P1(0'1,0) m, P2( -0'6,0'5) m del
sistema de trabajo OXY de la figura,
describiendo una trayectoria
polinomial/cúbica en 10 seg, se pide:
Definir las trayectorias polinómicas y sus
derivadas, así como los valores de las
acciones en los actuadores para la
trayectoria supuesta, suponer 11 puntos de
muestra repartidos de forma uniforme en los
10 segundos del período de la trayectoria (0
seg, 1 seg.....10 seg).
Datos:
m1 = 5 kg, m2 = 6 kg , L1 = 0'4 m, L2 = 0'1 m
IG1 = 10 kgm2, IG2 = 15 kgm2, g=9'81 m/seg2.
En primer lugar resolveremos el problema dinámico inverso para las posiciones inicial y final.
Posición inicial:
Posición final:
115
Estando expresada la posición en rad. Para la segunda articulación:
116
trayectoria polinóm ica, problem a dinám ico inverso problem a del m anual
características m anipulador:
longitudes barras (m ), L1 : 0.400000, L2 : 0.100000
m asas barras (kg), m 1 : 5.000000, m 2 : 6.000000
m di barras (kgm 2), I1 : 10.000000, I2 : 15.000000
período trayectoria (seg), tf : 10.000000
coordenadas puntos (m ), inicial : xp1 : 0.100000, yp1 : 0.000000 , final xp2: -0.600000, yp2: 0.500000
t(seg) thet1(rd) dthet1(rd/seg) ddthet1(rd/s2) d2(m ) dd2(m /seg) ddd2(m /seg2) tau1(N m ) f2(N )
0.000000 0.000000 0.000000 0.146811 0.000000 0.000000 0.040861 23.407731 0.245169
1.000000 0.068512 0.132130 0.117449 0.019069 0.036775 0.032689 23.725274 4.223595
2.000000 0.254473 0.234898 0.088087 0.070827 0.065378 0.024517 25.311102 14.940792
3.000000 0.528521 0.308304 0.058725 0.147101 0.085809 0.016345 25.989332 29.694701
4.000000 0.861293 0.352347 0.029362 0.239721 0.098068 0.008172 22.840699 44.526688
5.000000 1.223427 0.367028 0.000000 0.340512 0.102154 0.000000 13.655342 55.069163
6.000000 1.585562 0.352347 -0.029362 0.441304 0.098068 -0.008172 -1.282073 58.475827
7.000000 1.918334 0.308304 -0.058725 0.533924 0.085809 -0.016345 -18.831718 54.938443
8.000000 2.192382 0.234898 -0.088087 0.610198 0.065378 -0.024517 -34.697116 47.501497
9.000000 2.378342 0.132130 -0.117449 0.661956 0.036775 -0.032689 -45.631859 40.422893
10.000000 2.446854 0.000000 -0.146811 0.681025 0.000000 -0.040861 -50.063024 37.436085
La prim era colum na corresponde al tiempo, la segunda, tercera y cuarta colum na al desplazamiento, velocidad y aceleración en la prim era articulación, la quinta, sexta y séptim a colum na al desplazamiento, velocidad y aceleración en la segunda articulación,
la octava colum na es el m om ento torsor en la prim era articulación y la novena colum na la fuerza en la segunda articulación.
117
PROBLEMAS COMPLEMENTARIOS
118
DESCRIPCIÓN PROGRAMAS DE PRÁCTICAS DE ROBÓTICA EN LEGUAJE C Y
MATLAB
1
Programas en lenguaje C
Programa cindir1.
Los archivos de entrada- salid de datos son archivos de texto que se pueden abrir con un
procesador de texto. Es conveniente utilizar el programa Wordpad ó el Block de Notas que vieen
siempre por defecto en el Windows.
El archivo de código fuente es también un archivo de texto que se puede abrir con un procesador
de tecto como los anteriores, sin embargo es conveniente utilizar el procesador del compilador
Descripción del código del programa, archivo cindir1.cpp:
Programa principal:
Se leen los datos de entrada del archivo cincir1_en.text:
Longitudes de las barras (m) L1, L2, L3.
Ángulos supuestos de las tres barras (grados): theta1, theta2, theta3.
Se define la tabla de parámetros de acuerdo con la convención Hartenberg-Denavit, versión J.J.
Craig.
Se define el vector p3 que corresponde extremo P de la barra 3 en el sistema de referencia local.
Se definen las matrices de transformación homogénea entre cada pareja de barras:
T01: de la barra 1 al sistema base.
T12: de la barra 2 a la 1.
T23: de la barra 3 a la 2.
2
Se forma la matriz de transformación de la barra 3 al sistema base T03, para ello se utiliza la
función matmul dos veces que multiplica una pareja de matrices:
T13 = T12*T23; T03 = T01*T13;
Se define la posición del elemento terminal P en el sistema base, obteniendo el vector p0, para ello
se utiliza la función matvecmul que multiplica una matriz por un vector: p0 = T03*p3.
Se extrae la matriz de rotación R03 de la matriz de trasformación T03.
Se forma la traspuesta RT03 de la matriz de rotación de R03, mediante la función traspuesta.
Finalmente el programa comprueba que la matriz R03 es ortogonal ya que al multiplicarla por su
traspuesta, se obtiene la matriz unidad: I = R03*RT03, para ello se emplea la función matmul.
Programa cindir2.
Figura 2
3
Descripción del código del programa, archivo cindir2.cpp:
Programa principal:
Programa cindir3.
4
Figura 3
Programa principal:
5
Se define la tabla de parámetros de acuerdo con la convención Hartenberg-Denavit, versión J.J.
Craig.
Se define el vector p3 que corresponde extremo P de la barra 3 en el sistema de referencia local.
En este caso el punto P coincide con el origen del sistema de la barra 3
Se definen las matrices de transformación homogénea entre cada pareja de barras:
T01: de la barra 1 al sistema base.
T12: de la barra 2 a la 1.
T23: de la barra 3 a la 2.
Se forma la matriz de transformación de la barra 3 al sistema base T03, para ello se utiliza la
función matmul dos veces que multiplica una pareja de matrices:
T13 = T12*T23; T03 = T01*T13;
Se define la posición del elemento terminal P en el sistema base, obteniendo el vector p0, para ello
se utiliza la función matvecmul que multiplica una matriz por un vector: p0 = T03*p3.
Se extrae la matriz de rotación R03 de la matriz de trasformación T03.
Se forma la traspuesta RT03 de la matriz de rotación de R03, mediante la función traspuesta.
Finalmente el programa comprueba que la matriz R03 es ortogonal ya que al multiplicarla por su
traspuesta, se obtiene la matriz unidad: I = R03*RT03, para ello se emplea la función matmul.
Programa cininver1.
6
Se leen los datos del archivo cininver1_en:
Longitudes de los brazos (m): L1,L2,L3.
Posición del elemento terminal, coordenadas y ángulo de inclinación de la tercera barra: xp(m),
yp(m), betha(grados).
Se resuelve el problema cinemático inverso geométricamente, considerando todas las soluciones:
codo hacia arriba y codo hacia abajo.
El programa muestra los siguientes resultados:
Solución problema cinemático inverso, codo hacia abajo, ángulos (grados): theta11,
theta21,theta31.
Comprobación mediante el problema cinemático directo, se comprueban las coordenadas del
elemento terminal xp(m), yp(m) y del ángulo de la tercera barra: betha(grados) para la solución
obtenida.
Se repiten los pasos anteriores para la solución de codo hacia arriba, ángulos: theta12,
theta22,theta32.
Programa cininver2.
Descripción: programa que calcula el problema cinemático inverso de un robot espacial articulado
de tres barras RRR sin descentramiento en el hombro, empleando el método geométrico, similar
al problema 6 del capítulo problema cinemático inverso de los apuntes.
Figura 5
Descripción del código del programa, archivo cininver2.cpp: consta únicamente de un programa
principal con la siguiente estructura:
Se leen los datos del archivo cininver1_en:
7
Longitudes de los brazos (m): L0,L1,L2,L3.
Posición del elemento terminal, (m): xp, yp, zp.
Se resuelve el problema cinemático inverso geométricamente, considerando todas las soluciones:
codo hacia arriba y codo hacia abajo.
El programa muestra los siguientes resultados:
Solución problema cinemático inverso, codo hacia abajo, ángulos (grados): theta1,
theta21,theta31.
Comprobación mediante el problema cinemático directo, se comprueban las coordenadas del
elemento terminal: xp(m), yp(m), zp(m).
Se repiten los pasos anteriores para la solución de codo hacia arriba, ángulos(grados): theta1,
theta22,theta32.
Programa cininver3.
Descripción: programa que calcula el problema cinemático inverso de un robot espacial esférico
de tres barras con dos pares de rotaión y un par prismático RRP, empleando el método
geométrico, similar al problema 5 del capítulo problema cinemático inverso de los apuntes.
Figura 6
8
cininver3.cpp: código fuente en lenguaje C.
cininver3.exe: archivo ejecutable.
9
programas en C incompletos
en este caso no se muestra el archivo de código del programa y la ejecución está limitada a
algunos casos
Programa invercin1b
Descripción: este programa que calcula el problema cinemático inverso de un robot de 6 barras,
6R, que consta de tres barras articuladas y muñeca giratoria de tres ejes que se cortan, empleando
el método de Pieper. El programa está modificado de forma que la coordenada xp que define la
posición del elemento terminal (punto de intersección de los ejes de la muñeca) es siempre xp
=1'3333 m, yp = zp = 0'3333 m. Se muestran únicamente los archivos de entrada-salida de datos
pero no el código del programa.
Al igual que en los casos anteriores el programa consta de los siguientes archivos:
invercin1b_en.txt: entrada de datos.
invercin1b_sal.txt: salida de datos.
invercin1b.cpp: código fuente en lenguaje C. Como se ha explicado, este archivo no se muestra.
invercin1b.exe: archivo ejecutable.
Programa invercin3b
10
Posición del elemento terminal, m: xp,yp,zp.
Tabla parámetros del robot con el siguiente orden:
á i-1 (grados), a i-1 (m), di (m), i=1..4. En este caso se consideran los sistemas de cada barra, mas
un cuarto sistema adicional correspondiente al extremo de la tercera barra o elemento terminal,
coincidente con el origen del sistema.
Al igual que ocurre con el programa invercin1b, el código del programa modifica los datos de
entrada de manera que xp =1'3333 m, yp = zp = 0'3333 m.
El archivo de salida muestra cuatro resultados para èi (grados), i=1..3. Al igual que en el
programa invercin1b, para cada resultado se comprueba el problema cinemático directo
calculando la matriz de transformación, si bien en este caso no se muestra la matriz completa sino
únicamente los términos de la última columna correspondientes a las coordenadas del elemento
terminal.
Programa invercin4b
Programa invercin6b
Descripción: este programa resuelve el problema cinemático inverso de un robot espacial esférico
de tres barras con dos pares de rotación y un par prismático RRP, empleando el método
geométrico, similar al cininver3 pero con descentramiento en el hombro. El programa está
modificado de forma que xp =1'3333 m, yp = zp = 0'3333 m.
Programa inverdimb
11
Posteriormente este valor se modifica a 180 seg.
Tensor de inercia de cada barra, kg x m2. Los datos se introducen con el siguiente orden:
Ixx, Iyy,Izz,Ixy,Ixz,Iyz.
Masa de cada barra kg y coordenadas del cdg (m).
Posiciones inicial y final de cada barra (grados ó m).
Tabla de párametros para cada barra: á i-1 (grados), a i-1 (m), di (m), èi (m), arti (==1rotación ó ==
0 traslación). En donde el último valor es un código para indicar el tipo de articulación, i=1....
número de barras +1.
Fuerza y momento en el elemento terminal del robot (tres componentes en cada uno).
Vector aceleración de la gravedad (m/seg2).
En el archivo de salida se muestran diferentes resultados: posición, velocidad, aceleración, etc,
y el par o fuerza en cada actuador.
12
Programas simulación en C
Programas que resuelven problemas cinemáticos, calculan jacobianos y pares torsores a lo largo
de una trayectoria
programa cindirtray1
Descripción del código del programa, archivo cindirtray1.cpp: consta de una programa principal
y de las funciones:
matmul: multiplica las matrices A y B, obteniendo la matriz C: C = A*B.
matrix: define la matriz de transformación homogénea entre dos barras T, empleando la
convención Hartenberg-Denavit, versión J.J. Craig, a partir de los valores de la tabla de
parámetros.
matvecmul: multiplica el vector b por la matriz A, obteniendo el vector c: c = A*b.
traspuesta: obtiene la matriz AT, traspuesta de la matriz A.
Siendo èi , y èf los valores inicial y final del ángulo de la barra y tf el período de la trayectoria.
A continuación se forman las matrices de trasformación entre dos barras consecutivas mediante
la función matrix: T01, T12,T23.
Seguidamente se forma la función de transformación de la última barra respecto del sistema base
mediante la función matmul: T03 = T01*T12*T23.
A continuación se forma el vector p0 que define la posición del elemento terminal o extremo de
13
la tercera barra, respecto del sistema base mediante la función matvecmul: p0 = T03*p3.
Los resultados obtenidos de p0 se comprueban también geométricamente
Se repiten los cálculos para cada ciclo, mostrándose los diferentes valores de p0 para la
trayectoria armónica propuesta.
Programa cindirtray2
Descripción: programa similar a condirtray1pero para un robot espacial de tres barras RRR, con
desplazamiento en el sistema base y sin descentramiento en el hombro. Las características del
programa son similares a las del programa anterior. En este caso las variables de entrada son:
Desplazamiento del sistema base L0 y longitudes de las barras (m): L1, L2, L3.
Ángulos supuestos de las tres barras al inicio de la trayectoria (grados): theta1i, theta2i, theta3i.
Ángulos supuestos de las tres barras al final de la trayectoria (grados): theta1f, theta2f, theta3f.
Período de la trayectoria (seg): tf, y número de posiciones a calcular en la simulación: n.
Programa cindirtray3
Descripción: programa similar a los dos anteriores pero para un robot de varias barras, es decir
resuelve el problema cinemático directo y la simulación de la trayectoria para un robot de
cualquier número de barras. Los archivos tienen un significado similar a los dos programas
anteriores y las funciones son las mismas.
A continuación se forman las matrices de transformación entre las barras consecutivas, en este
caso se hace mediante un ciclo for sin utilizar la función matrix.
Mediante la función matmul determinamos la matriz de trasformación del elemento terminal al
sistema base.
El programa muestra los elementos de las cuarta columna de la matriz de trasformación para cada
instante, correspondientes a las coordenadas del origen del sistema de referencia del elemento
terminal que se corresponde con el extremo de la última barra. Aunque el programa no lo hace
se podrían mostrar todos los términos de la matriz lo cual permitiría identificar la posición y
14
orientación del elemento terminal.
Programa jacobiantray1
A continuación se define un ciclo do-whle en donde se efectúan varias iteraciones según los n
puntos o posiciones considerados para la simulación.
En cada ciclo se calcula el ángulo de cada articulación è como función del tiempo de acuerdo con
una función armónica:
A continuación se forman las matrices de transformación entre las barras consecutivas, en este
caso se hace mediante un ciclo for sin utilizar la función matrix.
Se determinan las matrices de trasformación para el sistema de cada barra, referida al sistema
base.
A partir de la matriz de las matrices trasformación se definen los vectores unitarios 0zi i=1..nb+1
para cada articulación, así como los vectores de posición para cada origen del sistema de
referencia, expresados en el sistema base: pi
A continuación se forma el vector de posición del origen del último sistema respecto del origen
de cada barra:
El programa muestra la velocidad lineal y angular del elemento terminal del robot (velocidad lineal
15
del origen del sistema de la barra nb+1 y velocidad angular del sistema nb+1) así como la matriz
jacobiana completa: lineal y angular del robot.
Programa jacobiantray2
Descripción: este programa resuelve el problema cinemático inverso, problema estático y calcula
el jacobiano de un robot plano articulado de dos barras, describiendo una trayectoria recta. Los
archivos tienen un significado similar a los programas anteriores.
16
Programas en Matlab
En general los programas anteriores en lenguaje C pueden también versionarse de una forma más
sencilla y directa en lenguaje de Matlab. Matlab es una sistema informático especialmente
desarrollado para efectuar cálculos de tipo numérico y matricial, con muchas posibilidades
gráficas lo que lo hace ideal para trabajar en problemas de robótica.
Programa cindir1
Programa cindir2
Programa cindir3
Programa cininver1
Descripción: programa que calcula el problema cinemático inverso de un robot plano articulado
de tres barras RRR con posicionamiento angular en la última barra, empleando el método
geométrico, similar al problema 2 del capítulo problema cinemático inverso de los apuntes y
similar al programa del mismo nombre en lenguaje C.
Programa jacobiantray1
Programa jacobiantray2
Descripción: este programa resuelve el problema cinemático inverso, problema estático y calcula
el jacobiano de un robot plano articulado de dos barras, describiendo una trayectoria recta, similar
al programa del mismo nombre en lenguaje C. El programa muestra una representación gráfica
del espacio de trabajo del robot, de los ángulos de las barras, velocidades, pares torsores, así
como del determinate del jacobiano.
17
Programa Jacobiantray3
Descripción: este programa resuelve el problema cinemático inverso, problema estático y calcula
el jacobiano de un robot plano articulado de dos barras, describiendo una trayectoria elíptica
centrada en el origen. El programa muestra una representación gráfica del espacio de trabajo del
robot, de los ángulos de las barras, velocidades, pares torsores, así como del determinate del
jacobiano.
18