Sei sulla pagina 1di 51

Cinematica

Facultad de Ciencias de la Electr


onica
Benem
erita Universidad Aut
onoma de Puebla

Maestra en Ciencias de la Electr


onica, Opci
on en Automatizaci
on

Fernando Reyes Cort


es

Control de Robots Manipuladores


ftp://ece.buap.mx/pub/profesor/FernandoReyes/crm/

Primavera 2017
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Parte I

Cinematica

Contenido
Introduccion.
Conceptos de cinematica:
Cinematica directa
Cinematica inversa
Cinematica diferencial
Cinematica diferencial inversa
Singularidades
Preliminares matematicos de la cinematica directa
Producto punto
Matrices de rotaci
on
Matrices de traslaci
on
Matrices homogeneas

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 2 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica directa

Cinematica es la parte de la fsica que estudia el movimiento de sistemas mecanicos, sin tomar en cuenta las fuerzas
que lo originan. Por lo tanto, no involucra ecuaciones diferenciales como en el caso de modelos dinamicos.

Al estudio de la cinematica aplicado a los sistemas mecanicos que forman robots manipuladores se le denomina
cinem atica directa; se refiere
 al estudio analtico del movimiento del robot con respecto a un sistema de referencia
cartesiano fijo 0 x0 , y0 , z0 relacionando la dependencia que existe entre las coordenadas articulares o generalizadas
T T
q IRn con las coordenadas cartesianas x , y, z IR3 y la orientacion , , IR3 del extremo final del
 

robot (donde habitualmente se coloca la herramienta de trabajo).

Esta dependencia se realiza por medio de una funcion vectorial f R continua y diferenciable en la variable de estado
articular q .

Como parte de la estructura matematica de la cinematica directa intervienen los parametros geometricos (longitudes
del i-esimo eslabon li ); generalmente, esta funcion es no lineal.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 3 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica directa

Cinem atica directa es una funcion vectorial f R (li , q ) que relaciona las coordenadas articulares q IRn y
T
IR3 del robot y la

propiedades geometricas del sistema mecanico li con las coordenadas cartesianas x , y, z
T
orientacion , , IR3 de la herramienta de trabajo colocada en el extremo final.


Es decir, la cinematica directa es un mapeo vectorial f R : IRn IRm tal que:



x
y

z
= f R (li , q ) (1)



donde n indica el numero de grados de libertad y la dimension del vector de coordenadas articulares q , m es la
dimension conjunta de las coordenadas cartesianas y la orientacion de la herramienta de trabajo.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 4 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica directa

De manera general, el posicionamiento del extremo final del robot en el espacio tridimensional (pose) requiere
de 6 coordenadas (m = 6): 3 coordenadas para la posicion cartesiana y 3 coordenadas para la orientacion de la
herramienta de trabajo.

Dependiendo de la aplicacion del robot se pueden requerir menos coordenadas de posicion y orientacion. Por ejemplo,
un robot para pintura de armaduras automotrices requiere las 6 coordenadas, en contraste con un robot que corta
figuras de plastico sobre un plano requiere 2 coordenadas cartesianas de posicion y ninguna de orientacion.

Cuando n > m se denomina robots redundantes. El empleo de la cinematica directa resulta de utilidad en la
planificacion de trayectorias y en el control cartesiano. El papel fundamental de la cinematica directa, es computar
la posicion y orientacion del extremo final del robot manipulador como una funcion de las variables articulares.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 5 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica directa

Un robot manipulador se considera como una serie de eslabones interconectados a traves de articulaciones (servo-
motores) rotacionales o prismaticas en forma de cadena cinematica abierta, es decir el extremo final donde se coloca
la herramienta no se encuentra conectada mecanicamente a la primera articulacion (base) del robot. Desde el punto
de vista topologico, la cadena cinematica se considera abierta cuando los dos extremos de la cadena no se tocan. De
otra manera la cadena cinematica formara un lazo si sus dos extremos estan mecanicamente unidos.

La estructura mecanica del robot manipulador se caracteriza por tener un n umero de grados de libertad, los cuales
determinan en forma u nica su configuracion. Tpicamente, cada grado de libertad esta asociado a una articulacion
(variable articular q ).

Figura 1: Cadena en cinem


atica abierta.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 6 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica inversa

Dada la posicion del extremo final del robot en coordenadas cartesianas [x , y, z ]T y la orientacion [, , ]T , con
respecto a un sistema de referencia fijo 0 (x0 , y0 , z0 ), as como los parametros geometricos li , entonces surge la
pregunta natural:

Pueden obtenerse las coordenadas articulares del robot q para que el extremo final del robot se posicione en las
coordenadas cartesianas solicitadas, con la orientacion requerida?

El problema planteado se conoce como cinem atica inversa y representa un area de la robotica de mayor comple-
jidad que la cinematica directa. Para un robot manipulador siempre es posible encontrar el modelo de cinematica
directa, mientras que en la cinematica inversa pueden haber varias soluciones e inclusive no existir solucion ana-
ltica; si este es el caso, entonces como posibles formas de solucion pueden proponerse redes neuronales, metodos
numericos, iterativos, geometricos, etcetera.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 7 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica inversa

La cinem atica inversa es un problema no lineal que relaciona las coordenadas articulares q IR3 en funcion de
las coordenadas cartesianas y la orientacion de la herramienta del extremo final del robot manipulador

q = f 1
R (x , y, z , li , , , ) (2)

donde f 1
R (x , y, z , li , , , ) es funci
on inversa de la ecuacion (1).

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 8 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica diferencial

Cinematica diferencial directa es la derivada con respecto al tiempo de la cinematica directa:


 
d  T v d
x y z = = f R (q ) (3)
dt w dt
f R (q )
= q = J (q )q .
q
T
La cinematica directa relaciona la velocidad articular q IRn con la velocidad lineal v = dtd x , y, z

=
T T T
3 d , 3
  
x , y,
z IR y la velocidad angular w = dt , , = , IR , ademas el mapeo es descrito en
f (q )
terminos de una matriz J (q ) = Rq IR6n denominada jacobiano del robot o jacobiano analtico:
 
Jv (q )
J (q ) = . (4)
Jw (q )

Jv (q ) IR3n relaciona la velocidad articular q IRn con la velocidad lineal v IR3 , mientras que Jw (q )
IR3n relaciona la velocidad angular w IR3 con la velocidad articular q IRn , es decir:
   
v Jv (q )q
= J (q )q = . (5)
w Jw (q )q

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 9 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica diferencial

El jacobiano del robot representa una importante herramienta en robotica que sirve para caracterizar a un robot ma-
nipulador, encontrar configuraciones singulares, analizar redundancia, determinar la cinematica diferencial inversa, as
como describir la relacion entre la fuerza aplicada y los pares o torques resultantes del extremo final. Es indispensable
para el analisis y dise
no de algoritmos de control cartesiano.

Hay varias formas de seleccionar la orientacion de la herramienta del robot manipulador:

De manera particular dicha orientacion puede ser representada usando los angulos de Euler (un sistema de
referencia asociado al extremo final del robot o a la herramienta de trabajo), entonces la velocidad angular
T IR3 relaciona la matriz jacobiano analtico, como se encuentra descrita en la ecuacion (3).
,
 
w = ,

Otra posible forma de modelar la orientacion de la herramienta del robot es expresarla directamente en un
sistema de referencia especfico, por ejemplo al origen localizado en la base del robot, entonces a la matriz J (q )
se le denomina jacobiano geom etrico que depende de la configuracion del robot manipulador.

El jacobiano analtico difiere del jacobiano geometrico: basicamente la diferencia se encuentra en como modelar
la orientacion de la herramienta de trabajo del robot.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 10 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Cinematica diferencial inversa

La cinematica diferencial inversa representa la relacion entre la velocidad articular q con la velocidad lineal de
movimiento v y la velocidad angular w , expresada en terminos de la matriz inversa del jacobiano del robot:

 
1 v
q = J (q ) (6)
w

donde J 1 (q ) IR6n es la matriz inversa del jacobiano del robot, la cual existe si es una matriz cuadrada y su
determinante es diferente a cero.
.
Si el determinante del jacobiano del robot J (q ) es cero, entonces se dice que no es de rango completo y se presentan
problemas de singularidades

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 11 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Singularidades

Singularidad significa que no es posible indicarle un movimiento arbitrario al extremo final del robot, es decir
para una velocidad lineal v y velocidad angular w finitas puede corresponder una velocidad articular q infinita.

Puede existir un conjunto infinito de soluciones para la cinematica directa.

La cinematica inversa diferencial tiene un n


umero infinito de soluciones.

En control cartesiano la fuerza aplicada al robot puede provocar un par infinito a las articulaciones del robot.

Dependiendo del tipo de robot, las singularidades pueden generar un n umero infinito de puntos de equilibrio
en la ecuacion en lazo cerrado, formada por la dinamica del robot y la estructura cartesiana de control.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 12 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Preliminares matematicos de la cinematica directa

El posicionamiento del extremo final del robot en el espacio tridimensional (pose) requiere de 6 coordenadas: 3
coordenadas para la posicion cartesiana y 3 coordenadas para la orientacion de la herramienta de trabajo.

A la relacion que existe entre las coordenadas articulares del robot con las coordenadas cartesianas y la orientacion
de la herramienta de trabajo colocada en el extremo final del robot se le denomina cinematica directa.

Como parte de la representacion matematica de la cinematica directa de robots manipuladores se encuentra el


uso de transformaciones homogeneas para representar orientacion y traslacion de la herramienta de trabajo, con
respecto al sistema de referencia fijo (x, y, z) ubicado generalmente en la base del robot.

Como preambulo al tema de matrices de transformacion homogenea estan los conceptos de producto punto o escalar
entre vectores, as como matrices ortogonales (matrices de rotacion).

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 13 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Preliminares matematicos de la cinematica directa

El producto punto permite utilizar proyecciones de ortogonalidad de los ejes principales de un sistema de
referencia 1 (x1 , y1 , z1 ) relativo a otro sistema de referencia 0 (x0 , y0 , z0 ).
Otro de los temas como prerrequisito es el correspondiente a matrices ortogonales para modelar la orientacion
y traslacion de la herramienta de trabajo respecto al sistema fijo del robot (x, y, z).
Es necesario resaltar las propiedades matematicas de las matrices ortogonales que facilitan el analisis y descrip-
cion de movimientos de rotacion y traslacion.
En funcion de las propiedades matematicas de las matrices ortogonales se generan diferentes reglas de rotacion.

Las matrices homogeneas incluyen estos conceptos para ofrecer una representacion compacta de la matriz de rotacion,
que determina la orientacion relativa de un sistema de referencia 1 (x1 , y1 , z1 ) con respecto a un sistema de referencia
 T
fijo 0 (x0 , y0 , z0 ) y del vector de coordenadas o de traslacion x 0 = x0 , y0 , z0 .

Con la estructura matematica de las transformaciones homogeneas se desarrollan un conjunto de libreras para
propositos de simulacion de cinematica directa de robots manipuladores.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 14 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Producto punto

Modelar la orientacion de la herramienta de trabajo del robot se encuentra el producto escalar o producto interno,
tambien conocido como producto punto (dot product), el cual permite utilizar los conceptos de la geometra euclidiana
tradicionales como longitudes, angulos, proyecciones geometricas, ortogonalidad en dos y tres dimensiones de los
sistemas de referencia asociados al robot y de la herramienta de trabajo.

Al producto interno x y es una operacion definida sobre dos vectores x , y IRn de un espacio euclidiano cuyo
resultado es un n
umero o escalar.

Considere los siguientes vectores x , y IRn , el producto interno vectorial se define como:
n
X
T
x y = x y = xi yi = x1 y1 + x2 y2 + + xn yn . (7)
i=1

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 15 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Producto punto
El producto punto se le llama producto escalar debido a que tambien se puede realizar como: x y = x T y .
En un espacio euclidiano real, el producto interno (7) tambien acepta una definicion geometrica dada por:

x y = kx kky k cos() (8)

p los vectores x y y y las normas euclidianas se encuentran definidas por kx k =


donde es el angulo que forman
p
x1 + x2 + + xn , ky k = y12 + y22 + + yn2 , respectivamente.
2 2 2

Figura 2: Producto interno vectorial x y .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 16 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Producto punto

Considere x , y , z IRn , y IR; el producto interno tiene las siguientes propiedades:


Conmutativa: x y = y x .
Distributiva: z (x + y ) = z x + z y .
Asociativa: x y = x y = x y .
La expresion geometrica del producto escalar permite calcular el coseno del angulo existente entre los
vectores x y y de la siguiente manera:
x y x1 y1 + x2 y2 + + xn yn
cos() = =p 2 p .
kx kky k x1 + x22 + + xn2 y12 + y22 + + yn2

Vectores ortogonales: x y = 0 x y , = 2 rad (90 grados).


Vectores paralelos o con la misma direccion si el angulo que forman es 0 rad (0 grados) o rad (180 grados):
x y = kx kky k.
x x = 0 x = 0 IRn .
Si x 6= 0 x x > 0.
La norma
euclidiana
de unp vector
Pn x 2se puede
p expresar como:
kx k = x x = x x = T
i=1 xi = x1 + x22 + + xn2 .
2

MATLAB contiene la funcion dot(x,y) para realizar la operacion producto interno x y de los vectores x , y IRn ,
con la siguiente estructura de sintaxis:

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 17 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Producto punto

x y = dot(x,y)

x y =dot(x,y,n)

El producto punto x y equivale a realizar la operacion en MATLAB: x y =x*y.

La norma euclidiana kx k de un vector x IRn , tambien conocida como norma 2, se puede calcular utilizando la
funcion norm con la siguiente sintaxis: kx k=norm(x,2)

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 18 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Producto punto
Ejemplo
Sean x , y IR2 con las siguientes componentes respectivamente:
   
2 8
x = y=
4 3

obtener el producto punto x y y el angulo que forman entre los vectores x , y .


T T
Puesto que los vectores x , y IR2 estan formados por x = 2 4 y y = 8 3 , y tomando en cuenta la
 

definicion del producto punto se obtiene lo siguiente:

x y = x1 y1 + x2 y2 = 2 (8) 4 (3) = 16 12 = 4.

El angulo que forman los vectores x y y se obtiene como:


x y x1 y 1 + x2 y 2
cos() = =p 2 p
kx kky k x1 + x22 y12 + y22
4 4
= p = = 0.1046
2 2 2
2 + 4 8 + (3) 2 (4.4721)(8.544)

lo que significa que =1.465 rad (83.99 grados).


Observe que evidentemente se cumple:

x y = kx kky k cos() = 20 73 cos(1.465) = (4.472135)(8.544003)(0.1046) = 4.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 19 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Producto punto

C
odigo MATLAB 1: crm prodot
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

crm prodot.m MATLAB version 2016b


1 clc;
2 clear all;
3 close all;
4 disp(Producto interno o escalar de vectores)
5 x = [2; 4 ]; %vector columna de dos renglones x IR2
6 y = [8; -3]; %vector columna de dos renglones y IR2
7 xdoty=dot(x,y) %producto interno x y usando la funcion dot
8 xdoty m=x*y %forma matem atica del producto interno x y
9 theta=acos(x*y/(norm(x,2)*norm(y,2))) %angulo que forman los vectores x , y IR2
10 %forma geometrica del producto interno: x y = kx kky k cos()
11 xdoty geometrica=norm(x,2)*norm(y,2)*cos(theta)

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 20 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matrices de rotacion

La figura 3 muestra dos sistemas de referencia cartesianos, asociados a un cuerpo rgido, representados por
0 x0 , y0 , z0 y 1 x1 , y1 , z1 , ambos sistemas comparten el mismo origen.  El sistema de referencia 1 x1 , y1 , z1
x , y
mantiene una orientacion relativa al sistema de referencia fijo 0 0 0 0 . , z
:

Figura 3: Sistemas de referencia fijo 0 y rotado 1 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 21 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Considerese la figura 4:
Sea un vector p, el cual contiene las coordenadas de
un punto especfico del cuerpo rgido que se muestra
: en la figura 4; con respecto al sistema 0 x0 y0 z0
se denota como p 0 = [x0 , y0 , z0 ]T .
El mismo vector p con  respecto al sistema de re-
ferencia 1 x1 , y1 , z1 , adquiere una representacion
p 1 = [x1 , y1 , z1 ]T .
El problema que se plantea consiste encontrar la
relacion que hay entre las coordenadas  de p 1 en el
sistema de referencia 1 x1 , y1 , z1 con el vectorp 0
definido en el sistema de referencia 0 x0 , y0 , z0 .
Considere vectores bases para cada sistema de re-
ferencia 0 y 1 . Sean {i 0 , j 0 , k 0 } vectores uni-
tarios a lo largo de los ejes x0 , y0 , z0 , respectiva-
 T  T
mente. Es decir, i 0 = 1, 0, 0 , j 0 = 0, 1, 0 ,
 T
k 0 = 0, 0, 1 . Similarmente se definen los vectores 
unitarios {i 1 , j 1 , k 1 } para el sistema 1 x1 , y1 , z1 .

Figura 4: Sistemas de referencia fijo 0 y rotado 1 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 22 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matrices de rotacion

Un vector que va desde el origen comun para ambos sistemas hasta p, puede ser expresado en funcion de
cualquiera de las dos bases de vectores unitarios de la siguiente forma:

p 0 = p0x i 0 + p0y j 0 + p0z k 0 con respecto al sistema 0 (9)


p 1 = p1x i 1 + p1y j 1 + p1z k 1 con respecto al sistema 1 (10)

Los vectores p 0 , p 1 representan al mismo vector p. Tomando en cuenta las ecuaciones (9) y (10) la relacion
que hay entre sus componentes adquiere la siguiente forma (proyeccion del vector p 1 sobre cada uno de
los ejes del sistema 0 (x0 , y0 , z0 )):

p0x = p 0 i 0 = p 1 i 0 = p1x i 1 i 0 + p1y j 1 i 0 + p1z k 1 i 0


p0y = p 0 j 0 = p 1 j 0 = p1x i 1 j 0 + p1y j 1 j 0 + p1z k 1 j 0
p0z = p 0 k 0 = p 1 k 0 = p1x i 1 k 0 + p1y j 1 k 0 + p1z k 1 k 0 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 23 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matrices de rotacion

Estas ecuaciones pueden ser escritas en forma compacta como:



p0x p1x i 1 i 0 + p1y j 1 i 0 + p1z k 1 i 0 p0x i1 i0 j 1 i0 k1 i0 p1x
p0y = p1x i 1 j 0 + p1y j 1 j 0 + p1z k 1 j 0 p0y = i 1 j 0 j 1 j 0 k 1 j 0 p1y
p0z p1x i 1 k 0 + p1y j 1 k 0 + p1z k 1 k 0 p0z i1 k0 j 1 k0 k1 k0 p1z

p 0 = R01 p 1 (11)

donde R01 , p 0 y p 1 estan dados por:



i1 i0 j 1 i0 k1 i0 p0x p1x
R01 = i 1 j 0 j 1 j 0 k 1 j 0 , p 0 = p0y ,
p 1 = p1y

i1 k0 j 1 k0 k1 k0 p0z p1z

donde R01  IR33 es la matriz de transformacion de las coordenadas del punto p del sistema de referencia
1 x1 , y1 , z1  hacia las coordenadas del sistema 0 x0 , y0 , z0 . En otras palabras, dado un punto p 1 en el sistema 
1 x1 , y1 , z1 , entonces R01 p 1 representa el mismo vector expresado con respecto al sistema de referencia 0 x0 , y0 , z0 .

Observese que las columnas de R01 son los cosenos directores de los ejes coordenados x1 , y1 , z1 respecto de los ejes
coordenados x0 , y0 , z0 . Por ejemplo, la primera columna [i1 i0 , i1 j0 , i1 k0 ]T especifica la direccion del eje x1 relativa
al sistema de referencia 0 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 24 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matrices de rotacion

Similarmente se puede obtener la proyeccion de p 1 sobre el sistema 0 (x0 , y0 , z0 ) (es decir, el proceso inverso, deducir
p 1 en funcion de p 0 ):

p1x p 1 i 1 = p 0 i 1 = p0x i 0 i 1 + p0y j 0 i 1 + p0z k 0 i 1 p1x i0 i1 j 0 i1 k0 i1 p0x
p1y = p 1 j 1 = p 0 j 1 = p0x i 0 j 1 + p0y j 0 j 1 + p0z k 0 j 1 p1y = i 0 j 1 j 0 j 1 k 0 j 1
p0y
p1z p 1 k 1 = p 0 k 1 = p0x i 0 k 1 + p0y j 0 k 1 + p0z k 0 k 1 p1z i0 k1 j 0 k1 k0 k1 p0z

p 1 = R10 p 0 (12)

i0 i1 j 0 i1 k0 i1
R10 = i 0 j 1 j 0 j 1 k 0 j 1 . (13)
i0 k1 j 0 k1 k0 k1

La matriz R10 IR33 representa la matriz inversa de la transformacion R01 (12). Debido a que el producto interno de
vectores unitarios cumple la propiedad conmutativa, entonces i 1 j 1 = j 1 i 1 , i 0 j 0 = j 0 i 0 , etc., por lo que resulta:
1 T
R10 = R01 = R01 (14)

La matriz R01 cuya inversa es su transpuesta se denomina matriz ortogonal. La norma de los vectores columna de
R01 son de magnitud unitaria y mutuamente ortogonales, el determinante de R01 es 1. Si el sistema de referencia se
selecciona de acuerdo con la regla de la mano derecha, entonces el determinante de R01 es 1. La matriz R01 se denomina
matriz de rotacion y pertenece a la clase de matrices ortogonales que se denotan como SO(3).

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 25 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matrices de rotacion

Notaci
on
 
La matriz R01 representa la orientaci on del sistema 1 x1 , y1 , z1 respecto
 al sistema 0 x0 , y0 , z0 . R12 representa la
orientacion del sistema 2 x2 , y2 , z2 respecto al sistema 1 x1 , y1 , z1 , y as sucesivamente.
 Mientras que la trans-
0
formacion inversa  1R significa la orientaci
o n del sistema de referencia 0 x , y
0 0 0, z relativa al sistema de referen-
1
cia 1 x1 , y1 , z1 . De manera analoga, R2 es la transformacion inversa de coordenadas del sistema de referencia
1 x1 , y1 , z1 hacia el sistema 2 x2 , y2 , z2 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 26 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0


Considere que el sistema
 de referencia 1 z1 , y1 , z1 el cual se encuentra rotado un angulo alrededor del eje z0 del
sistema 0 z0 , y0 , z0 . Obtener la matriz resultante de transformacion R01 .
Como se muestra en la figura 5, los ejes z0 y z1 son paralelos. El signo del angulo esta dado por la regla de la
mano derecha. Por convencion, un angulo positivo es aquel cuyo sentido de rotacion es contrario al movimiento de
las manecillas del reloj.

Figura 5: Rotaci
on de un
angulo alrededor del eje z .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 27 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0

Figura 6: Rotaci
on de un
angulo alrededor del eje z .

De la figura 6 se obtienen las siguientes ecuaciones:

i 1 i 0 = cos() j 1 i 0 = sen()
j 1 j 0 = cos() i 1 j 0 = sen()
k0 k1 = 1

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 28 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0

Todos los demas productos punto son cero, puesto que el angulo que existe entre los vectores unitarios i 0 , i 1 , j 0 ,
y j 1 con k 0 y k 1 es de 90 grados, excepto entre ellos mismos, puesto que k 0 y k 1 forman un angulo de 0 grados:
k 1 i 0 = cos( 2 ) = 0, k 1 j 0 = cos( 2 ), i 1 k 0 = cos( 2 ) = 0, y j 1 k 0 = cos( 2 ) = 0.

Notacion
La matriz (18) se conoce como matriz de rotacion alrededor del eje z y es representada por Rz ().

cos() sen() 0
Rz () = sen() cos() 0 . (15)
0 0 1

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 29 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0


La matriz de rotacion Rz () se interpreta como una matriz  que especifica la orientacion del sistema de referencia
1 x1 , y1 , z1 relativo al sistema de referencia 0 x0 , y0 , z0 .


cos() sen() 0
p0 = Rz ()p 1 = sen() cos() 0 p 1 . (16)
0 0 1

Por convencion considerese que el angulo es positivo en el sentido contrario al movimiento de las manecillas del
reloj.

 
La relacion inversa que determina la orientacion del sistema 0 x0 , y0 , z0 con respecto al sistema 1 x1 , y1 , z1 esta
dada por:


cos() sen() 0
p 1 = RzT

p 0 = sen()
cos() 0 p 0 . (17)
0 0 1

 
Por lo tanto, un punto p 0 en el sistema 0 x0 , y0 , z0 es transformado hacia un punto p 1 en el sistema 1 x1 , y1 , z1
incluyendo su orientacion relativa.
Fernando Reyes Cort
es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 30 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0


 
Otra forma de obtener la matriz Rz que relaciona la orientacion del sistema de referencia 1 z1 , y1 , z1 con
respecto al eje z0 del sistema de referencia 0 z0 , y0 , z0 es por medio de una proyeccion geometrica, es decir,
analizando la proyeccion de los ejes x1 , y1 sobre los ejes x0 , y0 como se ve en la figura 7.

Los ejes z1 y z0 son paralelos entre s, el plano x1 y1 se encuentra rotado un angulo con respecto al plano x0 y0 ,
entonces la proyeccion del punto p 1 = [p1x , p1y , p1z ]T sobre los ejes del sistema 0 son:

Figura 7: Rotaci
on grados alrededor del eje z0 .

El plano x1 y1 tiene una orientacion relativa con respecto al plano x0 y0 .


Fernando Reyes Cort
es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 31 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0

p0x = p1x cos() p1y sen()


: p0y = p1x sen() + p1y cos()
p0z = p1z

p0x cos() sen() 0 p1x
p0 = p0y = sen() cos() 0 p1y = Rz ()p 1 .
p0z 0 0 1 p1z
| {z }
p1

Figura 8: Rotaci
on grados alrededor del eje z0 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 32 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Propiedades de la matriz de rotacion Rz ()

La matriz de rotacion Rz () tiene varias propiedades importantes que a continuacion se presentan:

Rz 0 = I , I IR33 es la matriz identidad.



     
Rz Rz = Rz Rz = Rz + = Rz + .
1 
Rz = Rz .
T 1
Rz = Rz .
 T T 
Rz Rz = Rz Rz = I .
 
det[Rz ] = 1 si el sistema de referencia cartesiano z , y, z es seleccionado por la regla de la mano derecha, en otro
caso det[Rz ] = 1.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 33 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on


Funcion matriz de rotacion Rz

La funcion matriz de rotacion Rz


 cos() sen() 0
Rz = sen() cos() 0
0 0 1

tiene la siguiente sintaxis:

R=Rz()

donde IR es el angulo de rotacion alrededor del eje z , y representa el argumento de entrada. Retorna la matriz
de rotacion R.

Para expresiones matematicas con variables simbolicas, la funcion simplify resulta importante para obtener un
resultado matematico compacto, es decir factorizado y reducido.

Cuando un programa se encuentra combinando calculos numericos con variables simbolicas, se recomienda usar la
funcion vpa con una precision de tres dgitos a traves de digits(3).

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 34 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0

C
odigo MATLAB 2: Funci
on Rz ()
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion Rz ().m MATLAB version 2016b


1 function R=Rz(theta)
2 dato=whos(theta);
3 if strcmp(dato.class, sym) %para variables simb olicas
4 R=simplify([cos(theta), -sin(theta), 0;
5 sin(theta), cos(theta), 0;
6 0, 0, 1]);
7 else %c alculos numericos
8 digits(3);
9 R=simplify([ double(cos(theta)), double(-sin(theta)), 0;
10 double(sin(theta)), double(cos(theta)), 0;
11 0, 0, 1]);
12 end
13 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 35 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje z0

Notaci on
La matriz R01 correspondiente de rotacion
: alrededor del eje z0 se denota por Rz
con la siguiente estructura matematica:

cos() sen() 0
Rz () = sen() cos() 0 .
0 0 1

Los ejes z0 y z1 coinciden entre s, y el plano


x1 y1 se desplaza un angulo de derecha
a izquierda con respecto al plano x0 y0 .

Propiedades de la matriz Rz :
Rz 0 = I , I IR33 es la matriz identidad.

    
Rz Rz = Rz Rz = Rz + =

Rz + .
1 
Rz = Rz .
T 1
Figura 9: Rotaci
on de un
angulo alrededor del eje z0 . Rz = Rz .
 T T 
Rz Rz = Rz Rz = I .

det[Rz ] = 1 si el sistema de referencia cartesiano

z , y, z es seleccionado por la regla de la mano

derecha, en otro caso det[Rz ] = 1.

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 36 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje x0

Notaci on
La matriz R01 correspondiente de rotaci
on
: alrededor del eje x0 se denota por Rx con
la siguiente estructura matematica:

 1 0 0
Rx = 0 cos() sen() .(18)
0 sen() cos()

Observe que los ejes x0 y x1 coinciden entre


s, y el plano z1 y1 se desplaza un angulo
de derecha a izquierda con respecto al plano
z0 y0 .
Las propiedades
 de la matriz de rotacion
Rx son las mismas para Rz .

Figura 10: Rotaci


on de un
angulo alrededor del eje x0 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 37 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Matriz de rotacion alrededor del eje y0

Notaci on
La matriz de rotacion R01 que describe la
: orientacion relativa del sistema 1 z1 , y1 , z1
con respecto  al sistema de referencia fijo
0 z0 , y0 , z0 usando un angulo de rotacion
alrededor del eje y0 se denota por:

 cos() 0 sen()
Ry = 0 1 0 (19)
sen() 0 cos()

Los ejes y0 y y1 coinciden entre s, y el plano


z1 x1 se desplaza un angulo de derecha a
izquierda con respecto al plano z0 x0 .
Las propiedades
 de la matriz de rotacion
Ry son las mismas para Rz .

Figura 11: Rotaci


on de un
angulo alrededor del eje y0 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 38 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Transformaciones de traslacion
 
Considere el sistema de referencia cartesiano fijo 0 x0 , y0 , z0 y el sistema de referencia 1 x1 , y1 , z1 , donde sus
respectivos orgenes son no coincidentes. El origen del sistema de referencia 1 se encuentra desplazado una distancia
d 10 con respecto al origen del sistema 0 , como se muestra en la figura 12.

Figura 12: Transformaciones de traslaci


on y rotaci
on del sistema 1 con respecto al sistema 0 .
 1 1 1 T
El vector d 10 esta expresado en coordenadas del sistema 0 : d 10 = d0x , d0y , d0z , entonces cualquier punto p tiene
 
representacion p 0 y p 1 . La relacion general entre los sistemas de referencia 0 x0 , y0 , z0 y 1 x1 , y1 , z1 incluyendo
la matriz de rotacion R01 y el vector de traslacion d 10 es:
1
d0x p1x
1 1 1 1
p 0 = d 0 + R0 p 1 = d0y + R0 p1y .
(20)
1
d0z p1z
Fernando Reyes Cort
es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 39 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Transformaciones de traslacion (caso general)

p0 = d 10 + R01 p 1
p1 = d 21 + R12 p 2
:
p0 = d 10 + R01 d 21 + R01 R12 p 2
p0 = d 20 + R02 p 2
R02 = R01 R12
d 20 = d 10 + R01 d 21

Regla de transformacion:

p 0 = d 20 + R02 p 2
R02 = R01 R12
d 20 = d 10 + R01 d 21

Figura 13: Traslaci


on y rotaci
on de 1 y 2 con respecto al sistema 0 .

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 40 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Transformaciones homogeneas
La notacion mas com
un para representar la transformacion de traslacion y rotacion en forma compacta se conoce como
transformaci on homog enea. Por ejemplo, para representar el caso de traslacion y rotacion del sistema 1 (x1 y1 z1 )
con respecto al sistema 0 (x0 y0 z0 )

p 0 = d 10 + R01 p 1

La representacion inversa que relaciona el punto


Notaci on p 1 en funcion del punto p 0 adquiere la siguiente
La matriz correspondiente de rotacion alrededor forma:
del eje x0 se denota la transformacion homogenea T T
p 1 = R01 d 10 + R01 p 0
se realiza con la siguiente notacion:

R0 d 10
 1  la transformacion homogenea inversa esta
1
H0 = (21) determinada por:
0T 1
 1T T

1 1 R0 R01 d 10
Matriz de .. Vector de H0 = (22)
. 0T 1
rotacion
=
..
traslacion

. Las matrices de rotacion permiten modelar la
0T 1 orientacion de la herramienta de trabajo colocada
en el extremo final del robot, y junto con las trans-
donde R01 SO(3) y d 10 IR3 . Para propositos formaciones homogeneas dentro de una sola matriz
de acoplamiento en dimensiones, el vector 0T y el incluye la orientacion y posicion de la herramienta
n
umero 1 aparecen en el u
ltimo renglon. de trabajo, formando la estructura del modelo ci-
nematico directo.
Fernando Reyes Cort
es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 41 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de rotacion (HRx, HRy, HRz)

Las matrices de de transformacion homogenea de rotacion del sistema 1 (x1 y1 z1 ) con respecto al sistema 0 (x0 y0 z0 )
tienen la siguiente estructura:

Notaci
on

1 0 0 0
0 cos() sen() 0
HRx () =
0 sen() cos()

  0
0 0 0 1

cos() 0 sen() 0
0 1 0 0
HRy () =
sen() 0 cos()

  0
0 0 0 1

cos() sen() 0 0
sen() cos() 0 0
HRz () =
 0 0 1 0

0 0 0 1

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 42 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de traslacion (HTx, HTy, HTz)

Las matrices de transformacion homogenea de traslacion con respecto a los ejes x , y, z respectivamente tienen la
siguiente estructura:

Notaci
on

1 0 0 dx
0 1 0 0
HTx (d ) =
0

 0 1 0
0 0 0 1

1 0 0 0
0 1 0 dy
HTy (d ) =
0

 0 1 0
0 0 0 1

1 0 0 0
0 1 0 0
HTz (d ) =
0

 0 1 dz
0 0 0 1

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 43 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de rotacion HRx


RHx=HRx(theta)
donde theta es el angulo de rotacion alrededor del eje x . Retorna la matriz de transformacion homogenea RHx.

C
odigo MATLAB 3: Funci
on HRx ()
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion HRx ().m MATLAB version 2016b


1 function RHx=HRx(theta)
2 dato=whos(theta);
3 if strcmp(dato.class, sym) %variables simb olicas
4 RHx=[1, 0, 0, 0;
5 0, cos(theta), -sin(theta), 0;
6 0, sin(theta), cos(theta), 0;
7 0, 0, 0, 1];
8 else digits(3); %calculos numericos
9 RHx=round([1, 0, 0, 0;
10 0, vpa(cos(theta),3), vpa(-sin(theta),3), 0;
11 0, vpa(sin(theta),3), vpa(cos(theta),3), 0;
12 0, 0, 0, 1]);
13 end
14 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 44 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de rotacion RHy


RHy=HRy(theta)
donde theta es el angulo de rotacion alrededor del eje y. Retorna la matriz de transformacion homogenea RHy.

C
odigo MATLAB 4: Funci
on HRy ()
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion HRy ().m MATLAB version 2016b


1 function RHy=HRy(theta)
2 dato=whos(theta); if strcmp(dato.class, sym) %variables simb
olicas
3 RHy=[cos(theta), 0, sin(theta), 0;
4 0, 1, 0, 0;
5 -sin(theta), 0, cos(theta), 0;
6 0, 0, 0, 1];
7 else digits(3); %calculos numericos
8 RHy=round([ vpa(cos(theta),3), 0, vpa(sin(theta),3), 0;
9 0, 1, 0, 0;
10 vpa(-sin(theta),3), 0, vpa(cos(theta),3), 0;
11 0, 0, 0, 1]);
12 end
13 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 45 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de rotacion HRz


RHz=HRz(theta)
donde theta es el angulo de rotacion alrededor del eje z . Retorna la matriz de transformacion homogenea RHz.

C
odigo MATLAB 5: Funci
on HRz ()
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion HRz ().m MATLAB version 2016b


1 function RHz=HRz(theta)
2 dato=whos(theta);
3 if strcmp(dato.class, sym) %variables simb olicas
4 RHz=[cos(theta), -sin(theta), 0, 0;
5 sin(theta), cos(theta), 0, 0;
6 0, 0, 1, 0;
7 0, 0, 0, 1];
8 else digits(3); %c
alculos numericos
9 RHz=round([ vpa(cos(theta),3), vpa(-sin(theta),3), 0, 0;
10 vpa(sin(theta),3), vpa(cos(theta),3), 0, 0;
11 0, 0, 1, 0;
12 0, 0, 0, 1]);
13 end
14 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 46 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de traslacion HTx

HTx=HTx(d)
donde d es el desplazamiento lineal sobre el eje x . Retorna la matriz de transformacion homogenea Tx.

C
odigo MATLAB 6: Funci
on HTx (d )
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion HTx (d ).m MATLAB version 2016b


1 function Tx=HTx(d)
2 Tx=[ 1 0 0 d;
3 0 1 0 0;
4 0 0 1 0;
5 0 0 0 1];
6 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 47 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de traslacion HTy

HTy=HTy(d)
donde d es el desplazamiento lineal sobre el eje y. Retorna la matriz de transformacion homogenea Ty.

C
odigo MATLAB 7: Funci
on HTy (d )
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion HTy (d ).m MATLAB version 2016b


1 function Ty=HTy(d)
2 Ty=[ 1 0 0 0;
3 0 1 0 d;
4 0 0 1 0;
5 0 0 0 1];
6 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 48 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea de traslacion HTz

HTz=HTz(d)
donde d es el desplazamiento lineal sobre el eje z . Retorna la matriz de transformacion homogenea Tz.

C
odigo MATLAB 8: Funci
on HTz (d )
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion HTz (d ).m MATLAB version 2016b


1 function Tz=HTz(d)
2 Tz=[ 1 0 0 0;
3 0 1 0 0;
4 0 0 1 d;
5 0 0 0 1];
6 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 49 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Libreras MATLAB de transformacion homogenea DH


La funcion H_DH(H) extrae de la matriz de transformacion homogenea H la matriz de rotacion y el vector de coordenadas
cartesianas:
[R vect_d vect_cero c]=H_DH(H)
donde H es la variable de entrada y representa la matriz de transformacion homogenea. Retorna la matriz de rotacion
R , el vector de coordenadas cartesianas vect_d, el vector vect_cero=[0, 0, 0]T y la constante unitaria c=1.

C
odigo MATLAB 9: Funci
on H DH
Control de Robots Manipuladores, primavera 2017
Fernando Reyes Cortes. Posgrado en Automatizacion, Facultad de Ciencias de la Electronica, BUAP.

Funcion H DH.m MATLAB version 2016b


1 function [R vect_d vect_cero c]=H_DH(H)
2 fori=1:3
3 forj=1:3
4 R(i,j)=H(i,j);
5 end
6 end
7 %estructura de la matriz de transformacion homogenea
8 vect d=[H(1,4); H(2,4); H(3,4)];
9 vect cero=[0;0;0];
10 c=1;
11 end

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 50 / 51
Cinem
atica directa Cinem
atica inversa Cinem
atica diferencial Cinem
atica diferencial inversa Singularidades Preliminares matem
aticos de la cinem
atica directa Matrices de rotaci
on

Tarea 1: Propiedades de las matrices de rotacion


Demostrar que la matriz de rotacion R01 que relaciona la orientacion del sistema 1 (x1 , y1 , z1 ) respecto al sistema
0 (x0 , y0 , z0 ) satisface:
1 T
R01 = R01 .

det[R01 ] = 1.
Considere la siguiente matriz de transformacion homogenea:
 1 
1 R0 d01
H0 =
0T 1
1
demostrar que la matriz inversa H01 satisface:
T T
 
1 R01 R01 d01
H01 =
0T 1

Obtener el determinante de la matriz de transformacion homogenea: H01 .


Suponga que la matriz de rotacion R SO(3) tiene una dependencia temporal, de tal forma que d
dt
R = R .
Demostrar que:

R 1 = R T RR
T

Fernando Reyes Cort


es (Per
odo: primavera 2017) Benem
erita Universidad Aut
onoma de Puebla Facultad de Ciencias de la Electr
onica
Cinem
atica Control de Robots Manipuladores MCEA-20800 Maestr
a en Ciencias de la Electr
onica, Opci
on en Automatizaci
on 51 / 51

Potrebbero piacerti anche