Geometría y Cinemática
Geometría y Cinemática
1
Control y Programación
de Robots
Cinemática directa
Cinemática Inversa
Matriz Jacobiana
Cinemática de un Robot Manipulador
Cinemática del robot : Estudio de su movimiento con respecto a un sistema de referencia
– Descripción analítica del movimiento espacial en función del tiempo – Relaciones: localización del extremo del robot-valores articulares
Problema cinemático directo: Determinar la posición y orientación del extremo final del robot, con respecto a un sistema de coordenadas de referencia, conocidos los ángulos de las articulaciones y los parámetros geométricos de los elementos del robot
Problema cinemático inverso: Determinar la configuración que debe adoptar el robot para una posición y orientación del extremo conocidas
Modelo diferencial (matriz Jacobiana): Relaciones entre las velocidades de movimiento de las articulaciones y las del extremo del robot
Cinemática de un Robot Manipulador
Cinemática de un Robot Manipulador
Cinemática de un Robot Manipulador
5
Resolución del problema cinemático directo con matrices de
Modelo directo
Modelo directo
6
Cálculo de la posición y orientación de
cualquier punto del robot (Elemento
Terminal) en función las variables
articulares
q1 q2 qn-1 qn p(x,y,z,α,β,γ)Procedimiento sistemático de
Denavit-Hartemberg
1. Identificar los Enlaces y Ejes de las articulaciones y trazar líneas
imaginarias a lo largo de ellos.
Procedimiento de colocación de
Ejes de Referencia
7
+1
2. Identificar la perpendicular común entre ejes consecutivos. El
origen del SR
i
estará en la intersección del Eje
i
con la normal
común entre los ejes
i
e
i+1
Procedimiento de colocación de
Ejes de Referencia
8
+1
3. Colocar el eje
Z
isobre el eje de la articulación
i
Procedimiento de colocación de
Ejes de Referencia
9
+1 +1Z
iZ
i4. Colocar el eje
X
isobre la perpendicular común, o si los ejes
intersectan, sobre la normal al plano que forman los ejes
Z
iy
Z
i+1Procedimiento de colocación de
Ejes de Referencia
10
+1 +1Z
iZ
iX
iX
i5. Colocar el eje
Y
icompletando un
sistema de referencia dextrógiro
Procedimiento de colocación de
Ejes de Referencia
11
+1 +1Z
iZ
iX
iX
iY
iY
iParámetros de Denavit-Hartemberg (D-H)
12
Cuatro Parámetros:
– Dos ángulos (
θ
i,
α
i-1)
– Dos distancias (d
i, a
i-1)
Parámetros D-H
Definen el paso de un sistema de referencia asociado a una
articulación al siguiente
Sólo dependen de las características geométricas de cada
eslabón y de las articulaciones que le unen con el anterior y
siguiente (no dependen de la posición del robot)
Definen las matrices A que permiten el paso de un sistema
de referencia asociado a una articulación al siguiente y por
tanto definen las matrices T
Cuatro Parámetros:
– Dos ángulos (
θ
i,
α
i-1)
– Dos distancias (d
i, a
i-1)
θ
i: Es el ángulo de x
i-1a x
imedida
sobre z
i(utilizando la regla de la mano
derecha).
d
i: Es la distancia de x
i-1a x
imedida
a lo largo de z
ia
i: Es la distancia de
z
ia
z
i+1medida
a lo largo de
x
iα
i: Es el ángulo de
z
ia
z
i+1medida
sobre
x
i(utilizando la regla de la mano
derecha).
Interpretación Parámetros D-H
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = = − − − − − − − − − − − − − − − − − − 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 ) , 0 , 0 ( ) , ( ) 0 , 0 , ( ) , ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i c d c c s s s s d s c c s c a s c d c s s c a c s s c A d T z T a T x T A α α θ α θ α α α θ α θ α θ θ θ θ θ θ α α α α θ α
Matrices de transformación
Matrices de transformación
15
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = = − − − − − − − − − − − − − − − − − − 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 ) , 0 , 0 ( ) , ( ) 0 , 0 , ( ) , ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i c d c c s s s s d s c c s c a s c d c s s c a c s s c A d T z T a T x T A α α θ α θ α α α θ α θ α θ θ θ θ θ θ α α α α θ α
Matrices de transformación
Matrices de transformación
16
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = = − − − − − − − − − − − − − − − − − − 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 ) , 0 , 0 ( ) , ( ) 0 , 0 , ( ) , ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i c d c c s s s s d s c c s c a s c d c s s c a c s s c A d T z T a T x T A α α θ α θ α α α θ α θ α θ θ θ θ θ θ α α α α θ α
Matrices de transformación
Matrices de transformación
17
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = = − − − − − − − − − − − − − − − − − − 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 ) , 0 , 0 ( ) , ( ) 0 , 0 , ( ) , ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i c d c c s s s s d s c c s c a s c d c s s c a c s s c A d T z T a T x T A α α θ α θ α α α θ α θ α θ θ θ θ θ θ α α α α θ α
Matrices de transformación
Matrices de transformación
18
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = = − − − − − − − − − − − − − − − − − − 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 ) , 0 , 0 ( ) , ( ) 0 , 0 , ( ) , ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i i c d c c s s s s d s c c s c a s c d c s s c a c s s c A d T z T a T x T A α α θ α θ α α α θ α θ α θ θ θ θ θ θ α α α α θ α
Matrices de transformación
Matrices de transformación
19
Cinemática de un Robot Planar 2GDL
20
Ejemplo:
Z0 X0 Y0 Z2 X3 Y2 X2 Y3 d 3 a1 a 2θ
20
a
2-90º
3
θ
20
a
10
2
θ
10
0
0
1
θ
id
ia
i-1α
i-1i
Z3 Z1 Y1 X1Cinemática de un Robot Manipulador
21
Ejemplo:
Cinemática de un Robot Manipulador
Cinemática de un Robot Manipulador
Cinemática de un Robot Manipulador
24
Matriz de Cambio para
Matriz de Cambio para
problema
Cinemática de un Robot Manipulador
25
Matriz de Cambio para
Matriz de Cambio para
problema
Cinemática Inversa
Cinemática Inversa: Posibles Soluciones
Cinemática Inversa: Métodos
Cinemática Inversa: Método Geométrico
29
Ejemplo de solución del problema
Ejemplo de solución del problema cinemático cinemático Inverso por métodos Inverso por métodos geométricos
Cinemática Inversa: Método Geométrico
30
Ejemplo de solución del problema
Ejemplo de solución del problema cinemático cinemático Inverso por métodos Inverso por métodos geométricos (Múltiples soluciones)
Cinemática Inversa: Método Matrices
Homogéneas
31
Ejemplo de solución del problema
Ejemplo de solución del problema cinemático cinemático Inverso mediante Inverso mediante matrices de transformación homogéneas
matrices de transformación homogéneas
0 q3 0 0 3 q2 0 0 -90º 2 q1 l1 0 0 1 θi di ai-1 αi-1 i ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − = 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 l cq sq sq cq A ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = 1 0 0 0 0 0 0 1 0 0 0 0 2 2 2 2 2 1 cq sq sq cq A ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ = 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 3 3 2 q A z1 z0 z2 z3 x1 x0 x2 x3 Y0 Y1 Y2 Y3
Cinemática Inversa: Método Matrices
Homogéneas
32
Ejemplo de solución del problema
Ejemplo de solución del problema cinemático cinemático Inverso mediante Inverso mediante matrices de transformación homogéneas
matrices de transformación homogéneas
⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − 1 0 0 0 1 0 0 0 0 0 0 1 1 1 1 1 l Cq Sq Sq Cq ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − = ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 2 2 3 2 2 3 2 2 2 2 cq sq q sq cq q cq sq sq cq 2 2 2 2 3 1 2 2 2 1 1 1 ) 1 ( arctan ) arctan( 0 y x x z y x x y y x p p Sq p Cq q p l p p q p p q p Sq p Cq + − − = − + = = ⇒ = +
Cinemática Inversa: Método de
reducción polinómica
33
Consiste en transformar las ecuaciones trascendentales obtenida
Consiste en transformar las ecuaciones trascendentales obtenidas por s por métodos algebraicos o geométricos para que adopten forma
métodos algebraicos o geométricos para que adopten forma
polinómica
polinómica, más fáciles en principio de resolver., más fáciles en principio de resolver.
2 2 2
1
2
sin
1
1
cos
2
tan
u
u
u
u
u
+
=
+
−
=
=
θ
θ
θ
Algunas
Algunas
transformaciones
transformaciones
usuales
usuales
⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎝ ⎛ + − − ± = ∴ + − − ± = = − + − + + = + − = + − c a c a b b c a c a b b u a c bu u c a u c bu u a solution c b a 2 2 2 1 2 2 2 2 2 2 tan 2 0 ) ( 2 ) ( ) 1 ( 2 ) 1 ( ) sin cos θ θ θCinemática Inversa: Desacoplamiento
cinemático
34
Es típico en robots de 6 GDL
Es típico en robots de 6 GDL
Se puede resolver de forma explícita
Se puede resolver de forma explícita
los 3GDL que definen la orientación de
los 3GDL que definen la orientación de
la garra.
Cinemática Inversa: Desacoplamiento
cinemático
35
Es típico en robots de 6 GDL Es típico en robots de 6 GDLEjes 4,5,6 se
Ejes 4,5,6 se
intersectan
intersectan
en un
en un
punto
punto
⇒
⇒
Existe solución analítica
Existe solución analítica
por métodos algebraicos (Método
por métodos algebraicos (Método
de
Cinemática Inversa: Consideraciones
computacionales
36
•
• Para seguimiento de trayectorias es necesario resolver el probPara seguimiento de trayectorias es necesario resolver el problema lema cinemático
cinemático a gran velocidad (30 veces/a gran velocidad (30 veces/segseg o más).o más). •
• Son preferibles las soluciones cerradas explícitas (si existenSon preferibles las soluciones cerradas explícitas (si existen) a las ) a las iterativas.
iterativas.
•
• Para acelerar cálculos generalmente se emplean tablas previamenPara acelerar cálculos generalmente se emplean tablas previamente te calculadas (
calculadas (looklook--up up tablestables) ) •
•El coste de calcular n soluciones, no es necesariamente n veces El coste de calcular n soluciones, no es necesariamente n veces el de el de calcular una única solución.
Especificaciones del usuario y localizaciones
estándar
37
{B} {W} {T} {G} {S} •• {S} Marco de referencia de la celda {S} Marco de referencia de la celda de trabajo
de trabajo
•
• {B} Marco de referencia base del {B} Marco de referencia base del robot
robot
•
• {T} Marco de referencia de la {T} Marco de referencia de la herramienta
herramienta
•
• {G} Marco de referencia objetivo {G} Marco de referencia objetivo (Objeto a manipular)
(Objeto a manipular)
•
• {W} Marco de referencia del extremo {W} Marco de referencia del extremo terminal del robot (Sin herramienta)
terminal del robot (Sin herramienta)
Objetivo: Planear secuencia de movimientos articulares para llevar {T} a {G} satisfaciendo las
P
R
V
R
V
V
P A p BA B P A B BA B A ORG+
+
Ω
×
=
Velocidades Lineales y Rotacionales
Velocidades Lineales y Rotacionales
38
Transformación de velocidades lineales
Transformación de velocidades
angulares
xB YA xA ZA YB ZB BP AP AΩ B AP ORG B Ω C {C} {B} {A}C
B
A
B
B
A
C
A
R
Ω
+
Ω
=
Ω
Matriz Jacobiana
Matriz Jacobiana
40
Relaciones Diferenciales
Matriz Jacobiana
41
En Robótica la matriz
En Robótica la matriz Jacobiana Jacobiana describe las relaciones entre las velocidades describe las relaciones entre las velocidades articulares (
Matriz Jacobiana en el dominio de las
fuerzas
42
Adicionalmente estamos interesados en conocer la relación entre
Adicionalmente estamos interesados en conocer la relación entre los pares los pares articulares que se ejercen sobre el robot (
articulares que se ejercen sobre el robot (ττii) y las fuerzas/momentos ejercidas ) y las fuerzas/momentos ejercidas por el efector final (
por el efector final (FFii))
Principio de los trabajos
Principio de los trabajos
virtuales virtuales
δθ
τ
δ
T TX
F
=
Matriz Jacobiana en el dominio de las
fuerzas
43
La Expresión anterior se puede
La Expresión anterior se puede
expandir como
expandir como
δθ
δ
X
=
J
Definición de
Definición de JacobianoJacobiano
δθ
τ
δθ
T TJ
F
=
τ
=
J
T
F
δθ
∀
Matriz Jacobiana
44
Ejemplo:
Ejemplo: JacobianaJacobiana de un robot Plano de 3GDLde un robot Plano de 3GDL
Calcular las relaciones que
Calcular las relaciones que
describen las siguientes
describen las siguientes
igualdades
Matriz Jacobiana
45
Ejemplo:
Ejemplo: JacobianaJacobiana de un robot Plano de 3GDLde un robot Plano de 3GDL
Parametros Parametros del efector del efector final final Cinemática Directa Cinemática Directa
Matriz Jacobiana
46
Ejemplo:
Ejemplo: JacobianaJacobiana de un robot Plano de 3GDLde un robot Plano de 3GDL
dt d
Matriz Jacobiana
47
En forma matricial tenemos
Matriz Jacobiana
48
Jacobiana