Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cinematica PDF
Cinematica PDF
p(t) = K(q(t)) K : n −→ m
dinámica cinemática
u q p
D K
Descripción de la posición
Sea î0, ĵ0, k̂0 la base de versores linealmente independientes que define el sistema
x0, y0, z0.
La posición de un punto P0 está dada por
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢ p0x ⎥
⎢ ⎥
⎢ p
⎢
0 · î0 ⎥⎥ ⎢⎢ |p0| cos θx ⎥⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
p0 = ⎢⎢⎢ p0y ⎥⎥⎥ = ⎢⎢⎢ p0 · ĵ0 ⎥⎥⎥⎥ = ⎢⎢⎢ |p0| cos θy ⎥⎥⎥
⎢
⎣ ⎦ ⎣ ⎦
p0z ⎣
p0 · k̂0
⎦
|p0| cos θz
donde p0 = p0xî0 + p0y ĵ0 + p0z k̂0 y cos θx, cos θy y cos θz son los cosenos directores de p0.
Descripción de la orientación
Ası́:
p = p0 = p0xî0 + p0y ĵ0 + p0z k̂0 en el sistema {0}
p = p1 = p1xî1 + p1y ĵ1 + p1z k̂1 en el sistema {1}
como p0 y p1 son representaciones del mismo vector p en distintos sistemas de coordenadas
se tiene que
p0xî0 + p0y ĵ0 + p0z k̂0 = p1xî1 + p1y ĵ1 + p1z k̂1
De
p0xî0 + p0y ĵ0 + p0z k̂0 = p1xî1 + p1y ĵ1 + p1z k̂1
asumiendo que las bases son ortonormales y multiplicando escalarmente por î0, ĵ0 y k̂0
respectivamente
p0x = p0 · î0 = p1 · î0 = p1xî1 · î0 + p1y ĵ1 · î0 + p1z k̂1 · î0
p0y = p0 · ĵ0 = p1 · ĵ0 = p1xî1 · ĵ0 + p1y ĵ1 · ĵ0 + p1z k̂1 · ĵ0
p0z = p0 · k̂0 = p1 · k̂0 = p1xî1 · k̂0 + p1y ĵ1 · k̂0 + p1z k̂1 · k̂0
donde ⎡ ⎤
î0 · î1 ĵ0 · î1 k̂0 · î1 ⎥⎥
⎢
⎢
⎢ ⎥
0
R1 = î0 · ĵ1 ĵ0 · ĵ1 k̂0 · ĵ1 ⎥⎥⎥⎥
⎢
⎢
⎢
⎢
⎣ ⎦
î0 · k̂1 ĵ0 · k̂1 k̂0 · k̂1
sólo
sistemas coordenados acordes con la regla de la mano derecha
1
entonces det R0 = +1, y a este tipo de matrices se le denomina “matrices
de rotación”.
• El conjunto de todas las matrices de rotación de 3 × 3 suele representarse como SO(3)
(Special Orthogonal Group).
• Puede apreciarse que las columnas de R01 dan las componentes de î1 ĵ1 y k̂1 en el
sistema {0}, respectivamente.
• Como î1 ĵ1 y k̂1 son vectores unitarios sus componentes indican sus cosenos directores;
ası́, R01 indica la orientación del sistema {1} con respecto al sistema {0}.
Otra interpretación importante de una matriz de rotación R ∈ SO(3) es la de un operador
de tranformación de vectores dentro de un mismo sistema de coordenadas.
q0 = Rp0
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢
⎢
1 0 0 ⎥
⎥
⎢
⎢
Cθ 0 Sθ ⎥
⎥
⎢
⎢
Cθ −Sθ 0 ⎥⎥
R01 = Rx,θ ⎢
= 0 Cθ −Sθ
⎢
⎢
⎥
⎥
⎥ R01 = Ry,θ =⎢
⎢
⎢ 0 1 0 ⎥
⎥
⎥ R01 = Rz,θ = Sθ Cθ 0 ⎥⎥⎥
⎢
⎢
⎢
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
0 Sθ Cθ −Sθ 0 Cθ 0 0 1
Composición de rotaciones
p0 = R10p1
p0 = R20p2
p1 = R21p2
de donde se desprende
R20 = R10R21
Este resultado puede generalizarse para cualquier número de rotaciones como
⎡ ⎤
îk · îq ĵk · îq k̂k · îq ⎥⎥
⎢
⎢
⎢ ⎥
Rq = îk · ĵq ĵk · ĵq k̂k · ĵq ⎥⎥⎥⎥ = Rq+1
k ⎢
⎢
⎢
⎢
q+2 k
q Rq+1 ...Rk−1
⎣ ⎦
îk · k̂q ĵk · k̂q k̂k · k̂q
• Si se multiplica a izquierda: R02 = Rz,ψ Rx,φ ⇒ la rotación se hace según los ejes fijos:
Parametrización de la orientación
Angulos de Euler
Angulos de Euler
Una rotación tambien se puede especificar como tres rotaciones sucesivas alrededor de los
ejes del sistema de referencia en un orden determinado: x − y − z.
Yaw: ángulo ψ alrededor de x
Pitch: ángulo θ alrededor de y
Roll: ángulo φ alrededor de z
⎡ ⎤⎡ ⎤⎡ ⎤ ⎡ ⎤
⎢
Cφ −Sφ 0 ⎥⎢
C θ 0 Sθ ⎥⎢
1 0 0 ⎥ ⎢
CφCθ −Sφ Cψ + CφSθ Sψ SφSψ + CφSθ Cψ ⎥
⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥
R = Rz,φRy,θ Rx,ψ = ⎢
⎣
Sφ C φ 0 ⎥⎢
⎦⎣
0 1 0 ⎥⎢
⎦⎣
0 Cψ −Sψ ⎥
⎦
= ⎢
⎣
SφCθ CφCψ + Sφ Sθ Sψ −CφSψ + SφSθ Cψ ⎥
⎦
0 0 1 −Sθ 0 Cθ 0 Sψ C ψ −Sθ C θ Sψ Cθ Cψ
Representación eje-ángulo
Cualquier movimiento de rotación puede ser descrito mediante una única matriz de
rotación, Rk̂,θ , que indica un giro de un ángulo θ respecto a un cierto eje definido por k̂.
por lo que
R 20 = R 10 R 21
d20 = d10 + R 10d21
Ası́:
⎡ ⎤ ⎡ ⎤⎡ ⎤
⎢
0 ⎥⎥ ⎢⎢ R 10 d10 ⎥⎥ ⎢⎢ p1 ⎥⎥
⎢ p 1
P0 = ⎣ ⎦ = ⎢⎣ T ⎥⎣
⎦ ⎦ = H0 P1
1 0 1 1
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
1⎢
⎢
0 0 a ⎥⎥ 1 ⎢
⎢
0 0 0 ⎥⎥ 1⎢
⎢
0 0 0 ⎥⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
0⎢
⎢
⎢
1 0 0 ⎥⎥⎥ 0 ⎢
⎢
⎢
1 0 b ⎥⎥⎥ 0⎢
⎢
⎢
1 0 0 ⎥⎥⎥
Tx,a = ⎢
⎢
⎥ Ty,b = ⎢ ⎥ Tz,c = ⎢ ⎥
0⎢
⎢
0 1 0 ⎥⎥⎥ 0 ⎢
⎢
⎢
0 1 0 ⎥⎥⎥ 0⎢
⎢
⎢
0 1 c ⎥⎥⎥
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
0 0 0 1 0 0 0 1 0 0 0 1
⎡ ⎤ ⎡ ⎤ ⎡ ⎤
⎢
⎢
1 0 0 0 ⎥⎥ cφ
⎢
⎢
0 sφ 0 ⎥⎥ cθ −sθ 0 0 ⎥⎥
⎢
⎢
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢
⎢
⎢
0 cα −sα 0 ⎥⎥⎥ 0⎢
⎢
⎢
1 0 0 ⎥⎥⎥ sθ cθ 0 0 ⎥⎥⎥
⎢
⎢
⎢
Rx,α =
⎢ ⎥ Ry,φ = ⎢ ⎥ Rz,θ = ⎢ ⎥
⎢
⎢
⎢
0 sα cα 0 ⎥⎥⎥ −sφ
⎢
⎢
⎢
0 cφ 0 ⎥⎥⎥ ⎢
0 0 1 0 ⎥⎥⎥
⎢
⎢
⎣ ⎦ ⎣ ⎦ ⎣ ⎦
0 0 0 1 0 0 0 1 0 0 0 1
Transformación homogénea general
⎡ ⎤
nx⎢
⎢
sx ax dx ⎥⎥ ⎡ ⎤
⎢ ⎥
n ⎢
⎢ sy ay dy ⎥⎥⎥ ⎢⎢ n s a d ⎥⎥
Rx,α = y ⎢
⎢
⎢
⎥ = ⎣ ⎦
nz⎢
⎢
sz az dz ⎥⎥⎥ 0 0 0 1
⎣ ⎦
0 0 0 1
con
n = [nx ny nz ]T dirección de x1 en el sistema {O}
s = [sx sy sz ]T dirección de y1 en el sistema {O}
a = [ax ay az ]T dirección de z1 en el sistema {O}
d = [dx dy dz ]T localización del origen del sistema {1} expresado en el sistema {O}
Cinemática de un manipulador
Dados los valores de las articulaciones encontrar la posición y orientación del elemento
terminal
Dadas la posición y orientación del elemento termina encontrar los los valores de las
articulaciones
Representación de Denavit-Hartenberg
Representación sistemática del movimiento de una articulación mediante 4 parámetros:
Para describir el elemento:
• ai longitud del elemento (medida según una lı́nea perpendicular a los dos ejes)
• αi ángulo de torsión del elemento (medida según el sentido de las agujas del reloj entre
el eje i − 1 y el i)
• di link offset
• θi ángulo entre elementos adyacentes
Tres parámetros son fijos y uno depende de la articulación:
prismatica di
de revolucion θi
Convenciones:
a0 = an = 0
α0 = αn = 0
• eje z0 coincidente con eje articulación 1 tal que los sistemas {0} y {1} coincidan
cuando la variable de articulación 1 sea cero
Ası́ resulta a0 = α0 = 0 y
articulación prismática =⇒ d1 = 0
articulación de revolución =⇒ θ1 = 0
• Articulación de rotación
=⇒ xn alineado con xn−1 cuando θn = 0 y el origen del sistema tal que dn = 0.
• Articulación de prismática
=⇒ xn tal que θn = 0 y el origen del sistema en la intersección del eje de la
articulación n con xn−1 cuando dn = 0.
Las condiciones son generales pero pueden cumplirse con diferentes sistemas:
Ejemplo:
Matriz de transformación entre los sistemas de coordenadas n y n − 1
i−1 i−1 R Q P i
P = R T QT P T i T P
con
⎡ ⎤
⎢
⎢
1 0 0 0 ⎥⎥
⎢ ⎥
i−1
⎢
⎢
⎢
0 Cαi−1 −Sαi−1 0 ⎥⎥⎥
R T = Rot(xi−1, αi−1) = ⎢
⎢
⎥
⎢
⎢
0 Sαi−1 Cαi−1 0 ⎥⎥⎥
⎣ ⎦
0 0 0 1
⎡ ⎤
⎢ 1 0 0 ai−1 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 1 0 0 ⎥
R ⎢ ⎥
⎢ ⎥
QT = T rans(xi−1, ai−1) = ⎢⎢ ⎥
⎥
⎢ 0 0 1 0 ⎥
⎢ ⎥
⎣ ⎦
0 0 0 1
⎡ ⎤
⎢ Cθi −Sθi 0 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ Sθi Cθi 0 0 ⎥
Q ⎢ ⎥
⎢ ⎥
PT = Rot(zi, θi) = ⎢⎢ ⎥
⎥
⎢
⎢
0 0 1 0 ⎥
⎥
⎣ ⎦
0 0 0 1
⎡ ⎤
⎢ 1 0 0 0 ⎥
⎢ ⎥
⎢ ⎥
⎢ 0 1 0 0 ⎥
P ⎢ ⎥
⎢ ⎥
i T = T rans(zi, di) = ⎢⎢ ⎥
⎥
⎢ 0 0 1 di ⎥
⎢ ⎥
⎣ ⎦
0 0 0 1
Es decir,
i−1 i−1 i
P = i T P
con
⎡ ⎤
⎢
⎢
Cθi −Sθi 0 ai−1 ⎥⎥
⎢ ⎥
i−1 i−1 R Q P
⎢
⎢
⎢
SθiCαi−1 CθiCαi−1 −Sαi−1 −Sαi−1di ⎥⎥⎥
i T = R T QT P T i T = ⎢
⎢
SθiSαi−1 CθiSαi−1 Cαi−1 Cαi−1di ⎥⎥⎥
⎥
⎢
⎢
⎣ ⎦
0 0 0 1
0 0 1 2 n−1
nT = 1T 2T 3T ... n T
=⇒ dadas las posiciones de las articulaciones se puede saber la relación entre el sistema
de coordenadas base y el extremo del robot.
.
Ejemplo PUMA: