SlideShare una empresa de Scribd logo
1 de 174
Descargar para leer sin conexión
2013
ING. JAIRO PERTUZ OCAMPO
UNIVERSIDAD NACIONAL ABIERTA
Y A DISTANCIA - UNAD
REVISADO Y ACTUALIZADO:
ING. MANUEL ENRIQUE WAGNER
2013
CURSO DE ROBÓTICA AVANZADA
CURSO DE ROBÓTICA AVANZADA
ING. JAIRO PERTUZ CAMPO
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD
ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA
PROGRAMA DE INGENIERÍA ELECTRÓNICA
BOGOTÁ
2013
Tabla de contenido
UNIDAD 1 ..........................................................................................................................................6
HERRAMIENTAS MATEMÁTICAS Y RECURSOS....................................................6
COMPUTACIONALES.................................................................................................................6
CAPÍTULO 1: HERRAMIENTAS MATEMÁTICAS...........................................................................6
LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN .................................................................... 7
LECCIÓN 2: REPRESENTACIÓN DE LA ORIENTACIÓN......................................................... 10
LECCIÓN 3: ÁNGULOS DE EULER ................................................................................................... 18
LECCIÓN 4: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA........................................ 21
LECCIÓN 5: CUATERNIOS ................................................................................................................... 31
CAPÍTULO II: OPERACIONES MATEMÁTICAS EN EL ENTORNO DE TRABAJO
COMPUTACIONAL.................................................................................................................................. 33
LECCIÓN 1: OPERACIONES GENERALES SOBRE VECTORES.......................................... 33
LECCIÓN 2: OPERACIONES GENERALES SOBRE MATRICES........................................... 40
LECCIÓN 3: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA: POSICIÓN................ 48
LECCION 4: MATRICES DE TRANSFORMACION HOMOGENEA: ROTACION.............. 51
LECCIÓN 5: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA: TRASLACIÓN
SEGUIDA DE ROTACIÓN....................................................................................................................... 56
CAPITULO III: IMPLEMENTACIONES COMPUTACIONALES................................................. 60
LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN: EJECUCIONES
COMPUTACIONALES.............................................................................................................................. 60
LECCIÓN 2: REPRESENTACIÓN DE LA ORIENTACIÓN, EJECUCIONES
COMPUTACIONALES .............................................................................................................................. 65
LECCIÓN 3: REPRESENTACIÓN DE LA POSICIÓN Y ORIENTACIÓN: EJECUCIONES
COMPUTACIONALES .............................................................................................................................. 69
LECCIÓN 4: CONCATENACIÓN DE LAS OPERACIONES DE TRASLACIÓN Y
ORIENTACIÓN, EJECUCIONESCOMPUTACIONALES ............................................................ 72
LECCIÓN 5: ÁNGULOS DE EULER: EJECUCIONES COMPUTACIONALES................... 75
SEGUNDA UNIDAD ..................................................................................................................78
MODELADO CINEMÁTICO Y DINÁMICO DE UN...................................................78
ROBOT..............................................................................................................................................78
CAPITULO 1:............................................................................................................................................. 78
CINEMÁTICA DEL ROBOT INTRODUCCIÓN ................................................................................ 78
LECCIÓN 1: EL PROBLEMA CINEMÁTICO DIRECTO DEL MANIPULADOR.................. 79
LECCIÓN 2: CINEMÁTICA INVERSA DEL MANIPULADOR .................................................. 85
LECCIÓN 3: RESOLUCION DEL PROBLEMA CINEMÁTICO INVERSO MEDIANTE LA
MATRÍZ DE TRANSFORMACIÓN HOMOGÉNEA ........................................................................ 89
LECCIÓN 4: MATRIZ JACOBIANA DEL MANIPULADOR ....................................................... 94
LECCIÓN 5: MODELOS DE DIFERENTES CONFIGURACIONES ......................................... 98
CAPITULO 2: DINÁMICA DEL ROBOT .......................................................................................... 101
INTRODUCCIÓN .................................................................................................................................... 101
LECCIÓN 1: ESTRUCTURA MECÁNICA DE UN ROBOT RÍGIDO...................................... 102
LECCIÓN 2: FORMULACIÓN DE LAGRANGEEULER ............................................................. 105
LECCIÓN 3: FORMULACIÓN DE NEWTONEULER: IMPLEMENTACIÓN
COMPUTACIONAL.................................................................................................................................. 106
LECCIÓN 4: TRANSFORMACIONES HOMOGÉNEAS, CINEMÁTICA DEL ROBOT ... 112
LECCIÓN 5: MODELO DIRECTO DEL MANIPULADOR .......................................................... 115
CAPITULO 3: IMPLEMENTACIONES ............................................................................................. 117
COMPUTACIONALES COMENTARIOS.......................................................................................... 117
PRELIMINARES...................................................................................................................................... 117
LECCIÓN 1: MODELO DIRECTO DEL MANIPULADOR .......................................................... 120
LECCIÓN 2: MODELO INVERSO DEL MANIPULADOR.......................................................... 121
LECCIÓN 3: JACOBIANO DEL MANIPULADOR........................................................................ 122
LECCIÓN 4: OBTENCIÓN DE LAS TRAYECTORIAS ARTICULARES.............................. 125
LECCIÓN 5: CREACIÓN DE UN ROBOT: SIMULACIÓN........................................................ 126
UNIDAD III: IMPLEMENTACIÓN Y SIMULACIÓN..............................................128
COMPUTACIONAL DE TAREAS ROBÓTICAS.......................................................128
CAPITULO 1: REPRESENTACIÓN DE LA ORIENTACIÓN Y POSICIÓN ........................... 128
POSICIÓN................................................................................................................................................. 128
LECCIÓN 1: EJEMPLO.......................................................................................................................... 128
LECCIÓN 2: EJEMPLO.......................................................................................................................... 131
LECCIÓN 3: EJEMPLO (calcular una trayectoria cartesiana entre dos puntos). . 133
LECCIÓN 4: EJEMPLO (cálculo de cuaternios) ...................................................................... 134
LECCIÓN 5: CREACIÓN DE UN MODELO MECÁNICO (Modelado y simulación del
péndulo simple). ..................................................................................................................................... 137
CAPITULO 2: MODELOS CINEMÁTICOS DE ROBOTS............................................................ 141
EJEMPLO.................................................................................................................................................. 141
LECCIÓN 1: CINEMÁTICA INVERSA DE UN MANIPULADOR (trayectoria de
transformaciones)................................................................................................................................. 141
LECCIÓN 2: OBTENCIÓN DEL JACOBIANO DEL ROBOT MANIPULADOR PUMA 560
......................................................................................................................................................................... 144
LECCIÓN 3: ORIENTACIÓN Y POSICIÓN CARTESIANA DEL E.F CONOCIDA LA
ESTRUCTURA CINEMÁTICA Y LAS COORDENADAS ARTICULARES. ......................... 148
LECCIÓN 4: CONSTRUCCIÓN DE UN OBJETO LINK (parámetros cinemáticos).. 151
LECCIÓN 4: ANÁLISIS CINEMÁTICO DEL MANIPULADOR RR........................................ 153
CAPITULO 3: MODELOS DINÁMICOS DE ROBOTS ................................................................. 157
LECCIÓN 1: EL MÉTODO DE NEWTONEULER.......................................................................... 157
LECCIÓN 2: DINÁMICA DE UN MANIPULADOR PLANO CON TRES
ARTICULACIONES DE ROTACIÓN ................................................................................................. 162
LECCIÓN 3: MANEJO DE UN ROBOT GRÁFICO...................................................................... 165
LECCIÓN 4: MODELADO Y SIMULACIÓN DE SISTEMAS MECÁNICOS........................ 167
LECCIÓN 5: MODELOS DE MÁQUINAS SIMPLES ................................................................... 170
EJERCICIOS ILUSTRATIVOS. .......................................................................................................... 170
BIBLIOGRAFIA..........................................................................................................................174
UNIDAD 1
HERRAMIENTAS MATEMÁTICAS Y RECURSOS
COMPUTACIONALES
CAPÍTULO 1: HERRAMIENTAS MATEMÁTICAS
PARA LA LOCALIZACIÓN ESPACIAL
INTRODUCCIÓN
Una de las tareas básicas de un robot y por lo demás habitual, consiste en la
manipulación de piezas, lo cual se hace posible, mediante el movimiento
espacial de sus dispositivos extremos. La manipulación robótica, nos indica que
tanto partes como herramientas, se mueven alrededor del espacio por algún
tipo de mecanismo. Cuando estudiamos la robótica, ineludiblemente nos
interesamos con los detalles de la localización de objetos en dos y tres
dimensiones. Estos objetos son los acoples del manipulador, las partes y
herramientas con las cuales él trata, y otros objetos en el entorno del
manipulador.
En esta dirección, conviene mencionar, que la información de la posición, al
igual que la posible orientación de ésta con respecto a la base del robot, es
factor determinante para que éste adquiera la habilidad propia que le permita
maniobrar de manera indistinta con las piezas.
Todo lo anterior nos invita a buscar y apropiarnos de un conjunto de
instrumentos y herramientas matemáticas, enfocadas a determinar de manera
específica tanto la posición como la orientación en el entorno espacial de
piezas, accesorios y, en general, de cualquier objeto. Los recursos matemáticos
que trataremos, deben ofrecer la potencialidad mínima que nos garantice llegar
de manera sencilla a las relaciones espaciales entre los diferentes objetos, y en
especial, entre éstos y el manipulador.
Nos dedicaremos a abordar los diferentes métodos clásicos que representan la
posición y orientación espacial de un cuerpo rígido. Iniciamos con la
representación en dos dimensiones, pasando posteriormente al análisis
correspondiente a tres, en sus diferentes modalidades, sin omitir el aporte de
los ángulos de Euler cuando se trata de la orientación. Seguidamente,
ingresamos en el ámbito del concepto de la matriz de transformación
homogénea, con lo cual activamos la representación articulada de la posición y
orientación, agrupando propiedades y aplicaciones. Finalizamos, tratando la
representación de la orientación, mediante pares de rotación, conocidos
también como cuaternios.
LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN
Para definir y manipular cantidades matemáticas con las cuales podemos
representar la posición, nosotros debemos definir sistemas de coordenadas y
establecer las convenciones propias para la representación respectiva. Es por
esto que nos apoyamos en la concepción, de que en cualquier parte existe un
sistema de coordenadas, para lo cual todo lo emprendido puede ser
referenciado.
Trataremos el posicionamiento en un plano y en el espacio de tres dimensiones.
El primero cuenta con dos grados de libertad, en donde la posición debida a un
punto, se define por dos componentes independientes. Para el caso
tridimensional, se requiere usar tres componentes. Comenzaremos con las
coordenadas cartesianas, y seguidamente, presentaremos los otros métodos de
uso cotidiano, como son, las coordenadas polares para dos dimensiones, y las
cilíndricas y esféricas dirigidas a implementar el espacio de tres dimensiones.
REPRESENTACIÓN DE LA POSICIÓN EN
COORDENADAS CARTESIANAS
En un plano: Sistema coordenado OXY de referencia, para el cual el punto a se
expresa por las componentes (x, y). A este punto le corresponde un vector p(x,
y).
En el espacio de tres dimensiones: El vector p está definido por las respectivas
componentes cartesianas (x, y, z).
REPRESENTACIÓN DE LA POSICIÓN EN
COORDENADAS POLARES Y CILÍNDRICAS
En un plano: la localización de un punto, es decir, el vector p, se expresa como
p (r, ) en coordenadas polares.
En esta representación, r es la distancia desde el origen O hasta extremo del
vector p; en tanto que es el ángulo formado por el vector p con el eje OX.
En tres dimensiones: el vector p, queda expresado como p (r, , Z) mediante
las coordenadas cilíndricas.
REPRESENTACIÓN DE LA POSICIÓN EN
COORDENADAS ESFÉRICAS
En este caso, el vector p posee como coordenadas esféricas (r, , ), en donde
la componente r es la distancia que va desde el origen O hasta el extremo del
vector p; la componente es el ángulo formado por la proyección del vector p
sobre el plano OXY con el eje OX; y la componente es el ángulo formado por
el vector p con el eje OZ.
LECCIÓN 2: REPRESENTACIÓN DE LA
ORIENTACIÓN
Cuando necesitamos definir un punto en el espacio, es suficiente a través de los
datos correspondientes a su posición. Pero, para el caso de un sólido, se precisa
adicionalmente contar con su orientación respecto a un sistema de referencia.
Para el caso que nos ocupa, es decir, el de un robot, además de especificar la
posición de extremo, también se requiere indicar su orientación. Una
orientación referida al espacio tridimensional, la podemos definir mediante tres
grados de libertad, lo que se traduce como tres componentes linealmente
independientes. La orientación de un objeto respecto a un sistema de
referencia, se intenta de manera habitual y relativamente cómoda, asignando al
objeto un nuevo sistema, y luego se estudia la relación espacial que existe entre
estos dos sistemas, cuya versión es la de coordenadas rectangulares.
Casi siempre, esta relación se presenta mediante la posición y orientación del
sistema, asociado al objeto respecto al de referencia. Para poder ejecutar el
análisis de los diferentes métodos con los cuales se representan las
orientaciones, se consideran que ambos coinciden en el origen, y que por
consiguiente no se registra cambio de posición entre ellos.
El sistema de coordenadas que esta fijo en el espacio tridimensional, se
considera que es el sistema de referencia. El otro sistema de coordenadas está
girando con respecto al sistema de referencia.
Físicamente, podemos considerar que este sistema de coordenadas, es un
sistema de coordenadas ligado al cuerpo. Es decir, se encuentra permanente y
convenientemente unido al cuerpo rígido (por ejemplo, un elemento del brazo
del robot) y se mueve junto con él. Un punto p en el espacio se puede
representar por sus coordenadas con respecto a ambos sistemas de
coordenadas.
Una forma que facilita el análisis, consiste en considerar al punto en reposo y
fijo con respecto al sistema que representa el giro. De esta manera, el punto p
se puede representar por sus coordenadas, con respecto a ambos sistemas de
coordenadas.
Para definir y manipular cantidades matemáticas con las cuales podemos
representar la orientación, nosotros debemos definir sistemas de coordenadas
y establecer las convenciones propias para la representación respectiva.
MATRICES DE ROTACIÓN
En el espacio del algebra matricial, encontramos el nicho adecuado que
contiene todos los ingredientes esenciales, los cuales hacen posible que
podamos adentrarnos en la tarea de la descripción de las orientaciones.
Los dos sistemas de referencia arriba mencionados son: OXY y OUV.
El sistema OXY es el de referencia fija, y el sistema OUV es el móvil solidario al
objeto. Los vectores unitarios del sistema OXY son en tanto que los del
sistema OUV son .
La representación en ambos sistemas del vector p en el plano, se registra de la
siguiente manera:
[ ]
[ ]
Podemos encontrar algunas equivalencias, después de realizar una serie de
transformaciones:
[ ] [ ]
En donde
R = [ ]
es denominada matriz de rotación. Esta matriz es la encargada de definir la
orientación del sistema OUV respecto al otro sistema OXY, la cual se emplea
para transformar las coordenadas de un vector expresado en un sistema, en las
del otro.
Por ser una matriz ortonormal, cumple la condición , también se le
conoce como matriz de cosenos directores.
Para el caso de dos dimensiones, la posición relativa al sistema OUV girado un
ángulo a sobre el sistema OXY, la matriz R será de la forma:
[ ]
RESUMIENDO: MATRICES DE ROTACIÓN 2D
En un espacio tridimensional:
Los vectores unitarios del sistema OXY , mientras que los del sistema
OUVW son .
La correspondiente representación del vector p queda así:
[ ]
[ ]
En este caso, también se obtiene la equivalencia siguiente:
[ ] [ ]
En donde,
[ ]
Que, como en el caso anterior, representa la matriz de rotación, mediante la
cual definimos la orientación del sistema OUVW con respecto al sistema OXYZ
Ahora, cuando el eje OU coincide con el eje OX, la orientación del sistema
OUVW queda representada por la matriz:
( ) [ ]
De igual manera, podemos representar la orientación del sistema OUVW,
cuando el eje OV coincide con el OY,
En cuyo caso estará representada mediante la correspondiente matriz:
( )=[ ]
Ahora, se considera la orientación del sistema OUVW, cuando el eje OW
coincide con el eje OZ, en cuyo caso, la representación grafica y la
correspondiente matriz, son:
( )=[ ]
RESUMIENDO: MATRICES DE ROTACIÓN 3D
REPRESENTACIÓN DE LA ORIENTACIÓN.
COMPOSICIÓN DE ROTACIONES
Algunos movimientos efectuados por un robot, o algunas de sus piezas, son el
resultado de la aplicación continua y combinada de varias rotaciones. La
respectiva definición y manipulación de las cantidades matemáticas asociadas,
se resuelve mediante la operación llamada composición de matrices de
rotación.
Consideremos la situación siguiente: al sistema OUVW tratado anteriormente
se le aplica una rotación con ángulo sobre OX, la cual es seguida de una
rotación de ángulo sobre OY, más la rotación de ángulo sobre OZ. La
rotación resultante global requerida por el movimiento especifico, la podemos
resumir de la manera siguiente:
1. Rotación sobre OX.
2. Rotación sobre OY.
3. Rotación sobre OZ.
Y representarla mediante la expresión:
( ) ( ) ( ) [ ] [ ] [ ]
[ ]
NOTA: El producto de matrices no es conmutativo, por lo que hay que tomar
en cuenta el orden o secuencia en que se realizan las rotaciones.
LECCIÓN 3: ÁNGULOS DE EULER
La representación matricial empleada para la orientación de un cuerpo rígido
en el espacio tridimensional, aporta múltiples ventajas, ya que permite la
simplificación de muchas operaciones, pero de igual manera, para su
implantación, es menester emplear nueve elementos que hacen posible la
descripción completa de la rotación de un cuerpo rígido.
En este tipo de representación, en lugar de efectuar tres rotaciones
consecutivas alrededor de los ejes del sistema de referencia, las rotaciones se
efectúan alrededor de los ejes del sistema solidario del cuerpo.
Cuando tratamos de describir la orientación de un sistema OUVW solidario al
cuerpo, lo hacemos respecto al sistema OXYZ, para lo cual hacemos uso de tres
ángulos: , , , denominados ángulos de Euler. El problema nos plantea
obtener el sistema OUVW partiendo del sistema OXYZ. El modo de operación lo
podemos resumir de la manera siguiente:
Se gira de manera sucesiva los valores de , , , en el sistema OXYZ sobre
unos ejes determinados. Por tanto, debemos tener conocimiento de los valores
de los ángulos. Se requiere tener la información de los ejes sobre los que se
realizan los giros.
Los ángulos de Euler mencionados anteriormente, nos definen la orientación
mediante tres giros consecutivos en los tres ejes de coordenadas. Realizando de
forma diferente los giros, se obtienen otras representaciones. Entre estas
posibilidades, presentamos las siguientes.
ÁNGULOS DE EULER ZXZ
Esta representación la podemos describir así:
Los sistemas de partida OXYZ y OUVW son inicialmente coincidentes. El sistema
OUVW lo podemos colocar en cualquier orientación, lo cual es posible
siguiendo estos pasos:
1. El sistema OUVW se hace girar un ángulo con respecto al eje OZ,
transformándose de esta manera en el sistema OU’V’W’.
2. Ahora, se hace girar el sistema OU’V’W’ un ángulo con respecto al eje
OU’, transformándose de esta manera en el sistema OU’’V’’W’’.
3. Finalmente, el sistema OU’’V’’W’’ lo giramos un ángulo con respecto al
eje OW’, transformándose de esta manera en el sistema OU’’’V’’’W’’’.
La correspondiente ilustración grafica es:
ÁNGULOS DE EULER ZYZ
Esta otra representación habitualmente utilizada, se diferencia solamente de la
anterior, en lo referente a la elección del eje sobre el que se realiza el segundo
giro.
Como en el anterior caso, esta representación la podemos describir así:
Los sistemas de partida OXYZ y OUVW son inicialmente coincidentes. El sistema
OUVW lo podemos colocar en cualquier orientación, lo cual es posible
siguiendo estos pasos:
1. El sistema OUVW se hace girar un ángulo con respecto al eje
OZ, transformándose de esta manera en el sistema OU’V’W’.
2. Ahora, se hace girar el sistema OU’V’W’ un ángulo con respecto al eje
OV’, transformándose de esta manera en el sistema OU’’V’’W’’.
3. Finalmente, el sistema OU’’V’’W’’ lo giramos un ángulo con respecto al
eje OW’, transformándose de esta manera en el sistema OU’’’V’’’W’’’.
La correspondiente ilustración grafica es:
LECCIÓN 4: MATRICES DE TRANSFORMACIÓN
HOMOGÉNEA
Hasta ahora hemos estudiado diferentes métodos o técnicas encaminadas a
representar de manera aislada, ya sea la posición, o la orientación, de un sólido
en el espacio. Estos métodos resultan bastante incómodos, cuando tratamos de
analizar un manipulador con muchas articulaciones.
En estas circunstancias, la complejidad de movimientos se manifiesta por la
estrecha combinación de operaciones simultáneas. Los métodos acometidos no
están en condiciones de responder a las exigencias mencionadas.
Específicamente, llegamos a enfrentar movimientos que requieren de una
representación conjunta de la posición y de la orientación.
Para solucionar este interesante problema, tenemos que acudir al empleo de
las denominadas coordenadas homogéneas.
COORDENADAS Y MATRICES HOMOGÉNEAS
El concepto de una representación en coordenadas homogéneas en un espacio
euclideo tridimensional, es útil para desarrollar transformaciones matriciales
que incluyan: rotación, traslación, escalado y transformación en perspectiva. En
general, la representación de un vector de posición de n componentes por un
vector de (n+1) componentes se llama representación en coordenadas
homogéneas. Es decir, un vector ( ) queda representado por
( ) donde w posee un valor arbitrario y representa un factor de
escala.
Comenzando a precisar, definimos como matriz de transformación homogénea
T a una matriz de dimensión 4 x 4, encargada de transformar a un vector de
coordenadas homogéneas de un sistema de coordenadas a otro.
[ ] [ ]
Podemos comentar, que la matriz T está compuesta por cuatro sub-matrices de
órdenes diferentes:
 Una matriz de rotación, la sub-matriz .
 Vector de traslación, la sub-matriz .
 Una transformación de perspectiva, la sub-matriz .
 Un escalado global, la sub-matriz .
APLICACIÓN DE LAS MATRICES DE
TRANSFORMACIÓN HOMOGÉNEA
[ ] [ ]
TRASLACIÓN CON MATRICES HOMOGÉNEAS
Corresponde considerar que en el sistema O’UVW solo esta trasladado un
vector respecto al sistema OXYZ. La matriz homogénea
de traslación T, es:
( ) [ ]
Las componentes del vector r con respecto al sistema OXYZ, representado en el
sistema O’UVW, son:
[ ] [ ] [ ] [ ]
De igual manera, un vector r(x, y, z) al ser desplazado según la traslación T,
tendrá como componentes r'(x’, y’, z').
[ ] [ ] [ ] [ ]
ROTACIÓN
Las rotaciones de un vector alrededor de cada uno de los tres ejes en un ángulo
‘a’, se pueden realizar por las transformaciones de rotación. En términos
precisos, para entrar en operación, definimos tres matrices básicas de rotación,
las cuales adoptamos de acuerdo a la rotación elegida por alguno de los tres
ejes coordenados: OX, OY y OZ del sistema de referencia OXYZ.
Matrices de rotación básicas:
Alrededor del eje x, la transformación de rotación es:
( ) [ ]
Alrededor del eje y:
( ) [ ]
Alrededor del eje z:
( ) [ ]
Cambio de sistema de coordenadas:
Las componentes del vector ( ) en el sistema OXYZ, representado en
el sistema girado O’UVW, son:
[ ] [ ]
De igual manera, un vector después de ser rotado de acuerdo a la
transformación T, queda expresado por así:
[ ] [ ]
TRASLACIÓN ACOMPAÑADA CON ROTACIÓN
Como se menciono anteriormente, las matrices homogéneas poseen la debida
garantía para representar de manera conjunta, las operaciones de posición y
orientación. Según esto, la ejecución contempla la debida representación que
incluye, el vector de traslación y la matriz de rotación de manera
simultánea, mediante el empleo de la misma transformación homogénea.
Este tipo de transformaciones, se efectúan en relación a un sistema de
referencia. Resulta oportuno comentar, que la traslación y la rotación son
transformaciones espaciales no conmutativas, lo cual se demuestra en la figura.
OBSERVACIONES FINALES:
Es posible combinar rotaciones y traslaciones básicas multiplicando las matrices
correspondientes.
El producto no es conmutativo:
Rotar y trasladar trasladar y rotar
ROTACIÓN SEGUIDA DE TRASLACIÓN
Nos estamos refiriendo a la situación, en la que se ha de realizar una rotación
alrededor de uno de los ejes coordenados del sistema OXYZ, a la cual le sigue
una traslación.
Comenzamos ilustrando la rotación de un ángulo alrededor del eje OX, al cual
le sigue una traslación del vector :
(( ) ) [ ]
Ahora procedemos a ilustrar la rotación de un ángulo alrededor del eje OY, al
cual le sigue una traslación del vector .
(( ) ) [ ]
Finalmente, presentamos la rotación de un ángulo alrededor del eje OZ, al
cual le sigue una traslación del vector .
(( ) ) [ ]
TRASLACIÓN SEGUIDA DE ROTACIÓN
Nos toca ahora tratar el caso, en el que se efectúa primero una traslación, a la
cual le sigue una rotación alrededor de uno de los ejes coordenados del sistema
OXYZ, en donde las matrices homogéneas resultante son las siguientes:
Una vez trasladado el vector se continúa con la rotación de un ángulo α
alrededor del eje OX.
( ( )) [ ]
Ahora se trata de considerar la traslación del vector al cual le sigue la
rotación de un ángulo alrededor del eje OY.
( ( )) [ ]
Finalmente, a la traslación del vector le sigue la rotación de un ángulo θ
alrededor del eje OZ.
( ( )) [ ]
COMPOSICIÓN DE MATRICES HOMOGÉNEAS
Es habitual contemplar movimientos de traslación y giros realizados sobre un
sistema de referencia, lo cual como ya hemos tratado es posible representarlos
por una matriz de transformación homogénea.
Existen movimientos generalizados que requieren de diferentes giros y
traslaciones que deben obrar de manera consecutiva sobre un sistema de
referencia establecido. Sintetizando, podemos codificar los giros básicos y las
traslaciones, como una transformación compleja, siempre y cuando esta pueda
descomponerse en la aplicación consecutiva de los mencionados eventos
(transformaciones simples).
ILUSTRACIÓN
MATRICES DE ROTACIÓN BÁSICAS
( ) [ ]
( ) [ ]
( ) [ ]
INTERPRETACIÓN: EJEMPLO
1. Giro de un ángulo θ sobre el eje OZ
2. Giro de un ángulo φ sobre el eje OY
3. Giro de un ángulo α sobre el eje OX
La matriz que representa el giro resultante, la obtenemos mediante la
composición de las matrices básicas de rotación, y resulta ser:
( ) ( ) ( ) [ ] [ ] [ ]=
[ ]
NOTA: es preciso comentar, que el producto de matrices no es conmutativo,
por lo que tampoco lo es la operación de composición de transformaciones.
Para el caso en el que la situación obedezca a la inversión en el orden de
aplicación de las transformaciones, el resultado obtenido es necesariamente
distinto:
( ) ( ) ( ) [ ] [ ] [ ]=
[ ]
Las anteriores ilustraciones, nos impulsa a informar que los ejes sobre los que
recaían las operaciones correspondían al sistema de referencia fijo OXYZ. Esto
no impide la posibilidad de organizar un conjunto de matrices de
transformación, que activen operaciones dirigidas de manera permanente al
sistema que este moviéndose. Esto se logra enlazando matrices de manera
inversa.
Cuando se presenta una tarea robótica que impone la aplicación del recurso de
la composición de varias transformaciones, en las que hay que apelar al uso de
matrices homogéneas, se cuenta con algunas normas, ó los siguientes criterios:
Si el sistema fijo (OXYZ) y el transformado (0’UVW) concuerdan, la matriz
homogénea de transformación resulta ser la matriz identidad.
(Matriz de orden 4) .
Cuando el sistema transformado resulta de traslaciones y rotaciones definidas
con respecto al sistema fijo, la matriz homogénea representativa de cada
transformación, deberá pre-multiplicarse sobre las matrices de las respectivas
transformaciones previas.
Cuando el sistema transformado resulta de traslaciones y rotaciones definidas
con respecto al sistema móvil, la matriz homogénea representativa de cada
transformación, deberá post-multiplicarse sobre las matrices de las respectivas
transformaciones previas.
Las orientaciones mencionadas nos permiten argumentar, que para cualquier
operación que incluya composición de matrices homogéneas, podemos tratarla
como si se efectuara cada transformación con respecto al sistema de referencia
fijo, o con respecto al sistema de referencia móvil.
Finalmente, presentamos una ilustración grafica de un ejemplo de
transformaciones diversas para localizar un objeto.
LECCIÓN 5: CUATERNIOS
La variedad de movimientos contemplados en cualquier faena habitual de los
robots, engloba eventos compuestos por giros y cambios de orientación de
naturaleza diversa y compleja. Esto hace que tengamos que disponer de
recursos y herramientas matemáticas versátiles, que sean capaces de
responder a las exigencias propias de las características mencionadas. Los
cuaternios se constituyen en los dispositivos creados para tal fin, pudiendo ser
empleados como herramienta analítica de gran efectividad y flexibilidad
computacional, para tratar y ocuparse de los giros y orientaciones.
Un cuaternio Q está constituido por cuatro componentes ( ) los
cuales representan las coordenadas propias de cuaternio en la base {e, i, j, k}.
Se denomina a la componente en e: , la parte escalar del cuaternio, y parte
vectorial, al resto de componentes. De tal manera, que un cuaternio lo
podemos representar así:
( )
En donde representamos por s a la parte escalar, y con v a la parte vectorial.
Para aplicar los cuaternios como metodología de representación de
orientaciones, asociamos el giro de un ángulo θ sobre el vector K al cuaternio y
lo definimos como:
( ) ( )
Resumiendo, un cuaternio es un método compacto que nos permite
representar una rotación en 3D, presentando ventajas computacionales, entre
las cuales destacamos la velocidad y la robustez numérica.
IMPLEMENTACIÓN COMPUTACIONAL:
DESCRIPCIÓN PRELIMINAR
Para implementar un cuaternio, establecemos su respectivo objeto, el cual
tiene en Matlab un constructor, llamado quaternión. El empleo esta matizado
por tres formas, a saber: la primera nos retorna un nuevo objeto con el mismo
valor de su argumento. La segunda forma inicializa el cuaternio para una
rotación del ángulo (theta) alrededor del vector v. La tercera forma establece
los cuatro elementos del cuaternio de manera directa, para una rotación
equivalente de la matriz de rotación 3x3, o la sub-matriz de rotación de una
transformación homogénea 4x4.
RESEÑA DE LOS OPERADORES COMUNES
q1*q2: retorna el producto del cuaternio o su composición.
q*v: retorna el producto vectorial del cuaternio, es decir, el vector v es rotado
por el cuaternio. En este caso, ves un vector 3x3.
inv (q): retorna la inversa del cuaternio.
q1 / q2: retorna q1 * inv q2
norm (q): retorna la magnitud del cuaternio.
plot (q): despliega una grafica de 3D
q = quaternión ([s v1 v2 v3]): de 4 elementos.
q = quaternión (v, theta): de un vector con su ángulo.
q= quaternión (R): de una matriz 3x3 ó 4x4.
q = quaternión (q): para otro cuaternio.
CAPÍTULO II: OPERACIONES MATEMÁTICAS EN EL
ENTORNO DE TRABAJO COMPUTACIONAL.
LECCIÓN 1: OPERACIONES GENERALES SOBRE
VECTORES.
En MATLAB los vectores son variables que tienen nombres.
EJERCICIOS ILUSTRATIVOS:
DEFINICION DE UN VECTOR FILA Y VECTOR COLUMNA
X= [15 25 35] % Vector fila
X =
15 25 35
Y= [15; 28; 26] % Vector columna.
Y =
15
28
26
length(X) % Longitud del vector X.
ans =
3
length (Y) % Longitud del vector Y
ans =
3
X+Y % MATLAB TIENE EN CUENTA LA DIFERENCIA ENTRE VECTORES FILA Y
COLUMNA
??? Error using ==> plus
Matrix dimensions must agree.
X+Y' % LA DIFICULTAD DESAPARECE SI SE SUMA X CON EL
VECTOR TRASPUESTO DE Y
ans =
30 -3 61
% OPERADOR DOS PUNTOS (:)
a=1:10 % DEFINICION DEL VECTOR a
a
=
1 2 3 4 5 6 7 8 9 10
b=1:3:12
b =
1 4 7 10
c=1:1.5:12
c =
1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
d=8:1:1
d =
8 7 6 5 4 3 2 1
% FORMACION DE UNA TABLA DE FUNCIONES
C= [0.0:pi/2:2*pi]';
F=sin(C); G=cos(C);
[C F G]
ans =
0 0 1.0000
1.5708 1.0000 0.0000
3.1416 0.0000 1.0000
4.7124 1.0000 0.0000
6.2832 0.0000 1.0000
% OPERACIONES ELEMENTALES Y DIVERSAS
A=magic (4)
A =
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1A (2,3) % Acceso a los elementos de la matriz mediante los
índices de fila y columna.
ans =
10
A(3,1:4) % Extrae los 4 primeros elementos de la tercera fila
ans =
9 7 6 12
A(2,:) % Extrae los elementos de la segunda fila
ans =
5 11 10 8
A(end,:) % Se extrae la cuarta fila
ans =
4 14 15 1
A (2:4,:) % Extrae los elementos de las filas 2, 3 y 4
ans =
5 11 10 8
9 7 6 12
4 14 15 1
% OPERADORES DE DIVISION: Para un sistema de ecuaciones lineales Ax=b, en
donde x y b son vectores columna, y A es una matriz cuadrada invertible.
% x= inv(A)*b
% x= Ab
% EJERCICIOS ILUSTRATIVOS
% 1) A=[2 4],b=[4]
A=[2 4],b=[4]
A =
2 4
b =
4
x=A.b
x =
2 1
% 2) A=[2 4;2 0;0 2], b=[4 0 0]'
A=[2 4;2 0;0 2], b=[4 0 0]'
A =
2 4
2 0
0 2
b =
4
0
0
x=Ab, resto=A*x-b
x =
0.3333
0.6667
resto =
0.6667
0.6667
1.3333
% OPERADORES MATRICIALES (*, ^,  y /) APLICAR ELEMENTO A
ELEMENTO.
[1 2 3 4 5]^2
??? Error using ==> mpower
Matrix must be square.
[1 2 3 4 5]^2
ans =
1 4 9 16 25
[1 2 3 4 5]*[1 -1 1 -1 2]
??? Error using ==> mtimes
Inner matrix dimensions must agree.
[1 2 3 4 5]*[1 -1 1 -1 2]
ans =
1 -2 3 -4 10
% DIRECCIONAMIENTO DE VECTORES A PARTIR DE VECTORES
% LOS ELEMENTOS DE UN VECTOR SE PUEDEN DIRECCIONAR A PARTIR DE LOS
DE OTRO VECTOR.
v=[1 4 5]
v =
1 4 5
Z=rand(1,)
Z =
0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565
Z(v)
ans =
0.9501 0.4860 0.8913
% INVERSION DEL ORDEN DE LOS ELEMENTOS DE UN VECTOR.
Y=rand
(1,7) Y
=
0.0185 0.8214 0.4447 0.6154 0.7919 0.9218 0.7382
J=Y(6:1:1)
J =
0.9218 0.7919 0.6154 0.4447 0.8214 0.0185
% ALGUNAS OPERACIONES CON VECTORES
% Sean los vectores a=[1 1.5 3];b=[2 2.5 2]; c=6;
a=[1 1.5 3];b=[2 2.5 2]; c=6;
a+c ans =
7.0000 7.5000 9.0000
a*c
ans =
6 9 18
a.*b
ans =
2.0000 3.7500 6.0000
a.^b
ans =
1.0000 2.7557 0.1111
a.b
ans =
2.0000 1.6667 0.6667
c.^a
ans =
6.0000 14.6969 216.0000
PRODUCTOS ESCALAR Y VECTORIAL
a=[4;6;4; 2]; b=[6;16; 14;8];
c=dot(a,b) % PRODUCTO ESCALAR
c =
-112
a'*b
ans =
-112
A1=[18;12;26]; B1=[54; 22;24];
cross(A1,B1) % PRODUCTO VECTORIAL
ans =
-284
-1836
-1044
diary off
LECCIÓN 2: OPERACIONES GENERALES SOBRE
MATRICES.
% En MATLAB las matrices son variables que tienen nombres.
% DEFINICION DE MATRICES
A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
% A partir de este momento la matriz A esta disponible para hacer cualquier
tipo de operación con ella.
% OPERACIONES INTRODUCTORIAS: EJERCICIOS ILUSTRATIVOS.
% A’
A’
ans =
1 4 7
2 5 8
3 6 9
B=A'
B =
1 4 7
2 5 8
3 6 9
B*A % Producto de matrices
ans =
66 78 90
78 93 108
90 108 126
% DIRECCIONAMIENTO DE UNA MATRIZ
g=[2 4];d=[1 3];
B=magic(5)
B =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
B(g,d)
ans =
23 7
10 19
g=[1 3 5 7]
g =
1 3 5 7
B(g),B(3),B(5)
ans =
17 4 11 5
ans =
4
ans =
11
% INVERSION DEL ORDEN DE LOS ELEMENTOS DE UNA MATRIZ
L=magic(5)
L =
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9
L(:,4:-1: 2)
ans =
8 1 24
14 7 5
20 13 6
21 19 12
2 25 18
% L(:) Representa un vector columna con las columnas de L una detrás de otra.
% fliplr(L);INVIERTE EL ORDEN DE LAS COLUMNAS
fliplr(L)
15 8 1 24 17
16 14 7 5 23
22 20 13 6 4
3 21 19 12 10
9 2 25 18 11
% OPERACIONES BASICAS CON MATRICES: EJERCICIOS ILUSTRATIVOS
A=[4 6 3;5 10 0];B=[3 13 8;9 7 3];C=[3 6; 5 7; 8 7];
H=[2 5;4 9];p=2;
A+B
ans =
1 7 11
14 17 3
A-B
ans =
7 -19 5
-4 3 -3
B-A
ans =
-7 19 5
4 -3 3
A*C
ans =
-42 39
65 -100
C*A
ans =
-18 -78 9
-15 -100 15
3 118 -24
C*B
ans =
-63 -3 6
-78 16 19
87 -55 -43
B*C
ans =
-8 -17
38 -82
A/B
ans =
-0.3645 0.2523
0.2265 0.6839
AB
ans =
0.3429 2.4571 1.4000
0.7286 -0.5286 -0.4000
0 0 0
BA
ans =
0.2681 1.2464 -0.1522
0.3696 -0.1739 0.1957
0 0 0
H^p
ans =
4 25
16 81
p.^H
ans =
4 32
16 512
H^p
ans =
24 55
44 101
p^H
ans =
1.0e+003 *
0.4455 1.0202
0.8162 1.8738
% OTRAS OPERACIONES CON MATRICES: EJERCICIOS ILUSTRATIVOS
K=[1 2 3;4 5 6;7 8 9]
K =
1 2 3
4 5 6
7 8 9
diag(K), inv(K), K', det(K),rank(K), trace(K), norm(K); size (K)
ans =
1
5
9
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.541976e-018.
ans =
1.0e+016 *
-0.4504 0.9007 -0.4504
0.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
ans =
1 4 7
2 5 8
3 6 9
ans =
0
ans =
2
ans =
15
ans =
3 3
% ALGUNAS MATRICES ESPECIALES
ones(2,3)
ans =
1 1 1
1 1 1
ones(4)
ans =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
zeros(2,3)
ans =
0 0 0
0 0 0
zeros(3)
ans =
0 0 0
0 0 0
0 0 0
eye(5)
ans =
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
eye(2,3)
ans =
1 0 0
0 1 0
diary off
LECCIÓN 3: MATRICES DE TRANSFORMACIÓN
HOMOGÉNEA: POSICIÓN
Mediante las coordenadas homogéneas podemos representar de manera
conjunta la posición y la orientación (localización).
Partiendo de las coordenadas homogéneas, ingresamos al concepto de matriz
de transformación homogénea.
TRASLACION: Se trata de representar la posición y orientación de un sistema
girado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ.
Un vector trasladado es de la forma . La matriz homogénea
de traslación es:
T(p)= [1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1],la cual se denomina matriz básica de
traslación.
Un vector cualquiera r, representado en el sistema O'UVW, tendrá como
componentes del vector con respecto al sistema OXYZ:
[rx ry rz 1]'=[1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1]*[ru rv rw 1]'=
[ru+px;rv+py;rw+pz+1] (1)
Y a su vez, un vector rx, y, z desplazado según T tendrá como componentes r'x,
y, z:
[r'x r'y r'z 1]'=[1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1]* [rx ry rz
1]=[rx+px;ry+py;rz+pz;1] (2)
EJERCICIOS ILUSTRATIVOS
1. Según la figura, en el sistema O'UVW esta trasladado un vector p (6, 3,8) con
respecto al sistema OXYZ. Calcular las coordenadas (rx, ry, rz) del vector r cuyas
coordenadas con respecto al sistema O'UVW son ruvw (2, 7,3).
Solución: Procedemos a ingresar los valores y aplicamos la ecuación (I)
Tp=[1 0 0 6;0 1 0 3; 0 0 1 8;0 0 0 1];
ruvw=[-2 7 3 1]';
rxyz=Tp*ruvw
rxyz =
4
4
11
1
2. Calcular el vector r'xyz resultante de trasladar al vector rxyz(4,4,11)según la
transformación T(p) con % p(6,3,8)
(ver figura adjunta).
Solución: Procedemos a ingresar los valores y aplicamos la ecuación (II)
Tp=[1 0 0 6;0 1 0 3; 0 0 1 8;0 0 0 1];
rxyz=[4 4 11 1]';
r1xyz=Tp*rxyz
r1xyz =
10
1
19
1
diary off
LECCION 4: MATRICES DE TRANSFORMACION
HOMOGENEA: ROTACION
En esta situación corresponde definir tres matrices homogéneas básicas según
se realice ésta de acuerdo a cada uno de los tres ejes coordenados OX, OY y OZ
del sistema de referencia OXYZ:
% T(x,a)=[1 0 0 0;0 cosa -sena 0;0 sena cosa 0;0 0 0 1], (I)
% T(y,b)=[cosb 0 senb 0;0 1 0 0;-senb 0 cosb 0;0 0 0 1], (II)
% T(z,c)=[cosc -senc 0 0;senc cosc 0 0;0 0 1 0;0 0 0 1], (III)
Un vector cualquiera r, representado en el sistema girado O'UVW por ruvw,
tendrá como componentes (rx, ry, rz) en el sistema OXYZ las siguientes:
[rx ry rz 1]'=T[ru rv rw 1]' (IV)
Y a su vez un vector rxyz rotado según T vendrá expresado por r'x,y,z según:
[r'x r'y r'z 1]'=T[rx ry rz 1]' (V)
TRASLACIÓN JUNTO CON ROTACIÓN
La traslación y la rotación son transformaciones que se realizan en relación a un
sistema de referencia.
ROTACIÓN SEGUIDA DE TRASLACIÓN
Se trata de realizar primero una rotación sobre uno de los ejes del sistema OXYZ
seguida de una traslación, las matrices homogéneas serán las que a
continuación se expresan:
Rotación de un ángulo a sobre el eje OX seguido de una traslación de vector
pxyz:
% T((x,a),p)= [1 0 0 px;0 cosa sena py;0 sena cosa pz;0 0 0 1] (VI)
% T((y,b),p)= [cosb 0 senb px;0 1 0 py;senb 0 cosb pz;0 0 0 1] (VII)
% T((z,c),p)= [cosc senc 0 px;senc cosc 0 py;0 0 1 pz;0 0 0 1] (VII)
EJERCICIOS ILUSTRATIVOS
1. Según la figura adjunta, el sistema 0UVW se encuentra girado -90 grados
alrededor del eje OZ con respecto al sistema OXYZ. Calcular las
coordenadas del vector rxyz si ruvw=[4,8,12]'
Solución: Procedemos a ingresar los valores inicialmente para construir la
matriz T(z,c), ecuación (III).
Tzc=[0 1 0 0;1 0 0 0;0 0 1 0;0 0 0 1], y luego construimos la matriz
ruvw utilizando la información entregada [ru rv rw 1]'= ruvw=[4,8,12,1]'.
Luego aplicamos [rx ry rz 1]'=T[ru rv rw 1]' , ecuacion (IV)
Tzc=[0 1 0 0;1 0 0 0;0 0 1 0;0 0 0 1]
Tzc =
0 1 0 0
1 0 0 0
0 0 1 0
0 0 0 1
% [rx ry rz 1]'=T[ru rv rw 1]'
% [ru rv rw 1]'=[4,8,12,1]'
ruvw=[4,8,12,1]'
ruvw =
4
8
12
1
rxyz=Tzc*ruvw
rxyz =
8
4
12
1
EMPLEANDO COMANDOS ESPECIALES
t1=rotz(-pi/2)
t1 =
0.0000 1.0000 0 0
-1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
ruvw=[4 8 12 1]'
ruvw =
4
8
12
1
rxyz=t1*ruvw
rxyz =
8.0000
- 4.0000
12.0000
1.0000
2. Un sistema OUVW ha sido girado 90 grados alrededor del eje OX y
posteriormente trasladado un vector p(8,-4,12) con respecto al sistema
OXYZ (figura adjunta). Calcular las coordenadas (rx,ry,rz) del vector r con
coordenadas ruvw(-3,4,-11).
Solución: Procedemos a ingresar los valores inicialmente para construir la
matriz T(z,c),ecuación (III).
Procedemos a utilizar la ecuación [rx ry rz 1]'=T[ru rv rw 1]' ecuación (IV).
En donde, la matriz de transformación,
T((x,a),p)= [1 0 0 px;0 cosa –sena py;0 sena cosa pz;0 0 0 1] (VI)
Queda así:
Txa=[1 0 0 8;0 0 -1 -4;0 1 0 12;0 0 0 1]
Txa =
1 0 0 8
0 0 1 4
0 1 0 12
0 0 0 1
[ru rv rw 1]'= ruvw=[-3,4, -11,1]'
% Ahora ya podemos aplicar [rx ry rz 1]'=T[ru rv rw 1]' , ecuación (IV).
Txa=[1 0 0 8;0 0 -1 -4; 0 1 0 12;0 0 0 1]
Txa =
1 0 0 8
0 0 1 4
0 1 0 12
0 0 0 1
ruvw=[3,4,11,1]'
ruvw =
3
4
11
1
rxyz=Txa*ruvw
rxyz =
5
7
16
1
diary off
LECCIÓN 5: MATRICES DE TRANSFORMACIÓN
HOMOGÉNEA: TRASLACIÓN SEGUIDA DE
ROTACIÓN
Se trata de realizar primero una traslación seguida de una rotación sobre los
ejes coordenados del sistema OXYZ. Las matrices homogéneas resultantes son
las siguientes:
Traslación del vector px, y, z seguida de rotación de un ángulo a sobre el eje OX.
T(p,(x,a))= [1 0 0 px;0 cosa sena pycosapzsena;0 sena cosa
pysena+pzcosa;0 0 0 1] (I)
Traslación del vector px, y, z seguida de rotación de un ángulo b sobre el eje OY.
T(p,(y,b))= [cosb 0 senb pxcosb+pzsenb;0 1 0 py;senb 0 cosb
pzcosbpxsenb;0 0 0 1] (II).
Traslación del vector px, y, z seguida de rotación de un ángulo c sobre el eje OZ.
T(p,(z,c))=[cosc senc 0 pxcoscpysenc;senc cosc 0 pxsenc+pycosc;0 0
1 pz;0 0 0 1] (III).
PERSPECTIVA Y ESCALADO
Cuando en las componentes de un vector es posible la realización de un
escalado, podemos aplicar las matrices homogéneas. Para lograr esto, es
suficiente emplear una matriz del tipo: T=[a 0 0 0;0 b 0 0;0 0 c 0; 0 0 0 1].
El caso típico es transformar el vector r(x, y, z) en el vector r (ax, by, cz). Si se
trata de hacer un escalado global de las tres componentes, tenemos el recurso
apropiado con la matriz T=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 s].
EJERCICIOS ILUSTRATIVOS
1. Un sistema OUVW ha sido trasladado un vector p(8,-12,-4) con respecto
al sistema OXYZ y girado 90 grados alrededor del eje OX (figura adjunta).
Calcular las coordenadas (rx,ry,rz)del vector r de coordenadas ruvw (-
3,4,11).
Solución: Procedemos a ingresar los valores inicialmente para construir la
matriz T(p,(x,a)),ecuación (I).
Tpxa=[1 0 0 8;0 0 -1 -12; 0 1 0 -4; 0 0 0 1]
Y luego construimos la matriz [ru rv rw 1]'= ruvw=[3,4, 11,1]'
Ahora ya podemos aplicar [rx ry rz 1]'=T[ru rv rw 1]'
Tpxa=[1 0 0 8;0 0 1 12; 0 1 0 4; 0 0 0 1]
Tpxa =
1 0 0 8
0 0 1 12
0 1 0 4
0 0 0 1
ruvw=[3,4,11,1]'
ruvw =
3
4
11
1
rxyz=Tpxa*ruvw
rxyz =
5
1
0
1
2. Composición de matrices homogéneas: Se quiere obtener la matriz de
transformación que representa al sistema O'UVW obtenido a partir del
sistema OXYZ mediante un giro de ángulo de -90 grados alrededor del eje
OX, de una traslación de vector p(x, y, z) , (5,5,10) y un giro de 90 grados
sobre el eje OZ.
Solución: Procedemos a ingresar los valores de la matriz T(p):
Tp=[1 0 0 5;0 1 0 5;0 0 1 1 0;0 0 0 1]
Y empleando comandos especiales de ejecución directa:
Tp=[1 0 0 5;0 1 0 5;0 0 1 10;0 0 0 1]
Tp =
1 0 0 5
0 1 0 5
0 0 1 10
0 0 0 1
rotz(pi/2),rotx(-pi/2)
ans =
0.0000 -1.0000 0 0
1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
ans =
1.0000 0 0 0
0 0.0000 1.0000 0
0 -1.0000 0.0000 0
0 0 0 1.0000
% Ahora se procede a aplicar T=T(z,90 grados)T(p)T(x,-90 grados)
T=rotz(pi/2)*Tp*rotx(pi/2)
T =
0.0000 -0.0000 -1.0000 -5.0000
1.0000 0.0000 0.0000 5.0000
0 -1.0000 0.0000 10.0000
0 0 0 1.0000
diary off
CAPITULO III: IMPLEMENTACIONES
COMPUTACIONALES.
LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN:
EJECUCIONES COMPUTACIONALES.
A. Representación de un cuadro de referencia {A}, a partir del cual
referiremos los cuadros de los ejemplos siguientes:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ]
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ]
TA =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
frame ( TA , ' r ' , 1) ;
grid on
B. Representación de dos cuadros de referencia {B} y {C}, generados a partir
de {A}, mediante traslación.
{B} será trasladado a las coordenadas (3, 5, 0)
{C} será trasladado a las coordenadas (2, 4, 1)
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ;
TB = transl ( 3 , 5, 0 )
TB =
1 0 0 3
0 1 0 5
0 0 1 0
0 0 0 1
TC = transl ( -2, -4, 1 )
TC =
1 0 0 2
0 1 0 4
0 0 1 1
0 0 0 1
frame ( TA , ' r ' , 1 ) ;
frame ( TB , ' b' , 1 ) , grid ;
frame ( TC , ' k', 1) , grid ;
TRANSFORMACIÓN TRANSLACIONAL:
EJERCICIO
Según la figura, el sistema 0'UVW esta trasladado un vector p(6, 3, 8) con
respecto al sistema OXYZ . Calcular las coordenadas ( rx , ry , rz ) del vector r,
cuyas coordenadas con respecto al sistema O ' UVW son ruvw ( -2 , 7 , 3 ) .
SOLUCIÓN:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ;
TB = transl ( 6 , -3, 8 )
TB =
1 0 0 6
0 1 0 -3
0 0 1 8
0 0 0 1
frame (TA , ' b ', 1 )
frame ( TB , ' r ', 1)
r uvw = [ -2 7 3 1 ] '
rx ry rz = TB * [ 2 7 3 1] '
rx ry rz =
4
4
11
1
diary off
LECCIÓN 2: REPRESENTACIÓN DE LA
ORIENTACIÓN, EJECUCIONES COMPUTACIONALES
A. Representación de un cuadro de referencia {A}, a partir del cual
referiremos los cuadros de los ejemplos siguientes:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ]
B. Representación de dos cuadros de referencia {B} y {C}, generados a partir
de {A} mediante rotación:
frame ( TA, ' r ' , 1) ;
grid on
{B} será rotado 30 grados en torno al eje X
{C} será rotado 60 grados en torno al eje Z
Por lo tanto, las tareas a ejecutar serian:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ;
TB = rotx ( pi /6 ) * TA;
TC = rotz ( pi / 3 ) * TA ;
frame ( TA , ' b ', 1)
frame ( TB , ' g ' , 1 )
frame ( TC , ' y ', 1 )
TRANSFORMACIÓN ROTACIONAL: EJERCICIO
El sistema OUVW se encuentra girado 90 grados alrededor del eje OZ con
respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si
ruvw = [4 8 12 ] '.
SOLUCION
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ;
1 = rotz ( pi/2 )
T1 =
0.0000 1.0000 0 0
1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
frame ( TA , ' b ', 1 )
frame ( T1 , ' g ',1 )Y
rxryrz = T1 * [ 4 8 12 1 ] '
rxryrz =
8.0000
-4.0000
12.0000
1.0000
diary off
LECCIÓN 3: REPRESENTACIÓN DE LA POSICIÓN Y
ORIENTACIÓN: EJECUCIONES COMPUTACIONALES
A. Representación de un cuadro de referencia {A}, a partir del cual
referiremos los cuadros de los siguientes ejemplos:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ]
TA =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
frame ( TA , ' y ' , 1) ;
grid on
B. Representación de dos cuadros de referencia {B} y {C}, generados a partir
de {A} mediante rotación y traslación.
{B} será rotado 30 grados en torno al eje X y trasladado a las coordenadas
(3 , 5, 0).
{C} será rotado 60 grados en torno al eje Z y trasladado a las coordenadas
(2, 4, 1).
Por lo tanto, las tareas a ejecutar serian:
TB=transl ( 3 , 5, 0 ) * rotx ( p i / 6 ) * TA ;
TA =transl ( 2, 4, 1 ) * rotz ( pi / 3 ) * TA ;
frame ( TA, ' y', 1) ;
frame ( TB, ' b ', 1) ;
frame ( TC, ' r ', 1) ;
diary off
LECCIÓN 4: CONCATENACIÓN DE LAS
OPERACIONES DE TRASLACIÓN Y ORIENTACIÓN,
EJECUCIONESCOMPUTACIONALES
A. Traslación pura de 0.4 m en la dirección del eje X.
T=transl( 0.4, 0 , 0 )
T =
1.0000 0 0 0.4000
0 1.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
frame ( T , ' g ' , 1 ) ;
B. Rotación de 90 grados en torno al eje Y.
T =roty(pi/2)
T =
0.0000 0 1.0000 0
0 1.0000 0 0
1.0000 0 0.0000 0
0 0 0 1.0000
frame ( T , ' y ', 1 ) ;
C. Rotación de 90 grados en torno al eje Z
T=rotz(pi/2)
0.0000 1.0000 0 0
1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
frame ( T , ' b ', 1 ) ;
C. Concatenar las tres operaciones anteriores.
T=transl(0.4, 0, 0)*roty(pi/2)*rotz(pi/2)
T =
0.0000 0.0000 1.0000 0.4000
1.0000 0.0000 0 0
0.0000 1.0000 0.0000 0
0 0 0 1.0000
frame ( T , ' r ', 1 ) ;
LECCIÓN 5: ÁNGULOS DE EULER: EJECUCIONES
COMPUTACIONALES
Calcular los ángulos de Euler ZYZ de la transformación resultantes.
Traslación pura de 0.4 m en la dirección del eje X.
T=transl(0.4, 0,0)
T =
1.0000 0 0 0.4000
0 1.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
A. Rotación de 90 grados en torno al eje Y
T=roty(pi/2)
T =
0.0000 0 1.0000 0
0 1.0000 0 0
1.0000 0 0.0000 0
0 0 0 1.0000
B. Rotación de -90 grados en torno al eje Z.
T=rotz(-pi/2)
T=
0.0000 1.0000 0 0
-1.0000 0.0000 0 0
0 0 1.0000 0
0 0 0 1.0000
C. Concatenar las tres operaciones anteriores.
T=transl( 0.4, 0, 0)*roty(pi/2)*rotz(-pi/2)
T =
0.0000 0.0000 1.0000 0.4000
-1.0000 0.0000 0 0
-0.0000 -1.0000 0.0000 0
0 0 0 1.0000
D. Calcular los ángulos de Euler ZYZ de la transformación resultante.
tr2eul ( T )
ans =
0 1.5708 -1.5708
RESULTADO = [0 1.5708 -1.5708]
E. Ángulos RPY : Roll, pitch and yaw ( alabeo, cabeceo y guinada)
Esta representación es la más empleada cuando se trata de la aplicación de
giros sobre los ejes del sistema fijo. Si partimos de los sistemas OXYZ y OUVW,
nos corresponde colocar al sistema OUVW en cualquier orientación siguiendo
los pasos siguientes (ver figura).
1. Girar el sistema OUVW un ángulo θ con respecto al eje OX. A este ángulo
se le llama Yaw o guiñada.
2. Girar el sistema OUVW un ángulo φ con respecto al eje OY. A este ángulo
se le llama Pitch o cabeceo.
3. Girar el sistema OUVW un ángulo con respecto al eje OZ. A este ángulo
se le llama Roll o alabeo.
Como ya hemos considerado, y de manera general podemos afirmar, que
cuando concatenamos varios giros seguidos, tenemos que tener muy presente,
que no podemos tratarlos como transformaciones conmutativas, por lo que
hemos de seguir la secuencia establecida para los mismos.
F. Calcular los ángulos RPY de la misma transformación.
tr2rpy ( T )
ans =
-1.5708 0.0000 -1.5708
RESULTADO = [-1.5708 0.0000 -1.5708]
diary off
SEGUNDA UNIDAD
MODELADO CINEMÁTICO Y DINÁMICO DE UN
ROBOT
CAPITULO 1:
CINEMÁTICA DEL ROBOT INTRODUCCIÓN
La física nos permite entender, a la cinemática como el estudio del movimiento
sin tener en cuenta, las fuerzas que lo producen. Tomando esto en
consideración, surge el compromiso de emprender el estudio tanto de las
propiedades geométricas, como de las temporales del movimiento. En este
espacio, hemos de estimar, además del problema estrictamente geométrico
comprometido en el posicionamiento estático, los efectos correspondientes a
las variaciones de carácter temporal, en lo referente a las posiciones y también
a las orientaciones; con esto nos estamos refiriendo a las velocidades.
Cuando estudiamos el fenómeno del movimiento, hemos de referirnos a un
sistema de referencia. Resulta habitual, dada la naturaleza del tema, contar con
un plan para controlar el movimiento de un manipulador; en cuyo caso, se hace
necesario establecer técnicas para representar la posición del brazo, en puntos,
en relación con el tiempo. El manipulador del robot se determina empleando
dos elementos básicos: articulaciones y enlaces. Cada articulación representa
un grado de libertad. Las articulaciones pueden ocasionar un movimiento lineal
(articulación tipo L) o un movimiento rotacional (articulaciones tipos R, T y V)
entre los enlaces adyacentes.
En los modelos geométricos y cinemáticos se involucra de manera substancial el
tratado de las relaciones existentes entre el espacio de las variables articulares
y el espacio de trabajo, llamado también, espacio operacional, el cual suele ser
un espacio cartesiano. De manera general, el espacio de las variables articulares
tendrá n dimensiones, por lo que se utilizara un vector de dimensión n para
especificar la posición y orientación del robot. El espacio de trabajo de un
manipulador tendrá dimensión seis, por lo que se requieren seis valores para
especificar la posición y la orientación. Cuando se trata de manipuladores
planares, o en robots móviles que navegan en el plano, será suficiente con un
espacio de dimensión tres, para precisar la posición y el ángulo de orientación.
En nuestro caso, cuando tenemos que abordar el estudio de la cinemática del
robot, hemos de procurar describir de manera analítica, el movimiento del
robot como una función del tiempo, teniendo que emplear los valores que
toman sus coordenadas articulares, en virtud de las relaciones existentes entre
la posición y la orientación del extremo final del robot.
En la cinemática del robot, los problemas a resolver se reducen al conocido
como problema cinemático directo, y al cinemático inverso. El primero consiste
en determinar cuál es la posición y orientación del robot, con respecto a un
sistema de coordenadas que se toma como referencia, teniendo conocidos los
valores de las articulaciones y los parámetros geométricos de los elementos del
robot. El segundo, nos permite solucionar la configuración que debe adoptar el
robot para una posición y orientación del extremo conocidas.
Finalmente tenemos que agregar, que la cinemática del robot está
comprometida con obtener las relaciones entre las velocidades del movimiento
de las articulaciones y las del extremo. Esta relación se encuentra contemplada
por el modelo diferencial, el cual es declarado mediante la matriz Jacobiana.
LECCIÓN 1: EL PROBLEMA CINEMÁTICO
DIRECTO DEL MANIPULADOR
En menciones anteriores, hemos apreciado la utilización permanente del
algebra vectorial y matricial, cuando requerimos describir la localización de un
objeto en el espacio de tres dimensiones con respecto a un sistema de
referencia fijo. Por la naturaleza del modo de operación de un robot, lo
podemos considerar como una cadena cinemática constituida por objetos
rígidos o eslabones ligados entre sí mediante articulaciones. De esta manera,
podemos establecer un sistema de referencia fijo situado en la base del robot y
adelantar la descripción de la localización de cada uno de los eslabones con
respecto a dicho sistema de referencia. En estas circunstancias, el problema
cinemático directo se resume a encontrar una matriz homogénea de
transformación T, la cual relaciona la posición y orientación del extremo del
robot, respecto al sistema de referencia fijo situado en la base del mismo. Esta
matriz T se expresa como función de las coordenadas articulares.
SOLUCION DEL PROBLEMA CINEMATICO DIRECTO:
MATRICES DE TRANSFORMACION HOMOGENEA
El tipo de problema que nos hemos propuesto tratar y resolver, se refiere a
encontrar las relaciones que hacen posible obtener la localización espacial del
extremo del robot, a partir de los valores de sus coordenadas articulares.
De esta manera, procedemos a elegir coordenadas cartesianas y ángulos de
Euler, con los que logramos representar la posición y orientación del extremo
de un robot de seis grados de libertad. Las relaciones que nos permiten resolver
el problema cinemático directo son:
( )
( )
( )
( )
( )
( )
Estas relaciones se obtienen mediante simples consideraciones geométricas.
Por ejemplo, para el caso de de un robot de con dos grados de libertad (GDL),
nos resulta:
( )
( )
Robot planar de dos grados de libertad.
De manera general, un robot con n grados de libertad está constituido por n
eslabones unidos también por n articulaciones, de tal manera que cada par de
articulación –eslabón, conforma un grado de libertad. De esta manera, a cada
eslabón se le asocia un sistema de referencia solidario a él y, empleando las
transformaciones homogéneas, podemos representar las rotaciones y
traslaciones relativas, entre los distintos eslabones que componen el robot.
La matriz de transformación homogénea que representa tanto la posición como
la orientación, la denominamos matriz .
Considerando todos los grados de libertad, a la matriz se le denomina
matriz T. Si queremos ilustrar un robot de seis grados de libertad, la posición y
orientación están dados por la matriz T:
Cuando tratamos de describir la relación entre dos elementos contiguos,
hacemos uso de cualquier sistema de referencia ligado a cada elemento.
Generalmente en robótica utilizamos la representación de Denavit-Hartenberg
(DH), que se refiere a un método matricial con el cual establecemos de
manera sistemática un sistema de coordenadas ligado a cada eslabón i de una
cadena articulada, permitiendo seguidamente establecer las ecuaciones
cinemáticas de la cadena completa.
Mediante esta representación, podemos escoger adecuadamente los sistemas
de coordenadas relacionados con cada eslabón, haciendo posible pasar de uno
al siguiente a través de 4 transformaciones básicas, las cuales dependen
exclusivamente de las características geométricas del eslabón.
Estas transformaciones básicas estriban en una sucesión de rotaciones y
traslaciones, que permiten vincular al sistema de referencia i con el sistema del
elemento i - 1. Las transformaciones citadas son las siguientes:
1. Rotación alrededor del eje un ángulo .
2. Traslación a través de una distancia di; esto es un vector el cual
se expresa como di(0, 0, di).
3. Traslación a través de una distancia ; cuyo vector es (0, 0, ).
3. Rotación alrededor del eje un ángulo .
Conviene tener presente que el producto de matrices no es conmutativo, por lo
que las transformaciones se deben ejecutar en el orden indicado. Es por esto,
que la ejecución de las operaciones debe cumplir el siguiente formato:
( ) ( ) ( ) ( )
El producto entre las matrices comprometidas se expresa así:
[ ] [ ] [ ] [ ]
NOTA: son los parámetros DH del eslabón i.
Todo indica que la tarea a seguir consiste en identificar los parámetros para
obtener las matrices A y de esta manera vincular todos y cada uno de los
eslabones del robot.
Los cuatro parámetros de ( ) están sujetos únicamente a las
características geométricas de cada eslabón y de las articulaciones que le unen
con las adyacentes, es decir, el anterior y el siguiente. Esto lo visualizamos en la
figura siguiente.
Figura 2. Parámetros DH para un eslabón giratorio.
Con la matriz T ya obtenida, tendremos expresada la orientación requerida,
mediante una sub-matriz (3 X 3) de rotación, y conjuntamente la posición, en
una sub-matriz (3 X 1) de traslación, del extremo del robot, en función de las
coordenadas articulares, quedando de esta manera, resuelto el problema
cinemático directo.
EJEMPLO ILUSTRATIVO: ROBOT CILINDRICO
Los correspondientes parámetros DH para este robot, quedan expresados en la
tabla siguiente:
Articulación d a
1 0 0
2 90 0 90
3 0 0 0
4 0 0
LECCIÓN 2: CINEMÁTICA INVERSA DEL
MANIPULADOR COMENTARIOS INICIALES
En nuestro afán por estructurar y conocer los aspectos de la configuración de
los robots, dentro de lo cual hace parte los aspectos de la localización espacial,
se hace indispensable que su extremo se posicione y oriente.
En la mayor parte de las aplicaciones, interesa definir los movimientos del robot
en el espacio cartesiano de manera relacionada con la tarea que se intenta
adelantar. Por lo tanto, para el control del robot se requiere obtener los valores
de las variables articulares, de tal manera que la posición y orientación del
robot, o en particular de su efector final, sea la deseada.
En este punto, surge el compromiso de encontrar los valores que deben asumir
las coordenadas articulares del robot [ ], labor esta que se
constituye en el objetivo central de problema cinemático inverso. De manera
directa y concisa, podemos conjeturar que la obtención de las respectivas
ecuaciones, esta intensamente subordinado a los elementos propios de la
configuración del robot.
Tratando de encontrar procedimientos para aliviar las dificultades inherentes al
problema, se han presentado propuestas de solución de índole diversa, pero
estas conllevan inconvenientes que generan limitaciones apreciables.
La mayor parte de los robots suponen cinemáticas relativamente simples, lo
que facilita en cierta medida la solución de su problema cinemático inverso. Es
a este tipo de problemas a los que nosotros daremos atención y dedicación.
ASPECTOS GENERALES DEL PROBLEMA
Si consideramos solo los tres primeros grados de libertad de la mayoría de los
robots, estos presentan una estructura planar, es decir, los tres primeros
elementos quedan contenidos en un plano. Este detalle hace muy asequible
encontrar la solución del problema. Adicionalmente, cabe mencionar que en
muchos robots se observa que los tres grados de libertad últimos, en lo
referente a la orientación del extremo del robot, corresponden a giros sobre
ejes que se cortan en un punto. Nuevamente, este pormenor hace viable el
cálculo de la nupla correspondiente tanto a la posición como a la orientación
requerida. Es por esto que podemos establecer algunos derroteros generales
que nos concedan elementos adecuados para plantear y resolver el problema
cinemático inverso de una manera ordenada y jerarquizada.
Los métodos geométricos encauzan la obtención de los valores de las primeras
variables articulares, las cuales se encargan de posicionar el robot (descartando
la orientación de su extremo). Para esto acudimos al empleo de relaciones
geométricas y trigonométricas sobre los elementos del robot. También en
algunas ocasiones apelamos a la resolución de triángulos que se forman a
través de los elementos y articulaciones del robot. Buscando alternativas que
permitan resolver el mismo problema, se encuentra que se hace posible cuando
manipulamos de manera directa las ecuaciones correspondientes al problema
inverso. Por esta ruta logramos la siguiente relación:
n o a p
0 0 0 1 = tij
Los elementos tij están en función de las coordenadas articulares, por lo que es
factible mediante ciertas combinaciones de las 12 ecuaciones establecidas,
despejar las n variables articulares en función de las componentes de los
vectores.
RESOLUCION DEL PROBLEMA CINEMATICO
INVERSO POR METODOS GEOMETRICOS
Como mencionamos anteriormente, usamos este procedimiento cuando
tratamos robots de pocos grados de libertad, o cuando todo indica considerar
únicamente los primeros grados de libertad, encargados de posicionar el
extremo. La base de este procedimiento establece que hay que encontrar un
suficiente número de relaciones geométricas, en las que participan las
coordenadas del extremo del robot, sus coordenadas articulares y las
dimensiones físicas de sus consabidos elementos.
Para aplicar el método de resolución del problema cinemático inverso de un
robot con 3 GDL de rotación, emplearemos una estructura típica articular. Esta
figura nos permite visualizar la configuración del robot.
Figura 3. Robot articular
El dato de partida son las coordenadas ( ) referidas a { en las que
se intenta posicionar su extremo.
La estructura de este robot es planar, en donde el plano está determinado por
el ángulo de la primera variable articular .
El valor adquirido por lo obtenemos de manera automática empleando:
( )
Cuando tenemos presente solamente los elementos 2 y 3 que se encuentran
situados en un plano (figura 4a), y utilizando el conocido teorema del coseno,
nos encontramos con las expresiones siguientes:
Figura 4. Ilustrativa de los elementos 2 y 3 del robot de la figura 3.
Ejecutando la ecuación anterior, logramos obtener en virtud del vector de
posición p. Sin embargo, y por razón de ventajas computacionales, resulta más
conveniente usar la expresión de la arco-tangente en lugar del coseno.
Por lo que significa
√
(9)
Se llega a obtener
(
√
)
Con
(10)
Es fácil apreciar que existen dos soluciones posibles para de acuerdo al tipo
de signos que escojamos en la raíz (positivo o negativo). Estos casos
corresponden a las configuraciones de codo arriba y codo abajo.
LECCIÓN 3: RESOLUCION DEL PROBLEMA
CINEMATICO INVERSO MEDIANTE LA MATRIZ
DE TRANSFORMACIÓN HOMOGÉNEA
En este apartado abordamos el proceso dirigido a un robot de 3 GDL de
configuración esférica (2 giros y un desplazamiento), situación que ilustramos
en la presente figura. El robot queda siempre incluido en un plano el cual está
determinado por el ángulo
Figura 5. Robot polar de 3 GDL
Para resolver el problema cinemático inverso, iniciamos obteniendo la
expresión (6) correspondiente a este robot. Esto equivale a obtener la matriz T,
con la que relacionamos el sistema de referencia S0 correspondiente a la base,
con el sistema respectivo de referencia S3. En la siguiente figura, podemos
apreciar la asignación de los sistemas de referencia de acuerdo a los criterios
de Denavit-Hartenberg con el robot que está situado en su
posición de partida ( ) y adicionalmente la tabla nos muestra los
valores de los parámetros apropiados de Denavit-Hartenberg.
Figura 6. Asignación de sistemas de referencia del robot polar de la figura 5.
Articulación d a
1 0 90
2 0 0 -90
3 0 0 0
Tomando en consideración estos parámetros, de manera ágil obtenemos las
matrices A y la matriz T.
[ ] [ ] [ ]
[ ] [ ]
Los pasos siguientes, nos orientan a poder manipular directamente las 12
ecuaciones resultantes de T, con el propósito de de poder despejar
en términos de n, o, a p. Este camino resulta inapropiado, por lo
que optamos por el procedimiento siguiente:
Debido a que , tendremos que:
( ) (16)
Dado que:
[ ]
Ya conocida, los miembros a la izquierda en las expresiones (16) son función de
las variables articulares ( ). Mediante algunas consideraciones,
tendremos ; luego a partir de , llegamos al valor de , en ambas
situaciones haciendo manipulaciones en la ecuación (16).
Finalmente, conocidos y podremos obtener haciendo uso de la
expresión (6). Este procedimiento lo indicamos de manera abreviada así:
[ ]
[ ]
(17)
Luego encontramos:
[ ]
[ ]
[ ]
(18)
Por consiguiente, empleando la primera de las ecuaciones de (16) llegamos a
tener:
( ) [ ]
De las relaciones anteriores establecidas en la ecuación anterior nos interesan
aquellas que expresan en función de constantes (y no de ).
Empleando [ ] llegamos a tener:
( )
(20)
Empleando ahora la segunda de las ecuaciones de (16) llegamos a obtener:
( ) ( ) [ ]
De manera sucesiva llegamos a las expresiones siguientes:
( )
√( ) ( )
(23)
Llegando por último a:
( ) √( ) ( )
(24)
Resumiendo, las expresiones 20, 23 y 24 se refieren a la solución del problema
cinemático inverso de nuestro robot considerado. Las colocamos de manera
despejada y grupal:
( )
√( ) ( )
( ) √( ) ( )
(25)
LECCIÓN 4: MATRIZ JACOBIANA DEL
MANIPULADOR
Como pudimos darnos cuenta, el estudio del modelado cinemático de un robot,
pretende hallar las relaciones que puedan existir entre las variables articulares y
la posición (lo cual se expresa normalmente en forma de coordenadas polares)
y orientación del extremo del robot. En este evento no se consideran las fuerzas
o pares que actúan sobre el robot (actuadores, cargas, fricciones, etc.) y que
pueden causar el movimiento del mismo.
Conviene poder tener acceso a la relación entre las derivadas respectivas. Es
decir, el sistema de control debe estar en condiciones de poder registrar las
velocidades adquiridas en cada articulación (a través de sus respectivos
actuadores), de tal manera que el extremo desarrolle una trayectoria temporal
concreta.
Para cumplir con este y otros propósitos, hemos de contar con la respectiva
relación que involucre las velocidades de las coordenadas articulares, las de
posición y orientación del extremo del robot. La relación que cobija ambos
vectores de velocidad se deriva a través de la denominada matriz Jacobiana.
RELACIONES DIFERENCIALES
La forma más directa para deducir la relación entre las velocidades articulares y
las del extremo del robot, se hace diferenciando las ecuaciones
correspondientes al modelo cinemático directo.
Se trata de partir conociendo las ecuaciones que solucionan el problema
cinemático directo de un robot de n GDL (grados de libertad):
Mediante el empleo de la matriz Jacobiana podemos conocer las velocidades
del extremo del robot mediante las velocidades de cada articulación.
( ) ( ) ( )
( ) ( ) ( )
Si estas expresiones las derivamos respecto al tiempo, llegamos a tener:
̇ ∑ ̇ ̇ ∑ ̇ ̇ ∑ ̇
̇ ∑ ̇ ̇ ∑ ̇ ̇ ∑ ̇
Estas expresiones podemos presentarlas en forma matricial:
[
̇
̇
̇
̇
̇
̇] [
̇
̇ ] [ ]
La matriz J puesta en escena, es conocida como matriz Jacobiana.
Debido a que el valor numérico de cada uno de los elementos [ ] de la
Jacobiana, está en función de las coordenadas articulares por lo que el valor
de la Jacobiana será diferente en cada uno de los puntos del espacio articular.
JACOBIANA INVERSA
De igual manera que obtenemos la relación directa, mediante la cual se facilita
el cálculo de las velocidades del extremo a partir de las velocidades articulares,
es pertinente obtener la relación inversa, por medio de la cual podemos
calcular las velocidades articulares partiendo de las del extremo. Esto es factible
mediante el concurso de procedimientos diferentes.
MÉTODOS DE CÁLCULO DE LA JACOBIANA
INVERSA.
 Inversión simbólica de la matriz Jacobiana.
- Gran complejidad (matriz 6x6).
 Evaluación numérica de J e inversión numérica
- Necesidad de un re-computo continuo.
- En ocasiones J no es cuadrada matriz pseudoinversa.
- En ocasiones | J | = 0
 A partir del modelo cinemático inverso.
[
( )
( )] [ ̇
̇
] [ ̇
̇
]
[ ]
Es posible que este método resulte algebraicamente complicado, por lo que
conviene apelar a otras opciones, haciendo uso de procedimientos numéricos
para el cálculo ágil de la Jacobiana.
CONFIGURACIONES SINGULARES
Denominamos configuraciones singulares de un robot, a todas aquellas en las
que el determinante de su matriz Jacobiana se anula. En virtud de esto, en las
configuraciones singulares no puede existir Jacobiana inversa.
 Aquellas en las que | J | = 0 (Jacobiano nulo).
 Incremento infinitesimal de coordenadas cartesianas implica incremento
infinito coordenadas articulares.
 Implica perdida de algún grado de libertad.
 Tipos:
- Singularidades en los límites del espacio de trabajo del robot.
- Singularidades en el interior del espacio de trabajo del robot.
 Requieren su estudio y eliminación.
LECCIÓN 5: MODELOS DE DIFERENTES
CONFIGURACIONES
Las coordenadas (x, y), suministran la posición del robot con respecto a las
coordenadas globales y el ángulo φ su orientación con respecto a un eje
paralelo al Y. La configuración de la figura a. es la denominada síncrona en la
cual existen transmisiones que permiten orientar las tres ruedas
simultáneamente con una velocidad angular ω y hacer que el vehículo se
desplace con una velocidad lineal v .
TOMADO DE : Robótica: Manipuladores y robots móviles.
( )
( )
Siendo b la vía del vehículo (distancia que separa las dos ruedas centrales). Si se
especifican, la velocidad lineal v y angular ω del vehículo, las velocidades de giro
que hay que aplicar a las ruedas izquierda y derecha son:
( ⁄ )
( ⁄ )
Este modelo puede expresarse en función de variables de control como,
[ ] [
( )
( ) ] [
( )
( ) ]
[
( ) ( )
( ) ( ) ] [ ]
En la figura c anterior se representa el triciclo convencional en el cual la rueda
delantera se utiliza tanto para la orientación como para la tracción.
En este caso las variables de control suelen tomarse como el ángulo α de
dirección de la rueda delantera y la velocidad de giro de la misma ωt. Se
supondrá que el punto de guía (x, y) está en el centro del eje trasero.
Las velocidades, lineal v y angular ω del vehículo, son respectivamente:
El ángulo de orientación del vehículo varía según:
Por consiguiente se puede obtener el siguiente modelo en función de las
velocidades de control y .
[ ]
[
( )
]
[ ]
[
( )
]
[ ]
Conocidas las velocidades lineal v y angular ω las variables de control α y
pueden obtenerse mediante.
( ) ( )
√
CAPITULO 2: DINÁMICA DEL ROBOT
INTRODUCCIÓN
Cuando abordamos el estudio de la dinámica, nos ocupamos de la relación que
existe entre las fuerzas que actúan sobre un cuerpo y el movimiento originado
sobre él, como consecuencia de la fuerza aplicada. Por consiguiente, el llamado
modelo dinámico de un robot, tiene por objetivo, encontrar la relación entre el
movimiento del robot y las fuerzas implicadas en el mismo.
Esta relación la conseguimos haciendo uso del denominado modelo dinámico, a
través del cual relacionamos matemáticamente:
 La localización del robot. Esta localización es determinada por sus
variables articulares o por las coordenadas de localización de su extremo,
y sus derivadas: velocidad y aceleración.
 Las fuerzas y pares que se aplican en las articulaciones, o en el extremo
del robot.
 Los parámetros dimensionales del robot, en cuyo caso podemos citar, la
longitud, las masas e inercias de sus elementos.
Cuando tratamos problemas que involucran mecanismos de uno o dos grados
de libertad, la obtención de este modelo no es compleja, pero con el aumento
de grados de libertad, el planteamiento y la obtención del modelo dinámico,
suele complicarse de manera apreciable. Es por esta razón, que no siempre es
posible obtener un modelo dinámico expresado mediante una serie de
ecuaciones, en donde la integración de las mismas, nos ayude a conocer el tipo
de movimiento que surge al aplicar las fuerzas, o las que deberíamos aplicar
para obtener un movimiento determinado. Es por esto que optamos resolver el
modelo dinámico de una manera iterativa, apelando a la utilización de un
proceso numérico.
La obtención del modelo dinámico de un robot, se ha constituido en uno de los
problemas más complejos de la robótica, llegando a alcanzar además, la
categoría de reto interesante. Podemos afirmar, que en su ejecución es
imprescindible conseguir los fines siguientes:
 Diseño y evaluación de la estructura mecánica del robot.
 Dimensionamiento de los actuadores.
 Diseño evaluación del control dinámico del robot.
 Simulación del movimiento del robot.
La obtención del modelo dinámico de un robot ha sido y es aún objeto de
estudio e investigación. Un buen número de investigadores han desarrollado
una serie de métodos y formulaciones alternativas, las cuales las han basado
partiendo de la mecánica Newtoniana y Lagrangiana, con la acertada y atractiva
intención de derivar modelos, que a su vez resulten ampliamente manejables
por los sistemas de cálculo convencional, de una manera lo más eficiente
posible.
En este capítulo dedicaremos especial atención al tratamiento del modelo
dinámico, considerando al robot como un cuerpo rígido. De igual manera, sólo
llegaremos a exponer únicamente los resultados de los planteamientos
mencionados, expresados en forma algorítmica, y con la metodología aplicada
sobre los robots de dos grados de libertad.
LECCIÓN 1: ESTRUCTURA MECÁNICA DE UN
ROBOT RÍGIDO. DESCRIPCIÓN GENERAL
Cuando tratamos un mecanismo o particularmente un robot, la obtención del
modelo dinámico la soportamos fundamentalmente planteando el equilibrio de
fuerzas, situación ésta la cual se encuentra determinada de manera completa y
precisa en la segunda ley de Newton. También se registra un planteamiento
para movimientos de rotación, de envergadura teórica y con reconocimientos
oficiales por sus logros en el terreno de la aplicación, denominada ley de Euler,
cuya presentación es la siguiente:
∑ ̇ ∑ ( )
Para el caso de un simple robot mono-articular, como el representado por la
figura adjunta, el equilibrio de fuerzas-pares lo expresamos empleando la
siguiente ecuación:
̈
De esta manera, a partir del establecimiento del equilibrio de fuerzas y pares
que participan sobre el robot, podemos obtener los denominados modelos
dinámicos directo e inverso:
 Modelo dinámico directo: declara la evolución temporal de las
coordenadas articulares del robot en función de las fuerzas y pares que
intervienen.
 Modelo dinámico inverso: manifiesta los tipos de fuerzas y pares que
intervienen en función de la forma, cómo evolucionan las coordenadas
articulares y sus derivadas.
Como planteamiento alternativo para la obtención del modelo, apelamos a la
formulación Lagrangiana, la cual se sustenta en apropiadas consideraciones
energéticas. Es oportuno destacar que este planteamiento es más sistemático
que el anterior, y por ende, hace fácil de manera muy apreciable, la formulación
de un modelo tan complejo como resulta ser el de un robot.
El empleo de esta formulación lo hacemos estableciendo la ecuación:
En donde:
Coordenadas generalizadas (Las articulares).
t= Vector de fuerzas y pares aplicados en las .
Función Lagrangiana.
K= Energía cinética.
U= Energía potencial.
Teniendo en cuenta el robot mono-articular de la figura de arriba, tendríamos:
̇
En donde se encuentra establecido que:
Además se conoce que:
Entonces, reemplazando en L tendremos inicialmente:
̇
̇
̇
̈
Haciendo la debida sustitución se obtiene:
̈
Ecuación que llega a coincidir con la correspondiente a la de un robot mono-
articular.
OBSERVACION: la formulación Lagrangiana aunque resulta más tediosa que la
Newtoniana, presenta ventajas cuando aumenta el número de grados de
libertad.
LECCIÓN 2: FORMULACIÓN DE LAGRANGEEULER
DESCRIPCIÓN GENERAL
Cuando emprendemos este planteamiento, estamos direccionados a utilizar
ciertas matrices que relacionan el sistema de coordenadas de referencia del
elemento i con el elemento i -1.
Se efectúan operaciones de suma y producto de manera innecesaria, por lo que
resulta ser un procedimiento ineficiente desde el punto de vista computacional.
Sin embargo, es legítimo dejar claro que su aplicación nos puede conducir a
unas ecuaciones finales bien estructuradas donde aparecen de manera clara y
concisa, los diversos pares y fuerzas que intervienen en el movimiento de
inercia.
Hacemos referencia a la fuerza de inercia, Coriolis y gravedad. Este
procedimiento se basa en una interpretación de la energía involucrada.
Teniendo en consideración el ejemplo del manipulador con una única
articulación, la energía cinética viene dada por:
Y la energía potencial por:
La función Lagrangiana de la manera siguiente:
La formulación dinámica se basa en la ecuación:
En donde es el par aplicado.
LECCIÓN 3: FORMULACIÓN DE NEWTONEULER:
IMPLEMENTACION COMPUTACIONAL
Para la obtención de un modelo dinámico de este tipo, se requiere generalizar a
las aceleraciones, los conceptos y notaciones empleadas para ilustrar las
velocidades. Se comienza presentando las expresiones correspondientes a las
aceleraciones. Seguidamente, se establece el método de Newton-Euler en su
forma iterativa, haciendo la ilustración de la aplicación en el manipulador plano
con dos articulaciones.
EJEMPLO:
Consideremos el manipulador con dos articulaciones de rotación como el
mostrado en la figura.
Para facilitar la resolución del problema tendremos en cuenta que las masas M1
y M2 están concentradas en los extremos de los enlaces.
OBTENCION DEL MODELO DINAMICO SIMBOLICO
SOLUCION:
Variables articulares θ1 y θ2
>> syms t1 t2 real;
Velocidades articulares θ'1 y θ'2
>> syms td1 td2 real;
Aceleraciones articulares θ''1 y θ''2
>> syms tdd1 tdd2 real;
Longitudes e los enlaces (l1 y l2 )
>> syms l1 l2 real;
Masas de los enlaces (m1 y m2 )
>> syms m1 m2 real;
Aceleracion de la gravedad
>> syms g real;
Digitamos la matriz con los parámetros dinámicos del manipulador.
>> dyn = [0 0 t1 0 0 m1 l1 0 0 0 0 0 0 0 0 0 1 0 0 0;0 l1 t2 0 0 m2 l2 0 0 0 0 0 0 0 0
0 1 0 0 0] ;
Vector de variables articulares
>> q = [ t1 t2 ] ;
Vector de velocidades articulares
>> qd = [ td1 td2 ] ;
Vector de aceleraciones articulares
>> qdd=[tdd1 tdd2] ;
Vector aceleracicon de la gravedad
>> grav = [ 0 g 0 ] ;
tau =rne (dyn, q, qd, qdd, grav) ;
simple (tau)
simplify:
[ l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+m2*tdd1*l1^2+l1*m2*cos(t1)*g+l1*
cos(t2)*m2*l2*td2,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gco
s(t2)*tdd1*l1cos(t2)*cos(t1)*g)]
radsimp:
[ l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos (t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,(l2*tdd1+l2*tdd2+sin(t2)*td1^2*l1sin(t2)*sin(t1)*g+cos(t2)*tdd1*l1
+cos(t2)*cos(t1)*g)*l2*m2]
combine (trig):
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l+l
1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2*t
d2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd1+
l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*td
d1*l1]
factor:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gcos(t2)*td
d1*l1cos(t2)*cos(t1)*g)]
expand:
[l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1
*l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2
*l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2
*cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2
*cos(t1)*g,l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1l2*m2*sin(t2
)*sin(t1)*g+l2*m2*cos(t2)*tdd1*l1+l2*m2*cos(t2)*cos(t1)*g]
combine:
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l1
+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2
*td2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd
1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)
*tdd1*l1]
convert(exp):
[l2*m2*((tdd1+tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1
)1/exp(i*t1))*g)+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/ex
p(i*t1))*g))+l1*m1*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g)+l1*(1/2*i*(exp(i
*t2)1/exp(i*t2))*m2*((td1+td2)^2*l2+(1/2*exp(i*t2)+1/2/exp(i*t2))*(td1^2*l1
1/2*i*(exp(i*t1)1/exp(i*t1))*g)1/2*i*(exp(i*t2)1/exp(i*t2))*(tdd1*l1+(1/2*exp(
i*t1)+1/2/exp(i*t1))*g))+(1/2*exp(i*t2)+1/2/exp(i*t2))*m2*((tdd1+tdd2)*l2+1/
2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)+(1/2*exp(i
*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))),l2*m2*((tdd1+
tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)
+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))]
convert(sincos):
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
convert(tan):
[l2*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2
*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(
1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))+l1*m1*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/
2*t1)^2)*g)+l1*(2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*m2*((td1+td2)^2*l2+(1tan(
1/2*t2)^2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+
2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)
*g))+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1
+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^
2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))),l2*m*(
(tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+t
an(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(
1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))]
collect(t1):
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
mwcos2sin:
[l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*
g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^
2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin(
t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s
in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))]
ans =
[l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l+l
1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2*t
d2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd1+
l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*td
d1*l1]
Matriz de masas
>> M = inertia ( dyn, q)
M =
[l2*m2*(l2+cos(t2)*l1)+l1^2*m1+l1*(m2*sin(t2)^2*l1+cos(t2)*m2*(l2+cos(t2)*l
1)), l2*m2*(l2+cos(t2)*l1)][ l2^2*m2+l1*cos(t2)*m2*l2, l2^2*m2]
Términos centrífugos y de Coriolis
>> V = coriolis (dyn, q, qd )
V =
[l2*m2*sin(t2)*td1^2*l1+l1*(sin(t2)*m2*((td1+td2)^2*l2cos(t2)*td1^2*l1)+cos
(t2)*m2*sin(t2)*td1^2*l1), l2*m2*sin(t2)*td1^2*l1]
OBSERVACIONES
La función rne nos permite obtener el modelo dinámico. Para que esto
funcione, simplemente debemos pasarle una matriz de parámetros dyn con el
formato apropiado.
 Adicionalmente, se requiere pasarle un vector con la aceleración de la
gravedad que sufre el manipulador, así como los valores de las variables
articulares, los de las velocidades y las aceleraciones articulares.
 La función rne nos devuelve como resultado los pares ejercidos en cada
articulación.
LECCIÓN 4:
TRANSFORMACIONES HOMOGÉNEAS Y
CINEMÁTICA DEL ROBOT (Ejemplo)
DESCRIPCIÓN GENERAL
Un método de categoría general con el que podemos determinar las ecuaciones
cinemáticas de un brazo de robot, consiste en hacer uso de las
transformaciones homogéneas.
Un vector de punto, se puede representar en un espacio de
tres dimensiones por una matriz de columna:
[ ]
Donde a = x / w, b = y / w, c = z / w y w es un factor de escala. Por ejemplo,
cualquiera de las siguientes matrices se utiliza para la representación del vector
v = 25i+10j+20k.
[ ]
Vectores de la forma anterior los podemos emplear para definir la posición del
extremo del brazo para un manipulador de robot. Cuando w = 0, entonces el
vector representa una dirección única.
Podemos trasladar o girar un vector en el espacio, mediante una
transformación. Una transformación de este tipo, la hacemos posible mediante
el empleo de una matriz H 4 x 4. Por ejemplo, el vector v lo podemos
transformar en un vector u, haciendo uso de la siguiente operación matricial.
u=HV
Para realizar una traslación de un vector en el espacio en una distancia x, b en la
dirección , y c en la dirección z, hemos de ejecutar una transformación, la cual
viene dada por:
H=Trans a,b,c= 100010000
EJEMPLO:
Para el vector V = 25i + 10j + 20k realizar una traslación para una distancia 8 en
la dirección x, 5 en la dirección y 0 en la dirección z.
SOLUCION:
>> a = 8, b= 5, c = 0
a =
8
b =
5
c =
0
El vector en consideración es:
>> V = [25 10 20 1 ] '
V =
25
10
20
1
La transformación de traslación seria:
>> H = transl (a, b, c)
H =
1 0 0 8
0 1 0 5
0 0 1 0
0 0 0 1
El vector de traslación seria:
>> HV = H * V
HV =
33
15
20
1
diary off
LECCIÓN 5:
MODELO DIRECTO DEL MANIPULADOR:
IMPLEMENTACIÓN COMPUTACIONAL (Ejemplo)
Considérese el manipulador plano con tres articulaciones de rotación (ver
figura). Las longitudes de los dos primeros segmentos son l1 y l2. Se trata de
implementar el modelado del manipulador mediante la obtención de la
transformación apropiada para tal fin.
SOLUCION:
 Establecemos las variables articulares θ1 , θ2 y θ3.
syms t1 t2 t3 real
 Determinamos los parámetros l1 y l2.
syms l1 l2 real
 Ahora ingresamos la matriz mediante los parámetros de Denavit-
Hartenberg.
dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ]
dh =
[ 0, 0, t1, 0, 0]
[ 0, l1, t2, 0, 0]
[ 0, l2, t3, 0, 0]
Seguidamente, llamamos a la función con la que podemos obtener la matriz T.
La función empleada para tal efecto es fkine (dh , q ) y sus parámetros son la
matriz de parámetros Denavit-Hartenberg y el vector de variables articulares.
 Ingresamos el vector de variables articulares
q =[t1 t2 t3] ;
T=simple (fkine (dh,q) )
T =
[cos (t1+ t2+ t3 ) , sin( t1+ t2+ t3 ), 0, cos ( t1+t2)* l2 + cos (t1)*l1][sin(t1+
t2+ t3), cos ( t1+ t2+ t3), 0, sin( t1+ t2)* l2+ sin( t1) * l1][ 0, 0, 1,0][0,0,0,1]
La función simple se encarga de simplificar la expresión resultante.
OBSERVACIONES:
 La función fkine se encarga de tomar los valores para las variables
articulares del segundo parámetro que se le pasa, y no de los que
aparecen en la matriz dh. Esto significa, que si la articulación es de
rotación, no se tendrá en cuenta el valor del tercer elemento de la fila
correspondiente de la matriz dh.
diary off
CAPITULO 3: IMPLEMENTACIONES
COMPUTACIONALES COMENTARIOS
PRELIMINARES
El tratamiento de la cinemática de los robots manipuladores, nos indica la
conveniencia de emplear de manera exclusiva la plataforma de MATLAB, ante la
otra opción de hacerlo con la del SIMULINK. La explicación consiste en la
circunstancia de que los datos involucrados en la cinemática son matrices, los
cuales como es sabido, son más fácilmente tratados desde MATLAB que desde
SIMULINK.
En la unidad I abordamos los temas relacionados con vectores y matrices, con el
propósito de facilitar la comprensión de los aspectos aplicativos, los cuales
tocaremos en estas secciones. De igual manera tratamos la representación
gráfica, con la cual hacemos posible la ilustración de ciertos modelos de robots
móviles.
Para resolver la cinemática de un robot, resulta suficiente conocer los
parámetros de Denavit-Hartenberg. Estos parámetros son ingresados en una
matriz de acuerdo a un formato determinado (matriz dh ). Esta matriz será la
que permitirá el paso de las funciones de MATLAB, por lo que recomendamos
asimilar bien su significado y contenido.
En la tabla siguiente presentamos de manera resumida, las instrucciones que
habitualmente se emplean para efectuar ciertos cálculos relacionados con la
cinemática de los robots manipuladores. Conviene aclarar, que algunas de ellas
no se utilizan directamente, pero aparecen en el cuerpo de funciones que si se
usan, por lo que también aparecen descritas.
Instrucciones relacionadas con la cinemática
En cuanto a la dinámica de los robots manipuladores es posible elegir emplear
el MATLAB directamente, o el SIMULINK. Cuando el propósito es tratar
resultados simbólicos y trabajar con matrices, resulta más conveniente el uso
del MATLAB. En los otros casos, ambas plataformas reportan un manejo en
igualdad de condiciones.
En la tabla siguiente presentamos de manera resumida, las instrucciones que
habitualmente se emplean para efectuar ciertos cálculos relacionados con la
dinámica de los brazos manipuladores.
LECCIÓN 1: MODELO DIRECTO DEL
MANIPULADOR
EJEMPLO: Consideremos el robot que se muestra en la figura.
El sistema de referencia {0} se supone rígidamente unido al enlace 0 (anclaje del
robot) y el {n} al último enlace. El sistema {1} coincide con el {0} para θ1= 0,
pero gira con respecto a este valor al variar θ 1.
SOLUCION:
Variables articulares θ1
>> syms t1 d2 t3 real ;
Parametro l2
>> syms l2 real ;
Cálculo de las respectivas matrices
>> T1 = linktrans ( [ 0 0 125 0 0 ] , t1 )
T1 =
[ cos(t1), -sin(t1), 0, 0]
[ sin(t1), cos(t1), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
>> T2 = linktrans ( [ pi/2 0 0 426 1 ] , d2 )
T2 =
[ 1, 0, 0, 0]
[ 0, 0, 1, d2]
[ 0, 1, 0, 0]
[ 0, 0, 0, 1]
>> T3 = linktrans ( [ 0 0 876 l2 0 ] , t3 )
LECCIÓN 2: MODELO INVERSO DEL
MANIPULADOR
Generalmente, en la mayor parte de las aplicaciones, nos interesa determinar
los movimientos del robot ubicado en el espacio cartesiano, haciendo una
estrecha relación con la tarea que se intenta desarrollar. En virtud de esto, para
establecer el control del robot, se hace necesario encontrar los valores de las
variables articulares, de tal manera que la posición y orientación del robot, o en
particular de su efector final, sea la deseada.
EJEMPLO: Consideremos el manipulador del ejemplo anterior. El sistema de
referencia {0} coincide con el {1} para el valor de θ 1= 0 (figura anterior). Se
trata de estudiar la posición (x, y) del extremo del segundo enlace. Por
consiguiente el giro de la tercera articulación (sistema de referencia {3}) no se
considera. Supuesta la segunda articulación en su máxima extensión, el origen
de {2} coincidirá con el de {3}, como se observa en la figura. Las coordenadas x e
y de este origen expresadas en el sistema {0} pueden tomar cualquier valor solo
limitado por los rangos de variación de las variables articulares.
SOLUCION:
Calcular el modelo directo del manipulador a. Variables articulares θ1 y d2.
>> syms t1 d2 real ;
Matriz con los parámetros de Denavit-Hartenberg
>> dh =[ 0 0 t1 0 0 ; pi/2 0 0 d2 1 ] ;
Vector de las variables articulares
>> q = [t1 d2];
Calculo del resultado
>> T= simple (fkine (dh , q ) )
T =
[ cos ( t1 ), 0, sin ( t1), sin ( t1) * d2 ]
[ sin ( t1 ), 0, -cos( t1 ), -cos( t1 ) * d2 ]
[ 0, 1, 0, 0 ]
[ 0, 0, 0, 1 ]
b. Representación de los valores que toma θ1 en función de las coordenadas(x,
y).
>> [ x , y] = meshgrid (1: 0.03 :1, 1: 0.03 : 1 ) ; t1 = atan2 (x,y);
>> surf (x , y, t1 ) ;
Representación de d2 en función del punto (x , y ) del extremo del manipulador
>> [x1, y1] = meshgrid ( 1: 0.03: 1 , 1: 0.03:1 ) ;
>> d2 = sqrt (x1. ^2 + y. ^2 ) ;
>> surf ( x1 , y1, d2 ) ;
LECCIÓN 3: JACOBIANO DEL MANIPULADOR
El Jacobiano del manipulador se encarga de relacionar las velocidades, con las
velocidades cartesianas del extremo del manipulador. En el modelo matemático
apropiado, hay que tomar como referencia el sistema {0}. Es conveniente tener
presente que el Jacobiano se expresa en un determinado sistema de referencia.
De igual manera, notamos que para unos determinados valores de las variables
articulares, las relaciones entre las velocidades articulares y las velocidades en
el espacio cartesiano son lineales.
EJEMPLO: Consideremos el manipulador con tres articulaciones de rotación,
con los ejes del marco de referencia {3} en la misma dirección que los del {2}. Se
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014
Curso de robotica_avanzada_2014

Más contenido relacionado

La actualidad más candente

Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesLuis Zurita
 
Maquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de Loja
Maquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de LojaMaquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de Loja
Maquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de LojaUniversidad Nacional de Loja
 
Transmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robóticaTransmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robóticaVinicio Acuña
 
Programacion Melfa Iv
Programacion Melfa IvProgramacion Melfa Iv
Programacion Melfa IvRubén Loredo
 
Sistema de normalización europeo y americano
Sistema de normalización europeo y americanoSistema de normalización europeo y americano
Sistema de normalización europeo y americanoDaniel Mendoza
 
Cinemática Directa e Inversa de un robot de 3 Grados de Libertad
Cinemática Directa e Inversa de un robot de 3 Grados de LibertadCinemática Directa e Inversa de un robot de 3 Grados de Libertad
Cinemática Directa e Inversa de un robot de 3 Grados de LibertadMaría Inés Cahuana Lázaro
 
Cinemática Inversa
Cinemática InversaCinemática Inversa
Cinemática Inversajonathanthan
 
Ingenieria de-control-moderna-ogata-5ed
Ingenieria de-control-moderna-ogata-5edIngenieria de-control-moderna-ogata-5ed
Ingenieria de-control-moderna-ogata-5edpepito pepote
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos alan moreno
 
Problemas resueltos transformadores
Problemas resueltos transformadoresProblemas resueltos transformadores
Problemas resueltos transformadoresLaurita Cas
 
Manual mantenimiento plantas electricas diesel
Manual mantenimiento plantas electricas dieselManual mantenimiento plantas electricas diesel
Manual mantenimiento plantas electricas dieselkbeman
 
Seaparat elect pote
Seaparat elect poteSeaparat elect pote
Seaparat elect poteLuis Sanchez
 

La actualidad más candente (20)

Guía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupcionesGuía rápida tmr0 e interrupciones
Guía rápida tmr0 e interrupciones
 
Ejercicios diagramas de bloques y gfs
Ejercicios diagramas de bloques y gfsEjercicios diagramas de bloques y gfs
Ejercicios diagramas de bloques y gfs
 
Maquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de Loja
Maquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de LojaMaquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de Loja
Maquinas Eléctricas sincronas o sincrónicas - Universidad Nacional de Loja
 
Transmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robóticaTransmisiones y reducciones utilizadas en robótica
Transmisiones y reducciones utilizadas en robótica
 
Programacion Melfa Iv
Programacion Melfa IvProgramacion Melfa Iv
Programacion Melfa Iv
 
Sistema de normalización europeo y americano
Sistema de normalización europeo y americanoSistema de normalización europeo y americano
Sistema de normalización europeo y americano
 
Sesión 6 motor dc
Sesión 6   motor dcSesión 6   motor dc
Sesión 6 motor dc
 
Transformadores 3 conexiones
Transformadores 3 conexionesTransformadores 3 conexiones
Transformadores 3 conexiones
 
Cinemática Directa e Inversa de un robot de 3 Grados de Libertad
Cinemática Directa e Inversa de un robot de 3 Grados de LibertadCinemática Directa e Inversa de un robot de 3 Grados de Libertad
Cinemática Directa e Inversa de un robot de 3 Grados de Libertad
 
Relación de transformación
Relación de transformaciónRelación de transformación
Relación de transformación
 
Cinemática Inversa
Cinemática InversaCinemática Inversa
Cinemática Inversa
 
Ingenieria de-control-moderna-ogata-5ed
Ingenieria de-control-moderna-ogata-5edIngenieria de-control-moderna-ogata-5ed
Ingenieria de-control-moderna-ogata-5ed
 
Métodos de programación de robots
Métodos de programación de robotsMétodos de programación de robots
Métodos de programación de robots
 
Variadores de frecuencia
Variadores de frecuenciaVariadores de frecuencia
Variadores de frecuencia
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos
 
Problemas resueltos transformadores
Problemas resueltos transformadoresProblemas resueltos transformadores
Problemas resueltos transformadores
 
Manual mantenimiento plantas electricas diesel
Manual mantenimiento plantas electricas dieselManual mantenimiento plantas electricas diesel
Manual mantenimiento plantas electricas diesel
 
Seaparat elect pote
Seaparat elect poteSeaparat elect pote
Seaparat elect pote
 
Maquinas de corriente continua (CC)
Maquinas de corriente continua (CC)Maquinas de corriente continua (CC)
Maquinas de corriente continua (CC)
 
307274397 unidad-4-vibraciones
307274397 unidad-4-vibraciones307274397 unidad-4-vibraciones
307274397 unidad-4-vibraciones
 

Destacado

Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Bronson Duhart
 
Manipulador de 2 grados de libertad
Manipulador de 2 grados de libertadManipulador de 2 grados de libertad
Manipulador de 2 grados de libertadMiguel Montero
 
Rotación matricial
Rotación matricialRotación matricial
Rotación matricialCamilo Silva
 
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Bronson Duhart
 
Cinética de un Robot
Cinética de un RobotCinética de un Robot
Cinética de un RobotLeón Leon
 
Mecánica Computacional(1)
Mecánica Computacional(1)Mecánica Computacional(1)
Mecánica Computacional(1)Alfonso Cubillos
 
Fir 05 dynamics 2-dof
Fir 05 dynamics 2-dofFir 05 dynamics 2-dof
Fir 05 dynamics 2-dofnguyendattdh
 
Cinematica inversa
Cinematica inversaCinematica inversa
Cinematica inversaUPE
 
Introduccion a la robótica Subir Kumar Saha
Introduccion a la robótica   Subir Kumar SahaIntroduccion a la robótica   Subir Kumar Saha
Introduccion a la robótica Subir Kumar SahaGenaro Luna Tapia
 

Destacado (20)

Crea robot con matlab
Crea robot con matlabCrea robot con matlab
Crea robot con matlab
 
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
 
Manipulador de 2 grados de libertad
Manipulador de 2 grados de libertadManipulador de 2 grados de libertad
Manipulador de 2 grados de libertad
 
Rotación matricial
Rotación matricialRotación matricial
Rotación matricial
 
Matlab robotica
Matlab roboticaMatlab robotica
Matlab robotica
 
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
Diseño, simulación y control de la dinámica de un robot planar de dos grados ...
 
Robotica Guia 3
Robotica Guia 3Robotica Guia 3
Robotica Guia 3
 
Ángulos De Euler
Ángulos De EulerÁngulos De Euler
Ángulos De Euler
 
Cinética de un Robot
Cinética de un RobotCinética de un Robot
Cinética de un Robot
 
Mecánica Computacional(1)
Mecánica Computacional(1)Mecánica Computacional(1)
Mecánica Computacional(1)
 
Brazo robotico xd
Brazo robotico xdBrazo robotico xd
Brazo robotico xd
 
Robot angular en matlab
Robot angular en matlabRobot angular en matlab
Robot angular en matlab
 
Robótica
RobóticaRobótica
Robótica
 
Fir 05 dynamics
Fir 05 dynamicsFir 05 dynamics
Fir 05 dynamics
 
Fir 05 dynamics 2-dof
Fir 05 dynamics 2-dofFir 05 dynamics 2-dof
Fir 05 dynamics 2-dof
 
Robot Simulation
Robot SimulationRobot Simulation
Robot Simulation
 
Matlab robotics toolbox
Matlab robotics toolboxMatlab robotics toolbox
Matlab robotics toolbox
 
Cinematica inversa
Cinematica inversaCinematica inversa
Cinematica inversa
 
Introduccion a la robótica Subir Kumar Saha
Introduccion a la robótica   Subir Kumar SahaIntroduccion a la robótica   Subir Kumar Saha
Introduccion a la robótica Subir Kumar Saha
 
Movimientos
MovimientosMovimientos
Movimientos
 

Similar a Curso de robotica_avanzada_2014

Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos GM Lamo
 
Trabajo de grado - Karolina Argote
Trabajo de grado - Karolina ArgoteTrabajo de grado - Karolina Argote
Trabajo de grado - Karolina Argotekargoted
 
Solucion problemas sist electrico freightliner
Solucion problemas sist electrico freightlinerSolucion problemas sist electrico freightliner
Solucion problemas sist electrico freightlinerVictor Rivas
 
Conversion electromecanica maquinas
Conversion electromecanica maquinasConversion electromecanica maquinas
Conversion electromecanica maquinasCristhiam Burbano
 
Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290PCMIRA - ECR&POS
 
ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...
ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...
ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...AndreaNavarro549931
 
Automatización de una Línea de Extrusión para fabricación de ladrillos
Automatización de una Línea de Extrusión para fabricación de ladrillosAutomatización de una Línea de Extrusión para fabricación de ladrillos
Automatización de una Línea de Extrusión para fabricación de ladrillosPedro Chavez
 
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...Rodrigo Trejo Riascos
 
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...Rodrigo Trejo Riascos
 
61470227 mplab
61470227 mplab61470227 mplab
61470227 mplabrexmersxa7
 
Tesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaTesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaSaul Mamani
 

Similar a Curso de robotica_avanzada_2014 (20)

Implementacio cuidado basico de equipos
Implementacio cuidado basico de equiposImplementacio cuidado basico de equipos
Implementacio cuidado basico de equipos
 
Pic problemas resueltos
Pic problemas resueltos Pic problemas resueltos
Pic problemas resueltos
 
Pic gama-media
Pic gama-mediaPic gama-media
Pic gama-media
 
Trabajo de grado - Karolina Argote
Trabajo de grado - Karolina ArgoteTrabajo de grado - Karolina Argote
Trabajo de grado - Karolina Argote
 
Solucion problemas sist electrico freightliner
Solucion problemas sist electrico freightlinerSolucion problemas sist electrico freightliner
Solucion problemas sist electrico freightliner
 
71396065.pdf
71396065.pdf71396065.pdf
71396065.pdf
 
Conversion electromecanica maquinas
Conversion electromecanica maquinasConversion electromecanica maquinas
Conversion electromecanica maquinas
 
Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290Manual de Programación SAM4S ER-290
Manual de Programación SAM4S ER-290
 
Curso java y j2 EE
Curso java y j2 EECurso java y j2 EE
Curso java y j2 EE
 
ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...
ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...
ANALISIS MEDIANTE ELEMENTOS FINITOS DE DIFERENTES TIPOS DE CARGAS A UNIONES S...
 
Automatización de una Línea de Extrusión para fabricación de ladrillos
Automatización de una Línea de Extrusión para fabricación de ladrillosAutomatización de una Línea de Extrusión para fabricación de ladrillos
Automatización de una Línea de Extrusión para fabricación de ladrillos
 
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
 
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
Enlace de comunicaciones por microondas ciudad universitaria (pachuca)–campus...
 
indice
 indice indice
indice
 
Libro
LibroLibro
Libro
 
Pic
PicPic
Pic
 
MICROCONTROLADORES.
MICROCONTROLADORES.MICROCONTROLADORES.
MICROCONTROLADORES.
 
61470227 mplab
61470227 mplab61470227 mplab
61470227 mplab
 
Tesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración AcadémicaTesis Sistema Informático Integrado para la Administración Académica
Tesis Sistema Informático Integrado para la Administración Académica
 
1.memoria
1.memoria1.memoria
1.memoria
 

Último

Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuelabeltranponce75
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 

Último (20)

Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 

Curso de robotica_avanzada_2014

  • 1. 2013 ING. JAIRO PERTUZ OCAMPO UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD REVISADO Y ACTUALIZADO: ING. MANUEL ENRIQUE WAGNER 2013 CURSO DE ROBÓTICA AVANZADA
  • 2. CURSO DE ROBÓTICA AVANZADA ING. JAIRO PERTUZ CAMPO UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD ESCUELA DE CIENCIAS BÁSICAS TECNOLOGÍA E INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA BOGOTÁ 2013
  • 3. Tabla de contenido UNIDAD 1 ..........................................................................................................................................6 HERRAMIENTAS MATEMÁTICAS Y RECURSOS....................................................6 COMPUTACIONALES.................................................................................................................6 CAPÍTULO 1: HERRAMIENTAS MATEMÁTICAS...........................................................................6 LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN .................................................................... 7 LECCIÓN 2: REPRESENTACIÓN DE LA ORIENTACIÓN......................................................... 10 LECCIÓN 3: ÁNGULOS DE EULER ................................................................................................... 18 LECCIÓN 4: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA........................................ 21 LECCIÓN 5: CUATERNIOS ................................................................................................................... 31 CAPÍTULO II: OPERACIONES MATEMÁTICAS EN EL ENTORNO DE TRABAJO COMPUTACIONAL.................................................................................................................................. 33 LECCIÓN 1: OPERACIONES GENERALES SOBRE VECTORES.......................................... 33 LECCIÓN 2: OPERACIONES GENERALES SOBRE MATRICES........................................... 40 LECCIÓN 3: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA: POSICIÓN................ 48 LECCION 4: MATRICES DE TRANSFORMACION HOMOGENEA: ROTACION.............. 51 LECCIÓN 5: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA: TRASLACIÓN SEGUIDA DE ROTACIÓN....................................................................................................................... 56 CAPITULO III: IMPLEMENTACIONES COMPUTACIONALES................................................. 60 LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN: EJECUCIONES COMPUTACIONALES.............................................................................................................................. 60 LECCIÓN 2: REPRESENTACIÓN DE LA ORIENTACIÓN, EJECUCIONES COMPUTACIONALES .............................................................................................................................. 65 LECCIÓN 3: REPRESENTACIÓN DE LA POSICIÓN Y ORIENTACIÓN: EJECUCIONES COMPUTACIONALES .............................................................................................................................. 69 LECCIÓN 4: CONCATENACIÓN DE LAS OPERACIONES DE TRASLACIÓN Y ORIENTACIÓN, EJECUCIONESCOMPUTACIONALES ............................................................ 72 LECCIÓN 5: ÁNGULOS DE EULER: EJECUCIONES COMPUTACIONALES................... 75 SEGUNDA UNIDAD ..................................................................................................................78
  • 4. MODELADO CINEMÁTICO Y DINÁMICO DE UN...................................................78 ROBOT..............................................................................................................................................78 CAPITULO 1:............................................................................................................................................. 78 CINEMÁTICA DEL ROBOT INTRODUCCIÓN ................................................................................ 78 LECCIÓN 1: EL PROBLEMA CINEMÁTICO DIRECTO DEL MANIPULADOR.................. 79 LECCIÓN 2: CINEMÁTICA INVERSA DEL MANIPULADOR .................................................. 85 LECCIÓN 3: RESOLUCION DEL PROBLEMA CINEMÁTICO INVERSO MEDIANTE LA MATRÍZ DE TRANSFORMACIÓN HOMOGÉNEA ........................................................................ 89 LECCIÓN 4: MATRIZ JACOBIANA DEL MANIPULADOR ....................................................... 94 LECCIÓN 5: MODELOS DE DIFERENTES CONFIGURACIONES ......................................... 98 CAPITULO 2: DINÁMICA DEL ROBOT .......................................................................................... 101 INTRODUCCIÓN .................................................................................................................................... 101 LECCIÓN 1: ESTRUCTURA MECÁNICA DE UN ROBOT RÍGIDO...................................... 102 LECCIÓN 2: FORMULACIÓN DE LAGRANGEEULER ............................................................. 105 LECCIÓN 3: FORMULACIÓN DE NEWTONEULER: IMPLEMENTACIÓN COMPUTACIONAL.................................................................................................................................. 106 LECCIÓN 4: TRANSFORMACIONES HOMOGÉNEAS, CINEMÁTICA DEL ROBOT ... 112 LECCIÓN 5: MODELO DIRECTO DEL MANIPULADOR .......................................................... 115 CAPITULO 3: IMPLEMENTACIONES ............................................................................................. 117 COMPUTACIONALES COMENTARIOS.......................................................................................... 117 PRELIMINARES...................................................................................................................................... 117 LECCIÓN 1: MODELO DIRECTO DEL MANIPULADOR .......................................................... 120 LECCIÓN 2: MODELO INVERSO DEL MANIPULADOR.......................................................... 121 LECCIÓN 3: JACOBIANO DEL MANIPULADOR........................................................................ 122 LECCIÓN 4: OBTENCIÓN DE LAS TRAYECTORIAS ARTICULARES.............................. 125 LECCIÓN 5: CREACIÓN DE UN ROBOT: SIMULACIÓN........................................................ 126 UNIDAD III: IMPLEMENTACIÓN Y SIMULACIÓN..............................................128 COMPUTACIONAL DE TAREAS ROBÓTICAS.......................................................128 CAPITULO 1: REPRESENTACIÓN DE LA ORIENTACIÓN Y POSICIÓN ........................... 128
  • 5. POSICIÓN................................................................................................................................................. 128 LECCIÓN 1: EJEMPLO.......................................................................................................................... 128 LECCIÓN 2: EJEMPLO.......................................................................................................................... 131 LECCIÓN 3: EJEMPLO (calcular una trayectoria cartesiana entre dos puntos). . 133 LECCIÓN 4: EJEMPLO (cálculo de cuaternios) ...................................................................... 134 LECCIÓN 5: CREACIÓN DE UN MODELO MECÁNICO (Modelado y simulación del péndulo simple). ..................................................................................................................................... 137 CAPITULO 2: MODELOS CINEMÁTICOS DE ROBOTS............................................................ 141 EJEMPLO.................................................................................................................................................. 141 LECCIÓN 1: CINEMÁTICA INVERSA DE UN MANIPULADOR (trayectoria de transformaciones)................................................................................................................................. 141 LECCIÓN 2: OBTENCIÓN DEL JACOBIANO DEL ROBOT MANIPULADOR PUMA 560 ......................................................................................................................................................................... 144 LECCIÓN 3: ORIENTACIÓN Y POSICIÓN CARTESIANA DEL E.F CONOCIDA LA ESTRUCTURA CINEMÁTICA Y LAS COORDENADAS ARTICULARES. ......................... 148 LECCIÓN 4: CONSTRUCCIÓN DE UN OBJETO LINK (parámetros cinemáticos).. 151 LECCIÓN 4: ANÁLISIS CINEMÁTICO DEL MANIPULADOR RR........................................ 153 CAPITULO 3: MODELOS DINÁMICOS DE ROBOTS ................................................................. 157 LECCIÓN 1: EL MÉTODO DE NEWTONEULER.......................................................................... 157 LECCIÓN 2: DINÁMICA DE UN MANIPULADOR PLANO CON TRES ARTICULACIONES DE ROTACIÓN ................................................................................................. 162 LECCIÓN 3: MANEJO DE UN ROBOT GRÁFICO...................................................................... 165 LECCIÓN 4: MODELADO Y SIMULACIÓN DE SISTEMAS MECÁNICOS........................ 167 LECCIÓN 5: MODELOS DE MÁQUINAS SIMPLES ................................................................... 170 EJERCICIOS ILUSTRATIVOS. .......................................................................................................... 170 BIBLIOGRAFIA..........................................................................................................................174
  • 6. UNIDAD 1 HERRAMIENTAS MATEMÁTICAS Y RECURSOS COMPUTACIONALES CAPÍTULO 1: HERRAMIENTAS MATEMÁTICAS PARA LA LOCALIZACIÓN ESPACIAL INTRODUCCIÓN Una de las tareas básicas de un robot y por lo demás habitual, consiste en la manipulación de piezas, lo cual se hace posible, mediante el movimiento espacial de sus dispositivos extremos. La manipulación robótica, nos indica que tanto partes como herramientas, se mueven alrededor del espacio por algún tipo de mecanismo. Cuando estudiamos la robótica, ineludiblemente nos interesamos con los detalles de la localización de objetos en dos y tres dimensiones. Estos objetos son los acoples del manipulador, las partes y herramientas con las cuales él trata, y otros objetos en el entorno del manipulador. En esta dirección, conviene mencionar, que la información de la posición, al igual que la posible orientación de ésta con respecto a la base del robot, es factor determinante para que éste adquiera la habilidad propia que le permita maniobrar de manera indistinta con las piezas. Todo lo anterior nos invita a buscar y apropiarnos de un conjunto de instrumentos y herramientas matemáticas, enfocadas a determinar de manera específica tanto la posición como la orientación en el entorno espacial de piezas, accesorios y, en general, de cualquier objeto. Los recursos matemáticos que trataremos, deben ofrecer la potencialidad mínima que nos garantice llegar de manera sencilla a las relaciones espaciales entre los diferentes objetos, y en especial, entre éstos y el manipulador.
  • 7. Nos dedicaremos a abordar los diferentes métodos clásicos que representan la posición y orientación espacial de un cuerpo rígido. Iniciamos con la representación en dos dimensiones, pasando posteriormente al análisis correspondiente a tres, en sus diferentes modalidades, sin omitir el aporte de los ángulos de Euler cuando se trata de la orientación. Seguidamente, ingresamos en el ámbito del concepto de la matriz de transformación homogénea, con lo cual activamos la representación articulada de la posición y orientación, agrupando propiedades y aplicaciones. Finalizamos, tratando la representación de la orientación, mediante pares de rotación, conocidos también como cuaternios. LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN Para definir y manipular cantidades matemáticas con las cuales podemos representar la posición, nosotros debemos definir sistemas de coordenadas y establecer las convenciones propias para la representación respectiva. Es por esto que nos apoyamos en la concepción, de que en cualquier parte existe un sistema de coordenadas, para lo cual todo lo emprendido puede ser referenciado. Trataremos el posicionamiento en un plano y en el espacio de tres dimensiones. El primero cuenta con dos grados de libertad, en donde la posición debida a un punto, se define por dos componentes independientes. Para el caso tridimensional, se requiere usar tres componentes. Comenzaremos con las coordenadas cartesianas, y seguidamente, presentaremos los otros métodos de uso cotidiano, como son, las coordenadas polares para dos dimensiones, y las cilíndricas y esféricas dirigidas a implementar el espacio de tres dimensiones.
  • 8. REPRESENTACIÓN DE LA POSICIÓN EN COORDENADAS CARTESIANAS En un plano: Sistema coordenado OXY de referencia, para el cual el punto a se expresa por las componentes (x, y). A este punto le corresponde un vector p(x, y). En el espacio de tres dimensiones: El vector p está definido por las respectivas componentes cartesianas (x, y, z). REPRESENTACIÓN DE LA POSICIÓN EN COORDENADAS POLARES Y CILÍNDRICAS En un plano: la localización de un punto, es decir, el vector p, se expresa como p (r, ) en coordenadas polares. En esta representación, r es la distancia desde el origen O hasta extremo del vector p; en tanto que es el ángulo formado por el vector p con el eje OX. En tres dimensiones: el vector p, queda expresado como p (r, , Z) mediante las coordenadas cilíndricas.
  • 9. REPRESENTACIÓN DE LA POSICIÓN EN COORDENADAS ESFÉRICAS En este caso, el vector p posee como coordenadas esféricas (r, , ), en donde la componente r es la distancia que va desde el origen O hasta el extremo del vector p; la componente es el ángulo formado por la proyección del vector p sobre el plano OXY con el eje OX; y la componente es el ángulo formado por el vector p con el eje OZ.
  • 10. LECCIÓN 2: REPRESENTACIÓN DE LA ORIENTACIÓN Cuando necesitamos definir un punto en el espacio, es suficiente a través de los datos correspondientes a su posición. Pero, para el caso de un sólido, se precisa adicionalmente contar con su orientación respecto a un sistema de referencia. Para el caso que nos ocupa, es decir, el de un robot, además de especificar la posición de extremo, también se requiere indicar su orientación. Una orientación referida al espacio tridimensional, la podemos definir mediante tres grados de libertad, lo que se traduce como tres componentes linealmente independientes. La orientación de un objeto respecto a un sistema de referencia, se intenta de manera habitual y relativamente cómoda, asignando al objeto un nuevo sistema, y luego se estudia la relación espacial que existe entre estos dos sistemas, cuya versión es la de coordenadas rectangulares. Casi siempre, esta relación se presenta mediante la posición y orientación del sistema, asociado al objeto respecto al de referencia. Para poder ejecutar el análisis de los diferentes métodos con los cuales se representan las orientaciones, se consideran que ambos coinciden en el origen, y que por consiguiente no se registra cambio de posición entre ellos. El sistema de coordenadas que esta fijo en el espacio tridimensional, se considera que es el sistema de referencia. El otro sistema de coordenadas está girando con respecto al sistema de referencia. Físicamente, podemos considerar que este sistema de coordenadas, es un sistema de coordenadas ligado al cuerpo. Es decir, se encuentra permanente y convenientemente unido al cuerpo rígido (por ejemplo, un elemento del brazo del robot) y se mueve junto con él. Un punto p en el espacio se puede representar por sus coordenadas con respecto a ambos sistemas de coordenadas. Una forma que facilita el análisis, consiste en considerar al punto en reposo y fijo con respecto al sistema que representa el giro. De esta manera, el punto p
  • 11. se puede representar por sus coordenadas, con respecto a ambos sistemas de coordenadas. Para definir y manipular cantidades matemáticas con las cuales podemos representar la orientación, nosotros debemos definir sistemas de coordenadas y establecer las convenciones propias para la representación respectiva. MATRICES DE ROTACIÓN En el espacio del algebra matricial, encontramos el nicho adecuado que contiene todos los ingredientes esenciales, los cuales hacen posible que podamos adentrarnos en la tarea de la descripción de las orientaciones. Los dos sistemas de referencia arriba mencionados son: OXY y OUV. El sistema OXY es el de referencia fija, y el sistema OUV es el móvil solidario al objeto. Los vectores unitarios del sistema OXY son en tanto que los del sistema OUV son . La representación en ambos sistemas del vector p en el plano, se registra de la siguiente manera: [ ] [ ]
  • 12. Podemos encontrar algunas equivalencias, después de realizar una serie de transformaciones: [ ] [ ] En donde R = [ ] es denominada matriz de rotación. Esta matriz es la encargada de definir la orientación del sistema OUV respecto al otro sistema OXY, la cual se emplea para transformar las coordenadas de un vector expresado en un sistema, en las del otro. Por ser una matriz ortonormal, cumple la condición , también se le conoce como matriz de cosenos directores. Para el caso de dos dimensiones, la posición relativa al sistema OUV girado un ángulo a sobre el sistema OXY, la matriz R será de la forma: [ ]
  • 13. RESUMIENDO: MATRICES DE ROTACIÓN 2D En un espacio tridimensional: Los vectores unitarios del sistema OXY , mientras que los del sistema OUVW son . La correspondiente representación del vector p queda así: [ ] [ ] En este caso, también se obtiene la equivalencia siguiente: [ ] [ ] En donde,
  • 14. [ ] Que, como en el caso anterior, representa la matriz de rotación, mediante la cual definimos la orientación del sistema OUVW con respecto al sistema OXYZ Ahora, cuando el eje OU coincide con el eje OX, la orientación del sistema OUVW queda representada por la matriz: ( ) [ ] De igual manera, podemos representar la orientación del sistema OUVW, cuando el eje OV coincide con el OY,
  • 15. En cuyo caso estará representada mediante la correspondiente matriz: ( )=[ ] Ahora, se considera la orientación del sistema OUVW, cuando el eje OW coincide con el eje OZ, en cuyo caso, la representación grafica y la correspondiente matriz, son: ( )=[ ]
  • 16. RESUMIENDO: MATRICES DE ROTACIÓN 3D
  • 17. REPRESENTACIÓN DE LA ORIENTACIÓN. COMPOSICIÓN DE ROTACIONES Algunos movimientos efectuados por un robot, o algunas de sus piezas, son el resultado de la aplicación continua y combinada de varias rotaciones. La respectiva definición y manipulación de las cantidades matemáticas asociadas, se resuelve mediante la operación llamada composición de matrices de rotación. Consideremos la situación siguiente: al sistema OUVW tratado anteriormente se le aplica una rotación con ángulo sobre OX, la cual es seguida de una rotación de ángulo sobre OY, más la rotación de ángulo sobre OZ. La rotación resultante global requerida por el movimiento especifico, la podemos resumir de la manera siguiente: 1. Rotación sobre OX. 2. Rotación sobre OY. 3. Rotación sobre OZ. Y representarla mediante la expresión: ( ) ( ) ( ) [ ] [ ] [ ] [ ] NOTA: El producto de matrices no es conmutativo, por lo que hay que tomar en cuenta el orden o secuencia en que se realizan las rotaciones.
  • 18. LECCIÓN 3: ÁNGULOS DE EULER La representación matricial empleada para la orientación de un cuerpo rígido en el espacio tridimensional, aporta múltiples ventajas, ya que permite la simplificación de muchas operaciones, pero de igual manera, para su implantación, es menester emplear nueve elementos que hacen posible la descripción completa de la rotación de un cuerpo rígido. En este tipo de representación, en lugar de efectuar tres rotaciones consecutivas alrededor de los ejes del sistema de referencia, las rotaciones se efectúan alrededor de los ejes del sistema solidario del cuerpo. Cuando tratamos de describir la orientación de un sistema OUVW solidario al cuerpo, lo hacemos respecto al sistema OXYZ, para lo cual hacemos uso de tres ángulos: , , , denominados ángulos de Euler. El problema nos plantea obtener el sistema OUVW partiendo del sistema OXYZ. El modo de operación lo podemos resumir de la manera siguiente: Se gira de manera sucesiva los valores de , , , en el sistema OXYZ sobre unos ejes determinados. Por tanto, debemos tener conocimiento de los valores de los ángulos. Se requiere tener la información de los ejes sobre los que se realizan los giros. Los ángulos de Euler mencionados anteriormente, nos definen la orientación mediante tres giros consecutivos en los tres ejes de coordenadas. Realizando de forma diferente los giros, se obtienen otras representaciones. Entre estas posibilidades, presentamos las siguientes. ÁNGULOS DE EULER ZXZ Esta representación la podemos describir así: Los sistemas de partida OXYZ y OUVW son inicialmente coincidentes. El sistema OUVW lo podemos colocar en cualquier orientación, lo cual es posible siguiendo estos pasos:
  • 19. 1. El sistema OUVW se hace girar un ángulo con respecto al eje OZ, transformándose de esta manera en el sistema OU’V’W’. 2. Ahora, se hace girar el sistema OU’V’W’ un ángulo con respecto al eje OU’, transformándose de esta manera en el sistema OU’’V’’W’’. 3. Finalmente, el sistema OU’’V’’W’’ lo giramos un ángulo con respecto al eje OW’, transformándose de esta manera en el sistema OU’’’V’’’W’’’. La correspondiente ilustración grafica es: ÁNGULOS DE EULER ZYZ Esta otra representación habitualmente utilizada, se diferencia solamente de la anterior, en lo referente a la elección del eje sobre el que se realiza el segundo giro.
  • 20. Como en el anterior caso, esta representación la podemos describir así: Los sistemas de partida OXYZ y OUVW son inicialmente coincidentes. El sistema OUVW lo podemos colocar en cualquier orientación, lo cual es posible siguiendo estos pasos: 1. El sistema OUVW se hace girar un ángulo con respecto al eje OZ, transformándose de esta manera en el sistema OU’V’W’. 2. Ahora, se hace girar el sistema OU’V’W’ un ángulo con respecto al eje OV’, transformándose de esta manera en el sistema OU’’V’’W’’. 3. Finalmente, el sistema OU’’V’’W’’ lo giramos un ángulo con respecto al eje OW’, transformándose de esta manera en el sistema OU’’’V’’’W’’’. La correspondiente ilustración grafica es:
  • 21. LECCIÓN 4: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA Hasta ahora hemos estudiado diferentes métodos o técnicas encaminadas a representar de manera aislada, ya sea la posición, o la orientación, de un sólido en el espacio. Estos métodos resultan bastante incómodos, cuando tratamos de analizar un manipulador con muchas articulaciones. En estas circunstancias, la complejidad de movimientos se manifiesta por la estrecha combinación de operaciones simultáneas. Los métodos acometidos no están en condiciones de responder a las exigencias mencionadas. Específicamente, llegamos a enfrentar movimientos que requieren de una representación conjunta de la posición y de la orientación. Para solucionar este interesante problema, tenemos que acudir al empleo de las denominadas coordenadas homogéneas. COORDENADAS Y MATRICES HOMOGÉNEAS El concepto de una representación en coordenadas homogéneas en un espacio euclideo tridimensional, es útil para desarrollar transformaciones matriciales que incluyan: rotación, traslación, escalado y transformación en perspectiva. En general, la representación de un vector de posición de n componentes por un vector de (n+1) componentes se llama representación en coordenadas homogéneas. Es decir, un vector ( ) queda representado por ( ) donde w posee un valor arbitrario y representa un factor de escala. Comenzando a precisar, definimos como matriz de transformación homogénea T a una matriz de dimensión 4 x 4, encargada de transformar a un vector de coordenadas homogéneas de un sistema de coordenadas a otro. [ ] [ ]
  • 22. Podemos comentar, que la matriz T está compuesta por cuatro sub-matrices de órdenes diferentes:  Una matriz de rotación, la sub-matriz .  Vector de traslación, la sub-matriz .  Una transformación de perspectiva, la sub-matriz .  Un escalado global, la sub-matriz . APLICACIÓN DE LAS MATRICES DE TRANSFORMACIÓN HOMOGÉNEA [ ] [ ] TRASLACIÓN CON MATRICES HOMOGÉNEAS Corresponde considerar que en el sistema O’UVW solo esta trasladado un vector respecto al sistema OXYZ. La matriz homogénea de traslación T, es: ( ) [ ] Las componentes del vector r con respecto al sistema OXYZ, representado en el sistema O’UVW, son:
  • 23. [ ] [ ] [ ] [ ] De igual manera, un vector r(x, y, z) al ser desplazado según la traslación T, tendrá como componentes r'(x’, y’, z'). [ ] [ ] [ ] [ ] ROTACIÓN Las rotaciones de un vector alrededor de cada uno de los tres ejes en un ángulo ‘a’, se pueden realizar por las transformaciones de rotación. En términos precisos, para entrar en operación, definimos tres matrices básicas de rotación, las cuales adoptamos de acuerdo a la rotación elegida por alguno de los tres ejes coordenados: OX, OY y OZ del sistema de referencia OXYZ. Matrices de rotación básicas: Alrededor del eje x, la transformación de rotación es: ( ) [ ]
  • 24. Alrededor del eje y: ( ) [ ] Alrededor del eje z: ( ) [ ] Cambio de sistema de coordenadas: Las componentes del vector ( ) en el sistema OXYZ, representado en el sistema girado O’UVW, son: [ ] [ ] De igual manera, un vector después de ser rotado de acuerdo a la transformación T, queda expresado por así: [ ] [ ]
  • 25. TRASLACIÓN ACOMPAÑADA CON ROTACIÓN Como se menciono anteriormente, las matrices homogéneas poseen la debida garantía para representar de manera conjunta, las operaciones de posición y orientación. Según esto, la ejecución contempla la debida representación que incluye, el vector de traslación y la matriz de rotación de manera simultánea, mediante el empleo de la misma transformación homogénea. Este tipo de transformaciones, se efectúan en relación a un sistema de referencia. Resulta oportuno comentar, que la traslación y la rotación son transformaciones espaciales no conmutativas, lo cual se demuestra en la figura. OBSERVACIONES FINALES: Es posible combinar rotaciones y traslaciones básicas multiplicando las matrices correspondientes. El producto no es conmutativo: Rotar y trasladar trasladar y rotar
  • 26. ROTACIÓN SEGUIDA DE TRASLACIÓN Nos estamos refiriendo a la situación, en la que se ha de realizar una rotación alrededor de uno de los ejes coordenados del sistema OXYZ, a la cual le sigue una traslación. Comenzamos ilustrando la rotación de un ángulo alrededor del eje OX, al cual le sigue una traslación del vector : (( ) ) [ ] Ahora procedemos a ilustrar la rotación de un ángulo alrededor del eje OY, al cual le sigue una traslación del vector . (( ) ) [ ] Finalmente, presentamos la rotación de un ángulo alrededor del eje OZ, al cual le sigue una traslación del vector . (( ) ) [ ]
  • 27. TRASLACIÓN SEGUIDA DE ROTACIÓN Nos toca ahora tratar el caso, en el que se efectúa primero una traslación, a la cual le sigue una rotación alrededor de uno de los ejes coordenados del sistema OXYZ, en donde las matrices homogéneas resultante son las siguientes: Una vez trasladado el vector se continúa con la rotación de un ángulo α alrededor del eje OX. ( ( )) [ ] Ahora se trata de considerar la traslación del vector al cual le sigue la rotación de un ángulo alrededor del eje OY. ( ( )) [ ] Finalmente, a la traslación del vector le sigue la rotación de un ángulo θ alrededor del eje OZ. ( ( )) [ ]
  • 28. COMPOSICIÓN DE MATRICES HOMOGÉNEAS Es habitual contemplar movimientos de traslación y giros realizados sobre un sistema de referencia, lo cual como ya hemos tratado es posible representarlos por una matriz de transformación homogénea. Existen movimientos generalizados que requieren de diferentes giros y traslaciones que deben obrar de manera consecutiva sobre un sistema de referencia establecido. Sintetizando, podemos codificar los giros básicos y las traslaciones, como una transformación compleja, siempre y cuando esta pueda descomponerse en la aplicación consecutiva de los mencionados eventos (transformaciones simples). ILUSTRACIÓN MATRICES DE ROTACIÓN BÁSICAS ( ) [ ] ( ) [ ] ( ) [ ]
  • 29. INTERPRETACIÓN: EJEMPLO 1. Giro de un ángulo θ sobre el eje OZ 2. Giro de un ángulo φ sobre el eje OY 3. Giro de un ángulo α sobre el eje OX La matriz que representa el giro resultante, la obtenemos mediante la composición de las matrices básicas de rotación, y resulta ser: ( ) ( ) ( ) [ ] [ ] [ ]= [ ] NOTA: es preciso comentar, que el producto de matrices no es conmutativo, por lo que tampoco lo es la operación de composición de transformaciones. Para el caso en el que la situación obedezca a la inversión en el orden de aplicación de las transformaciones, el resultado obtenido es necesariamente distinto: ( ) ( ) ( ) [ ] [ ] [ ]= [ ]
  • 30. Las anteriores ilustraciones, nos impulsa a informar que los ejes sobre los que recaían las operaciones correspondían al sistema de referencia fijo OXYZ. Esto no impide la posibilidad de organizar un conjunto de matrices de transformación, que activen operaciones dirigidas de manera permanente al sistema que este moviéndose. Esto se logra enlazando matrices de manera inversa. Cuando se presenta una tarea robótica que impone la aplicación del recurso de la composición de varias transformaciones, en las que hay que apelar al uso de matrices homogéneas, se cuenta con algunas normas, ó los siguientes criterios: Si el sistema fijo (OXYZ) y el transformado (0’UVW) concuerdan, la matriz homogénea de transformación resulta ser la matriz identidad. (Matriz de orden 4) . Cuando el sistema transformado resulta de traslaciones y rotaciones definidas con respecto al sistema fijo, la matriz homogénea representativa de cada transformación, deberá pre-multiplicarse sobre las matrices de las respectivas transformaciones previas. Cuando el sistema transformado resulta de traslaciones y rotaciones definidas con respecto al sistema móvil, la matriz homogénea representativa de cada transformación, deberá post-multiplicarse sobre las matrices de las respectivas transformaciones previas. Las orientaciones mencionadas nos permiten argumentar, que para cualquier operación que incluya composición de matrices homogéneas, podemos tratarla como si se efectuara cada transformación con respecto al sistema de referencia fijo, o con respecto al sistema de referencia móvil. Finalmente, presentamos una ilustración grafica de un ejemplo de transformaciones diversas para localizar un objeto.
  • 31. LECCIÓN 5: CUATERNIOS La variedad de movimientos contemplados en cualquier faena habitual de los robots, engloba eventos compuestos por giros y cambios de orientación de naturaleza diversa y compleja. Esto hace que tengamos que disponer de recursos y herramientas matemáticas versátiles, que sean capaces de responder a las exigencias propias de las características mencionadas. Los cuaternios se constituyen en los dispositivos creados para tal fin, pudiendo ser empleados como herramienta analítica de gran efectividad y flexibilidad computacional, para tratar y ocuparse de los giros y orientaciones. Un cuaternio Q está constituido por cuatro componentes ( ) los cuales representan las coordenadas propias de cuaternio en la base {e, i, j, k}.
  • 32. Se denomina a la componente en e: , la parte escalar del cuaternio, y parte vectorial, al resto de componentes. De tal manera, que un cuaternio lo podemos representar así: ( ) En donde representamos por s a la parte escalar, y con v a la parte vectorial. Para aplicar los cuaternios como metodología de representación de orientaciones, asociamos el giro de un ángulo θ sobre el vector K al cuaternio y lo definimos como: ( ) ( ) Resumiendo, un cuaternio es un método compacto que nos permite representar una rotación en 3D, presentando ventajas computacionales, entre las cuales destacamos la velocidad y la robustez numérica. IMPLEMENTACIÓN COMPUTACIONAL: DESCRIPCIÓN PRELIMINAR Para implementar un cuaternio, establecemos su respectivo objeto, el cual tiene en Matlab un constructor, llamado quaternión. El empleo esta matizado por tres formas, a saber: la primera nos retorna un nuevo objeto con el mismo valor de su argumento. La segunda forma inicializa el cuaternio para una rotación del ángulo (theta) alrededor del vector v. La tercera forma establece los cuatro elementos del cuaternio de manera directa, para una rotación equivalente de la matriz de rotación 3x3, o la sub-matriz de rotación de una transformación homogénea 4x4.
  • 33. RESEÑA DE LOS OPERADORES COMUNES q1*q2: retorna el producto del cuaternio o su composición. q*v: retorna el producto vectorial del cuaternio, es decir, el vector v es rotado por el cuaternio. En este caso, ves un vector 3x3. inv (q): retorna la inversa del cuaternio. q1 / q2: retorna q1 * inv q2 norm (q): retorna la magnitud del cuaternio. plot (q): despliega una grafica de 3D q = quaternión ([s v1 v2 v3]): de 4 elementos. q = quaternión (v, theta): de un vector con su ángulo. q= quaternión (R): de una matriz 3x3 ó 4x4. q = quaternión (q): para otro cuaternio. CAPÍTULO II: OPERACIONES MATEMÁTICAS EN EL ENTORNO DE TRABAJO COMPUTACIONAL. LECCIÓN 1: OPERACIONES GENERALES SOBRE VECTORES. En MATLAB los vectores son variables que tienen nombres. EJERCICIOS ILUSTRATIVOS: DEFINICION DE UN VECTOR FILA Y VECTOR COLUMNA X= [15 25 35] % Vector fila X = 15 25 35
  • 34. Y= [15; 28; 26] % Vector columna. Y = 15 28 26 length(X) % Longitud del vector X. ans = 3 length (Y) % Longitud del vector Y ans = 3 X+Y % MATLAB TIENE EN CUENTA LA DIFERENCIA ENTRE VECTORES FILA Y COLUMNA ??? Error using ==> plus Matrix dimensions must agree. X+Y' % LA DIFICULTAD DESAPARECE SI SE SUMA X CON EL VECTOR TRASPUESTO DE Y ans = 30 -3 61 % OPERADOR DOS PUNTOS (:) a=1:10 % DEFINICION DEL VECTOR a a = 1 2 3 4 5 6 7 8 9 10
  • 35. b=1:3:12 b = 1 4 7 10 c=1:1.5:12 c = 1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000 d=8:1:1 d = 8 7 6 5 4 3 2 1 % FORMACION DE UNA TABLA DE FUNCIONES C= [0.0:pi/2:2*pi]'; F=sin(C); G=cos(C); [C F G] ans = 0 0 1.0000 1.5708 1.0000 0.0000 3.1416 0.0000 1.0000 4.7124 1.0000 0.0000 6.2832 0.0000 1.0000 % OPERACIONES ELEMENTALES Y DIVERSAS A=magic (4) A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1A (2,3) % Acceso a los elementos de la matriz mediante los índices de fila y columna. ans =
  • 36. 10 A(3,1:4) % Extrae los 4 primeros elementos de la tercera fila ans = 9 7 6 12 A(2,:) % Extrae los elementos de la segunda fila ans = 5 11 10 8 A(end,:) % Se extrae la cuarta fila ans = 4 14 15 1 A (2:4,:) % Extrae los elementos de las filas 2, 3 y 4 ans = 5 11 10 8 9 7 6 12 4 14 15 1 % OPERADORES DE DIVISION: Para un sistema de ecuaciones lineales Ax=b, en donde x y b son vectores columna, y A es una matriz cuadrada invertible. % x= inv(A)*b % x= Ab % EJERCICIOS ILUSTRATIVOS % 1) A=[2 4],b=[4] A=[2 4],b=[4] A = 2 4 b = 4
  • 37. x=A.b x = 2 1 % 2) A=[2 4;2 0;0 2], b=[4 0 0]' A=[2 4;2 0;0 2], b=[4 0 0]' A = 2 4 2 0 0 2 b = 4 0 0 x=Ab, resto=A*x-b x = 0.3333 0.6667 resto = 0.6667 0.6667 1.3333 % OPERADORES MATRICIALES (*, ^, y /) APLICAR ELEMENTO A ELEMENTO. [1 2 3 4 5]^2 ??? Error using ==> mpower Matrix must be square.
  • 38. [1 2 3 4 5]^2 ans = 1 4 9 16 25 [1 2 3 4 5]*[1 -1 1 -1 2] ??? Error using ==> mtimes Inner matrix dimensions must agree. [1 2 3 4 5]*[1 -1 1 -1 2] ans = 1 -2 3 -4 10 % DIRECCIONAMIENTO DE VECTORES A PARTIR DE VECTORES % LOS ELEMENTOS DE UN VECTOR SE PUEDEN DIRECCIONAR A PARTIR DE LOS DE OTRO VECTOR. v=[1 4 5] v = 1 4 5 Z=rand(1,) Z = 0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565 Z(v) ans = 0.9501 0.4860 0.8913 % INVERSION DEL ORDEN DE LOS ELEMENTOS DE UN VECTOR. Y=rand (1,7) Y = 0.0185 0.8214 0.4447 0.6154 0.7919 0.9218 0.7382
  • 39. J=Y(6:1:1) J = 0.9218 0.7919 0.6154 0.4447 0.8214 0.0185 % ALGUNAS OPERACIONES CON VECTORES % Sean los vectores a=[1 1.5 3];b=[2 2.5 2]; c=6; a=[1 1.5 3];b=[2 2.5 2]; c=6; a+c ans = 7.0000 7.5000 9.0000 a*c ans = 6 9 18 a.*b ans = 2.0000 3.7500 6.0000 a.^b ans = 1.0000 2.7557 0.1111 a.b ans = 2.0000 1.6667 0.6667 c.^a ans = 6.0000 14.6969 216.0000
  • 40. PRODUCTOS ESCALAR Y VECTORIAL a=[4;6;4; 2]; b=[6;16; 14;8]; c=dot(a,b) % PRODUCTO ESCALAR c = -112 a'*b ans = -112 A1=[18;12;26]; B1=[54; 22;24]; cross(A1,B1) % PRODUCTO VECTORIAL ans = -284 -1836 -1044 diary off LECCIÓN 2: OPERACIONES GENERALES SOBRE MATRICES. % En MATLAB las matrices son variables que tienen nombres. % DEFINICION DE MATRICES A=[1 2 3;4 5 6;7 8 9] A = 1 2 3 4 5 6 7 8 9
  • 41. % A partir de este momento la matriz A esta disponible para hacer cualquier tipo de operación con ella. % OPERACIONES INTRODUCTORIAS: EJERCICIOS ILUSTRATIVOS. % A’ A’ ans = 1 4 7 2 5 8 3 6 9 B=A' B = 1 4 7 2 5 8 3 6 9 B*A % Producto de matrices ans = 66 78 90 78 93 108 90 108 126 % DIRECCIONAMIENTO DE UNA MATRIZ g=[2 4];d=[1 3]; B=magic(5) B = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 B(g,d)
  • 42. ans = 23 7 10 19 g=[1 3 5 7] g = 1 3 5 7 B(g),B(3),B(5) ans = 17 4 11 5 ans = 4 ans = 11 % INVERSION DEL ORDEN DE LOS ELEMENTOS DE UNA MATRIZ L=magic(5) L = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 L(:,4:-1: 2) ans = 8 1 24 14 7 5 20 13 6 21 19 12 2 25 18
  • 43. % L(:) Representa un vector columna con las columnas de L una detrás de otra. % fliplr(L);INVIERTE EL ORDEN DE LAS COLUMNAS fliplr(L) 15 8 1 24 17 16 14 7 5 23 22 20 13 6 4 3 21 19 12 10 9 2 25 18 11 % OPERACIONES BASICAS CON MATRICES: EJERCICIOS ILUSTRATIVOS A=[4 6 3;5 10 0];B=[3 13 8;9 7 3];C=[3 6; 5 7; 8 7]; H=[2 5;4 9];p=2; A+B ans = 1 7 11 14 17 3 A-B ans = 7 -19 5 -4 3 -3 B-A ans = -7 19 5 4 -3 3 A*C ans = -42 39 65 -100
  • 44. C*A ans = -18 -78 9 -15 -100 15 3 118 -24 C*B ans = -63 -3 6 -78 16 19 87 -55 -43 B*C ans = -8 -17 38 -82 A/B ans = -0.3645 0.2523 0.2265 0.6839 AB ans = 0.3429 2.4571 1.4000 0.7286 -0.5286 -0.4000 0 0 0 BA ans = 0.2681 1.2464 -0.1522 0.3696 -0.1739 0.1957 0 0 0
  • 45. H^p ans = 4 25 16 81 p.^H ans = 4 32 16 512 H^p ans = 24 55 44 101 p^H ans = 1.0e+003 * 0.4455 1.0202 0.8162 1.8738 % OTRAS OPERACIONES CON MATRICES: EJERCICIOS ILUSTRATIVOS K=[1 2 3;4 5 6;7 8 9] K = 1 2 3 4 5 6 7 8 9 diag(K), inv(K), K', det(K),rank(K), trace(K), norm(K); size (K) ans = 1 5 9
  • 46. Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.541976e-018. ans = 1.0e+016 * -0.4504 0.9007 -0.4504 0.9007 -1.8014 0.9007 -0.4504 0.9007 -0.4504 ans = 1 4 7 2 5 8 3 6 9 ans = 0 ans = 2 ans = 15 ans = 3 3 % ALGUNAS MATRICES ESPECIALES ones(2,3) ans = 1 1 1 1 1 1
  • 47. ones(4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 zeros(2,3) ans = 0 0 0 0 0 0 zeros(3) ans = 0 0 0 0 0 0 0 0 0 eye(5) ans = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 eye(2,3) ans = 1 0 0 0 1 0 diary off
  • 48. LECCIÓN 3: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA: POSICIÓN Mediante las coordenadas homogéneas podemos representar de manera conjunta la posición y la orientación (localización). Partiendo de las coordenadas homogéneas, ingresamos al concepto de matriz de transformación homogénea. TRASLACION: Se trata de representar la posición y orientación de un sistema girado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ. Un vector trasladado es de la forma . La matriz homogénea de traslación es: T(p)= [1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1],la cual se denomina matriz básica de traslación. Un vector cualquiera r, representado en el sistema O'UVW, tendrá como componentes del vector con respecto al sistema OXYZ: [rx ry rz 1]'=[1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1]*[ru rv rw 1]'= [ru+px;rv+py;rw+pz+1] (1) Y a su vez, un vector rx, y, z desplazado según T tendrá como componentes r'x, y, z: [r'x r'y r'z 1]'=[1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1]* [rx ry rz 1]=[rx+px;ry+py;rz+pz;1] (2)
  • 49. EJERCICIOS ILUSTRATIVOS 1. Según la figura, en el sistema O'UVW esta trasladado un vector p (6, 3,8) con respecto al sistema OXYZ. Calcular las coordenadas (rx, ry, rz) del vector r cuyas coordenadas con respecto al sistema O'UVW son ruvw (2, 7,3). Solución: Procedemos a ingresar los valores y aplicamos la ecuación (I) Tp=[1 0 0 6;0 1 0 3; 0 0 1 8;0 0 0 1]; ruvw=[-2 7 3 1]'; rxyz=Tp*ruvw rxyz = 4 4 11 1 2. Calcular el vector r'xyz resultante de trasladar al vector rxyz(4,4,11)según la transformación T(p) con % p(6,3,8) (ver figura adjunta).
  • 50. Solución: Procedemos a ingresar los valores y aplicamos la ecuación (II) Tp=[1 0 0 6;0 1 0 3; 0 0 1 8;0 0 0 1]; rxyz=[4 4 11 1]'; r1xyz=Tp*rxyz r1xyz = 10 1 19 1 diary off
  • 51. LECCION 4: MATRICES DE TRANSFORMACION HOMOGENEA: ROTACION En esta situación corresponde definir tres matrices homogéneas básicas según se realice ésta de acuerdo a cada uno de los tres ejes coordenados OX, OY y OZ del sistema de referencia OXYZ: % T(x,a)=[1 0 0 0;0 cosa -sena 0;0 sena cosa 0;0 0 0 1], (I) % T(y,b)=[cosb 0 senb 0;0 1 0 0;-senb 0 cosb 0;0 0 0 1], (II) % T(z,c)=[cosc -senc 0 0;senc cosc 0 0;0 0 1 0;0 0 0 1], (III) Un vector cualquiera r, representado en el sistema girado O'UVW por ruvw, tendrá como componentes (rx, ry, rz) en el sistema OXYZ las siguientes: [rx ry rz 1]'=T[ru rv rw 1]' (IV) Y a su vez un vector rxyz rotado según T vendrá expresado por r'x,y,z según: [r'x r'y r'z 1]'=T[rx ry rz 1]' (V) TRASLACIÓN JUNTO CON ROTACIÓN La traslación y la rotación son transformaciones que se realizan en relación a un sistema de referencia. ROTACIÓN SEGUIDA DE TRASLACIÓN Se trata de realizar primero una rotación sobre uno de los ejes del sistema OXYZ seguida de una traslación, las matrices homogéneas serán las que a continuación se expresan: Rotación de un ángulo a sobre el eje OX seguido de una traslación de vector pxyz:
  • 52. % T((x,a),p)= [1 0 0 px;0 cosa sena py;0 sena cosa pz;0 0 0 1] (VI) % T((y,b),p)= [cosb 0 senb px;0 1 0 py;senb 0 cosb pz;0 0 0 1] (VII) % T((z,c),p)= [cosc senc 0 px;senc cosc 0 py;0 0 1 pz;0 0 0 1] (VII) EJERCICIOS ILUSTRATIVOS 1. Según la figura adjunta, el sistema 0UVW se encuentra girado -90 grados alrededor del eje OZ con respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si ruvw=[4,8,12]' Solución: Procedemos a ingresar los valores inicialmente para construir la matriz T(z,c), ecuación (III). Tzc=[0 1 0 0;1 0 0 0;0 0 1 0;0 0 0 1], y luego construimos la matriz ruvw utilizando la información entregada [ru rv rw 1]'= ruvw=[4,8,12,1]'. Luego aplicamos [rx ry rz 1]'=T[ru rv rw 1]' , ecuacion (IV) Tzc=[0 1 0 0;1 0 0 0;0 0 1 0;0 0 0 1] Tzc = 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1
  • 53. % [rx ry rz 1]'=T[ru rv rw 1]' % [ru rv rw 1]'=[4,8,12,1]' ruvw=[4,8,12,1]' ruvw = 4 8 12 1 rxyz=Tzc*ruvw rxyz = 8 4 12 1 EMPLEANDO COMANDOS ESPECIALES t1=rotz(-pi/2) t1 = 0.0000 1.0000 0 0 -1.0000 0.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 ruvw=[4 8 12 1]' ruvw = 4 8 12 1
  • 54. rxyz=t1*ruvw rxyz = 8.0000 - 4.0000 12.0000 1.0000 2. Un sistema OUVW ha sido girado 90 grados alrededor del eje OX y posteriormente trasladado un vector p(8,-4,12) con respecto al sistema OXYZ (figura adjunta). Calcular las coordenadas (rx,ry,rz) del vector r con coordenadas ruvw(-3,4,-11). Solución: Procedemos a ingresar los valores inicialmente para construir la matriz T(z,c),ecuación (III). Procedemos a utilizar la ecuación [rx ry rz 1]'=T[ru rv rw 1]' ecuación (IV). En donde, la matriz de transformación, T((x,a),p)= [1 0 0 px;0 cosa –sena py;0 sena cosa pz;0 0 0 1] (VI)
  • 55. Queda así: Txa=[1 0 0 8;0 0 -1 -4;0 1 0 12;0 0 0 1] Txa = 1 0 0 8 0 0 1 4 0 1 0 12 0 0 0 1 [ru rv rw 1]'= ruvw=[-3,4, -11,1]' % Ahora ya podemos aplicar [rx ry rz 1]'=T[ru rv rw 1]' , ecuación (IV). Txa=[1 0 0 8;0 0 -1 -4; 0 1 0 12;0 0 0 1] Txa = 1 0 0 8 0 0 1 4 0 1 0 12 0 0 0 1 ruvw=[3,4,11,1]' ruvw = 3 4 11 1 rxyz=Txa*ruvw rxyz = 5 7 16 1 diary off
  • 56. LECCIÓN 5: MATRICES DE TRANSFORMACIÓN HOMOGÉNEA: TRASLACIÓN SEGUIDA DE ROTACIÓN Se trata de realizar primero una traslación seguida de una rotación sobre los ejes coordenados del sistema OXYZ. Las matrices homogéneas resultantes son las siguientes: Traslación del vector px, y, z seguida de rotación de un ángulo a sobre el eje OX. T(p,(x,a))= [1 0 0 px;0 cosa sena pycosapzsena;0 sena cosa pysena+pzcosa;0 0 0 1] (I) Traslación del vector px, y, z seguida de rotación de un ángulo b sobre el eje OY. T(p,(y,b))= [cosb 0 senb pxcosb+pzsenb;0 1 0 py;senb 0 cosb pzcosbpxsenb;0 0 0 1] (II). Traslación del vector px, y, z seguida de rotación de un ángulo c sobre el eje OZ. T(p,(z,c))=[cosc senc 0 pxcoscpysenc;senc cosc 0 pxsenc+pycosc;0 0 1 pz;0 0 0 1] (III). PERSPECTIVA Y ESCALADO Cuando en las componentes de un vector es posible la realización de un escalado, podemos aplicar las matrices homogéneas. Para lograr esto, es suficiente emplear una matriz del tipo: T=[a 0 0 0;0 b 0 0;0 0 c 0; 0 0 0 1]. El caso típico es transformar el vector r(x, y, z) en el vector r (ax, by, cz). Si se trata de hacer un escalado global de las tres componentes, tenemos el recurso apropiado con la matriz T=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 s].
  • 57. EJERCICIOS ILUSTRATIVOS 1. Un sistema OUVW ha sido trasladado un vector p(8,-12,-4) con respecto al sistema OXYZ y girado 90 grados alrededor del eje OX (figura adjunta). Calcular las coordenadas (rx,ry,rz)del vector r de coordenadas ruvw (- 3,4,11). Solución: Procedemos a ingresar los valores inicialmente para construir la matriz T(p,(x,a)),ecuación (I). Tpxa=[1 0 0 8;0 0 -1 -12; 0 1 0 -4; 0 0 0 1] Y luego construimos la matriz [ru rv rw 1]'= ruvw=[3,4, 11,1]' Ahora ya podemos aplicar [rx ry rz 1]'=T[ru rv rw 1]' Tpxa=[1 0 0 8;0 0 1 12; 0 1 0 4; 0 0 0 1]
  • 58. Tpxa = 1 0 0 8 0 0 1 12 0 1 0 4 0 0 0 1 ruvw=[3,4,11,1]' ruvw = 3 4 11 1 rxyz=Tpxa*ruvw rxyz = 5 1 0 1 2. Composición de matrices homogéneas: Se quiere obtener la matriz de transformación que representa al sistema O'UVW obtenido a partir del sistema OXYZ mediante un giro de ángulo de -90 grados alrededor del eje OX, de una traslación de vector p(x, y, z) , (5,5,10) y un giro de 90 grados sobre el eje OZ. Solución: Procedemos a ingresar los valores de la matriz T(p): Tp=[1 0 0 5;0 1 0 5;0 0 1 1 0;0 0 0 1] Y empleando comandos especiales de ejecución directa: Tp=[1 0 0 5;0 1 0 5;0 0 1 10;0 0 0 1]
  • 59. Tp = 1 0 0 5 0 1 0 5 0 0 1 10 0 0 0 1 rotz(pi/2),rotx(-pi/2) ans = 0.0000 -1.0000 0 0 1.0000 0.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 ans = 1.0000 0 0 0 0 0.0000 1.0000 0 0 -1.0000 0.0000 0 0 0 0 1.0000 % Ahora se procede a aplicar T=T(z,90 grados)T(p)T(x,-90 grados) T=rotz(pi/2)*Tp*rotx(pi/2) T = 0.0000 -0.0000 -1.0000 -5.0000 1.0000 0.0000 0.0000 5.0000 0 -1.0000 0.0000 10.0000 0 0 0 1.0000 diary off
  • 60. CAPITULO III: IMPLEMENTACIONES COMPUTACIONALES. LECCIÓN 1: REPRESENTACIÓN DE LA POSICIÓN: EJECUCIONES COMPUTACIONALES. A. Representación de un cuadro de referencia {A}, a partir del cual referiremos los cuadros de los ejemplos siguientes: TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] TA = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 frame ( TA , ' r ' , 1) ; grid on
  • 61. B. Representación de dos cuadros de referencia {B} y {C}, generados a partir de {A}, mediante traslación. {B} será trasladado a las coordenadas (3, 5, 0) {C} será trasladado a las coordenadas (2, 4, 1) TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ; TB = transl ( 3 , 5, 0 ) TB = 1 0 0 3 0 1 0 5 0 0 1 0 0 0 0 1 TC = transl ( -2, -4, 1 ) TC = 1 0 0 2 0 1 0 4 0 0 1 1 0 0 0 1
  • 62. frame ( TA , ' r ' , 1 ) ; frame ( TB , ' b' , 1 ) , grid ; frame ( TC , ' k', 1) , grid ;
  • 63. TRANSFORMACIÓN TRANSLACIONAL: EJERCICIO Según la figura, el sistema 0'UVW esta trasladado un vector p(6, 3, 8) con respecto al sistema OXYZ . Calcular las coordenadas ( rx , ry , rz ) del vector r, cuyas coordenadas con respecto al sistema O ' UVW son ruvw ( -2 , 7 , 3 ) . SOLUCIÓN: TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ; TB = transl ( 6 , -3, 8 ) TB = 1 0 0 6 0 1 0 -3 0 0 1 8 0 0 0 1 frame (TA , ' b ', 1 )
  • 64. frame ( TB , ' r ', 1) r uvw = [ -2 7 3 1 ] ' rx ry rz = TB * [ 2 7 3 1] ' rx ry rz = 4 4 11 1 diary off
  • 65. LECCIÓN 2: REPRESENTACIÓN DE LA ORIENTACIÓN, EJECUCIONES COMPUTACIONALES A. Representación de un cuadro de referencia {A}, a partir del cual referiremos los cuadros de los ejemplos siguientes: TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] B. Representación de dos cuadros de referencia {B} y {C}, generados a partir de {A} mediante rotación: frame ( TA, ' r ' , 1) ; grid on {B} será rotado 30 grados en torno al eje X {C} será rotado 60 grados en torno al eje Z Por lo tanto, las tareas a ejecutar serian: TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ; TB = rotx ( pi /6 ) * TA; TC = rotz ( pi / 3 ) * TA ; frame ( TA , ' b ', 1)
  • 66. frame ( TB , ' g ' , 1 ) frame ( TC , ' y ', 1 )
  • 67. TRANSFORMACIÓN ROTACIONAL: EJERCICIO El sistema OUVW se encuentra girado 90 grados alrededor del eje OZ con respecto al sistema OXYZ. Calcular las coordenadas del vector rxyz si ruvw = [4 8 12 ] '. SOLUCION TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] ; 1 = rotz ( pi/2 ) T1 = 0.0000 1.0000 0 0 1.0000 0.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 frame ( TA , ' b ', 1 )
  • 68. frame ( T1 , ' g ',1 )Y rxryrz = T1 * [ 4 8 12 1 ] ' rxryrz = 8.0000 -4.0000 12.0000 1.0000 diary off
  • 69. LECCIÓN 3: REPRESENTACIÓN DE LA POSICIÓN Y ORIENTACIÓN: EJECUCIONES COMPUTACIONALES A. Representación de un cuadro de referencia {A}, a partir del cual referiremos los cuadros de los siguientes ejemplos: TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ] TA = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 frame ( TA , ' y ' , 1) ; grid on
  • 70. B. Representación de dos cuadros de referencia {B} y {C}, generados a partir de {A} mediante rotación y traslación. {B} será rotado 30 grados en torno al eje X y trasladado a las coordenadas (3 , 5, 0). {C} será rotado 60 grados en torno al eje Z y trasladado a las coordenadas (2, 4, 1). Por lo tanto, las tareas a ejecutar serian: TB=transl ( 3 , 5, 0 ) * rotx ( p i / 6 ) * TA ; TA =transl ( 2, 4, 1 ) * rotz ( pi / 3 ) * TA ; frame ( TA, ' y', 1) ; frame ( TB, ' b ', 1) ;
  • 71. frame ( TC, ' r ', 1) ; diary off
  • 72. LECCIÓN 4: CONCATENACIÓN DE LAS OPERACIONES DE TRASLACIÓN Y ORIENTACIÓN, EJECUCIONESCOMPUTACIONALES A. Traslación pura de 0.4 m en la dirección del eje X. T=transl( 0.4, 0 , 0 ) T = 1.0000 0 0 0.4000 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 frame ( T , ' g ' , 1 ) ;
  • 73. B. Rotación de 90 grados en torno al eje Y. T =roty(pi/2) T = 0.0000 0 1.0000 0 0 1.0000 0 0 1.0000 0 0.0000 0 0 0 0 1.0000 frame ( T , ' y ', 1 ) ; C. Rotación de 90 grados en torno al eje Z T=rotz(pi/2) 0.0000 1.0000 0 0 1.0000 0.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 frame ( T , ' b ', 1 ) ;
  • 74. C. Concatenar las tres operaciones anteriores. T=transl(0.4, 0, 0)*roty(pi/2)*rotz(pi/2) T = 0.0000 0.0000 1.0000 0.4000 1.0000 0.0000 0 0 0.0000 1.0000 0.0000 0 0 0 0 1.0000 frame ( T , ' r ', 1 ) ;
  • 75. LECCIÓN 5: ÁNGULOS DE EULER: EJECUCIONES COMPUTACIONALES Calcular los ángulos de Euler ZYZ de la transformación resultantes. Traslación pura de 0.4 m en la dirección del eje X. T=transl(0.4, 0,0) T = 1.0000 0 0 0.4000 0 1.0000 0 0 0 0 1.0000 0 0 0 0 1.0000 A. Rotación de 90 grados en torno al eje Y T=roty(pi/2) T = 0.0000 0 1.0000 0 0 1.0000 0 0 1.0000 0 0.0000 0 0 0 0 1.0000 B. Rotación de -90 grados en torno al eje Z. T=rotz(-pi/2) T= 0.0000 1.0000 0 0 -1.0000 0.0000 0 0 0 0 1.0000 0 0 0 0 1.0000
  • 76. C. Concatenar las tres operaciones anteriores. T=transl( 0.4, 0, 0)*roty(pi/2)*rotz(-pi/2) T = 0.0000 0.0000 1.0000 0.4000 -1.0000 0.0000 0 0 -0.0000 -1.0000 0.0000 0 0 0 0 1.0000 D. Calcular los ángulos de Euler ZYZ de la transformación resultante. tr2eul ( T ) ans = 0 1.5708 -1.5708 RESULTADO = [0 1.5708 -1.5708] E. Ángulos RPY : Roll, pitch and yaw ( alabeo, cabeceo y guinada) Esta representación es la más empleada cuando se trata de la aplicación de giros sobre los ejes del sistema fijo. Si partimos de los sistemas OXYZ y OUVW, nos corresponde colocar al sistema OUVW en cualquier orientación siguiendo los pasos siguientes (ver figura).
  • 77. 1. Girar el sistema OUVW un ángulo θ con respecto al eje OX. A este ángulo se le llama Yaw o guiñada. 2. Girar el sistema OUVW un ángulo φ con respecto al eje OY. A este ángulo se le llama Pitch o cabeceo. 3. Girar el sistema OUVW un ángulo con respecto al eje OZ. A este ángulo se le llama Roll o alabeo. Como ya hemos considerado, y de manera general podemos afirmar, que cuando concatenamos varios giros seguidos, tenemos que tener muy presente, que no podemos tratarlos como transformaciones conmutativas, por lo que hemos de seguir la secuencia establecida para los mismos. F. Calcular los ángulos RPY de la misma transformación. tr2rpy ( T ) ans = -1.5708 0.0000 -1.5708 RESULTADO = [-1.5708 0.0000 -1.5708] diary off
  • 78. SEGUNDA UNIDAD MODELADO CINEMÁTICO Y DINÁMICO DE UN ROBOT CAPITULO 1: CINEMÁTICA DEL ROBOT INTRODUCCIÓN La física nos permite entender, a la cinemática como el estudio del movimiento sin tener en cuenta, las fuerzas que lo producen. Tomando esto en consideración, surge el compromiso de emprender el estudio tanto de las propiedades geométricas, como de las temporales del movimiento. En este espacio, hemos de estimar, además del problema estrictamente geométrico comprometido en el posicionamiento estático, los efectos correspondientes a las variaciones de carácter temporal, en lo referente a las posiciones y también a las orientaciones; con esto nos estamos refiriendo a las velocidades. Cuando estudiamos el fenómeno del movimiento, hemos de referirnos a un sistema de referencia. Resulta habitual, dada la naturaleza del tema, contar con un plan para controlar el movimiento de un manipulador; en cuyo caso, se hace necesario establecer técnicas para representar la posición del brazo, en puntos, en relación con el tiempo. El manipulador del robot se determina empleando dos elementos básicos: articulaciones y enlaces. Cada articulación representa un grado de libertad. Las articulaciones pueden ocasionar un movimiento lineal (articulación tipo L) o un movimiento rotacional (articulaciones tipos R, T y V) entre los enlaces adyacentes. En los modelos geométricos y cinemáticos se involucra de manera substancial el tratado de las relaciones existentes entre el espacio de las variables articulares y el espacio de trabajo, llamado también, espacio operacional, el cual suele ser un espacio cartesiano. De manera general, el espacio de las variables articulares tendrá n dimensiones, por lo que se utilizara un vector de dimensión n para especificar la posición y orientación del robot. El espacio de trabajo de un manipulador tendrá dimensión seis, por lo que se requieren seis valores para especificar la posición y la orientación. Cuando se trata de manipuladores
  • 79. planares, o en robots móviles que navegan en el plano, será suficiente con un espacio de dimensión tres, para precisar la posición y el ángulo de orientación. En nuestro caso, cuando tenemos que abordar el estudio de la cinemática del robot, hemos de procurar describir de manera analítica, el movimiento del robot como una función del tiempo, teniendo que emplear los valores que toman sus coordenadas articulares, en virtud de las relaciones existentes entre la posición y la orientación del extremo final del robot. En la cinemática del robot, los problemas a resolver se reducen al conocido como problema cinemático directo, y al cinemático inverso. El primero consiste en determinar cuál es la posición y orientación del robot, con respecto a un sistema de coordenadas que se toma como referencia, teniendo conocidos los valores de las articulaciones y los parámetros geométricos de los elementos del robot. El segundo, nos permite solucionar la configuración que debe adoptar el robot para una posición y orientación del extremo conocidas. Finalmente tenemos que agregar, que la cinemática del robot está comprometida con obtener las relaciones entre las velocidades del movimiento de las articulaciones y las del extremo. Esta relación se encuentra contemplada por el modelo diferencial, el cual es declarado mediante la matriz Jacobiana. LECCIÓN 1: EL PROBLEMA CINEMÁTICO DIRECTO DEL MANIPULADOR En menciones anteriores, hemos apreciado la utilización permanente del algebra vectorial y matricial, cuando requerimos describir la localización de un objeto en el espacio de tres dimensiones con respecto a un sistema de referencia fijo. Por la naturaleza del modo de operación de un robot, lo podemos considerar como una cadena cinemática constituida por objetos rígidos o eslabones ligados entre sí mediante articulaciones. De esta manera, podemos establecer un sistema de referencia fijo situado en la base del robot y adelantar la descripción de la localización de cada uno de los eslabones con respecto a dicho sistema de referencia. En estas circunstancias, el problema cinemático directo se resume a encontrar una matriz homogénea de
  • 80. transformación T, la cual relaciona la posición y orientación del extremo del robot, respecto al sistema de referencia fijo situado en la base del mismo. Esta matriz T se expresa como función de las coordenadas articulares. SOLUCION DEL PROBLEMA CINEMATICO DIRECTO: MATRICES DE TRANSFORMACION HOMOGENEA El tipo de problema que nos hemos propuesto tratar y resolver, se refiere a encontrar las relaciones que hacen posible obtener la localización espacial del extremo del robot, a partir de los valores de sus coordenadas articulares. De esta manera, procedemos a elegir coordenadas cartesianas y ángulos de Euler, con los que logramos representar la posición y orientación del extremo de un robot de seis grados de libertad. Las relaciones que nos permiten resolver el problema cinemático directo son: ( ) ( ) ( ) ( ) ( ) ( ) Estas relaciones se obtienen mediante simples consideraciones geométricas. Por ejemplo, para el caso de de un robot de con dos grados de libertad (GDL), nos resulta: ( )
  • 81. ( ) Robot planar de dos grados de libertad. De manera general, un robot con n grados de libertad está constituido por n eslabones unidos también por n articulaciones, de tal manera que cada par de articulación –eslabón, conforma un grado de libertad. De esta manera, a cada eslabón se le asocia un sistema de referencia solidario a él y, empleando las transformaciones homogéneas, podemos representar las rotaciones y traslaciones relativas, entre los distintos eslabones que componen el robot. La matriz de transformación homogénea que representa tanto la posición como la orientación, la denominamos matriz . Considerando todos los grados de libertad, a la matriz se le denomina matriz T. Si queremos ilustrar un robot de seis grados de libertad, la posición y orientación están dados por la matriz T: Cuando tratamos de describir la relación entre dos elementos contiguos, hacemos uso de cualquier sistema de referencia ligado a cada elemento.
  • 82. Generalmente en robótica utilizamos la representación de Denavit-Hartenberg (DH), que se refiere a un método matricial con el cual establecemos de manera sistemática un sistema de coordenadas ligado a cada eslabón i de una cadena articulada, permitiendo seguidamente establecer las ecuaciones cinemáticas de la cadena completa. Mediante esta representación, podemos escoger adecuadamente los sistemas de coordenadas relacionados con cada eslabón, haciendo posible pasar de uno al siguiente a través de 4 transformaciones básicas, las cuales dependen exclusivamente de las características geométricas del eslabón. Estas transformaciones básicas estriban en una sucesión de rotaciones y traslaciones, que permiten vincular al sistema de referencia i con el sistema del elemento i - 1. Las transformaciones citadas son las siguientes: 1. Rotación alrededor del eje un ángulo . 2. Traslación a través de una distancia di; esto es un vector el cual se expresa como di(0, 0, di). 3. Traslación a través de una distancia ; cuyo vector es (0, 0, ). 3. Rotación alrededor del eje un ángulo . Conviene tener presente que el producto de matrices no es conmutativo, por lo que las transformaciones se deben ejecutar en el orden indicado. Es por esto, que la ejecución de las operaciones debe cumplir el siguiente formato: ( ) ( ) ( ) ( )
  • 83. El producto entre las matrices comprometidas se expresa así: [ ] [ ] [ ] [ ] NOTA: son los parámetros DH del eslabón i. Todo indica que la tarea a seguir consiste en identificar los parámetros para obtener las matrices A y de esta manera vincular todos y cada uno de los eslabones del robot. Los cuatro parámetros de ( ) están sujetos únicamente a las características geométricas de cada eslabón y de las articulaciones que le unen con las adyacentes, es decir, el anterior y el siguiente. Esto lo visualizamos en la figura siguiente. Figura 2. Parámetros DH para un eslabón giratorio.
  • 84. Con la matriz T ya obtenida, tendremos expresada la orientación requerida, mediante una sub-matriz (3 X 3) de rotación, y conjuntamente la posición, en una sub-matriz (3 X 1) de traslación, del extremo del robot, en función de las coordenadas articulares, quedando de esta manera, resuelto el problema cinemático directo. EJEMPLO ILUSTRATIVO: ROBOT CILINDRICO Los correspondientes parámetros DH para este robot, quedan expresados en la tabla siguiente: Articulación d a 1 0 0 2 90 0 90 3 0 0 0 4 0 0
  • 85. LECCIÓN 2: CINEMÁTICA INVERSA DEL MANIPULADOR COMENTARIOS INICIALES En nuestro afán por estructurar y conocer los aspectos de la configuración de los robots, dentro de lo cual hace parte los aspectos de la localización espacial, se hace indispensable que su extremo se posicione y oriente. En la mayor parte de las aplicaciones, interesa definir los movimientos del robot en el espacio cartesiano de manera relacionada con la tarea que se intenta adelantar. Por lo tanto, para el control del robot se requiere obtener los valores de las variables articulares, de tal manera que la posición y orientación del robot, o en particular de su efector final, sea la deseada. En este punto, surge el compromiso de encontrar los valores que deben asumir las coordenadas articulares del robot [ ], labor esta que se constituye en el objetivo central de problema cinemático inverso. De manera directa y concisa, podemos conjeturar que la obtención de las respectivas ecuaciones, esta intensamente subordinado a los elementos propios de la configuración del robot. Tratando de encontrar procedimientos para aliviar las dificultades inherentes al problema, se han presentado propuestas de solución de índole diversa, pero estas conllevan inconvenientes que generan limitaciones apreciables. La mayor parte de los robots suponen cinemáticas relativamente simples, lo que facilita en cierta medida la solución de su problema cinemático inverso. Es a este tipo de problemas a los que nosotros daremos atención y dedicación. ASPECTOS GENERALES DEL PROBLEMA Si consideramos solo los tres primeros grados de libertad de la mayoría de los robots, estos presentan una estructura planar, es decir, los tres primeros elementos quedan contenidos en un plano. Este detalle hace muy asequible encontrar la solución del problema. Adicionalmente, cabe mencionar que en muchos robots se observa que los tres grados de libertad últimos, en lo
  • 86. referente a la orientación del extremo del robot, corresponden a giros sobre ejes que se cortan en un punto. Nuevamente, este pormenor hace viable el cálculo de la nupla correspondiente tanto a la posición como a la orientación requerida. Es por esto que podemos establecer algunos derroteros generales que nos concedan elementos adecuados para plantear y resolver el problema cinemático inverso de una manera ordenada y jerarquizada. Los métodos geométricos encauzan la obtención de los valores de las primeras variables articulares, las cuales se encargan de posicionar el robot (descartando la orientación de su extremo). Para esto acudimos al empleo de relaciones geométricas y trigonométricas sobre los elementos del robot. También en algunas ocasiones apelamos a la resolución de triángulos que se forman a través de los elementos y articulaciones del robot. Buscando alternativas que permitan resolver el mismo problema, se encuentra que se hace posible cuando manipulamos de manera directa las ecuaciones correspondientes al problema inverso. Por esta ruta logramos la siguiente relación: n o a p 0 0 0 1 = tij Los elementos tij están en función de las coordenadas articulares, por lo que es factible mediante ciertas combinaciones de las 12 ecuaciones establecidas, despejar las n variables articulares en función de las componentes de los vectores. RESOLUCION DEL PROBLEMA CINEMATICO INVERSO POR METODOS GEOMETRICOS Como mencionamos anteriormente, usamos este procedimiento cuando tratamos robots de pocos grados de libertad, o cuando todo indica considerar únicamente los primeros grados de libertad, encargados de posicionar el extremo. La base de este procedimiento establece que hay que encontrar un suficiente número de relaciones geométricas, en las que participan las coordenadas del extremo del robot, sus coordenadas articulares y las dimensiones físicas de sus consabidos elementos.
  • 87. Para aplicar el método de resolución del problema cinemático inverso de un robot con 3 GDL de rotación, emplearemos una estructura típica articular. Esta figura nos permite visualizar la configuración del robot. Figura 3. Robot articular El dato de partida son las coordenadas ( ) referidas a { en las que se intenta posicionar su extremo. La estructura de este robot es planar, en donde el plano está determinado por el ángulo de la primera variable articular . El valor adquirido por lo obtenemos de manera automática empleando: ( )
  • 88. Cuando tenemos presente solamente los elementos 2 y 3 que se encuentran situados en un plano (figura 4a), y utilizando el conocido teorema del coseno, nos encontramos con las expresiones siguientes: Figura 4. Ilustrativa de los elementos 2 y 3 del robot de la figura 3. Ejecutando la ecuación anterior, logramos obtener en virtud del vector de posición p. Sin embargo, y por razón de ventajas computacionales, resulta más conveniente usar la expresión de la arco-tangente en lugar del coseno. Por lo que significa √
  • 89. (9) Se llega a obtener ( √ ) Con (10) Es fácil apreciar que existen dos soluciones posibles para de acuerdo al tipo de signos que escojamos en la raíz (positivo o negativo). Estos casos corresponden a las configuraciones de codo arriba y codo abajo. LECCIÓN 3: RESOLUCION DEL PROBLEMA CINEMATICO INVERSO MEDIANTE LA MATRIZ DE TRANSFORMACIÓN HOMOGÉNEA En este apartado abordamos el proceso dirigido a un robot de 3 GDL de configuración esférica (2 giros y un desplazamiento), situación que ilustramos en la presente figura. El robot queda siempre incluido en un plano el cual está determinado por el ángulo Figura 5. Robot polar de 3 GDL
  • 90. Para resolver el problema cinemático inverso, iniciamos obteniendo la expresión (6) correspondiente a este robot. Esto equivale a obtener la matriz T, con la que relacionamos el sistema de referencia S0 correspondiente a la base, con el sistema respectivo de referencia S3. En la siguiente figura, podemos apreciar la asignación de los sistemas de referencia de acuerdo a los criterios de Denavit-Hartenberg con el robot que está situado en su posición de partida ( ) y adicionalmente la tabla nos muestra los valores de los parámetros apropiados de Denavit-Hartenberg. Figura 6. Asignación de sistemas de referencia del robot polar de la figura 5. Articulación d a 1 0 90 2 0 0 -90 3 0 0 0
  • 91. Tomando en consideración estos parámetros, de manera ágil obtenemos las matrices A y la matriz T. [ ] [ ] [ ] [ ] [ ] Los pasos siguientes, nos orientan a poder manipular directamente las 12 ecuaciones resultantes de T, con el propósito de de poder despejar en términos de n, o, a p. Este camino resulta inapropiado, por lo que optamos por el procedimiento siguiente: Debido a que , tendremos que: ( ) (16) Dado que: [ ] Ya conocida, los miembros a la izquierda en las expresiones (16) son función de las variables articulares ( ). Mediante algunas consideraciones, tendremos ; luego a partir de , llegamos al valor de , en ambas situaciones haciendo manipulaciones en la ecuación (16). Finalmente, conocidos y podremos obtener haciendo uso de la expresión (6). Este procedimiento lo indicamos de manera abreviada así:
  • 92. [ ] [ ] (17) Luego encontramos: [ ] [ ] [ ] (18) Por consiguiente, empleando la primera de las ecuaciones de (16) llegamos a tener: ( ) [ ] De las relaciones anteriores establecidas en la ecuación anterior nos interesan aquellas que expresan en función de constantes (y no de ). Empleando [ ] llegamos a tener:
  • 93. ( ) (20) Empleando ahora la segunda de las ecuaciones de (16) llegamos a obtener: ( ) ( ) [ ] De manera sucesiva llegamos a las expresiones siguientes: ( ) √( ) ( ) (23) Llegando por último a: ( ) √( ) ( ) (24) Resumiendo, las expresiones 20, 23 y 24 se refieren a la solución del problema cinemático inverso de nuestro robot considerado. Las colocamos de manera despejada y grupal:
  • 94. ( ) √( ) ( ) ( ) √( ) ( ) (25) LECCIÓN 4: MATRIZ JACOBIANA DEL MANIPULADOR Como pudimos darnos cuenta, el estudio del modelado cinemático de un robot, pretende hallar las relaciones que puedan existir entre las variables articulares y la posición (lo cual se expresa normalmente en forma de coordenadas polares) y orientación del extremo del robot. En este evento no se consideran las fuerzas o pares que actúan sobre el robot (actuadores, cargas, fricciones, etc.) y que pueden causar el movimiento del mismo. Conviene poder tener acceso a la relación entre las derivadas respectivas. Es decir, el sistema de control debe estar en condiciones de poder registrar las velocidades adquiridas en cada articulación (a través de sus respectivos actuadores), de tal manera que el extremo desarrolle una trayectoria temporal concreta. Para cumplir con este y otros propósitos, hemos de contar con la respectiva relación que involucre las velocidades de las coordenadas articulares, las de posición y orientación del extremo del robot. La relación que cobija ambos vectores de velocidad se deriva a través de la denominada matriz Jacobiana.
  • 95. RELACIONES DIFERENCIALES La forma más directa para deducir la relación entre las velocidades articulares y las del extremo del robot, se hace diferenciando las ecuaciones correspondientes al modelo cinemático directo. Se trata de partir conociendo las ecuaciones que solucionan el problema cinemático directo de un robot de n GDL (grados de libertad): Mediante el empleo de la matriz Jacobiana podemos conocer las velocidades del extremo del robot mediante las velocidades de cada articulación. ( ) ( ) ( ) ( ) ( ) ( ) Si estas expresiones las derivamos respecto al tiempo, llegamos a tener: ̇ ∑ ̇ ̇ ∑ ̇ ̇ ∑ ̇
  • 96. ̇ ∑ ̇ ̇ ∑ ̇ ̇ ∑ ̇ Estas expresiones podemos presentarlas en forma matricial: [ ̇ ̇ ̇ ̇ ̇ ̇] [ ̇ ̇ ] [ ] La matriz J puesta en escena, es conocida como matriz Jacobiana. Debido a que el valor numérico de cada uno de los elementos [ ] de la Jacobiana, está en función de las coordenadas articulares por lo que el valor de la Jacobiana será diferente en cada uno de los puntos del espacio articular. JACOBIANA INVERSA De igual manera que obtenemos la relación directa, mediante la cual se facilita el cálculo de las velocidades del extremo a partir de las velocidades articulares, es pertinente obtener la relación inversa, por medio de la cual podemos calcular las velocidades articulares partiendo de las del extremo. Esto es factible mediante el concurso de procedimientos diferentes. MÉTODOS DE CÁLCULO DE LA JACOBIANA INVERSA.  Inversión simbólica de la matriz Jacobiana. - Gran complejidad (matriz 6x6).
  • 97.  Evaluación numérica de J e inversión numérica - Necesidad de un re-computo continuo. - En ocasiones J no es cuadrada matriz pseudoinversa. - En ocasiones | J | = 0  A partir del modelo cinemático inverso. [ ( ) ( )] [ ̇ ̇ ] [ ̇ ̇ ] [ ] Es posible que este método resulte algebraicamente complicado, por lo que conviene apelar a otras opciones, haciendo uso de procedimientos numéricos para el cálculo ágil de la Jacobiana. CONFIGURACIONES SINGULARES Denominamos configuraciones singulares de un robot, a todas aquellas en las que el determinante de su matriz Jacobiana se anula. En virtud de esto, en las configuraciones singulares no puede existir Jacobiana inversa.  Aquellas en las que | J | = 0 (Jacobiano nulo).  Incremento infinitesimal de coordenadas cartesianas implica incremento infinito coordenadas articulares.  Implica perdida de algún grado de libertad.  Tipos: - Singularidades en los límites del espacio de trabajo del robot. - Singularidades en el interior del espacio de trabajo del robot.
  • 98.  Requieren su estudio y eliminación. LECCIÓN 5: MODELOS DE DIFERENTES CONFIGURACIONES Las coordenadas (x, y), suministran la posición del robot con respecto a las coordenadas globales y el ángulo φ su orientación con respecto a un eje paralelo al Y. La configuración de la figura a. es la denominada síncrona en la cual existen transmisiones que permiten orientar las tres ruedas simultáneamente con una velocidad angular ω y hacer que el vehículo se desplace con una velocidad lineal v . TOMADO DE : Robótica: Manipuladores y robots móviles. ( )
  • 99. ( ) Siendo b la vía del vehículo (distancia que separa las dos ruedas centrales). Si se especifican, la velocidad lineal v y angular ω del vehículo, las velocidades de giro que hay que aplicar a las ruedas izquierda y derecha son: ( ⁄ ) ( ⁄ ) Este modelo puede expresarse en función de variables de control como, [ ] [ ( ) ( ) ] [ ( ) ( ) ] [ ( ) ( ) ( ) ( ) ] [ ] En la figura c anterior se representa el triciclo convencional en el cual la rueda delantera se utiliza tanto para la orientación como para la tracción. En este caso las variables de control suelen tomarse como el ángulo α de dirección de la rueda delantera y la velocidad de giro de la misma ωt. Se supondrá que el punto de guía (x, y) está en el centro del eje trasero.
  • 100. Las velocidades, lineal v y angular ω del vehículo, son respectivamente: El ángulo de orientación del vehículo varía según: Por consiguiente se puede obtener el siguiente modelo en función de las velocidades de control y . [ ] [ ( ) ] [ ] [ ( ) ] [ ] Conocidas las velocidades lineal v y angular ω las variables de control α y pueden obtenerse mediante. ( ) ( ) √
  • 101. CAPITULO 2: DINÁMICA DEL ROBOT INTRODUCCIÓN Cuando abordamos el estudio de la dinámica, nos ocupamos de la relación que existe entre las fuerzas que actúan sobre un cuerpo y el movimiento originado sobre él, como consecuencia de la fuerza aplicada. Por consiguiente, el llamado modelo dinámico de un robot, tiene por objetivo, encontrar la relación entre el movimiento del robot y las fuerzas implicadas en el mismo. Esta relación la conseguimos haciendo uso del denominado modelo dinámico, a través del cual relacionamos matemáticamente:  La localización del robot. Esta localización es determinada por sus variables articulares o por las coordenadas de localización de su extremo, y sus derivadas: velocidad y aceleración.  Las fuerzas y pares que se aplican en las articulaciones, o en el extremo del robot.  Los parámetros dimensionales del robot, en cuyo caso podemos citar, la longitud, las masas e inercias de sus elementos. Cuando tratamos problemas que involucran mecanismos de uno o dos grados de libertad, la obtención de este modelo no es compleja, pero con el aumento de grados de libertad, el planteamiento y la obtención del modelo dinámico, suele complicarse de manera apreciable. Es por esta razón, que no siempre es posible obtener un modelo dinámico expresado mediante una serie de ecuaciones, en donde la integración de las mismas, nos ayude a conocer el tipo de movimiento que surge al aplicar las fuerzas, o las que deberíamos aplicar para obtener un movimiento determinado. Es por esto que optamos resolver el modelo dinámico de una manera iterativa, apelando a la utilización de un proceso numérico. La obtención del modelo dinámico de un robot, se ha constituido en uno de los problemas más complejos de la robótica, llegando a alcanzar además, la
  • 102. categoría de reto interesante. Podemos afirmar, que en su ejecución es imprescindible conseguir los fines siguientes:  Diseño y evaluación de la estructura mecánica del robot.  Dimensionamiento de los actuadores.  Diseño evaluación del control dinámico del robot.  Simulación del movimiento del robot. La obtención del modelo dinámico de un robot ha sido y es aún objeto de estudio e investigación. Un buen número de investigadores han desarrollado una serie de métodos y formulaciones alternativas, las cuales las han basado partiendo de la mecánica Newtoniana y Lagrangiana, con la acertada y atractiva intención de derivar modelos, que a su vez resulten ampliamente manejables por los sistemas de cálculo convencional, de una manera lo más eficiente posible. En este capítulo dedicaremos especial atención al tratamiento del modelo dinámico, considerando al robot como un cuerpo rígido. De igual manera, sólo llegaremos a exponer únicamente los resultados de los planteamientos mencionados, expresados en forma algorítmica, y con la metodología aplicada sobre los robots de dos grados de libertad. LECCIÓN 1: ESTRUCTURA MECÁNICA DE UN ROBOT RÍGIDO. DESCRIPCIÓN GENERAL Cuando tratamos un mecanismo o particularmente un robot, la obtención del modelo dinámico la soportamos fundamentalmente planteando el equilibrio de fuerzas, situación ésta la cual se encuentra determinada de manera completa y precisa en la segunda ley de Newton. También se registra un planteamiento para movimientos de rotación, de envergadura teórica y con reconocimientos
  • 103. oficiales por sus logros en el terreno de la aplicación, denominada ley de Euler, cuya presentación es la siguiente: ∑ ̇ ∑ ( ) Para el caso de un simple robot mono-articular, como el representado por la figura adjunta, el equilibrio de fuerzas-pares lo expresamos empleando la siguiente ecuación: ̈ De esta manera, a partir del establecimiento del equilibrio de fuerzas y pares que participan sobre el robot, podemos obtener los denominados modelos dinámicos directo e inverso:  Modelo dinámico directo: declara la evolución temporal de las coordenadas articulares del robot en función de las fuerzas y pares que intervienen.  Modelo dinámico inverso: manifiesta los tipos de fuerzas y pares que intervienen en función de la forma, cómo evolucionan las coordenadas articulares y sus derivadas. Como planteamiento alternativo para la obtención del modelo, apelamos a la formulación Lagrangiana, la cual se sustenta en apropiadas consideraciones
  • 104. energéticas. Es oportuno destacar que este planteamiento es más sistemático que el anterior, y por ende, hace fácil de manera muy apreciable, la formulación de un modelo tan complejo como resulta ser el de un robot. El empleo de esta formulación lo hacemos estableciendo la ecuación: En donde: Coordenadas generalizadas (Las articulares). t= Vector de fuerzas y pares aplicados en las . Función Lagrangiana. K= Energía cinética. U= Energía potencial. Teniendo en cuenta el robot mono-articular de la figura de arriba, tendríamos: ̇ En donde se encuentra establecido que: Además se conoce que: Entonces, reemplazando en L tendremos inicialmente: ̇
  • 105. ̇ ̇ ̈ Haciendo la debida sustitución se obtiene: ̈ Ecuación que llega a coincidir con la correspondiente a la de un robot mono- articular. OBSERVACION: la formulación Lagrangiana aunque resulta más tediosa que la Newtoniana, presenta ventajas cuando aumenta el número de grados de libertad. LECCIÓN 2: FORMULACIÓN DE LAGRANGEEULER DESCRIPCIÓN GENERAL Cuando emprendemos este planteamiento, estamos direccionados a utilizar ciertas matrices que relacionan el sistema de coordenadas de referencia del elemento i con el elemento i -1. Se efectúan operaciones de suma y producto de manera innecesaria, por lo que resulta ser un procedimiento ineficiente desde el punto de vista computacional. Sin embargo, es legítimo dejar claro que su aplicación nos puede conducir a unas ecuaciones finales bien estructuradas donde aparecen de manera clara y
  • 106. concisa, los diversos pares y fuerzas que intervienen en el movimiento de inercia. Hacemos referencia a la fuerza de inercia, Coriolis y gravedad. Este procedimiento se basa en una interpretación de la energía involucrada. Teniendo en consideración el ejemplo del manipulador con una única articulación, la energía cinética viene dada por: Y la energía potencial por: La función Lagrangiana de la manera siguiente: La formulación dinámica se basa en la ecuación: En donde es el par aplicado. LECCIÓN 3: FORMULACIÓN DE NEWTONEULER: IMPLEMENTACION COMPUTACIONAL Para la obtención de un modelo dinámico de este tipo, se requiere generalizar a las aceleraciones, los conceptos y notaciones empleadas para ilustrar las velocidades. Se comienza presentando las expresiones correspondientes a las aceleraciones. Seguidamente, se establece el método de Newton-Euler en su forma iterativa, haciendo la ilustración de la aplicación en el manipulador plano con dos articulaciones.
  • 107. EJEMPLO: Consideremos el manipulador con dos articulaciones de rotación como el mostrado en la figura. Para facilitar la resolución del problema tendremos en cuenta que las masas M1 y M2 están concentradas en los extremos de los enlaces. OBTENCION DEL MODELO DINAMICO SIMBOLICO SOLUCION: Variables articulares θ1 y θ2 >> syms t1 t2 real; Velocidades articulares θ'1 y θ'2 >> syms td1 td2 real; Aceleraciones articulares θ''1 y θ''2 >> syms tdd1 tdd2 real;
  • 108. Longitudes e los enlaces (l1 y l2 ) >> syms l1 l2 real; Masas de los enlaces (m1 y m2 ) >> syms m1 m2 real; Aceleracion de la gravedad >> syms g real; Digitamos la matriz con los parámetros dinámicos del manipulador. >> dyn = [0 0 t1 0 0 m1 l1 0 0 0 0 0 0 0 0 0 1 0 0 0;0 l1 t2 0 0 m2 l2 0 0 0 0 0 0 0 0 0 1 0 0 0] ; Vector de variables articulares >> q = [ t1 t2 ] ; Vector de velocidades articulares >> qd = [ td1 td2 ] ; Vector de aceleraciones articulares >> qdd=[tdd1 tdd2] ; Vector aceleracicon de la gravedad >> grav = [ 0 g 0 ] ; tau =rne (dyn, q, qd, qdd, grav) ; simple (tau) simplify: [ l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1 *l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2 *l2*td1*td2l1*sin(t2)*m2*l2*td2^2+m2*tdd1*l1^2+l1*m2*cos(t1)*g+l1* cos(t2)*m2*l2*td2,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gco s(t2)*tdd1*l1cos(t2)*cos(t1)*g)]
  • 109. radsimp: [ l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1 *l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2 *l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2 *cos(t1)*g+l1*cos (t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2 *cos(t1)*g,(l2*tdd1+l2*tdd2+sin(t2)*td1^2*l1sin(t2)*sin(t1)*g+cos(t2)*tdd1*l1 +cos(t2)*cos(t1)*g)*l2*m2] combine (trig): [l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l+l 1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2*t d2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd1+ l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*td d1*l1] factor: [l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1 *l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2 *l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2 *cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2 *cos(t1)*g,l2*m2*(l2*tdd1l2*tdd2sin(t2)*td1^2*l1+sin(t2)*sin(t1)*gcos(t2)*td d1*l1cos(t2)*cos(t1)*g)] expand: [l2^2*m2*tdd1+l2^2*m2*tdd2l2*m2*sin(t2)*sin(t1)*g+2*l2*m2*cos(t2)*tdd1 *l1+l2*m2*cos(t2)*cos(t1)*g+l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2 *l2*td1*td2l1*sin(t2)*m2*l2*td2^2+sin(t2)^2*m2*tdd1*l1^2+l1*sin(t2)^2*m2 *cos(t1)*g+l1*cos(t2)*m2*l2*tdd2+cos(t2)^2*m2*tdd1*l1^2+l1*cos(t2)^2*m2 *cos(t1)*g,l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1l2*m2*sin(t2 )*sin(t1)*g+l2*m2*cos(t2)*tdd1*l1+l2*m2*cos(t2)*cos(t1)*g] combine: [l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l1 +l1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2 *td2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd
  • 110. 1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2) *tdd1*l1] convert(exp): [l2*m2*((tdd1+tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1 )1/exp(i*t1))*g)+(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/ex p(i*t1))*g))+l1*m1*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g)+l1*(1/2*i*(exp(i *t2)1/exp(i*t2))*m2*((td1+td2)^2*l2+(1/2*exp(i*t2)+1/2/exp(i*t2))*(td1^2*l1 1/2*i*(exp(i*t1)1/exp(i*t1))*g)1/2*i*(exp(i*t2)1/exp(i*t2))*(tdd1*l1+(1/2*exp( i*t1)+1/2/exp(i*t1))*g))+(1/2*exp(i*t2)+1/2/exp(i*t2))*m2*((tdd1+tdd2)*l2+1/ 2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g)+(1/2*exp(i *t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))),l2*m2*((tdd1+ tdd2)*l2+1/2*i*(exp(i*t2)1/exp(i*t2))*(td1^2*l11/2*i*(exp(i*t1)1/exp(i*t1))*g) +(1/2*exp(i*t2)+1/2/exp(i*t2))*(tdd1*l1+(1/2*exp(i*t1)+1/2/exp(i*t1))*g))] convert(sincos): [l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)* g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^ 2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin( t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))] convert(tan): [l2*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2 *t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan( 1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))+l1*m1*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/ 2*t1)^2)*g)+l1*(2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*m2*((td1+td2)^2*l2+(1tan( 1/2*t2)^2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+ 2*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2) *g))+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*m2*((tdd1+tdd2)*l22*tan(1/2*t2)/(1 +tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+tan(1/2*t1)^2)*g)+(1tan(1/2*t2)^ 2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan(1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))),l2*m*( (tdd1+tdd2)*l22*tan(1/2*t2)/(1+tan(1/2*t2)^2)*(td1^2*l1+2*tan(1/2*t1)/(1+t an(1/2*t1)^2)*g)+(1tan(1/2*t2)^2)/(1+tan(1/2*t2)^2)*(tdd1*l1+(1tan( 1/2*t1)^2)/(1+tan(1/2*t1)^2)*g))]
  • 111. collect(t1): [l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)* g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^ 2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin( t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))] mwcos2sin: [l2*m2*((tdd1+tdd2)*l2sin(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)* g))+l1*m1*(tdd1*l1+cos(t1)*g)+l1*(s in(t2)*m2*((td1+td2)^2*l2+cos(t2)*(td1^ 2*l1+sin(t1)*g)+sin(t2)*(tdd1*l1+cos(t1)*g))+cos(t2)*m2*((tdd1+tdd2)*l2sin( t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))),l2*m2*((tdd1+tdd2)*l2s in(t2)*(td1^2*l1+sin(t1)*g)+cos(t2)*(tdd1*l1+cos(t1)*g))] ans = [l2^2*m2*tdd1+l2^2*m2*tdd2+l2*m2*g*cos(t2+t1)+2*l2*m2*cos(t2)*tdd1*l+l 1^2*m1*tdd1+l1*m1*cos(t1)*g2*l1*sin(t2)*m2*l2*td1*td2l1*sin(t2)*m2*l2*t d2^2+l1*m2*cos(t1)*g+m2*tdd1*l1^2+l1*cos(t2)*m2*l2*tdd2,l2^2*m2*tdd1+ l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*td d1*l1] Matriz de masas >> M = inertia ( dyn, q) M = [l2*m2*(l2+cos(t2)*l1)+l1^2*m1+l1*(m2*sin(t2)^2*l1+cos(t2)*m2*(l2+cos(t2)*l 1)), l2*m2*(l2+cos(t2)*l1)][ l2^2*m2+l1*cos(t2)*m2*l2, l2^2*m2] Términos centrífugos y de Coriolis >> V = coriolis (dyn, q, qd ) V = [l2*m2*sin(t2)*td1^2*l1+l1*(sin(t2)*m2*((td1+td2)^2*l2cos(t2)*td1^2*l1)+cos (t2)*m2*sin(t2)*td1^2*l1), l2*m2*sin(t2)*td1^2*l1]
  • 112. OBSERVACIONES La función rne nos permite obtener el modelo dinámico. Para que esto funcione, simplemente debemos pasarle una matriz de parámetros dyn con el formato apropiado.  Adicionalmente, se requiere pasarle un vector con la aceleración de la gravedad que sufre el manipulador, así como los valores de las variables articulares, los de las velocidades y las aceleraciones articulares.  La función rne nos devuelve como resultado los pares ejercidos en cada articulación. LECCIÓN 4: TRANSFORMACIONES HOMOGÉNEAS Y CINEMÁTICA DEL ROBOT (Ejemplo) DESCRIPCIÓN GENERAL Un método de categoría general con el que podemos determinar las ecuaciones cinemáticas de un brazo de robot, consiste en hacer uso de las transformaciones homogéneas. Un vector de punto, se puede representar en un espacio de tres dimensiones por una matriz de columna: [ ]
  • 113. Donde a = x / w, b = y / w, c = z / w y w es un factor de escala. Por ejemplo, cualquiera de las siguientes matrices se utiliza para la representación del vector v = 25i+10j+20k. [ ] Vectores de la forma anterior los podemos emplear para definir la posición del extremo del brazo para un manipulador de robot. Cuando w = 0, entonces el vector representa una dirección única. Podemos trasladar o girar un vector en el espacio, mediante una transformación. Una transformación de este tipo, la hacemos posible mediante el empleo de una matriz H 4 x 4. Por ejemplo, el vector v lo podemos transformar en un vector u, haciendo uso de la siguiente operación matricial. u=HV Para realizar una traslación de un vector en el espacio en una distancia x, b en la dirección , y c en la dirección z, hemos de ejecutar una transformación, la cual viene dada por: H=Trans a,b,c= 100010000 EJEMPLO: Para el vector V = 25i + 10j + 20k realizar una traslación para una distancia 8 en la dirección x, 5 en la dirección y 0 en la dirección z. SOLUCION: >> a = 8, b= 5, c = 0
  • 114. a = 8 b = 5 c = 0 El vector en consideración es: >> V = [25 10 20 1 ] ' V = 25 10 20 1 La transformación de traslación seria: >> H = transl (a, b, c) H = 1 0 0 8 0 1 0 5 0 0 1 0 0 0 0 1 El vector de traslación seria: >> HV = H * V HV = 33 15 20 1 diary off
  • 115. LECCIÓN 5: MODELO DIRECTO DEL MANIPULADOR: IMPLEMENTACIÓN COMPUTACIONAL (Ejemplo) Considérese el manipulador plano con tres articulaciones de rotación (ver figura). Las longitudes de los dos primeros segmentos son l1 y l2. Se trata de implementar el modelado del manipulador mediante la obtención de la transformación apropiada para tal fin.
  • 116. SOLUCION:  Establecemos las variables articulares θ1 , θ2 y θ3. syms t1 t2 t3 real  Determinamos los parámetros l1 y l2. syms l1 l2 real  Ahora ingresamos la matriz mediante los parámetros de Denavit- Hartenberg. dh = [ 0 0 t1 0 0 ; 0 l1 t2 0 0 ; 0 l2 t3 0 0 ] dh = [ 0, 0, t1, 0, 0] [ 0, l1, t2, 0, 0] [ 0, l2, t3, 0, 0] Seguidamente, llamamos a la función con la que podemos obtener la matriz T. La función empleada para tal efecto es fkine (dh , q ) y sus parámetros son la matriz de parámetros Denavit-Hartenberg y el vector de variables articulares.  Ingresamos el vector de variables articulares q =[t1 t2 t3] ; T=simple (fkine (dh,q) ) T = [cos (t1+ t2+ t3 ) , sin( t1+ t2+ t3 ), 0, cos ( t1+t2)* l2 + cos (t1)*l1][sin(t1+ t2+ t3), cos ( t1+ t2+ t3), 0, sin( t1+ t2)* l2+ sin( t1) * l1][ 0, 0, 1,0][0,0,0,1] La función simple se encarga de simplificar la expresión resultante.
  • 117. OBSERVACIONES:  La función fkine se encarga de tomar los valores para las variables articulares del segundo parámetro que se le pasa, y no de los que aparecen en la matriz dh. Esto significa, que si la articulación es de rotación, no se tendrá en cuenta el valor del tercer elemento de la fila correspondiente de la matriz dh. diary off CAPITULO 3: IMPLEMENTACIONES COMPUTACIONALES COMENTARIOS PRELIMINARES El tratamiento de la cinemática de los robots manipuladores, nos indica la conveniencia de emplear de manera exclusiva la plataforma de MATLAB, ante la otra opción de hacerlo con la del SIMULINK. La explicación consiste en la circunstancia de que los datos involucrados en la cinemática son matrices, los cuales como es sabido, son más fácilmente tratados desde MATLAB que desde SIMULINK. En la unidad I abordamos los temas relacionados con vectores y matrices, con el propósito de facilitar la comprensión de los aspectos aplicativos, los cuales tocaremos en estas secciones. De igual manera tratamos la representación gráfica, con la cual hacemos posible la ilustración de ciertos modelos de robots móviles. Para resolver la cinemática de un robot, resulta suficiente conocer los parámetros de Denavit-Hartenberg. Estos parámetros son ingresados en una matriz de acuerdo a un formato determinado (matriz dh ). Esta matriz será la que permitirá el paso de las funciones de MATLAB, por lo que recomendamos asimilar bien su significado y contenido.
  • 118. En la tabla siguiente presentamos de manera resumida, las instrucciones que habitualmente se emplean para efectuar ciertos cálculos relacionados con la cinemática de los robots manipuladores. Conviene aclarar, que algunas de ellas no se utilizan directamente, pero aparecen en el cuerpo de funciones que si se usan, por lo que también aparecen descritas. Instrucciones relacionadas con la cinemática
  • 119. En cuanto a la dinámica de los robots manipuladores es posible elegir emplear el MATLAB directamente, o el SIMULINK. Cuando el propósito es tratar resultados simbólicos y trabajar con matrices, resulta más conveniente el uso del MATLAB. En los otros casos, ambas plataformas reportan un manejo en igualdad de condiciones. En la tabla siguiente presentamos de manera resumida, las instrucciones que habitualmente se emplean para efectuar ciertos cálculos relacionados con la dinámica de los brazos manipuladores.
  • 120. LECCIÓN 1: MODELO DIRECTO DEL MANIPULADOR EJEMPLO: Consideremos el robot que se muestra en la figura. El sistema de referencia {0} se supone rígidamente unido al enlace 0 (anclaje del robot) y el {n} al último enlace. El sistema {1} coincide con el {0} para θ1= 0, pero gira con respecto a este valor al variar θ 1. SOLUCION: Variables articulares θ1 >> syms t1 d2 t3 real ; Parametro l2 >> syms l2 real ; Cálculo de las respectivas matrices >> T1 = linktrans ( [ 0 0 125 0 0 ] , t1 ) T1 = [ cos(t1), -sin(t1), 0, 0] [ sin(t1), cos(t1), 0, 0] [ 0, 0, 1, 0] [ 0, 0, 0, 1]
  • 121. >> T2 = linktrans ( [ pi/2 0 0 426 1 ] , d2 ) T2 = [ 1, 0, 0, 0] [ 0, 0, 1, d2] [ 0, 1, 0, 0] [ 0, 0, 0, 1] >> T3 = linktrans ( [ 0 0 876 l2 0 ] , t3 ) LECCIÓN 2: MODELO INVERSO DEL MANIPULADOR Generalmente, en la mayor parte de las aplicaciones, nos interesa determinar los movimientos del robot ubicado en el espacio cartesiano, haciendo una estrecha relación con la tarea que se intenta desarrollar. En virtud de esto, para establecer el control del robot, se hace necesario encontrar los valores de las variables articulares, de tal manera que la posición y orientación del robot, o en particular de su efector final, sea la deseada. EJEMPLO: Consideremos el manipulador del ejemplo anterior. El sistema de referencia {0} coincide con el {1} para el valor de θ 1= 0 (figura anterior). Se trata de estudiar la posición (x, y) del extremo del segundo enlace. Por consiguiente el giro de la tercera articulación (sistema de referencia {3}) no se considera. Supuesta la segunda articulación en su máxima extensión, el origen de {2} coincidirá con el de {3}, como se observa en la figura. Las coordenadas x e y de este origen expresadas en el sistema {0} pueden tomar cualquier valor solo limitado por los rangos de variación de las variables articulares. SOLUCION: Calcular el modelo directo del manipulador a. Variables articulares θ1 y d2. >> syms t1 d2 real ; Matriz con los parámetros de Denavit-Hartenberg
  • 122. >> dh =[ 0 0 t1 0 0 ; pi/2 0 0 d2 1 ] ; Vector de las variables articulares >> q = [t1 d2]; Calculo del resultado >> T= simple (fkine (dh , q ) ) T = [ cos ( t1 ), 0, sin ( t1), sin ( t1) * d2 ] [ sin ( t1 ), 0, -cos( t1 ), -cos( t1 ) * d2 ] [ 0, 1, 0, 0 ] [ 0, 0, 0, 1 ] b. Representación de los valores que toma θ1 en función de las coordenadas(x, y). >> [ x , y] = meshgrid (1: 0.03 :1, 1: 0.03 : 1 ) ; t1 = atan2 (x,y); >> surf (x , y, t1 ) ; Representación de d2 en función del punto (x , y ) del extremo del manipulador >> [x1, y1] = meshgrid ( 1: 0.03: 1 , 1: 0.03:1 ) ; >> d2 = sqrt (x1. ^2 + y. ^2 ) ; >> surf ( x1 , y1, d2 ) ; LECCIÓN 3: JACOBIANO DEL MANIPULADOR El Jacobiano del manipulador se encarga de relacionar las velocidades, con las velocidades cartesianas del extremo del manipulador. En el modelo matemático apropiado, hay que tomar como referencia el sistema {0}. Es conveniente tener presente que el Jacobiano se expresa en un determinado sistema de referencia. De igual manera, notamos que para unos determinados valores de las variables articulares, las relaciones entre las velocidades articulares y las velocidades en el espacio cartesiano son lineales. EJEMPLO: Consideremos el manipulador con tres articulaciones de rotación, con los ejes del marco de referencia {3} en la misma dirección que los del {2}. Se