Anda di halaman 1dari 36

Introducción al Modelado

y Control de Robots
Marco A. Pérez Cisneros
Erik V. Cuevas Jimenez

Daniel Zaldivar Navarro


La ley prohíbe
fotocopiar este libro

Xxxxx Nombre del Libro xxxxxx


© Autor xxxxxxx
© De la edición Ra-Ma 2009

MARCAS COMERCIALES. Las designaciones utilizadas por las empresas para distinguir sus productos
(hardware, software, sistemas operativos, etc.) suelen ser marcas registradas. RA-MA ha intentado a lo largo de
este libro distinguir las marcas comerciales de los términos descriptivos, siguiendo el estilo que utiliza el
fabricante, sin intención de infringir la marca y sólo en beneficio del propietario de la misma. Los datos de los
ejemplos y pantallas son ficticios a no ser que se especifique lo contrario.
RA-MA es marca comercial registrada.
Se ha puesto el máximo empeño en ofrecer al lector una información completa y precisa. Sin embargo, RA-MA
Editorial no asume ninguna responsabilidad derivada de su uso ni tampoco de cualquier violación de patentes ni
otros derechos de terceras partes que pudieran ocurrir. Esta publicación tiene por objeto proporcionar unos
conocimientos precisos y acreditados sobre el tema tratado. Su venta no supone para el editor ninguna forma de
asistencia legal, administrativa o de ningún otro tipo. En caso de precisarse asesoría legal u otra forma de ayuda
experta, deben buscarse los servicios de un profesional competente.
Reservados todos los derechos de publicación en cualquier idioma.
Según lo dispuesto en el Código Penal vigente ninguna parte de este libro puede ser reproducida, grabada en
sistema de almacenamiento o transmitida en forma alguna ni por cualquier procedimiento, ya sea electrónico,
mecánico, reprográfico, magnético o cualquier otro sin autorización previa y por escrito de RA-MA; su contenido
está protegido por la Ley vigente que establece penas de prisión y/o multas a quienes, intencionadamente,
reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica.
Editado por:
RA-MA Editorial
Calle Jarama, 3A, Polígono Industrial Igarsa
28860 PARACUELLOS DE JARAMA, Madrid
Teléfono: 91 658 42 80
Fax: 91 662 81 39
Correo electrónico: editorial@ra-ma.com
Internet: www.ra-ma.es y www.ra-ma.com
ISBN: 978-84-7897-XXX-X
Depósito Legal: M-XXXXX-2009
Autoedición: Autores
Diseño Portada: Antonio García Tomé
Impresión: Closas-Orcoyen
Impreso en España
ÍNDICE

1.1 TÍTULO 1 ..................................................................................................................... 11

1.2 TÍTULO 1 ..................................................................................................................... 12

2.1 POSICION Y ORIENTACION DE CUERPO RIGIDO ......................................... 14


2.1.1 MOVIMIENTO RÍGIDO............................................................................................... 14
2.1.2 NOTACIÓN ............................................................................................................... 15
2.1.3 POSICIÓN Y ORIENTACIÓN DE UN CUERPO RIGIDO. ................................................... 16

2.2 VECTOR DE TRASLACIÓN. ................................................................................... 16

2.3 MATRIZ DE ROTACIÓN ......................................................................................... 17


2.3.1 METODO SIMPLE PARA CALCULAR LA MATRIZ DE ROTACIÓN. ................................. 20
2.3.2 MATRIZ DE ROTACIÓN: UNA DEFINICION FORMAL ................................................... 23
2.3.3 MATRIZ DE ROTACIÓN PARA CUALQUIER ÁNGULO .................................................. 25
2.3.3.1 Ejemplo de la construcción de una matriz de rotacion. ................................... 29

2.3.4 MATRIZ DE ROTACIÓN EN MATLAB© ............................................................. 29

2.4 LA TRANSFORMADA HOMEGENEA. .................................................................. 30


2.4.1 TRANSFORMACIONES ENTRE EJES COORDENADOS ................................................... 31
2.4.1.1 Ejemplo: la transformada homogenea entre dos ejes coordenados. ................ 32
2.4.2 TRANSFORMACIÓN DE UN PUNTO ENTRE DIFERENTES SISTEMAS COORDENADOS. ... 33

2.4.3 TRANSFORMACIÓN HOMOGENEA EN MATLAB© ............................................ 35

2.4.4 TRANSFORMACIÓN DE PUNTOS EN MATLAB© ................................................ 38


8 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

2.5 DESCRIPCIÓN DE CUERPO RIGIDO ................................................................... 42

2.6 COMPOSICIONES DE MATRICES HOMOGENAS ............................................ 42

2.7 TRANSFORMACIONES DE SIMILITUD .............................................................. 43

2.8 OPERADORES DE ROTACIÓN .............................................................................. 43


2.8.1 ANGULOS DE EULER ................................................................................................ 43
2.8.2 REPRESENTACION DE ANGULO Y EJE. ...................................................................... 43
2.8.3 ANGULOS “ROLL-PITCH-YAW” ............................................................................... 43

2.9 REFERENCIAS Y BIBLIOGRAFIA RECOMENDADA ....................................... 43

3.1 TÍTULO 1 ..................................................................................................................... 46


3.1.1 TÍTULO 2 ................................................................................................................. 47
2Equation Chapter 2 Section 1Capítulo 2

MODELADO DEL ENTORNO Y LOS


MOVIMIENTOS EN EL ESPACIO

En todos los ámbitos de la ingenieria, modelar el problema a resolver y las


variables que participan en dicho proceso, es una tarea de importancia medular
para vislumbrar una solución efectiva y realizable. Dado que el objetivo general de
la Robótica es controlar los movimientos y trayectorias de un sistema de
componentes mecanicos, los conceptos de modelar y representar las posiciones
tienen un significado muy relevante, ya que el primer paso siempre será representar
el entorno operativo del robot y su cadena mecanica a través de herramientas
matemáticas y computacionales.

Como se menciona, en Robotica es fundamental construir las bases matematicas y


geométricas que permitan entender el entorno, la geometría propia del robot y el
problema a resolver. Si dicho modelo puede construirse, será posible controlar y
administrar los movimientos del robot para llevar a cabo una tarea especifica.

Este planteamiento permitirá analizar distintas soluciones para algunas plantas


roboticas representativas. Como se ha discutido en el capitulo anterior, el modelado
operacional del robot puede orientarse para constuir el ciclo compuesto por las
tareas de modelar, diseñar, simular e implementar en repetidas ocasiones, buscando
una mejora continua en el diseño final.
2.1 POSICION Y ORIENTACION DE CUERPO RIGIDO
Este capítulo desarrolla los conceptos matemáticos requeridos para especificar la
ubicación y orientación de un cuerpo dado en el espacio. Estas ideas son base para
muchos conceptos que sustentan las teorías Cinemática y Dinamica de robots que
serán ampliamente discutidas en los siguientes capítulos de este texto.

2.1.1 Movimiento rígido


En particular vamos a discutir primero el concepto de un movimiento rígido que es
muy frecuente en temas de robotica. El concepto se origina de la traducción directa
al español de la frase “rigid body motion”, que no hace mucho sentido en nuestro
idioma y parece poco claro ya que refiere a movimientos que siguen cierta rigidez.

Dicho concepto se ha heredado directamente de la teoría de la Mecánica que


estudia la dinámica en los movimientos de los cuerpos y refiere a que un cambio de
posición puede entenderse mejor si se realiza con respecto a un marco de referencia
que no cambia, es decir, es marco rígido. Esto permite llevar a cabo el análisis y
control de dicho movimiento e incluso predecirlos. Por estas razones, los
movimientos rígidos son de profundo interés para entender las relaciones entre
distintos mecanismos que operan en conjunto para realizar una tarea requerida,
caso que aplica directamente a los robots.

A través de los años han existido numerosas herramientas matemáticas para llevar
a cabo esta tarea. Si bien, una descripción exhaustiva de estas técnicas escapa al
propósito de este libro, se incluyen aquellas que por su aceptación y madurez son
eficientemente utilizadas en la solución de múltiples problemas en el manejo de
robots. Algunas otras herramientas solo se revisan ofreciendo referencias donde el
lector pueda revisarlos con mayor profundidad.

Es importante señalar que muchos postulados de este capítulo serán parte


fundamental del análisis de velocidades, aceleraciones y fuerzas que constituyen el
paso natural en la búsqueda del control de un mecanismo robótico. Por este motivo,
es muy importante que el lector se familiarice profundamente con estos terminos y
cimente su entendimiento a través de los ejercicios sugeridos y los ejemplos de
simulación.

Dado que gran parte de la teoría de descripción de posiciones y movimientos se


realiza en base a la teoría de matrices, es muy recomendable que el lector cuente
también con conocimientos básicos de algebra lineal o bien dedique un tiempo a
estudiar el apéndice correspondiente a final de este libro.
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 15

Antes de formalmente definir los conceptos de modelado y representación, es


necesario acordar la notación que será utilizada durante todo el texto para
representar elementos geométricos y sus ecuaciones y agilizar de esta forma la
lectura y entendimiento de cada concepto.

2.1.2 Notación
En esta sección se propone definir una notación concisa y comprensible que será
utilizada a través de todo este libro. La importancia de esta sección es fundamental
para esta obra, dado que el desarrollo actual de la robótica implica la integración de
conceptos que emergen de distintas áreas como la visión computacional, la teoría
de control continuo y discreto, la teoría de sistemas en tiempo real, el
procesamiento digital de señales, etc. Es muy frecuente que la introducción de
conceptos derivados de distintas teorías tambien implica el uso de su propia
notación, generando confusión en especial cuando el número de definiciones que
participan en la solución de un problema se incrementa.

Por tanto, el estudio ordenado de la robotica implica la definición de un marco de


referencia para el manejo de la nomenclatura, evitando la pérdida claridad y
uniformidad. Esta sección se enfoca a definir claramente la notación y las reglas
para el significado y cobertura de cada símbolo.

En primera instancia, en este libro, las letras minúsculas se usan para denotar
cantidades escalares (ver por ejemplo: a, b, c ), mientras que las variables
expresadas en negritas representarán vectores (ejemplo: x, y, z ) y las letras
mayúsculas en negritas representan matrices (ejemplo: A, J, H ). Los valores
estimados se representan por el arco circunflejo sobre la letra (ejemplo: xˆ, yˆ , zˆ ) y
los valores deseados se identifican por medio del asterisco como sigue: x* , y* , z* .

En cuanto a las relaciones entre ejes coordenados (cuyo estudio se realiza en la


siguiente sección), este texto utiliza la notación de w Te , que representa la
transformación de un eje coordenado W a otro eje coordenado e. Por definición
entonces, el superíndice siempre indicará con respecto a que eje coordenado se
obtiene el resultado final. Por ejemplo, en la expresión w Te todos los
desplazamientos o mediciones se expresan finalmente con respecto al eje
coordenado W.
16 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

2.1.3 Posición y orientación de un cuerpo rigido.


Es tiempo de comenzar a definir los postulados base para el modelado del entorno
del robot y su geometría misma. En general, aplicando los conceptos de la teoría de
grupos del algebra lineal, podemos afirmar que el modelado de mecanismos
roboticos en este texto pertenece al Grupo Especial Euclidiano de tres dimensiones
(  SE    SO ). Dicho grupo se compone por el Grupo Especial Ortogonal
3 3 3

( SO ) y los números reales en tres dimensiones (  ).


3 3

Explicando estos conceptos de forma mas trivial, el Espacio Euclidiano puede


entenderse a partir de que los robots (  ) serán modelados como elementos del
3
grupo ( SE ), es decir, sus representaciones geométricas utilizan números reales
que se desplazan sobre ejes coordenados ortogonales (que están a 90 grados uno
con respecto del otro) y en tres dimensiones ( x, y, z ). Afortunadamente, este
concepto es muy familiar desde niveles básicos de nuestra formación, como
podemos verlo en la Figura 2.1.1, donde utilizamos la convención de la mano
derecha para fijar las direcciones de dichos ejes coordenados.

Eje X Eje Z

k
i

Eje Y

Figura 2.1.1 Sistema coordenado ortogonal de acuerdo a la regla de la mano derecha.

2.2 VECTOR DE TRASLACIÓN.


En términos matematicos, la definición de un punto en el espacio Euclidiano se
realiza a través del producto punto de la coordenadas hacia cada eje ( x, y, z ) y los
vectores unitarios i, j,k , como se representan también en la Figura 2.1.1. Dichos
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 17

vectores unitarios representan el movimiento sobre cada uno de los ejes


ortogonales como en la definición de un punto p :

p  tx  i  t y  j  tz  k (1.1)

En términos de operaciones matriciales, el punto puede expresarse como:

i
p  [t x , t y , t z ]   j  (1.2)
k 

Bajo esta convención expresaremos la localización de un punto en el espacio y lo


denominamos por medio de un vector de traslación que viaja desde el origen al
punto de interes, siendo sus coordenadas t  [t x , t y , tZ ]T . La representación espacial
de dicho punto se muestra en la Figura 2.2.1 para el caso de punto p  [2,7, 4]T .

Eje Z

p
4

W
2 7 Eje Y

Eje X

Figura 2.2.1 Eje coordenado ortogonal W. Se muestra también el punto p=[2,7,4] T

2.3 MATRIZ DE ROTACIÓN


Siguiendo con las definiciones relevantes en el espacio Euclidiano, toca el turno a
una de las más importantes dentro del proceso de modelado de sistemas roboticos:
la matrix de rotación.
18 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

Una técnica muy aceptada en los sistemas roboticos, consiste en fijar un eje
coordenado a cada objeto que participa en el entorno de un robot. Por ejemplo, se
coloca el eje coordenado base (denominado en este texto como W), y otros ejes
coordenados (M, C) que se asignan a otros objetos de interes (mesa, cubo), tal
como lo muestra la Figura 2.3.1.

CZ
MZ
CY
C
MX
M

MX MY

WZ

W
WY

WX

Figura 2.3.1 Representación gráfica de los ejes coordenados adheridos a distintos


objetos en el entorno del robot con el objetivo de definir sus relaciones geométricas.
Una matriz de rotación precisamente da cuenta de la relación geométrica entre dos
distintos sistemas coordenados. Dicha relación geométrica también se conoce como
orientación. Dado que los sistemas coordenados han sido adheridos a distintos
cuerpos que participan en el entorno del robot, es posible relacionar todos los
sistemas coordenados con el sistema base (W). Esto es exactamente lo que se
entiende por modelado del entorno.

Antes de seguir adelante conviene presentar la matriz de rotación como tal, su


nomenclatura y un poco de historia con respecto al nombre de cada una de sus
columnas. Los elementos de la matriz de rotación se han acomodado siguiendo una
antigua convención de la robotica:

 nx ox ax 
w
R e  n o a    ny oy a y  (1.3)
 nz oz az 
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 19

Esta antigua convención consiste en denominar al eje X como Normal, al eje Y


como Ortogonal y al eje Z como Aproximación. Esto tiene razones históricas que
se remontan al tiempo que los actuadores roboticos eran en su mayoria ganchos de
apertura y cierre (grippers de su palabra inglesa). En el modelado correspondiente,
el eje Z se denominaba el vector de aproximación a la pieza de interes (columna a),
mientras que el eje Y se diseñaba para apuntar entre las quijadas del gancho
(columna o). De esta forma, el eje X simplemente se encuentra perpendicular al
plano de acción y por eso se denomina Normal (columna n). Esto puede explicarse
más fácilmente a través del gráfico en la Figura 2.3.2.

ex (n)

E
ey (o)
ez (a)

Figura 2.3.2 Antigua convención para asignar los ejes coordenados al actuador final
de un robot (end-effector). Dicho acuerdo ha dado origen a los nombres de cada una
de las columnas de la matriz de rotación: n,o,a
De forma práctica podemos afirmar que cada una de las columnas de la matriz de
rotación, expresa la posición relativa de cada uno de los nuevos ejes coordenados
E : E x, E y, E z con respecto del sistema coordenado base W : w x, w y, w z , como
se observa en la Figura 2.3.3.
20 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

EX

WZ
E
EY
t EZ
W WY 5
5 WX

13

Figura 2.3.3 Relacion geométrica entre los ejes coordenados W y E que puede
expresarse por medio de la matriz de rotación WRE.
Dado que la representación en el espacio Euclidiano se fundamenta en el reflejo de
distancias en las direcciones de los tres vectores unitarios i, j,k , puede deducirse
que cada columna de la matriz de rotación refiere a la posición de cada uno de los
ejes “rotados” con respecto a los ejes del sistema coordenado base W.

A continuación se presenta un método muy sencillo de calcular la matriz de


rotación cuando se consideran ejes coordenados que varian en angulos múltiplos de
90 grados, es decir, cuya orientación guarda una relación muy simple con respecto
al eje coordenado base (W). Dicho método se incluye en este estudio para
desarrollar más habilidades deductivas en el lector, pero dicha sección puede
evitarse en caso de preferir un estudio más formal de la matriz de rotación que se
desarrolla más adelante.

2.3.1 Metodo simple para calcular la matriz de rotación.


Es posible enunciar un método muy sencillo para calcular la matriz de rotación,
siempre y cuando los ejes coordenados que se relacionan a través de dicha matriz
se presenten con giros de angulos múltiplos de 90 grados, es decir, cuya
orientación guarda una relación muy simple con respecto al eje coordenado base
(W). Un ejemplo muy sencillo de este caso puede verse en los ejes coordenados
que se presentan en la Figura 2.3.1, cuya orientación es la misma, o bien los ejes
coordenados de la Figura 2.3.3 donde el nuevo eje EX apunta en el sentido opuesto
al original WX y el nuevo eje EZ apunta también en el sentido negativo del eje
original WZ.

Esta condición puede parecer muy particular, pero a medida que el lector
profundice sus conocimientos en robotica, se sorprenderá de la frecuencia con que
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 21

este caso se presenta, lo que confiere mucho valor a este sencillo método. En
primer lugar, volvamos a definir los dos postulados base de este método:

 La representación en el espacio Euclidiano se fundamenta en el reflejo de


distancias en las direcciones de los tres vectores unitarios i, j,k .

 Cada columna de la matriz de rotación refiere a la posición de cada uno de


los “nuevos” ejes rotados con respecto a los ejes del sistema coordenado
base W.

Con referencia al primer postulado, observe la Figura 2.3.4, cada eje del eje
coordenado M se encuentra apuntando a la misma dirección de los ejes
coorespondientes en el sistema W. Por ejemplo, el eje MX apunta en la misma
dirección que el eje WX.

Por lo tanto, la primera columna de la matriz de Rotación WRM indica que la


orientación del “nuevo” eje X, o sea el eje MX apunta hacia la dirección del eje
“original” WX, que refiere a la componente vectorial i , o sea hacia i  [1,0,0]T
dando los valores que aparecen en la primera columna de la matriz de rotación en
la Ecuación (1.4).

MZ

M
MY
MX
WZ

W WY

WX

Figura 2.3.4 Al revisar la orientación entre los ejes de sistema coordenado M y los del
sistema coordenado W, se observa que cada eje apunta en la misma dirección.
22 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

 1 ox ax 
W
R M  0 oy a y  (1.4)
0 oz az 

Lo mismo sucede con el respectivo eje “nuevo” MY que apunta a la misma


orientación del WY, generando que la segunda columna apunte hacia la componente
j  [0,1,0]T , completando la segunda columna como sigue:

1 0 ax 
W
R M  0 1 a y  (1.5)
0 0 az 

Finalmente, el “nuevo” eje MZ apunta hacia el original eje WZ, es decir, hacia la
componente k  [0,0,1]T , por lo que completando W R M tenemos:

1 0 0 
W
R M  0 1 0  (1.6)
0 0 1 

Siguiendo el mismo razonamiento, podemos retomar el ejemplo que se presenta en


la Figura 2.3.3. Es posible construir la matriz de rotación WRE, columna a columna
comenzando por el “nuevo” eje EX, que apunta hacia la dirección del original eje
negativo WX, por lo que la primera columna debe quedar como sigue:

 1 ox ax 
W
R E   0 oy a y  (1.7)
 0 oz az 

Del mismo modo, el “nuevo” eje EY esta apuntando hacia la orientación del eje
original WY, por lo que la segunda columna se define de forma similar al caso de la
Ecuación (1.5) como sigue:

 1 0 ax 
W
R E   0 1 a y  (1.8)
 0 0 az 
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 23

Finalmente el “nuevo” eje EZ se dirige hacia el negativo del eje WZ original, por lo
que la columna correspondiente se define como:

 1 0 0 
W
R E   0 1 0  (1.9)
 0 0 -1

Asi se completa el método simple para el cálculo de la matriz de rotación. Es


importante notar que cada columna de la matriz de rotación refiere a la orientación
de cada uno de los ejes del nuevo sistema coordenado (E), con respecto de un
sistema coordenado base (W). Como se comentó al principio de esta sección, se
incluye este método abreviado, a pesar de que solo puede aplicarse para rotaciones
de angulos normales (múltiplos de 90 grados) entre ejes coordenados. Un
tratamiento formal y genérico para cualquier valor del angulo de rotación se discute
en la sección siguiente. No debe perderse de vista que la diferencia espacial entre
los ejes coordenados W y E, se expresa con el vector de traslación, reafirmando
que la matriz de rotación se utiliza solo para dar cuenta de la diferencias en cuanto
a la orientación de cada uno de los ejes con respecto al sistema coordenado base W.

2.3.2 Matriz de rotación: una definicion formal


Esta sección introduce un estudio más formal de la matriz de rotación y cada uno
de sus elementos. Como se comento anteriormente, cada una de las columnas en la
matriz refieren a la posición de los tres ejes de un nuevo sistema coordenado con
respecto de un sistema base. El formato de dicha matriz viene dado como:

 nx ox ax 
w
R e   ny oy a y   n o a  (1.10)
 nz oz az 

Considerando que cada uno de los ejes se encuentra a 90 grados con respecto de los
otros dos, es posible utilizar el producto punto entre dos vectores para obtener
algunos resultados muy útiles sobre la naturaleza de las columnas.

Primero, si calculamos el producto punto de una columna con respecto de otra, el


resultado será cero, ya que no existe ninguna “sombra” de un eje sobre el otro, al
ser vectores normales que estan localizados a noventa grados, asi que:

nT o = 0 oT a = 0 aT n = 0 (1.11)
24 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

Así mismo, si utilizamos el producto punto entre el vector del eje y si mismo
(utilizando el valor transpuesto), el resultado es igual a uno, que significa que el eje
se “refleja” totalmente sobre si mismo, generando una propiedad muy útil:

nT n = 1 oT o = 1 aT a = 1 (1.12)

Dado que el producto punto de un eje contra si mismo (misma columna) es igual a
1, y el producto punto entre columnas es igual a cero, es posible deducir una
propiedad muy importante de la matriz de rotación:

RT R  I (1.13)

Esta propiedad puede explicarse más claramente si expandimos dicho producto en


su forma matricial, como sigue:

 nx ny nz   nx ox a x  n T n n T o n T a   1 0 0 
   
 ox oy oz   ny oy a y    o T n oTo o T a   0 1 0 (1.14)
 ax
 ay az   nz oz az   a T n a To aTa  0 0 1 

Esto significa que al multiplicar el primer renglón de la matriz izquierda por la


primera columna de la matriz derecha, lo que realmente se esta ejecutando es
nTn=1. Otros productos punto como oTn, oTa, etc., representan un producto entre
columnas diferentes que será igual a cero, corroborando la Ecuación (1.13).

Este resultado da principio a una propiedad de las más utilizadas en robotica. Del
algebra matricial sabemos que si el resultado de multiplicar dos matrices es la
unidad (matriz unitaria), se trata de la multiplicación de una matriz por su matriz
inversa. De esta forma, se demuestra que para el caso de la Matriz de Rotación, su
inversa puede calcularse directamente de su transpuesta, lo que permitirá agilizar el
algebra entre matrices de rotación, como sigue:

RT  R 1 (1.15)

Es importante recordar que esta propiedad se hace posible gracias a que la matriz
de rotación esta representando un sistema ortonormal, es decir, representa la
orientación espacial de ejes coordenados que se encuentran a 90 grados uno con
respecto del otro y que además tienen una magnitud igual a uno. Esta última
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 25

propiedad, conocida como magnitud unitaria, puede verificarse por medio del
cálculo de la Norma Euclidiana. Esta es una operación matematica que suma el
cuadrado de los componentes de un vector. Si aplicamos este operador a cada
columna de la matriz de rotación se obtendrá (tomando la columna n como
ejemplo) que cada columna genera una norma unitaria como sigue:

n  nx2  ny2  nz2  1 (1.16)

De hecho esta propiedad vamos a utilizarla para asegurar la ortonormalidad en


algunos problemas de robotica que discutiremos más adelante.

2.3.3 Matriz de rotación para cualquier ángulo


Ahora es tiempo de llevar la definición de la matriz de rotación a una explicación
mucho mas amplia de sus características. Con estos fines, supóngase un problema
muy simple. Se tiene un eje coordenado base W con la orientación que se presenta
en la Figura 2.3.5. Observese que el eje Z es el eje vertical y sobre el se aplica un
giro arbitrario de un angulo θ. Al realizar dicho giro, el problema será determinar
el vector que representa la nueva posición del eje X y del eje Y que han
experimentado el movimiento como resultado de la rotación.
26 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

z
j'
W
o y j
x

i i'

Figura 2.3.5 Giro sobre el eje Z del sistema coordenado W


Por definición, cada columna de la matriz de rotación contiene la posición del
nuevo eje después de la rotación. Por tanto, la orientación del eje X resultante
puede calcularse como la orientación del eje resultante i’. Con un poco de
principios de trigonometría básica es posible determinar dicha orientación.

Por ejemplo, en la Figura 2.3.6 pueden observarse que la nueva coordenada con
respecto al eje X es el Cos θ, mientras que la nueva coordenada con respecto del
eje Y es el Sen θ. Con respecto al eje Z, la nueva coordenada es 0, ya que por la
naturaleza del giro, el movimiento se realiza exclusivamente sobre el plano X-Y.
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 27

y
x

Cos θ

i Sen θ i'

Figura 2.3.6 Calculo de las coordenadas del nuevo eje i’ con respecto de las
direcciones de los ejes X, Y. La coordenada en Z es cero ya que el movimiento se
realiza exclusivamente en el plano X-Y.
Puede aplicarse el mismo razonamiento para la posición del nuevo eje j’, que
tendrá como nueva posición con respecto del eje X al -Sen θ, esto en virtud de que
la nueva coordenada se situa hacia el sentido negativo de dicho eje. La nueva
coordenada con respecto del eje Y será el Cos θ, mientras que la nueva posición
con respecto del eje Z seguirá siendo 0 al no existir movimiento en el plano X-Y.

z j'
Cos θ
-Sen θ
y j
x

Figura 2.3.7 Cálculo de las coordenadas del nuevo eje j’ con respecto de las
direcciones de los ejes X y Y.
De esta forma, utilizando la nomenclatura vectorial podemos concluir que las
coordenadas de los “nuevos” ejes i’, j’ y k’ después de la rotación son:

cos   sen   0 
i'  sen   j'   cos   k'  0 (1.17)
 0   0  1 
28 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

Como se discutió en la sección anterior, la matriz de rotación contiene la


orientación de cada “nuevo” eje coordenado con respecto del sistema base. De esta
forma, es posible reunir las coordenadas que se definen en la Ecuación (1.17)
dando origen a la matriz de rotación con respecto del eje Z:

 cos   sen  0
R z ( )  sen  cos  0 (1.18)
 0 0 1 

Notese que la variable θ que puede tomar cualquier valor angular en la matriz de la
Ecuación (1.18). En este texto, dicho valor angular generalmente será considerado
en el rango –π ≤ θ ≤ π.

De igual forma pueden obtenerse las expresiones para las rotaciones sobre los ejes
X y Y, quedando de la siguiente forma:

1 0 0 

R x ( )  0 cos   sen   (1.19)
0 sen  cos  

 cos  0 sen  
R y ( )   0 1 0  (1.20)
  sen  0 cos  

Es importante notar que la matriz de rotación sobre el eje Z, presenta la tercera


columna (la que representa a dicho eje) con el valor unitario en dicho sentido, es
decir a=[0,0,1]T, ya que se describe al eje sobre el cual se rota y el cual no sufre
modificación alguna en su orientación.

Mismo caso sucede para la matriz de rotación sobre el eje X. La primera columna
n=[1,0,0]T representa que dicho eje permanece orientado totalmente hacia la
dirección del eje X. En el caso de la rotación sobre el eje Y, la segunda columna
puede fácilmente identificarse como o=[0,1,0]T. Precisamente este hecho nos
permite identificar rápidamente cada una de las matrices de rotación, simplemente
definidas por la columna que no sufre cambios en su orientación y presenta valores
de 1 y 0.
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 29

2.3.3.1 EJEMPLO DE LA CONSTRUCCIÓN DE UNA MATRIZ DE


ROTACION.
Ahora se demuestra un ejemplo sencillo de la construcción de una matriz de
rotación para un angulo de 30 grados sobre el eje X. Solamente tiene que
sustituirse dicho valor angular en la matriz de la Ecuación (1.19) y debe calcularse
el valor correspondiente del cos 30º y del sen 30º, siendo 0.5 y 0.8660
respectivamente. La matriz entonces se construye como sigue:

1 0 0 
R x (45 )  0 0.5 0.866 (1.21)
0 0.866 0.5 

2.3.4 Matriz de rotación en Matlab©


Como se comentó en los primeros capítulos de esta obra, el Robotics Toolbox para
Matlab© es una herramienta muy útil para la simulación y visualización de
cálculos relacionados con elementos roboticos. En el caso de la construcción de las
matrices de rotación, el toolbox provee diferentes comandos entre los que destacan
los siguientes:

>> matriz = rotx(ángulo)

Este es el comando para calcular la matriz para una rotación sobre el eje X con un
valor dado por la variable ángulo. Aplicando dicho comando al ejemplo de la
expresión (1.21) considerando que θ=60º, se tiene:

>> rotacion_x = rotx(pi/3)

rotacion_x =

1.0000 0 0
0 0.5000 -0.8660
0 0.8660 0.5000
30 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

Notese que el angulo tiene que definirse en radianes. Una forma muy practica
convertir entre grados y radianes (que será muy frecuente en este libro) es utilizar
la conversión entre 180º y π radianes que corresponda dependiendo de cual es la
unidad que finalmente se requiere.

Calculo del valor del angulo en radianes:

( )
valor radianes = grados (1.22)
180

Calculo del valor del angulo en grados:

(180)
valor grados = radianes
 (1.23)

De esta forma, es muy común encontrar comandos como:

>> rotacion_y = roty(50 * pi/180)

rotacion_y =

0.6428 0 0.7660
0 1.0000 0
-0.7660 0 0.6428

En el ejemplo, la función roty genera la matriz para una rotación sobre el eje Y de
50 grados.

2.4 LA TRANSFORMADA HOMEGENEA.


La Transformada Homogénea (HT, por sus siglas en inglés) es una entidad
matematica que define la relación de posición y orientación entre dos ejes
coordenados. De forma practica, el concepto de una HT emerge naturalmente a
partir del vector de traslación y la matriz de rotación que revisamos en secciones
recientes. Dicha matriz permite una forma muy compacta para calcular las
relaciones espaciales entre cuerpos que tienen un sistema coordenado fijo en su
estructura, tal como se comento al inicio de este capitulo.
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 31

Una matriz HT se compone de los siguientes elementos:

 nx ox ax tx 
n oy ay t y 
W
TE   y
 nz oz az tz  (1.24)
 
0 0 0 1

De forma matematica, la matriz homogena ó HT puede también expresarse como:

 W RE W
tE 
W
TE    (2.1.25)
 0 1 

La matriz WTE contiene la relación entre un eje coordenado W y un sistema


coordenado E. De hecho, podemos tomar como ejemplo la Figura 2.3.3 donde se
ejemplifican dichos ejes coordenados para construir la matriz homogénea
correspondiente como sigue:

 1 0 5
0
0 1 0 13
W
TE  
0 0 1 5  (1.26)
 
0 0 0 1

En la matriz homogena, es muy sencillo distinguir cada uno de sus componentes.


En particular, llama mucho la atención la adición de un renglón nuevo en la parte
inferior de la matriz [0,0,0,1]T. Dicho renglón se compone por tres valores de
escalamiento y el valor del foco respectivamente. De forma práctica, dicho renglon
se agrega simplemente para facilitar la integración de la matriz de rotación y el
vector de traslación en una misma entidad, aunque existen aplicaciones donde
dichos valores pueden ser diferentes de cero y uno, aunque dichos casos no se
discuten por ahora.

2.4.1 Transformaciones entre ejes coordenados


Una de las aplicaciones más importantes de la matriz homogena (HT) en robotica
es la relación entre distintos ejes coordenados que interactúan en el espacio de
trabajo de un sistema robotico.
32 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

El ejemplo más simple ocurre cuando existe un punto definido con respecto de un
eje coordenado dado (E) y se requiere conocer dicho punto pero definido con
respecto de un sistema coordenado base (W). Este es un ejemplo recurrente entre
muchos procedimientos de modelado en robotica. Vease por ejemplo la Figura
2.4.1, donde se muestra un nuevo sistema coordenado E y su relación geometrica
con respecto del sistema coordenado W.

EX
E EY 7

WZ EZ
1 1
Ep
wp
W

WX
WY 10 5
4

Figura 2.4.1 Ejemplo de la relación entre dos ejes coordenados. El punto ep=[7,1,1]T
debe ser definido con respecto al eje coordenado base W, dando origen a wp.
Dicha relación geométrica se expresa perfectamente a través de una HT. En este
caso, vamos a tomar este ejemplo como ejercicio para posteriormente continuar
con la discusión de la transformación entre ejes coordenados.

2.4.1.1 EJEMPLO: LA TRANSFORMADA HOMOGENEA ENTRE


DOS EJES COORDENADOS.
De los estudios presentados en la sección 2.2 sobre los vectores de traslación, en la
sección 2.3 sobre la construcción de la matriz de rotación y en la sección 2.4 que
integra ambos elementos en una sola matriz homogénea, es posible construir de
forma rápida la relación entre los ejes coordenados W y E que se presentan en la
Figura 2.4.1.

Vector de traslación: En primera instancia, el vector de traslación entre el origen


de ambos ejes coordenados se define considerando las distancias que se requieren
recorrer sobre el sistema base W para alcanzar el origen del sistema coordenado E,
generando el siguiente vector de traslación:

 nx ox ax 4
n oy ay 10 
W
TE   y
 nz oz az 5 (1.27)
 
0 0 0 1
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 33

Matriz de Rotación: los componentes pueden calcularse rápidamente utilizando el


metodo presentado en la sección 2.3.1, donde el nuevo eje EX apunta en la
dirección negativa del eje WX del sistema base. Por tanto la primera columna puede
establecerse como:

-1 ox ax 4
0 o ay 10 
W
TE   y

 0 oz az 5 (1.28)
 
0 0 0 1

De la misma forma, el nuevo eje EY apunta a la misma orientación del eje WY, por
lo que la segunda columna viene definida por [0,1,0]T, como sigue:

 1 0 ax 4
0 1 ay 10 
W
TE  
0 0 az 5 (1.29)
 
0 0 0 1

Finalmente, el nuevo eje EZ apunta hacia el sentido negativo del eje WZ del sistema
base, por lo que la ultima columna de la matriz de rotación se define como:

 1 0 04
0 1 0 10 
W
TE  
0 0 -1 5  (1.30)
 
0 0 0 1

Esta última expresión define completamente la matriz HT que relaciona los ejes
coordenados W y E, por lo que ahora es posible concebir operaciones geométricas
entre ambos ejes coordenados como se discute a continuación.

2.4.2 Transformación de un punto entre diferentes sistemas


coordenados.
Regresando al ejemplo que se presenta en la Figura 2.4.1, la Ecuación (1.30) nos
presenta la matriz homogénea que relaciona los ejes coordenados W y E. Notese el
punto Ep en la misma Figura 2.4.1, que como lo indica su nomenclatura, se
34 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

encuentra definido con respecto del sistema coordenado E. En forma vectorial, el


punto Ep se representa como:

 1
E
p   7  (1.31)
 1 

Un problema muy común en robotica es la necesidad de definir la ubicación del


punto Ep pero ahora con respecto del eje coordenado base, lo que resultará en el
punto Wp (véase dicho punto en la Figura 2.4.1). Es posible entonces utilizar la
relación entre dichos ejes coordenados a través de la transformada WTE de la
Ecuación (1.30) con un poco de algebra de matrices como sigue:
W
p= W
TE  E p (1.32)

Esta última expresión puede leerse como que el punto Ep multiplicado por la
relación geométrica WTE, transforma dicho punto con respecto al sistema
coordenado W, resultando Wp. Notese la congruencia entre las referencias que se
encierran en círculos en la Ecuación (1.32), que indican que dicha conversión
puede llevarse a cabo. Dicha expresión genera las siguientes multiplicaciones
matriciales:

 1 0 4   1
0
0 1 0 10   7 
W
p
0 0 -1 5   1 
  
0 0 0 1  1 
(1.33)
5
17 
W
p 
4
 
1

La representación gráfica del punto Wp puede verse en la Figura 2.4.1. Notese la


adición de un cuarto elemento al vector Ep con valor 1. Dicho elemento no tiene
ninguna influencia en la conversión y solamente viene a completar la operación
matematica. Esto será discutido a detalle en este capitulo durante la explicación de
la representación de cuerpo rigido.
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 35

En la sección siguiente se presentan las herramientas de simulación que pueden


aplicarse para el calculo de estas conversiones entre sistemas coordenados a partir
del concepto de transformada homogénea.

2.4.3 Transformación homogenea en Matlab©


Una serie de herramientas para la representación y graficación de
transformadas homogéneas están disponibles en Matlab©. En primer término, el
Robotics Toolbox permite generar matrices homogéneas de forma muy similar a
las matrices de rotación, simplemente agregando la letra „t‟ al comando, lo que
indica que la salida será una transformada homogénea. Los giros sobre los tres ejes
pueden realizarse como sigue:

>> ht_giro_x = trotx(angulo)

>> ht_giro_y = troty(angulo)

>> ht_giro_z = trotz(angulo)

Utilizando dichos comando en el entorno Matlab© se generan tres ejemplos, uno


para la rotación sobre cada eje: un giro de 30 grados sobre el eje X que se expresa
en radianes (π/6), un giro de 30 grados sobre el eje Y que utiliza la conversión del
angulo a radianes que se discutió en la sección 2.3.4 y finalmente una rotación
sobre el eje Z de 80 grados, expresados directamente en radianes (≈1.3963).

>> ht_giro_x = trotx(pi/6)

ht_giro_x =

1.0000 0 0 0
0 0.8660 -0.5000 0
0 0.5000 0.8660 0
0 0 0 1.0000

>> ht_giro_y = troty(30*pi/180)

ht_giro_y =

0.8660 0 0.5000 0
0 1.0000 0 0
-0.5000 0 0.8660 0
0 0 0 1.0000
36 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

>> ht_giro_z = trotz(1.3963)

ht_giro_z =

0.1736 -0.9848 0 0
0.9848 0.1736 0 0
0 0 1.0000 0
0 0 0 1.0000

Por otro lado, otro recurso muy importante para la simulación y graficación de la
transformada homogena en Matlab© es el Visual Servoing Toolbox que también
provee una colección de comandos. Enn particular, este paquete es muy útil para la
graficación de ejes coordenados en el espacio de trabajo del robot. En este toolbox
las transformadas homogéneas son tratadas como una clase, es decir, como objetos
independientes cuyas características pueden ser personalizadas según los
requerimientos. El comando que genera un objeto tipo HT puede funcionar con
distintos argumentos como se enumera a continuación:

>> matrix_ht = ht( );

>> matriz_ht = ht( [valores de la matriz] );

>> matriz_ht_rotx = ht( ‘xrot’, angulo);

>> matriz_ht_roty = ht( ‘yrot’, angulo);

>> matriz_ht_rotz = ht( ‘zrot’, angulo);

>> matriz_ht_traslacion = ht( ‘xyz’, valor_x, valor_y, valor_z);

En el primer ejemplo comando ht no toma ningun argumento. En este caso, se


genera un sistema coordenado base, considerando el origen del sistema al vector
[0,0,0]T. Dicho sistema coordenado base se ha denominado W en este texto.
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 37

>> w = ht
w =

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
>> plot(w)

Es muy sencillo graficar dicho eje coordenado a través de las funciones de


graficación nativas de Matlab©. La función plot es usada al final del ejemplo
anterior para generar la Figura 2.4.2 que se muestra a continuación.

Eje X
Eje Y
Eje Z

0.1

0.08

0.06
Eje Z

0.04

0.02

0
0.15
0.1 0.15
0.05 0.1
0.05
0 0
Eje Y -0.05 -0.05
Eje X

Figura 2.4.2 Grafica del sistema base W a partir de la transformada homogena.


Otras formas de uso del comando ht, incluyen la generación de matrices
homogéneas que contienen una matriz de rotación. Podemos por ejemplo, repetir
los ejemplos que citamos anteriormente, con una rotación sobre el eje X y el eje Y
de 30 grados y una rotación de 80 grados (≈1.3963 radianes) sobre el eje Z como
sigue:
38 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

>> ht_rotx = ht( 'xrot', pi/6)

ht_rotx =

1 0 0 0
0 0.86603 -0.5 0
0 0.5 0.86603 0
0 0 0 1

>> ht_roty = ht( 'yrot', 30*pi/180)

ht_roty =

0.86603 0 0.5 0
0 1 0 0
-0.5 0 0.86603 0
0 0 0 1

>> ht_rotz = ht( 'zrot', 1.3963)

ht_rotz =

0.17361 -0.98481 0 0
0.98481 0.17361 0 0
0 0 1 0
0 0 0 1

El VS Toolbox permite además definir algunos objetos geométricos regulares con


lados planos (poliedros) sobre los cuales pueden fijarse los ejes coordenados. Es
importante tomar en cuenta que la asignación de ejes coordenados para ciertos
objetos es muy importante para el modelado del espacio de trabajo de un robot. Por
ejemplo, el toolbox provee una de las figuras mas utilizadas en capítulos
posteriores de este texto que es un poliedro piramidal que será usado para
representar el plano de una cámara y su distancia focal. En la Figura 2.4.3, puede
verse la graficación de una cámara con respecto del eje coordenado base W.

2.4.4 Transformación de puntos en Matlab©


Es posible utilizar las funciones de Matlab© presentadas en la sección anterior para
resolver el problema de la transformación de un punto en un sistema coordenado
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 39

dado con respecto de otro sistema coordenado. La Figura 2.4.1 presenta un


problema sencillo de la transformación del punto Ep en el punto Wp. La solución a
través del entorno de simulación puede llevarse a cabo de forma muy sencilla como
se discute a continuación.

0.25 0.25

0.2 0.2

0.15 0.15
Eje Z

Eje Z

0.1 0.1

0.05 0.05

0 0
0.2 0.2
0.15 0.15
0.1 0.15 0.1 0.15
0.05 0.1 0.05 0.1
0.05 0.05
0 0
0 0
Eje Y -0.05 -0.05 Eje X Eje Y -0.05 -0.05 Eje X

Figura 2.4.3 Definición de un cuerpo geométrico con respecto del eje coordenado base
W. En este caso se utiliza un poliedro pirámidal para representar el plano de la
imagen de una cámara y su distancia focal, todo sobre el sistema base W.
El listado siguiente nos presenta la generación del eje coordenado base W a partir
del comando ht, como sigue:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% TRANSFORMACIÓN DE PUNTOS EN MATLAB.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Marco Pérez, Erik Cuevas, Daniel Zaldivar,
% Versión: 08/04/2010
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Se genera el vector del punto con respecto al eje E.


>> e_punto=[-1 7 1 1]'
40 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

e_punto =

-1
7
1
1

% Se define la transformada homogénea entre los sistemas


% coordenados W y E por medio del comando ht:

>> wTe = ht([-1 0 0 4; 0 1 0 10; 0 0 -1 5; 0 0 0 1])

wTe =

-1 0 0 4
0 1 0 10
0 0 -1 5
0 0 0 1

% Se realiza la conversión a través de la multiplicación


entre la transformada homogénea y el vector del e_punto,
resultando el w_punto.

>> w_punto= wTe * e_punto

w_punto =

5
17
4
1

El valor del punto Wp es el mismo que se obtuvo en la sección 322.4.1.1. La clase


ht también permite obtener una grafica representando la relación entre ambos ejes
coordenados. Esta grafica es posible gracias a las propiedades de la clase ht, que
incluye una instancia dentro del comando nativo plot que produce la grafica de
elementos matriciales. La nomenclatura de dicha instancia es la siguiente:

>> plot ( transformada, 'Etiqueta de nombre', largo de ejes )

El primer argurmento es la transformada a graficar, mientras que el segundo


argumento permite fijar un nombre a el sistema coordenado. Finalmente el
parámetro de “largo de ejes” permite escalar la longitud de los ejes coordenados
para que sea congruente con las unidades que se manejan es decir aquellas
© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 41

contenidas en cada elemento de la matriz homogénea. Vamos discutiendo mas a


este respecto.

Las primeras columnas pertenecen a la matriz de rotación, que por la definición de


su norma en la Ecuación (1.16), siempre serán acotadas. En segunda instancia se
encuentra la cuarta columna, es decir, el vector de traslación cuyas unidades
adquieren mucha relevancia cuando se desea obtener la grafica, ya que su tamaño
debe ser visible en comparación de las distancias que se grafican. Por ejemplo, un
conjunto de ejes demasiado pequeños (digamos cada uno siendo de 10cm) puede
no ser visible en una grafica con recorridos de 3 ó 4 metros. De aquí la importancia
del argumento de largo de ejes, que permite controlar el tamaño de acuerdo a las
distancias entre los ejes coordenados que se grafican.

En el listado siguiente, se presentan los comandos necesarios para graficar los ejes
coordenados del problema de transformación de puntos que se discutió en la
sección anterior.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% GRAFICACIÓN DE DOS SISTEMAS COORDENADOS.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Marco Pérez, Erik Cuevas, Daniel Zaldivar,
% Versión: 09/04/2010
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Se genera el sistema coordenado base W y su grafica


% incluyendo la etiqueta 'BASE' con un largo de 3 metros.
w=ht;
plot(w, 'BASE', 3);

% Se genera el segundo sistema coordenado wTe


wTe = ht([-1 0 0 4; 0 1 0 10; 0 0 -1 5; 0 0 0 1])

% Se procede a graficar ambos sistemas en una ventana


hold on

% Se genera el sistema coordenado wTe y su grafica


% incluyendo la etiqueta 'E' con un largo de 3 metros.
plot(wTe, 'E', 3)
42 INTRODUCCION AL MODELADO Y CONTROL DE ROBOTS © RA-MA

La ejecución del listado anterior permite visualizar la grafica de ambos sistemas


coordenados que se presenta en la Figura 2.4.4. Notese que el largo de los ejes fue
definido en 3 metros lo que permite una visualización aceptable de ambos sistemas.

3
E
Eje Z

1 BASE

0
0
2
4
6 0
8
2
10
12 4

Eje Y Eje X

Figura 2.4.4 Representación de la relación geométrica entre dos ejes coordenados que
resulta de la transformada homogena WTE.
La transformada homogénea será una herramienta fundamental para el modelado
de estructuras roboticas que será estudiado a detalle dentro de la Cinematica de
Robots. Antes de finalizar nuestro estudio de la descripción geométrica del entorno
de un robot, es muy importante la definición de algunos conceptos como la
descripción de cuerpo rigido, los angulos de Euler, la descripción de angulo y eje
así como los movimientos “roll-pitch-yaw” que son comúnmente citados en
trabajos relacionados a la robotica.

2.5 DESCRIPCIÓN DE CUERPO RIGIDO

2.6 COMPOSICIONES DE MATRICES HOMOGENAS


© RA-MA CAPÍTULO 2. MODELADO DEL ENTORNO Y LOS MOVIMIENTOS EN EL ESPACIO 43

2.7 TRANSFORMACIONES DE SIMILITUD

2.8 OPERADORES DE ROTACIÓN


Sss

2.8.1 Angulos de Euler

2.8.2 Representacion de angulo y eje.

2.8.3 Angulos “Roll-Pitch-Yaw”

En este espacio debe estar ubicado el texto correspondiente al Capítulo 2. En este


espacio debe estar ubicado el texto correspondiente al Capítulo 2. Título 2

2.9 REFERENCIAS Y BIBLIOGRAFIA RECOMENDADA


En este espacio debe estar ubicado el texto correspondiente al Capítulo 2.
En este espacio debe estar ubicado el texto correspondiente al Capítulo 2. En este
espacio debe estar ubicado el texto correspondiente al Capítulo 2. En este espacio
debe estar ubicado el texto correspondiente al Capítulo 2. En este espacio debe
estar ubicado el texto correspondiente al Capítulo 2. En este espacio debe estar
ubicado el texto correspondiente al Capítulo 2. En este espacio debe estar ubicado
el texto correspondiente al Capítulo 2. En este espacio debe estar ubicado el texto
correspondiente al Capítulo 2. En este espacio debe estar ubicado el texto
correspondiente al Capítulo 2. En este espacio debe estar ubicado el texto
correspondiente al Capítulo 2.