8/10/2019 Curso de Robotica Avanzada 2014
1/174
2013
ING. JAIRO PERTUZ OCAMPO
UNIVERSIDAD NACIONAL A
Y A DISTANCIA - UNA REVISADO Y ACTUALIZADO:
ING. MANUEL ENRIQUE WAGNER
2013
CURSO DE ROBTICA AVANZAD
8/10/2019 Curso de Robotica Avanzada 2014
2/174
CURSO DE ROBTICA AVANZADA
ING. JAIRO PERTUZ CAMPO
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNA
ESCUELA DE CIENCIAS BSICAS TECNOLOGA E INGENIE
PROGRAMA DE INGENIERA ELECTRNICA
BOGOT
2013
8/10/2019 Curso de Robotica Avanzada 2014
3/174
Tabla de contenido
UNIDAD 1 .................. ................. .................. ................. .................. ................. .................. ............... 6
HERRAMIENTAS MATEMTICAS Y RECURSOS ............................... ................. .... 6
COMPUTACIONALES ................................................................................................................. 6
CAPTULO 1: HERRAMIENTAS MATEMTICAS ........................................................................... 6 LECCIN 1: REPRESENTACIN DE LA POSICIN .................................................................... 7 LECCIN 2: REPRESENTACIN DE LA ORIENTACIN ......................................................... 10
LECCIN 3: NGULOS DE EULER ................................................................................................... 18 LECCIN 4: MATRICES DE TRANSFORMACIN HOMOGNEA ........................................ 21 LECCIN 5: CUATERNIOS ................................................................................................................... 31
CAPTULO II: OPERACIONES MATEMTICAS EN EL ENTORNO DE TRABAJOCOMPUTACIONAL. ................................................................................................................................. 33
LECCIN 1: OPERACIONES GENERALES SOBRE VECTORES. ......................................... 33 LECCIN 2: OPERACIONES GENERALES SOBRE MATRICES. .......................................... 40 LECCIN 3: MATRICES DE TRANSFORMACIN HOMOGNEA: POSICIN ................ 48 LECCION 4: MATRICES DE TRANSFORMACION HOMOGENEA: ROTACION .............. 51 LECCIN 5: MATRICES DE TRANSFORMACIN HOMOGNEA: TRASLACINSEGUIDA DE ROTACIN ....................................................................................................................... 56
CAPITULO III: IMPLEMENTACIONES COMPUTACIONALES. ................................................ 60 LECCIN 1: REPRESENTACIN DE LA POSICIN: EJECUCIONESCOMPUTACIONALES. ............................................................................................................................. 60 LECCIN 2: REPRESENTACIN DE LA ORIENTACIN, EJECUCIONESCOMPUTACIONALES .............................................................................................................................. 65 LECCIN 3: REPRESENTACIN DE LA POSICIN Y ORIENTACIN: EJECUCIONESCOMPUTACIONALES .............................................................................................................................. 69 LECCIN 4: CONCATENACIN DE LAS OPERACIONES DE TRASLACIN YORIENTACIN, EJECUCIONESCOMPUTACIONALES ............................................................ 72 LECCIN 5: NGULOS DE EULER: EJECUCIONES COMPUTACIONALES ................... 75
SEGUNDA UNIDAD .................................................................................................................. 78
8/10/2019 Curso de Robotica Avanzada 2014
4/174
MODELADO CINEMTICO Y DINMICO DE UN ............... ................. .................. . 78
ROBOT .............................................................................................................................................. 78
CAPITULO 1: ............................................................................................................................................. 78
CINEMTICA DEL ROBOT INTRODUCCIN ................................................................................ 78 LECCIN 1: EL PROBLEMA CINEMTICO DIRECTO DEL MANIPULADOR .................. 79 LECCIN 2: CINEMTICA INVERSA DEL MANIPULADOR .................................................. 85 LECCIN 3: RESOLUCION DEL PROBLEMA CINEMTICO INVERSO MEDIANTE LAMATRZ DE TRANSFORMACIN HOMOGNEA ........................................................................ 89 LECCIN 4: MATRIZ JACOBIANA DEL MANIPULADOR ....................................................... 94 LECCIN 5: MODELOS DE DIFERENTES CONFIGURACIONES ......................................... 98
CAPITULO 2: DINMICA DEL ROBOT .......................................................................................... 101
INTRODUCCIN .................................................................................................................................... 101 LECCIN 1: ESTRUCTURA MECNICA DE UN ROBOT RGIDO ...................................... 102 LECCIN 2: FORMULACIN DE LAGRANGEEULER ............................................................. 105 LECCIN 3: FORMULACIN DE NEWTONEULER: IMPLEMENTACINCOMPUTACIONAL .................................................................................................................................. 106 LECCIN 4: TRANSFORMACIONES HOMOGNEAS, CINEMTICA DEL ROBOT ... 112 LECCIN 5: MODELO DIRECTO DEL MANIPULADOR .......................................................... 115
CAPITULO 3: IMPLEMENTACIONES ............................................................................................. 117
COMPUTACIONALES COMENTARIOS .......................................................................................... 117
PRELIMINARES ...................................................................................................................................... 117 LECCIN 1: MODELO DIRECTO DEL MANIPULADOR .......................................................... 120 LECCIN 2: MODELO INVERSO DEL MANIPULADOR .......................................................... 121 LECCIN 3: JACOBIANO DEL MANIPULADOR ........................................................................ 122 LECCIN 4: OBTENCIN DE LAS TRAYECTORIAS ARTICULARES .............................. 125
LECCIN 5: CREACIN DE UN ROBOT: SIMULACIN ........................................................ 126
UNIDAD III: IMPLEMENTACIN Y SIMULACIN ..............................................128
COMPUTACIONAL DE TAREAS ROBTICAS .......................................................128
CAPITULO 1: REPRESENTACIN DE LA ORIENTACIN Y POSICIN ........................... 128
8/10/2019 Curso de Robotica Avanzada 2014
5/174
POSICIN ................................................................................................................................................. 128 LECCIN 1: EJEMPLO .......................................................................................................................... 128 LECCIN 2: EJEMPLO .......................................................................................................................... 131 LECCIN 3: EJEMPLO (calcular una trayectoria cartesiana entre dos puntos). . 133 LECCIN 4: EJEMPLO (clculo de cuaternios) ...................................................................... 134 LECCIN 5: CREACIN DE UN MODELO MECNICO (Modelado y simulacin delpndulo simple). ..................................................................................................................................... 137
CAPITULO 2: MODELOS CINEMTICOS DE ROBOTS ............................................................ 141
EJEMPLO .................................................................................................................................................. 141 LECCIN 1: CINEMTICA INVERSA DE UN MANIPULADOR (trayectoria detransformaciones). ................................................................................................................................ 141 LECCIN 2: OBTENCIN DEL JACOBIANO DEL ROBOT MANIPULADOR PUMA 560......................................................................................................................................................................... 144
LECCIN 3: ORIENTACIN Y POSICIN CARTESIANA DEL E.F CONOCIDA LAESTRUCTURA CINEMTICA Y LAS COORDENADAS ARTICULARES. ......................... 148 LECCIN 4: CONSTRUCCIN DE UN OBJETO LINK (parmetros cinemticos). . 151 LECCIN 4: ANLISIS CINEMTICO DEL MANIPULADOR RR ........................................ 153
CAPITULO 3: MODELOS DINMICOS DE ROBOTS ................................................................. 157 LECCIN 1: EL MTODO DE NEWTONEULER .......................................................................... 157 LECCIN 2: DINMICA DE UN MANIPULADOR PLANO CON TRES
ARTICULACIONES DE ROTACIN ................................................................................................. 162 LECCIN 3: MANEJO DE UN ROBOT GRFICO ...................................................................... 165 LECCIN 4: MODELADO Y SIMULACIN DE SISTEMAS MECNICOS ........................ 167 LECCIN 5: MODELOS DE MQUINAS SIMPLES ................................................................... 170 EJERCICIOS ILUSTRATIVOS. .......................................................................................................... 170
BIBLIOGRAFIA ..........................................................................................................................174
8/10/2019 Curso de Robotica Avanzada 2014
6/174
UNIDAD 1HERRAMIENTAS MATEMTICAS Y RECURSOS
COMPUTACIONALES
CAPTULO 1: HERRAMIENTAS MATEMTICASPARA LA LOCALIZACIN ESPACIAL
INTRODUCCIN
Una de las tareas bsicas de un robot y por lo dems habitual, consiste en lamanipulacin de piezas, lo cual se hace posible, mediante el movimientoespacial de sus dispositivos extremos. La manipulacin robtica, nos indica quetanto partes como herramientas, se mueven alrededor del espacio por algntipo de mecanismo. Cuando estudiamos la robtica, ineludiblemente nosinteresamos con los detalles de la localizacin de objetos en dos y tresdimensiones. Estos objetos son los acoples del manipulador, las partes yherramientas con las cuales l trata, y otros objetos en el entorno delmanipulador.
En esta direccin, conviene mencionar, que la informacin de la posicin, aligual que la posible orientacin de sta con respecto a la base del robot, esfactor determinante para que ste adquiera la habilidad propia que le permitamaniobrar de manera indistinta con las piezas.
Todo lo anterior nos invita a buscar y apropiarnos de un conjunto deinstrumentos y herramientas matemticas, enfocadas a determinar de maneraespecfica tanto la posicin como la orientacin en el entorno espacial depiezas, accesorios y, en general, de cualquier objeto. Los recursos matemticosque trataremos, deben ofrecer la potencialidad mnima que nos garantice llegarde manera sencilla a las relaciones espaciales entre los diferentes objetos, y enespecial, entre stos y el manipulador.
8/10/2019 Curso de Robotica Avanzada 2014
7/174
Nos dedicaremos a abordar los diferentes mtodos clsicos que representan laposicin y orientacin espacial de un cuerpo rgido. Iniciamos con larepresentacin en dos dimensiones, pasando posteriormente al anlisiscorrespondiente a tres, en sus diferentes modalidades, sin omitir el aporte delos ngulos de Euler cuando se trata de la orientacin. Seguidamente,ingresamos en el mbito del concepto de la matriz de transformacinhomognea, con lo cual activamos la representacin articulada de la posicin yorientacin, agrupando propiedades y aplicaciones. Finalizamos, tratando larepresentacin de la orientacin, mediante pares de rotacin, conocidostambin como cuaternios.
LECCIN 1: REPRESENTACIN DE LA POSICIN
Para definir y manipular cantidades matemticas con las cuales podemosrepresentar la posicin, nosotros debemos definir sistemas de coordenadas yestablecer las convenciones propias para la representacin respectiva. Es poresto que nos apoyamos en la concepcin, de que en cualquier parte existe unsistema de coordenadas, para lo cual todo lo emprendido puede serreferenciado.Trataremos el posicionamiento en un plano y en el espacio de tres dimensiones.El primero cuenta con dos grados de libertad, en donde la posicin debida a unpunto, se define por dos componentes independientes. Para el casotridimensional, se requiere usar tres componentes. Comenzaremos con lascoordenadas cartesianas, y seguidamente, presentaremos los otros mtodos deuso cotidiano, como son, las coordenadas polares para dos dimensiones, y lascilndricas y esfricas dirigidas a implementar el espacio de tres dimensiones.
8/10/2019 Curso de Robotica Avanzada 2014
8/174
REPRESENTACIN DE LA POSICIN ENCOORDENADAS CARTESIANAS
En un plano: Sistema coordenado OXY de referencia, para el cual el punto a seexpresa 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 respectivascomponentes cartesianas (x, y, z).
REPRESENTACIN DE LA POSICIN ENCOORDENADAS POLARES Y CILNDRICAS
En un plano: la localizacin de un punto, es decir, el vector p, se expresa comop (r, ) en coordenadas polares.
En esta representacin, r es la distancia desde el origen O hasta extremo delvector 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) mediantelas coordenadas cilndricas.
8/10/2019 Curso de Robotica Avanzada 2014
9/174
REPRESENTACIN DE LA POSICIN ENCOORDENADAS ESFRICAS
En este caso, el vector p posee como coordenadas esfricas (r, , ), en dondela componente r es la distancia que va desde el origen O hasta el extremo delvector p; la componente es el ngulo formado por la proyeccin del vector psobre el plano OXY con el eje OX; y la componente es el ngulo formado porel vector p con el eje OZ.
8/10/2019 Curso de Robotica Avanzada 2014
10/174
LECCIN 2: REPRESENTACIN DE LAORIENTACIN
Cuando necesitamos definir un punto en el espacio, es suficiente a travs de losdatos correspondientes a su posicin. Pero, para el caso de un slido, se precisaadicionalmente contar con su orientacin respecto a un sistema de referencia.Para el caso que nos ocupa, es decir, el de un robot, adems de especificar laposicin de extremo, tambin se requiere indicar su orientacin. Unaorientacin referida al espacio tridimensional, la podemos definir mediante tresgrados de libertad, lo que se traduce como tres componentes linealmenteindependientes. La orientacin de un objeto respecto a un sistema dereferencia, se intenta de manera habitual y relativamente cmoda, asignando alobjeto un nuevo sistema, y luego se estudia la relacin espacial que existe entreestos dos sistemas, cuya versin es la de coordenadas rectangulares.Casi siempre, esta relacin se presenta mediante la posicin y orientacin delsistema, asociado al objeto respecto al de referencia. Para poder ejecutar elanlisis de los diferentes mtodos con los cuales se representan lasorientaciones, se consideran que ambos coinciden en el origen, y que porconsiguiente no se registra cambio de posicin entre ellos.El sistema de coordenadas que esta fijo en el espacio tridimensional, seconsidera que es el sistema de referencia. El otro sistema de coordenadas estgirando con respecto al sistema de referencia.Fsicamente, podemos considerar que este sistema de coordenadas, es unsistema de coordenadas ligado al cuerpo. Es decir, se encuentra permanente yconvenientemente unido al cuerpo rgido (por ejemplo, un elemento del brazo
del robot) y se mueve junto con l. Un punto p en el espacio se puederepresentar por sus coordenadas con respecto a ambos sistemas decoordenadas.Una forma que facilita el anlisis, consiste en considerar al punto en reposo yfijo con respecto al sistema que representa el giro. De esta manera, el punto p
8/10/2019 Curso de Robotica Avanzada 2014
11/174
se puede representar por sus coordenadas, con respecto a ambos sistemas decoordenadas.Para definir y manipular cantidades matemticas con las cuales podemosrepresentar la orientacin, nosotros debemos definir sistemas de coordenadasy establecer las convenciones propias para la representacin respectiva.
MATRICES DE ROTACIN
En el espacio del algebra matricial, encontramos el nicho adecuado quecontiene todos los ingredientes esenciales, los cuales hacen posible que
podamos adentrarnos en la tarea de la descripcin 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 mvil solidario alobjeto. Los vectores unitarios del sistema OXY son en tanto que los delsistema OUV son .
La representacin en ambos sistemas del vector p en el plano, se registra de lasiguiente manera:
8/10/2019 Curso de Robotica Avanzada 2014
12/174
Podemos encontrar algunas equivalencias, despus de realizar una serie detransformaciones:
En donde
R = es denominada matriz de rotacin. Esta matriz es la encargada de definir laorientacin del sistema OUV respecto al otro sistema OXY, la cual se empleapara transformar las coordenadas de un vector expresado en un sistema, en lasdel otro.Por ser una matriz ortonormal, cumple la condicin , tambin se leconoce como matriz de cosenos directores.
Para el caso de dos dimensiones, la posicin relativa al sistema OUV girado unngulo a sobre el sistema OXY, la matriz R ser de la forma:
8/10/2019 Curso de Robotica Avanzada 2014
13/174
RESUMIENDO: MATRICES DE ROTACIN 2D
En un espacio tridimensional:Los vectores unitarios del sistema OXY , mientras que los del sistema
OUVW son .
La correspondiente representacin del vector p queda as:
En este caso, tambin se obtiene la equivalencia siguiente:
En donde,
8/10/2019 Curso de Robotica Avanzada 2014
14/174
Que, como en el caso anterior, representa la matriz de rotacin, mediante lacual definimos la orientacin del sistema OUVW con respecto al sistema OXYZAhora, cuando el eje OU coincide con el eje OX, la orientacin del sistemaOUVW queda representada por la matriz:
De igual manera, podemos representar la orientacin del sistema OUVW,cuando el eje OV coincide con el OY,
8/10/2019 Curso de Robotica Avanzada 2014
15/174
En cuyo caso estar representada mediante la correspondiente matriz:
= Ahora, se considera la orientacin del sistema OUVW, cuando el eje OWcoincide con el eje OZ, en cuyo caso, la representacin grafica y lacorrespondiente matriz, son:
=
8/10/2019 Curso de Robotica Avanzada 2014
16/174
RESUMIENDO: MATRICES DE ROTACIN 3D
8/10/2019 Curso de Robotica Avanzada 2014
17/174
REPRESENTACIN DE LA ORIENTACIN.COMPOSICIN DE ROTACIONES
Algunos movimientos efectuados por un robot, o algunas de sus piezas, son elresultado de la aplicacin continua y combinada de varias rotaciones. Larespectiva definicin y manipulacin de las cantidades matemticas asociadas,se resuelve mediante la operacin llamada composicin de matrices derotacin.
Consideremos la situacin siguiente: al sistema OUVW tratado anteriormentese le aplica una rotacin con ngulo sobre OX, la cual es seguida de unarotacin de ngulo sobre OY, ms la rotacin de ngulo sobre OZ. Larotacin resultante global requerida por el movimiento especifico, la podemosresumir de la manera siguiente:
1. Rotacin sobre OX.2. Rotacin sobre OY.3. Rotacin sobre OZ.
Y representarla mediante la expresin:
NOTA: El producto de matrices no es conmutativo, por lo que hay que tomaren cuenta el orden o secuencia en que se realizan las rotaciones.
8/10/2019 Curso de Robotica Avanzada 2014
18/174
LECCIN 3: NGULOS DE EULER
La representacin matricial empleada para la orientacin de un cuerpo rgidoen el espacio tridimensional, aporta mltiples ventajas, ya que permite lasimplificacin de muchas operaciones, pero de igual manera, para suimplantacin, es menester emplear nueve elementos que hacen posible ladescripcin completa de la rotacin de un cuerpo rgido.
En este tipo de representacin, en lugar de efectuar tres rotacionesconsecutivas alrededor de los ejes del sistema de referencia, las rotaciones seefectan alrededor de los ejes del sistema solidario del cuerpo.
Cuando tratamos de describir la orientacin de un sistema OUVW solidario alcuerpo, lo hacemos respecto al sistema OXYZ, para lo cual hacemos uso de tresngulos: , , , denominados ngulos de Euler. El problema nos planteaobtener el sistema OUVW partiendo del sistema OXYZ. El modo de operacin lopodemos resumir de la manera siguiente:
Se gira de manera sucesiva los valores de , , , en el sistema OXYZ sobreunos ejes determinados. Por tanto, debemos tener conocimiento de los valoresde los ngulos. Se requiere tener la informacin de los ejes sobre los que serealizan los giros.Los ngulos de Euler mencionados anteriormente, nos definen la orientacinmediante tres giros consecutivos en los tres ejes de coordenadas. Realizando deforma diferente los giros, se obtienen otras representaciones. Entre estasposibilidades, presentamos las siguientes.
NGULOS DE EULER ZXZ
Esta representacin la podemos describir as:
Los sistemas de partida OXYZ y OUVW son inicialmente coincidentes. El sistemaOUVW lo podemos colocar en cualquier orientacin, lo cual es posiblesiguiendo estos pasos:
8/10/2019 Curso de Robotica Avanzada 2014
19/174
1. El sistema OUVW se hace girar un ngulo con respecto al eje OZ,transformndose de esta manera en el sistema OUVW.
2. Ahora, se hace girar el sistema OUVW un ngulo con respecto al ejeOU, transform ndose de esta manera en el sistema OUVW.
3. Finalmente, el sistema OUVW logiramos un ngulo con respecto aleje OW, transformndose de esta manera en el sistema OUVW.
La correspondiente ilustracin grafica es:
NGULOS DE EULER ZYZ
Esta otra representacin habitualmente utilizada, se diferencia solamente de laanterior, en lo referente a la eleccin del eje sobre el que se realiza el segundogiro.
8/10/2019 Curso de Robotica Avanzada 2014
20/174
Como en el anterior caso, esta representacin la podemos describir as:
Los sistemas de partida OXYZ y OUVW son inicialmente coincidentes. El sistema
OUVW lo podemos colocar en cualquier orientacin, lo cual es posiblesiguiendo estos pasos:
1. El sistema OUVW se hace girar un ngulo con respecto al ejeOZ, transformndose de esta manera en el sistema OUVW.
2. Ahora, se hace girar el sistema OUVW un ngulo con respecto al ejeOV, transform ndose de esta manera en el sistema OUVW.
3. Finalmente, el sistema OUVW lo giramos un ngulo con respecto aleje OW, transformndose de esta manera en el sistema OUVW.
La correspondiente ilustracin grafica es:
8/10/2019 Curso de Robotica Avanzada 2014
21/174
LECCIN 4: MATRICES DE TRANSFORMACINHOMOGNEA
Hasta ahora hemos estudiado diferentes mtodos o tcnicas encaminadas arepresentar de manera aislada, ya sea la posicin, o la orientacin, de un slidoen el espacio. Estos mtodos resultan bastante incmodos, cuando tratamos deanalizar un manipulador con muchas articulaciones.
En estas circunstancias, la complejidad de movimientos se manifiesta por laestrecha combinacin de operaciones simultneas. Los mtodos acometidos noestn en condiciones de responder a las exigencias mencionadas.
Especficamente, llegamos a enfrentar movimientos que requieren de unarepresentacin conjunta de la posicin y de la orientacin.Para solucionar este interesante problema, tenemos que acudir al empleo delas denominadas coordenadas homogneas.
COORDENADAS Y MATRICES HOMOGNEAS
El concepto de una representacin en coordenadas homogneas en un espacioeuclideo tridimensional, es til para desarrollar transformaciones matricialesque incluyan: rotacin, traslacin, escalado y transformacin en perspectiva. Engeneral, la representacin de un vector de posicin de n componentes por unvector de (n+1) componentes se llama representacin en coordenadashomogneas. Es decir, un vector queda representado por
donde w posee un valor arbitrario y representa un factor deescala.
Comenzando a precisar, definimos como matriz de transformacin homogneaT a una matriz de dimensin 4 x 4, encargada de transformar a un vector decoordenadas homogneas de un sistema de coordenadas a otro.
8/10/2019 Curso de Robotica Avanzada 2014
22/174
Podemos comentar, que la matriz T est compuesta por cuatro sub-matrices derdenes diferentes:
Una matriz de rotacin, la sub-matriz . Vector de traslacin, la sub-matriz . Una transformacin de perspectiva, la sub-matriz . Un escalado global, la sub-matriz .
APLICACIN DE LAS MATRICES DE
TRANSFORMACIN HOMOGNEA
TRASLACIN CON MATRICES HOMOGNEAS
Corresponde considerar que en el sistema OUVWsolo esta trasladado unvector respecto al sistema OXYZ. La matriz homogneade traslacin T, es:
Las componentes del vector r con respecto al sistema OXYZ, representado en elsistema OUVW,son:
8/10/2019 Curso de Robotica Avanzada 2014
23/174
De igual manera, un vector r(x, y, z) al ser desplazado segn la traslacin T,tendr como componentes r'(x , y, z').
ROTACIN
Las rotaciones de un vector alrededor de cada uno de los tres ejes en un nguloa, se pueden realizar por las transformaciones de rotacin. En trminosprecisos, para entrar en operacin, definimos tres matrices bsicas de rotacin,
las cuales adoptamos de acuerdo a la rotacin elegida por alguno de los tresejes coordenados: OX, OY y OZ del sistema de referencia OXYZ.
Matrices de rotacin bsicas:
Alrededor del eje x, la transformacin de rotacin es:
8/10/2019 Curso de Robotica Avanzada 2014
24/174
Alrededor del eje y:
Alrededor del eje z:
Cambio de sistema de coordenadas:
Las componentes del vector en el sistema OXYZ, representado enel sistema girado OUVW, son:
De igual manera, un vector despus de ser rotado de acuerdo a latransformacin T, queda expresado por as:
8/10/2019 Curso de Robotica Avanzada 2014
25/174
TRASLACIN ACOMPAADA CON ROTACIN
Como se menciono anteriormente, las matrices homogneas poseen la debidagaranta para representar de manera conjunta, las operaciones de posicin yorientacin. Segn esto, la ejecucin contempla la debida representacin queincluye, el vector de traslacin y la matriz de rotacin de manerasimultnea, mediante el empleo de la misma transformacin homognea.
Este tipo de transformaciones, se efectan en relacin a un sistema dereferencia. Resulta oportuno comentar, que la traslacin y la rotacin sontransformaciones espaciales no conmutativas, lo cual se demuestra en la figura.
OBSERVACIONES FINALES:
Es posible combinar rotaciones y traslaciones bsicas multiplicando las matricescorrespondientes.El producto no es conmutativo:
Rotar y trasladar trasladar y rotar
8/10/2019 Curso de Robotica Avanzada 2014
26/174
ROTACIN SEGUIDA DE TRASLACIN
Nos estamos refiriendo a la situacin, en la que se ha de realizar una rotacinalrededor de uno de los ejes coordenados del sistema OXYZ, a la cual le sigueuna traslacin.
Comenzamos ilustrando la rotacin de un ngulo alrededor del eje OX, al cualle sigue una traslacin del vector :
Ahora procedemos a ilustrar la rotacin de un ngulo alrededor del eje OY, alcual le sigue una traslacin del vector .
Finalmente, presentamos la rotacin de un ngulo alrededor del eje OZ, alcual le sigue una traslacin del vector .
8/10/2019 Curso de Robotica Avanzada 2014
27/174
TRASLACIN SEGUIDA DE ROTACIN
Nos toca ahora tratar el caso, en el que se efecta primero una traslacin, a lacual le sigue una rotacin alrededor de uno de los ejes coordenados del sistemaOXYZ, en donde las matrices homogneas resultante son las siguientes:
Una vez trasladado el vector se contina con la rotacin de un ngulo alrededor del eje OX.
Ahora se trata de considerar la traslacin del vector al cual le sigue larotacin de un ngulo alrededor del eje OY.
Finalmente, a la traslacin del vector le sigue la rotacin de un ngulo alrededor del eje OZ.
8/10/2019 Curso de Robotica Avanzada 2014
28/174
COMPOSICIN DE MATRICES HOMOGNEAS
Es habitual contemplar movimientos de traslacin y giros realizados sobre unsistema de referencia, lo cual como ya hemos tratado es posible representarlospor una matriz de transformacin homognea.
Existen movimientos generalizados que requieren de diferentes giros ytraslaciones que deben obrar de manera consecutiva sobre un sistema dereferencia establecido. Sintetizando, podemos codificar los giros bsicos y lastraslaciones, como una transformacin compleja, siempre y cuando esta pueda
descomponerse en la aplicacin consecutiva de los mencionados eventos(transformaciones simples).
ILUSTRACINMATRICES DE ROTACIN BSICAS
8/10/2019 Curso de Robotica Avanzada 2014
29/174
INTERPRETACIN: 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 lacomposicin de las matrices bsicas de rotacin, y resulta ser:
=
NOTA: es preciso comentar, que el producto de matrices no es conmutativo,por lo que tampoco lo es la operacin de composicin de transformaciones.Para el caso en el que la situacin obedezca a la inversin en el orden deaplicacin de las transformaciones, el resultado obtenido es necesariamentedistinto:
=
[ ]
8/10/2019 Curso de Robotica Avanzada 2014
30/174
Las anteriores ilustraciones, nos impulsa a informar que los ejes sobre los querecaan las operaciones correspondan al sistema de referencia fijo OXYZ. Estono impide la posibilidad de organizar un conjunto de matrices de
transformacin, que activen operaciones dirigidas de manera permanente alsistema que este movindose. Esto se logra enlazando matrices de manerainversa.
Cuando se presenta una tarea robtica que impone la aplicacin del recurso dela composicin de varias transformaciones, en las que hay que apelar al uso dematrices homogneas, se cuenta con algunas normas, los siguientes criterios:
Si el sistema fijo (OXYZ) y el transformado (0UVW) concuerdan, la matriz
homognea de transformacin resulta ser la matriz identidad.(Matriz de orden 4) .
Cuando el sistema transformado resulta de traslaciones y rotaciones definidascon respecto al sistema fijo, la matriz homognea representativa de cadatransformacin, deber pre-multiplicarse sobre las matrices de las respectivastransformaciones previas.
Cuando el sistema transformado resulta de traslaciones y rotaciones definidas
con respecto al sistema mvil, la matriz homognea representativa de cadatransformacin, deber post-multiplicarse sobre las matrices de las respectivastransformaciones previas.
Las orientaciones mencionadas nos permiten argumentar, que para cualquieroperacin que incluya composicin de matrices homogneas, podemos tratarlacomo si se efectuara cada transformacin con respecto al sistema de referenciafijo, o con respecto al sistema de referencia mvil.
Finalmente, presentamos una ilustracin grafica de un ejemplo detransformaciones diversas para localizar un objeto.
8/10/2019 Curso de Robotica Avanzada 2014
31/174
LECCIN 5: CUATERNIOS
La variedad de movimientos contemplados en cualquier faena habitual de losrobots, engloba eventos compuestos por giros y cambios de orientacin denaturaleza diversa y compleja. Esto hace que tengamos que disponer derecursos y herramientas matemticas verstiles, que sean capaces deresponder a las exigencias propias de las caractersticas mencionadas. Loscuaternios se constituyen en los dispositivos creados para tal fin, pudiendo serempleados como herramienta analtica de gran efectividad y flexibilidadcomputacional, para tratar y ocuparse de los giros y orientaciones.
Un cuaternio Q est constituido por cuatro componentes loscuales representan las coordenadas propias de cuaternio en la base {e, i, j, k}.
8/10/2019 Curso de Robotica Avanzada 2014
32/174
Se denomina a la componente en e: , la parte escalar del cuaternio, y partevectorial, al resto de componentes. De tal manera, que un cuaternio lopodemos representar as:
En donde representamos por s a la parte escalar, y con v a la parte vectorial.Para aplicar los cuaternios como metodologa de representacin deorientaciones, asociamos el giro de un ngulo sobre el vector K al cuaternio ylo definimos como:
Resumiendo, un cuaternio es un mtodo compacto que nos permiterepresentar una rotacin en 3D, presentando ventajas computacionales, entrelas cuales destacamos la velocidad y la robustez numrica.
IMPLEMENTACIN COMPUTACIONAL:DESCRIPCIN PRELIMINAR
Para implementar un cuaternio, establecemos su respectivo objeto, el cualtiene en Matlab un constructor, llamado quaternin. El empleo esta matizadopor tres formas, a saber: la primera nos retorna un nuevo objeto con el mismovalor de su argumento. La segunda forma inicializa el cuaternio para una
rotacin del ngulo (theta) alrededor del vector v. La tercera forma establecelos cuatro elementos del cuaternio de manera directa, para una rotacinequivalente de la matriz de rotacin 3x3, o la sub-matriz de rotacin de unatransformacin homognea 4x4.
8/10/2019 Curso de Robotica Avanzada 2014
33/174
8/10/2019 Curso de Robotica Avanzada 2014
34/174
Y= [15; 28; 26] % Vector columna.Y =
152826
length(X) % Longitud del vector X.ans =
3
length (Y) % Longitud del vector Yans =
3
X+Y % MATLAB TIENE EN CUENTA LA DIFERENCIA ENTRE VECTORES FILA COLUMNA
??? Error using ==> plus
Matrix dimensions must agree.
X+Y' % LA DIFICULTAD DESAPARECE SI SE SUMA X CON ELVECTOR TRASPUESTO DE Y
ans =
30 -3 61
% OPERADOR DOS PUNTOS (:)
a=1:10 % DEFINICION DEL VECTOR aa=1 2 3 4 5 6 7 8 9 10
8/10/2019 Curso de Robotica Avanzada 2014
35/174
b=1:3:12b =
1 4 7 10
c=1:1.5:12c =1.0000 2.5000 4.0000 5.5000 7.0000 8.5000 10.0000
d=8:1:1d =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.00001.5708 1.0000 0.0000
3.1416 0.0000 1.00004.7124 1.0000 0.00006.2832 0.0000 1.0000
% OPERACIONES ELEMENTALES Y DIVERSASA=magic (4)A =16 2 3 135 11 10 8
9 7 6 124 14 15 1A (2,3)% Acceso a los elementos de la matriz mediante los
ndices de fila y columna.
ans =
8/10/2019 Curso de Robotica Avanzada 2014
36/174
10A(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 4ans =5 11 10 89 7 6 124 14 15 1
% OPERADORES DE DIVISION: Para un sistema de ecuaciones lineales Ax=b, endonde x y b son vectores columna, y A es una matriz cuadrada invertible.
% x= inv(A)*b% x= A\b
% EJERCICIOS ILUSTRATIVOS
% 1) A=[2 4],b=[4]
A=[2 4],b=[4]
A =2 4
b =4
8/10/2019 Curso de Robotica Avanzada 2014
37/174
x=A.\bx =
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 42 0
0 2
b =400
x=A\b, resto=A*x-bx =
0.33330.6667
resto =0.66670.66671.3333
% OPERADORES MATRICIALES (*, ^, \ y /) APLICAR ELEMENTO A
ELEMENTO.
[1 2 3 4 5]^2
??? Error using ==> mpowerMatrix must be square.
8/10/2019 Curso de Robotica Avanzada 2014
38/174
[1 2 3 4 5]^2ans =
1 4 9 16 25
[1 2 3 4 5]*[1 -1 1 -1 2]
??? Error using ==> mtimesInner 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 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
8/10/2019 Curso de Robotica Avanzada 2014
39/174
8/10/2019 Curso de Robotica Avanzada 2014
40/174
PRODUCTOS ESCALAR Y VECTORIAL
a=[4;6;4; 2]; b=[6;16; 14;8];c=dot(a,b) % PRODUCTO ESCALAR c =-112
a'*bans =-112
A1=[18;12;26]; B1=[54; 22;24];cross(A1,B1) % PRODUCTO VECTORIAL ans =-284-1836-1044
diary off
LECCIN 2: OPERACIONES GENERALES SOBREMATRICES.
% 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 34 5 67 8 9
8/10/2019 Curso de Robotica Avanzada 2014
41/174
8/10/2019 Curso de Robotica Avanzada 2014
42/174
ans =23 710 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 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9
L(:,4:-1: 2)ans =
8 1 2414 7 520 13 621 19 122 25 18
8/10/2019 Curso de Robotica Avanzada 2014
43/174
% L(:) Representa un vector columna con las columnas de L una detrs de otra.
% fliplr(L);INVIERTE EL ORDEN DE LAS COLUMNAS fliplr(L)15 8 1 24 1716 14 7 5 2322 20 13 6 43 21 19 12 109 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+Bans =1 7 11
14 17 3
A-Bans =7 -19 5-4 3 -3
B-Aans =-7 19 54 -3 3
A*Cans =-42 3965 -100
8/10/2019 Curso de Robotica Avanzada 2014
44/174
C*Aans =-18 -78 9-15 -100 15
3 118 -24
C*Bans =-63 -3 6
-78 16 1987 -55 -43
B*Cans =-8 -1738 -82
A/B
ans =-0.3645 0.25230.2265 0.6839
A\Bans =0.3429 2.4571 1.40000.7286 -0.5286 -0.4000
0 0 0
B\Aans =0.2681 1.2464 -0.15220.3696 -0.1739 0.1957
0 0 0
8/10/2019 Curso de Robotica Avanzada 2014
45/174
H^pans =
4 2516 81
p.^Hans =4 32
16 512
H^p
ans =24 5544 101
p^Hans =1.0e+003 *0.4455 1.02020.8162 1.8738
% OTRAS OPERACIONES CON MATRICES: EJERCICIOS ILUSTRATIVOS
K=[1 2 3;4 5 6;7 8 9]K =
1 2 34 5 67 8 9
diag(K), inv(K), K', det(K),rank(K), trace(K), norm(K); size (K)ans =
159
8/10/2019 Curso de Robotica Avanzada 2014
46/174
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.45040.9007 -1.8014 0.9007
-0.4504 0.9007 -0.4504
ans =
1 4 72 5 83 6 9
ans =0
ans =2
ans =15
ans =3 3
% ALGUNAS MATRICES ESPECIALES
ones(2,3)ans =
1 1 11 1 1
8/10/2019 Curso de Robotica Avanzada 2014
47/174
8/10/2019 Curso de Robotica Avanzada 2014
48/174
LECCIN 3: MATRICES DE TRANSFORMACIN
HOMOGNEA: POSICIN
Mediante las coordenadas homogneas podemos representar de maneraconjunta la posicin y la orientacin (localizacin).
Partiendo de las coordenadas homogneas, ingresamos al concepto de matrizde transformacin homognea.
TRASLACION: Se trata de representar la posicin y orientacin de un sistemagirado y trasladado O'UVW con respecto a un sistema fijo de referencia OXYZ.
Un vector trasladado es de la forma . La matriz homogneade traslacin es:
T(p)= [1 0 0 px;0 1 0 py;0 0 1 pz;0 0 0 1],la cual se denomina matriz bsica detraslacin.
Un vector cualquiera r, representado en el sistema O'UVW, tendr comocomponentes 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 segn 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 rz1]=[rx+px;ry+py;rz+pz;1] (2)
8/10/2019 Curso de Robotica Avanzada 2014
49/174
EJERCICIOS ILUSTRATIVOS
1. Segn la figura, en el sistema O'UVW esta trasladado un vector p (6, 3,8) conrespecto al sistema OXYZ. Calcular las coordenadas (rx, ry, rz) del vector r cuyascoordenadas con respecto al sistema O'UVW son ruvw (2, 7,3).
Solucin: Procedemos a ingresar los valores y aplicamos la ecuacin (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*ruvwrxyz =
44
111
2. Calcular el vector r'xyz resultante de trasladar al vector rxyz(4,4,11)segn latransformacin T(p) con % p(6,3,8)(ver figura adjunta).
8/10/2019 Curso de Robotica Avanzada 2014
50/174
Solucin: Procedemos a ingresar los valores y aplicamos la ecuacin (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*rxyzr1xyz =
101
191
diary off
8/10/2019 Curso de Robotica Avanzada 2014
51/174
LECCION 4: MATRICES DE TRANSFORMACION
HOMOGENEA: ROTACION
En esta situacin corresponde definir tres matrices homogneas bsicas segnse realice sta de acuerdo a cada uno de los tres ejes coordenados OX, OY y OZdel 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 segn T vendr expresado por r'x,y,z segn:
[r'x r'y r'z 1]'=T[rx ry rz 1]' (V)
TRASLACIN JUNTO CON ROTACIN
La traslacin y la rotacin son transformaciones que se realizan en relacin a unsistema de referencia.
ROTACIN SEGUIDA DE TRASLACIN
Se trata de realizar primero una rotacin sobre uno de los ejes del sistema OXYZseguida de una traslacin, las matrices homogneas sern las que acontinuacin se expresan:Rotacin de un ngulo a sobre el eje OX seguido de una traslacin de vectorpxyz:
8/10/2019 Curso de Robotica Avanzada 2014
52/174
% 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. Segn la figura adjunta, el sistema 0UVW se encuentra girado -90 gradosalrededor del eje OZ con respecto al sistema OXYZ. Calcular lascoordenadas del vector rxyz si ruvw=[4,8,12]'
Solucin: Procedemos a ingresar los valores inicialmente para construir lamatriz T(z,c), ecuacin (III).
Tzc=[0 1 0 0;1 0 0 0;0 0 1 0;0 0 0 1], y luego construimos la matrizruvw utilizando la informacin 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 01 0 0 00 0 1 00 0 0 1
8/10/2019 Curso de Robotica Avanzada 2014
53/174
% [rx ry rz 1]'=T[ru rv rw 1]'
% [ru rv rw 1]'=[4,8,12,1]'ruvw=[4,8,12,1]'ruvw =
48
121
rxyz=Tzc*ruvw
rxyz =84
121
EMPLEANDO COMANDOS ESPECIALES
t1=rotz(-pi/2)t1 =
0.0000 1.0000 0 0-1.0000 0.0000 0 0
0 0 1.0000 00 0 0 1.0000
ruvw=[4 8 12 1]'ruvw =
48121
8/10/2019 Curso de Robotica Avanzada 2014
54/174
rxyz=t1*ruvwrxyz =
8.0000- 4.000012.00001.0000
2. Un sistema OUVW ha sido girado 90 grados alrededor del eje OX yposteriormente trasladado un vector p(8,-4,12) con respecto al sistemaOXYZ (figura adjunta). Calcular las coordenadas (rx,ry,rz) del vector r concoordenadas ruvw(-3,4,-11).
Solucin: Procedemos a ingresar los valores inicialmente para construir lamatriz T(z,c),ecuacin (III).
Procedemos a utilizar la ecuacin [rx ry rz 1]'=T[ru rv rw 1]' ecuacin (IV).
En donde, la matriz de transformacin,
T((x,a),p)= [1 0 0 px;0 cosa sena py;0 sena cosa pz;0 0 0 1] (VI)
8/10/2019 Curso de Robotica Avanzada 2014
55/174
Queda as:Txa=[1 0 0 8;0 0 -1 -4;0 1 0 12;0 0 0 1]Txa =
1 0 0 80 0 1 40 1 0 120 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]' , ecuacin (IV).
Txa=[1 0 0 8;0 0 -1 -4; 0 1 0 12;0 0 0 1]Txa =1 0 0 80 0 1 40 1 0 120 0 0 1
ruvw=[3,4,11,1]'ruvw =
34111
rxyz=Txa*ruvwrxyz =
57
161
diary off
8/10/2019 Curso de Robotica Avanzada 2014
56/174
LECCIN 5: MATRICES DE TRANSFORMACIN
HOMOGNEA: TRASLACIN SEGUIDA DEROTACIN
Se trata de realizar primero una traslacin seguida de una rotacin sobre losejes coordenados del sistema OXYZ. Las matrices homogneas resultantes sonlas siguientes:
Traslacin del vector px, y, z seguida de rotacin de un ngulo a sobre el eje OX.
T(p,(x,a))= [1 0 0 px;0 cosa sena pycosapzsena;0 sena cosapysena+pzcosa;0 0 0 1] (I)
Traslacin del vector px, y, z seguida de rotacin de un ngulo b sobre el eje OY.
T(p,(y,b))= [cosb 0 senb pxcosb+pzsenb;0 1 0 py;senb 0 cosbpzcosbpxsenb;0 0 0 1] (II).
Traslacin del vector px, y, z seguida de rotacin de un ngulo c sobre el eje OZ.
T(p,(z,c))=[cosc senc 0 pxcoscpysenc;senc cosc 0 pxsenc+pycosc;0 01 pz;0 0 0 1] (III).
PERSPECTIVA Y ESCALADO
Cuando en las componentes de un vector es posible la realizacin de unescalado, podemos aplicar las matrices homogneas. Para lograr esto, essuficiente emplear una matriz del tipo: T=[a 0 0 0;0 b 0 0;0 0 c 0; 0 0 0 1].
El caso tpico es transformar el vector r(x, y, z) en el vector r (ax, by, cz). Si setrata de hacer un escalado global de las tres componentes, tenemos el recursoapropiado con la matriz T=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 s].
8/10/2019 Curso de Robotica Avanzada 2014
57/174
EJERCICIOS ILUSTRATIVOS
1. Un sistema OUVW ha sido trasladado un vector p(8,-12,-4) con respectoal 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).
Solucin: Procedemos a ingresar los valores inicialmente para construir lamatriz T(p,(x,a)),ecuacin (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]
8/10/2019 Curso de Robotica Avanzada 2014
58/174
Tpxa =
1 0 0 80 0 1 120 1 0 40 0 0 1
ruvw=[3,4,11,1]'ruvw =
34
111
rxyz=Tpxa*ruvwrxyz =
5101
2. Composicin de matrices homogneas: Se quiere obtener la matriz detransformacin que representa al sistema O'UVW obtenido a partir delsistema OXYZ mediante un giro de ngulo de -90 grados alrededor del ejeOX, de una traslacin de vector p(x, y, z) , (5,5,10) y un giro de 90 gradossobre el eje OZ.
Solucin: 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 ejecucin directa:
Tp=[1 0 0 5;0 1 0 5;0 0 1 10;0 0 0 1]
8/10/2019 Curso de Robotica Avanzada 2014
59/174
Tp =1 0 0 5
0 1 0 50 0 1 100 0 0 1
rotz(pi/2),rotx(-pi/2)ans =
0.0000 -1.0000 0 01.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 00 -1.0000 0.0000 00 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.00001.0000 0.0000 0.0000 5.0000
0 -1.0000 0.0000 10.00000 0 0 1.0000
diary off
8/10/2019 Curso de Robotica Avanzada 2014
60/174
CAPITULO III: IMPLEMENTACIONES
COMPUTACIONALES.LECCIN 1: REPRESENTACIN DE LA POSICIN:EJECUCIONES COMPUTACIONALES.
A. Representacin de un cuadro de referencia {A}, a partir del cualreferiremos 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 00 1 0 00 0 1 00 0 0 1
frame ( TA , ' r ' , 1) ;grid on
8/10/2019 Curso de Robotica Avanzada 2014
61/174
B. Representacin de dos cuadros de referencia {B} y {C}, generados a partirde {A}, mediante traslacin.
{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 30 1 0 50 0 1 00 0 0 1
TC = transl ( -2, -4, 1 )TC =
1 0 0 20 1 0 40 0 1 10 0 0 1
8/10/2019 Curso de Robotica Avanzada 2014
62/174
frame ( TA , ' r ' , 1 ) ;frame ( TB , ' b' , 1 ) , grid ;
frame ( TC , ' k', 1) , grid ;
8/10/2019 Curso de Robotica Avanzada 2014
63/174
TRANSFORMACIN TRANSLACIONAL:
EJERCICIOSegn la figura, el sistema 0'UVW esta trasladado un vector p(6, 3, 8) conrespecto 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 ) .
SOLUCIN:
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 60 1 0 -30 0 1 80 0 0 1
frame (TA , ' b ', 1 )
8/10/2019 Curso de Robotica Avanzada 2014
64/174
frame ( TB , ' r ', 1)
r uvw = [ -2 7 3 1 ] 'rx ry rz = TB * [ 2 7 3 1] 'rx ry rz =
4
4111
diary off
8/10/2019 Curso de Robotica Avanzada 2014
65/174
LECCIN 2: REPRESENTACIN DE LAORIENTACIN, EJECUCIONES COMPUTACIONALES
A. Representacin de un cuadro de referencia {A}, a partir del cualreferiremos los cuadros de los ejemplos siguientes:
TA = [ 1 0 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 0 1 ]
B. Representacin de dos cuadros de referencia {B} y {C}, generados a partirde {A} mediante rotacin:
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)
8/10/2019 Curso de Robotica Avanzada 2014
66/174
8/10/2019 Curso de Robotica Avanzada 2014
67/174
8/10/2019 Curso de Robotica Avanzada 2014
68/174
frame ( T1 , ' g ',1 )Y
rxryrz = T1 * [ 4 8 12 1 ] 'rxryrz =
8.0000-4.000012.0000
1.0000
diary off
8/10/2019 Curso de Robotica Avanzada 2014
69/174
LECCIN 3: REPRESENTACIN DE LA POSICIN YORIENTACIN: EJECUCIONES COMPUTACIONALES
A. Representacin de un cuadro de referencia {A}, a partir del cualreferiremos 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 00 1 0 00 0 1 00 0 0 1
frame ( TA , ' y ' , 1) ;
grid on
8/10/2019 Curso de Robotica Avanzada 2014
70/174
B. Representacin de dos cuadros de referencia {B} y {C}, generados a partirde {A} mediante rotacin y traslacin.
{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) ;
8/10/2019 Curso de Robotica Avanzada 2014
71/174
frame ( TC, ' r ', 1) ;
diary off
8/10/2019 Curso de Robotica Avanzada 2014
72/174
LECCIN 4: CONCATENACIN DE LASOPERACIONES DE TRASLACIN Y ORIENTACIN,
EJECUCIONESCOMPUTACIONALES
A. Traslacin pura de 0.4 m en la direccin 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 00 0 0 1.0000
frame ( T , ' g ' , 1 ) ;
8/10/2019 Curso de Robotica Avanzada 2014
73/174
B. Rotacin de 90 grados en torno al eje Y.
T =roty(pi/2)
T =0.0000 0 1.0000 0
0 1.0000 0 01.0000 0 0.0000 0
0 0 0 1.0000
frame ( T , ' y ', 1 ) ;
C. Rotacin de 90 grados en torno al eje Z
T=rotz(pi/2)
0.0000 1.0000 0 01.0000 0.0000 0 0
0 0 1.0000 00 0 0 1.0000
frame ( T , ' b ', 1 ) ;
8/10/2019 Curso de Robotica Avanzada 2014
74/174
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.40001.0000 0.0000 0 00.0000 1.0000 0.0000 0
0 0 0 1.0000
frame ( T , ' r ', 1 ) ;
8/10/2019 Curso de Robotica Avanzada 2014
75/174
LECCIN 5: NGULOS DE EULER: EJECUCIONESCOMPUTACIONALES
Calcular los ngulos de Euler ZYZ de la transformacin resultantes.
Traslacin pura de 0.4 m en la direccin del eje X.
T=transl(0.4, 0,0)
T =1.0000 0 0 0.4000
0 1.0000 0 00 0 1.0000 00 0 0 1.0000
A. Rotacin de 90 grados en torno al eje Y
T=roty(pi/2)
T =0.0000 0 1.0000 0
0 1.0000 0 01.0000 0 0.0000 0
0 0 0 1.0000
B. Rotacin 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 00 0 0 1.0000
8/10/2019 Curso de Robotica Avanzada 2014
76/174
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 transformacin 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 representacin es la ms empleada cuando se trata de la aplicacin degiros sobre los ejes del sistema fijo. Si partimos de los sistemas OXYZ y OUVW,nos corresponde colocar al sistema OUVW en cualquier orientacin siguiendolos pasos siguientes (ver figura).
8/10/2019 Curso de Robotica Avanzada 2014
77/174
8/10/2019 Curso de Robotica Avanzada 2014
78/174
SEGUNDA UNIDAD
MODELADO CINEMTICO Y DINMICO DE UNROBOTCAPITULO 1:
CINEMTICA DEL ROBOT INTRODUCCIN
La fsica nos permite entender, a la cinemtica como el estudio del movimientosin tener en cuenta, las fuerzas que lo producen. Tomando esto en
consideracin, surge el compromiso de emprender el estudio tanto de laspropiedades geomtricas, como de las temporales del movimiento. En esteespacio, hemos de estimar, adems del problema estrictamente geomtricocomprometido en el posicionamiento esttico, los efectos correspondientes alas variaciones de carcter temporal, en lo referente a las posiciones y tambina las orientaciones; con esto nos estamos refiriendo a las velocidades.
Cuando estudiamos el fenmeno del movimiento, hemos de referirnos a unsistema de referencia. Resulta habitual, dada la naturaleza del tema, contar con
un plan para controlar el movimiento de un manipulador; en cuyo caso, se hacenecesario establecer tcnicas para representar la posicin del brazo, en puntos,en relacin con el tiempo. El manipulador del robot se determina empleandodos elementos bsicos: articulaciones y enlaces. Cada articulacin representaun grado de libertad. Las articulaciones pueden ocasionar un movimiento lineal(articulacin tipo L) o un movimiento rotacional (articulaciones tipos R, T y V)entre los enlaces adyacentes.
En los modelos geomtricos y cinemticos se involucra de manera substancial el
tratado de las relaciones existentes entre el espacio de las variables articularesy el espacio de trabajo, llamado tambin, espacio operacional, el cual suele serun espacio cartesiano. De manera general, el espacio de las variables articularestendr n dimensiones, por lo que se utilizara un vector de dimensin n paraespecificar la posicin y orientacin del robot. El espacio de trabajo de unmanipulador tendr dimensin seis, por lo que se requieren seis valores paraespecificar la posicin y la orientacin. Cuando se trata de manipuladores
8/10/2019 Curso de Robotica Avanzada 2014
79/174
planares, o en robots mviles que navegan en el plano, ser suficiente con unespacio de dimensin tres, para precisar la posicin y el ngulo de orientacin.En nuestro caso, cuando tenemos que abordar el estudio de la cinemtica del
robot, hemos de procurar describir de manera analtica, el movimiento delrobot como una funcin del tiempo, teniendo que emplear los valores quetoman sus coordenadas articulares, en virtud de las relaciones existentes entrela posicin y la orientacin del extremo final del robot.
En la cinemtica del robot, los problemas a resolver se reducen al conocidocomo problema cinemtico directo, y al cinemtico inverso. El primero consisteen determinar cul es la posicin y orientacin del robot, con respecto a unsistema de coordenadas que se toma como referencia, teniendo conocidos los
valores de las articulaciones y los parmetros geomtricos de los elementos delrobot. El segundo, nos permite solucionar la configuracin que debe adoptar elrobot para una posicin y orientacin del extremo conocidas.
Finalmente tenemos que agregar, que la cinemtica del robot estcomprometida con obtener las relaciones entre las velocidades del movimientode las articulaciones y las del extremo. Esta relacin se encuentra contempladapor el modelo diferencial, el cual es declarado mediante la matriz Jacobiana.
LECCIN 1: EL PROBLEMA CINEMTICODIRECTO DEL MANIPULADOR
En menciones anteriores, hemos apreciado la utilizacin permanente delalgebra vectorial y matricial, cuando requerimos describir la localizacin de unobjeto en el espacio de tres dimensiones con respecto a un sistema dereferencia fijo. Por la naturaleza del modo de operacin de un robot, lopodemos considerar como una cadena cinemtica constituida por objetosrgidos o eslabones ligados entre s mediante articulaciones. De esta manera,podemos establecer un sistema de referencia fijo situado en la base del robot yadelantar la descripcin de la localizacin de cada uno de los eslabones conrespecto a dicho sistema de referencia. En estas circunstancias, el problemacinemtico directo se resume a encontrar una matriz homognea de
8/10/2019 Curso de Robotica Avanzada 2014
80/174
transformacin T, la cual relaciona la posicin y orientacin del extremo delrobot, respecto al sistema de referencia fijo situado en la base del mismo. Estamatriz T se expresa como funcin 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 aencontrar las relaciones que hacen posible obtener la localizacin espacial delextremo del robot, a partir de los valores de sus coordenadas articulares.
De esta manera, procedemos a elegir coordenadas cartesianas y ngulos deEuler, con los que logramos representar la posicin y orientacin del extremode un robot de seis grados de libertad. Las relaciones que nos permiten resolverel problema cinemtico directo son:
Estas relaciones se obtienen mediante simples consideraciones geomtricas.Por ejemplo, para el caso de de un robot de con dos grados de libertad (GDL),nos resulta:
8/10/2019 Curso de Robotica Avanzada 2014
81/174
Robot planar de dos grados de libertad.
De manera general, un robot con n grados de libertad est constituido por neslabones unidos tambin por n articulaciones, de tal manera que cada par dearticulacin eslabn, conforma un grado de libertad. De esta manera, a cadaeslabn se le asocia un sistema de referencia solidario a l y, empleando lastransformaciones homogneas, podemos representar las rotaciones y
traslaciones relativas, entre los distintos eslabones que componen el robot.
La matriz de transformacin homognea que representa tanto la posicin comola orientacin, la denominamos matriz .Considerando todos los grados de libertad, a la matriz se le denominamatriz T. Si queremos ilustrar un robot de seis grados de libertad, la posicin yorientacin estn dados por la matriz T:
Cuando tratamos de describir la relacin entre dos elementos contiguos,hacemos uso de cualquier sistema de referencia ligado a cada elemento.
8/10/2019 Curso de Robotica Avanzada 2014
82/174
Generalmente en robtica utilizamos la representacin de Denavit-Hartenberg(DH), que se refiere a un mtodo matricial con el cual establecemos de
manera sistemtica un sistema de coordenadas ligado a cada eslabn i de unacadena articulada, permitiendo seguidamente establecer las ecuacionescinemticas de la cadena completa.
Mediante esta representacin, podemos escoger adecuadamente los sistemasde coordenadas relacionados con cada eslabn, haciendo posible pasar de unoal siguiente a travs de 4 transformaciones bsicas, las cuales dependenexclusivamente de las caractersticas geomtricas del eslabn.
Estas transformaciones bsicas estriban en una sucesin de rotaciones ytraslaciones, que permiten vincular al sistema de referencia i con el sistema delelemento i - 1. Las transformaciones citadas son las siguientes:
1. Rotacin alrededor del eje un ngulo .
2. Traslacin a travs de una distancia di; esto es un vector el cualse expresa como di(0, 0, di).
3. Traslacin a travs de una distancia ; cuyo vector es (0, 0, ).3. Rotacin alrededor del eje un ngulo .Conviene tener presente que el producto de matrices no es conmutativo, por loque las transformaciones se deben ejecutar en el orden indicado. Es por esto,que la ejecucin de las operaciones debe cumplir el siguiente formato:
8/10/2019 Curso de Robotica Avanzada 2014
83/174
El producto entre las matrices comprometidas se expresa as:
NOTA: son los parmetros DH del eslabn i.Todo indica que la tarea a seguir consiste en identificar los parmetros paraobtener las matrices A y de esta manera vincular todos y cada uno de loseslabones del robot .
Los cuatro parmetros de estn sujetos nicamente a lascaractersticas geomtricas de cada eslabn y de las articulaciones que le unencon las adyacentes, es decir, el anterior y el siguiente. Esto lo visualizamos en lafigura siguiente.
Figura 2. Parmetros DH para un eslabn giratorio.
8/10/2019 Curso de Robotica Avanzada 2014
84/174
8/10/2019 Curso de Robotica Avanzada 2014
85/174
LECCIN 2: CINEMTICA INVERSA DELMANIPULADOR COMENTARIOS INICIALES
En nuestro afn por estructurar y conocer los aspectos de la configuracin delos robots, dentro de lo cual hace parte los aspectos de la localizacin espacial,se hace indispensable que su extremo se posicione y oriente.
En la mayor parte de las aplicaciones, interesa definir los movimientos del roboten el espacio cartesiano de manera relacionada con la tarea que se intentaadelantar. Por lo tanto, para el control del robot se requiere obtener los valoresde las variables articulares, de tal manera que la posicin y orientacin delrobot, o en particular de su efector final, sea la deseada.
En este punto, surge el compromiso de encontrar los valores que deben asumirlas coordenadas articulares del robot , labor esta que seconstituye en el objetivo central de problema cinemtico inverso. De maneradirecta y concisa, podemos conjeturar que la obtencin de las respectivasecuaciones, esta intensamente subordinado a los elementos propios de laconfiguracin del robot.
Tratando de encontrar procedimientos para aliviar las dificultades inherentes alproblema, se han presentado propuestas de solucin de ndole diversa, peroestas conllevan inconvenientes que generan limitaciones apreciables.La mayor parte de los robots suponen cinemticas relativamente simples, loque facilita en cierta medida la solucin de su problema cinemtico inverso. Esa este tipo de problemas a los que nosotros daremos atencin y dedicacin.
ASPECTOS GENERALES DEL PROBLEMA
Si consideramos solo los tres primeros grados de libertad de la mayora de losrobots, estos presentan una estructura planar, es decir, los tres primeroselementos quedan contenidos en un plano. Este detalle hace muy asequibleencontrar la solucin del problema. Adicionalmente, cabe mencionar que enmuchos robots se observa que los tres grados de libertad ltimos, en lo
8/10/2019 Curso de Robotica Avanzada 2014
86/174
referente a la orientacin del extremo del robot, corresponden a giros sobreejes que se cortan en un punto. Nuevamente, este pormenor hace viable elclculo de la nupla correspondiente tanto a la posicin como a la orientacin
requerida. Es por esto que podemos establecer algunos derroteros generalesque nos concedan elementos adecuados para plantear y resolver el problemacinemtico inverso de una manera ordenada y jerarquizada.
Los mtodos geomtricos encauzan la obtencin de los valores de las primerasvariables articulares, las cuales se encargan de posicionar el robot (descartandola orientacin de su extremo). Para esto acudimos al empleo de relacionesgeomtricas y trigonomtricas sobre los elementos del robot. Tambin enalgunas ocasiones apelamos a la resolucin de tringulos que se forman atravs de los elementos y articulaciones del robot. Buscando alternativas quepermitan resolver el mismo problema, se encuentra que se hace posible cuandomanipulamos de manera directa las ecuaciones correspondientes al problemainverso. Por esta ruta logramos la siguiente relacin:
n o a p0 0 0 1 = tij
Los elementos tij estn en funcin de las coordenadas articulares, por lo que esfactible mediante ciertas combinaciones de las 12 ecuaciones establecidas,despejar las n variables articulares en funcin de las componentes de losvectores.
RESOLUCION DEL PROBLEMA CINEMATICOINVERSO POR METODOS GEOMETRICOS
Como mencionamos anteriormente, usamos este procedimiento cuandotratamos robots de pocos grados de libertad, o cuando todo indica considerarnicamente los primeros grados de libertad, encargados de posicionar elextremo. La base de este procedimiento establece que hay que encontrar unsuficiente nmero de relaciones geomtricas, en las que participan lascoordenadas del extremo del robot, sus coordenadas articulares y lasdimensiones fsicas de sus consabidos elementos.
8/10/2019 Curso de Robotica Avanzada 2014
87/174
Para aplicar el mtodo de resolucin del problema cinemtico inverso de unrobot con 3 GDL de rotacin, emplearemos una estructura tpica articular. Esta
figura nos permite visualizar la configuracin del robot.
Figura 3. Robot articular
El dato de partida son las coordenadas referidas a { en las quese intenta posicionar su extremo.
La estructura de este robot es planar, en donde el plano est determinado porel ngulo de la primera variable articular .
El valor adquirido por lo obtenemos de manera automtica empleando:
8/10/2019 Curso de Robotica Avanzada 2014
88/174
Cuando tenemos presente solamente los elementos 2 y 3 que se encuentransituados 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 ecuacin anterior, logramos obtener en virtud del vector deposicin p. Sin embargo, y por razn de ventajas computacionales, resulta ms
conveniente usar la expresin de la arco-tangente en lugar del coseno.
Por lo que significa
8/10/2019 Curso de Robotica Avanzada 2014
89/174
(9)Se llega a obtener
Con
(10)
Es fcil apreciar que existen dos soluciones posibles para de acuerdo al tipode signos que escojamos en la raz (positivo o negativo). Estos casoscorresponden a las configuraciones de codo arriba y codo abajo.
LECCIN 3: RESOLUCION DEL PROBLEMACINEMATICO INVERSO MEDIANTE LA MATRIZDE TRANSFORMACIN HOMOGNEA
En este apartado abordamos el proceso dirigido a un robot de 3 GDL deconfiguracin esfrica (2 giros y un desplazamiento), situacin que ilustramosen la presente figura. El robot queda siempre incluido en un plano el cual estdeterminado por el ngulo
Figura 5. Robot polar de 3 GDL
8/10/2019 Curso de Robotica Avanzada 2014
90/174
Para resolver el problema cinemtico inverso, iniciamos obteniendo laexpresin (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, podemosapreciar la asignacin de los sistemas de referencia de acuerdo a los criterios
de Denavit-Hartenberg con el robot que est situado en suposicin de partida y adicionalmente la tabla nos muestra losvalores de los parmetros apropiados de Denavit-Hartenberg.
Figura 6. Asignacin de sistemas de referencia del robot polar de la figura 5.
Articulacin d a 1 0 902 0 0 -903 0 0 0
8/10/2019 Curso de Robotica Avanzada 2014
91/174
Tomando en consideracin estos parmetros, de manera gil obtenemos lasmatrices A y la matriz T.
Los pasos siguientes, nos orientan a poder manipular directamente las 12ecuaciones resultantes de T, con el propsito de de poder despejar en trminos de n, o, a p. Este camino resulta inapropiado, por loque 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 funcin delas variables articulares . Mediante algunas consideraciones,
tendremos ; luego a partir de , llegamos al valor de , en ambassituaciones haciendo manipulaciones en la ecuacin (16).
Finalmente, conocidos y podremos obtener haciendo uso de laexpresin (6). Este procedimiento lo indicamos de manera abreviada as:
8/10/2019 Curso de Robotica Avanzada 2014
92/174
(17)
Luego encontramos:
(18)
Por consiguiente, empleando la primera de las ecuaciones de (16) llegamos atener:
De las relaciones anteriores establecidas en la ecuacin anterior nos interesanaquellas que expresan en funcin de constantes (y no de ).Empleando llegamos a tener:
8/10/2019 Curso de Robotica Avanzada 2014
93/174
(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 solucin del problemacinemtico inverso de nuestro robot considerado. Las colocamos de maneradespejada y grupal:
8/10/2019 Curso de Robotica Avanzada 2014
94/174
(25)
LECCIN 4: MATRIZ JACOBIANA DELMANIPULADOR
Como pudimos darnos cuenta, el estudio del modelado cinemtico de un robot,pretende hallar las relaciones que puedan existir entre las variables articulares yla posicin (lo cual se expresa normalmente en forma de coordenadas polares)y orientacin del extremo del robot. En este evento no se consideran las fuerzas
o pares que actan sobre el robot (actuadores, cargas, fricciones, etc.) y quepueden causar el movimiento del mismo.
Conviene poder tener acceso a la relacin entre las derivadas respectivas. Esdecir, el sistema de control debe estar en condiciones de poder registrar lasvelocidades adquiridas en cada articulacin (a travs de sus respectivosactuadores), de tal manera que el extremo desarrolle una trayectoria temporalconcreta.
Para cumplir con este y otros propsitos, hemos de contar con la respectivarelacin que involucre las velocidades de las coordenadas articulares, las deposicin y orientacin del extremo del robot. La relacin que cobija ambosvectores de velocidad se deriva a travs de la denominada matriz Jacobiana.
8/10/2019 Curso de Robotica Avanzada 2014
95/174
RELACIONES DIFERENCIALES
La forma ms directa para deducir la relacin entre las velocidades articulares ylas del extremo del robot, se hace diferenciando las ecuacionescorrespondientes al modelo cinemtico directo.
Se trata de partir conociendo las ecuaciones que solucionan el problemacinemtico directo de un robot de n GDL (grados de libertad):
Mediante el empleo de la matriz Jacobiana podemos conocer las velocidadesdel extremo del robot mediante las velocidades de cada articulacin.
Si estas expresiones las derivamos respecto al tiempo, llegamos a tener:
8/10/2019 Curso de Robotica Avanzada 2014
96/174
Estas expresiones podemos presentarlas en forma matricial:
[
]
La matriz J puesta en escena, es conocida como matriz Jacobiana.
Debido a que el valor numrico de cada uno de los elementos de laJacobiana, est en funcin de las coordenadas articulares por lo que el valorde la Jacobiana ser diferente en cada uno de los puntos del espacio articular.JACOBIANA INVERSA
De igual manera que obtenemos la relacin directa, mediante la cual se facilitael clculo de las velocidades del extremo a partir de las velocidades articulares,es pertinente obtener la relacin inversa, por medio de la cual podemoscalcular las velocidades articulares partiendo de las del extremo. Esto es factiblemediante el concurso de procedimientos diferentes.
MTODOS DE CLCULO DE LA JACOBIANAINVERSA.
Inversin simblica de la matriz Jacobiana.- Gran complejidad (matriz 6x6).
8/10/2019 Curso de Robotica Avanzada 2014
97/174
Evaluacin numrica de J e inversin numrica- Necesidad de un re-computo continuo.- En ocasiones J no es cuadrada matriz pseudoinversa.
- En ocasiones | J | = 0 A partir del modelo cinemtico inverso.
Es posible que este mtodo resulte algebraicamente complicado, por lo queconviene apelar a otras opciones, haciendo uso de procedimientos numricospara el clculo gil de la Jacobiana.
CONFIGURACIONES SINGULARES
Denominamos configuraciones singulares de un robot, a todas aquellas en lasque el determinante de su matriz Jacobiana se anula. En virtud de esto, en lasconfiguraciones singulares no puede existir Jacobiana inversa.
Aquellas en las que | J | = 0 (Jacobiano nulo).
Incremento infinitesimal de coordenadas cartesianas implica incrementoinfinito coordenadas articulares.
Implica perdida de algn grado de libertad.
Tipos:- Singularidades en los lmites del espacio de trabajo del robot.- Singularidades en el interior del espacio de trabajo del robot.
8/10/2019 Curso de Robotica Avanzada 2014
98/174
Requieren su estudio y eliminacin.
LECCIN 5: MODELOS DE DIFERENTESCONFIGURACIONES
Las coordenadas (x, y), suministran la posicin del robot con respecto a lascoordenadas globales y el ngulo su orientacin con respecto a un ejeparalelo al Y. La configuracin de la figura a. es la denominada sncrona en lacual existen transmisiones que permiten orientar las tres ruedassimultneamente con una velocidad angular y hacer que el vehculo sedesplace con una velocidad lineal v .
TOMADO DE : Robtica: Manipuladores y robots mviles.
8/10/2019 Curso de Robotica Avanzada 2014
99/174
Siendo b la va del vehculo (distancia que separa las dos ruedas centrales). Si seespecifican, la velocidad lineal v y angular del vehculo, las velocidades de giroque hay que aplicar a las ruedas izquierda y derecha son:
Este modelo puede expresarse en funcin de variables de control como,
En la figura c anterior se representa el triciclo convencional en el cual la ruedadelantera se utiliza tanto para la orientacin como para la traccin.En este caso las variables de control suelen tomarse como el ngulo de direccin de la rueda delantera y la velocidad de giro de la misma t. Se supondr que el punto de gua (x, y) est en el centro del eje trasero.
8/10/2019 Curso de Robotica Avanzada 2014
100/174
Las velocidades, linealv y angular del vehculo, son respectivamente:
El ngulo de orientacin del vehculo vara segn:
Por consiguiente se puede obtener el siguiente modelo en funcin de lasvelocidades de control y .
Conocidas las velocidades lineal v y angular las variables de control y pueden obtenerse mediante.
8/10/2019 Curso de Robotica Avanzada 2014
101/174
CAPITULO 2: DINMICA DEL ROBOTINTRODUCCIN
Cuando abordamos el estudio de la dinmica, nos ocupamos de la relacin queexiste entre las fuerzas que actan sobre un cuerpo y el movimiento originadosobre l, como consecuencia de la fuerza aplicada. Por consiguiente, el llamadomodelo dinmico de un robot, tiene por objetivo, encontrar la relacin entre elmovimiento del robot y las fuerzas implicadas en el mismo.
Esta relacin la conseguimos haciendo uso del denominado modelo dinmico, atravs del cual relacionamos matemticamente:
La localizacin del robot. Esta localizacin es determinada por susvariables articulares o por las coordenadas de localizacin de su extremo,y sus derivadas: velocidad y aceleracin.
Las fuerzas y pares que se aplican en las articulaciones, o en el extremodel robot.
Los parmetros dimensionales del robot, en cuyo caso podemos citar, lalongitud, las masas e inercias de sus elementos.
Cuando tratamos problemas que involucran mecanismos de uno o dos gradosde libertad, la obtencin de este modelo no es compleja, pero con el aumentode grados de libertad, el planteamiento y la obtencin del modelo dinmico,suele complicarse de manera apreciable. Es por esta razn, que no siempre esposible obtener un modelo dinmico expresado mediante una serie deecuaciones, en donde la integracin de las mismas, nos ayude a conocer el tipode movimiento que surge al aplicar las fuerzas, o las que deberamos aplicarpara obtener un movimiento determinado. Es por esto que optamos resolver elmodelo dinmico de una manera iterativa, apelando a la utilizacin de unproceso numrico.
La obtencin del modelo dinmico de un robot, se ha constituido en uno de losproblemas ms complejos de la robtica, llegando a alcanzar adems, la
8/10/2019 Curso de Robotica Avanzada 2014
102/174
8/10/2019 Curso de Robotica Avanzada 2014
103/174
8/10/2019 Curso de Robotica Avanzada 2014
104/174
energticas. Es oportuno destacar que este planteamiento es ms sistemticoque el anterior, y por ende, hace fcil de manera muy apreciable, la formulacinde un modelo tan complejo como resulta ser el de un robot.
El empleo de esta formulacin lo hacemos estableciendo la ecuacin:
En donde:
Coordenadas generalizadas (Las articulares).t= Vector de fuerzas y pares aplicados en las .
Funcin Lagrangiana.K= Energa cintica.U= Energa potencial.
Teniendo en cuenta el robot mono-articular de la figura de arriba, tendramos:
En donde se encuentra establecido que:
Adems se conoce que:
Entonces, reemplazando en L tendremos inicialmente:
8/10/2019 Curso de Robotica Avanzada 2014
105/174
Haciendo la debida sustitucin se obtiene:
Ecuacin que llega a coincidir con la correspondiente a la de un robot mono-articular.
OBSERVACION: la formulacin Lagrangiana aunque resulta ms tediosa que laNewtoniana, presenta ventajas cuando aumenta el nmero de grados delibertad.
LECCIN 2: FORMULACIN DE LAGRANGEEULERDESCRIPCIN GENERAL
Cuando emprendemos este planteamiento, estamos direccionados a utilizarciertas matrices que relacionan el sistema de coordenadas de referencia delelemento i con el elemento i -1.
Se efectan operaciones de suma y producto de manera innecesaria, por lo queresulta ser un procedimiento ineficiente desde el punto de vista computacional.Sin embargo, es legtimo dejar claro que su aplicacin nos puede conducir aunas ecuaciones finales bien estructuradas donde aparecen de manera clara y
8/10/2019 Curso de Robotica Avanzada 2014
106/174
concisa, los diversos pares y fuerzas que intervienen en el movimiento deinercia.
Hacemos referencia a la fuerza de inercia, Coriolis y gravedad. Esteprocedimiento se basa en una interpretacin de la energa involucrada.Teniendo en consideracin el ejemplo del manipulador con una nicaarticulacin, la energa cintica viene dada por:
Y la energa potencial por:
La funcin Lagrangiana de la manera siguiente:
La formulacin dinmica se basa en la ecuacin:
En donde es el par aplicado.
LECCIN 3: FORMULACIN DE NEWTONEULER:IMPLEMENTACION COMPUTACIONAL
Para la obtencin de un modelo dinmico de este tipo, se requiere generalizar alas aceleraciones, los conceptos y notaciones empleadas para ilustrar lasvelocidades. Se comienza presentando las expresiones correspondientes a lasaceleraciones. Seguidamente, se establece el mtodo de Newton-Euler en suforma iterativa, haciendo la ilustracin de la aplicacin en el manipulador planocon dos articulaciones.
8/10/2019 Curso de Robotica Avanzada 2014
107/174
EJEMPLO:
Consideremos el manipulador con dos articulaciones de rotacin como elmostrado en la figura.
Para facilitar la resolucin del problema tendremos en cuenta que las masas M1y M2 estn 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;
8/10/2019 Curso de Robotica Avanzada 2014
108/174
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 parmetros dinmicos 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)*gcos(t2)*tdd1*l1cos(t2)*cos(t1)*g)]
8/10/2019 Curso de Robotica Avanzada 2014
109/174
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+l1^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)*tdd1*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)*tdd1*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
8/10/2019 Curso de Robotica Avanzada 2014
110/174
8/10/2019 Curso de Robotica Avanzada 2014
111/174
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)*l2sin(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)*l2sin(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+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*tdd1+l2^2*m2*tdd2+l2*m2*sin(t2)*td1^2*l1+l2*m2*g*cos(t2+t1)+l2*m2*cos(t2)*tdd1*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)*l1)), l2*m2*(l2+cos(t2)*l1)][ l2^2*m2+l1*cos(t2)*m2*l2, l2^2*m2]
Trminos centrfugos 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]
8/10/2019 Curso de Robotica Avanzada 2014
112/174
OBSERVACIONES
La funcin rne nos permite obtener el modelo dinmico. Para que esto
funcione, simplemente debemos pasarle una matriz de parmetros dyn con elformato apropiado.
Adicionalmente, se requiere pasarle un vector con la aceleracin de lagravedad que sufre el manipulador, as como los valores de las variablesarticulares, los de las velocidades y las aceleraciones articulares.
La funcin rne nos devuelve como resultado los pares ejercidos en cadaarticulacin.
LECCIN 4:TRANSFORMACIONES HOMOGNEAS YCINEMTICA DEL ROBOT (Ejemplo)
DESCRIPCIN GENERAL
Un mtodo de categora general con el que podemos determinar las ecuacionescinemticas de un brazo de robot, consiste en hacer uso de lastransformaciones homogneas.
Un vector de punto, se puede representar en un espacio detres dimensiones por una matriz de columna:
8/10/2019 Curso de Robotica Avanzada 2014
113/174
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 representacin del vectorv = 25i+10j+20k.
Vectores de la forma anterior los podemos emplear para definir la posicin del
extremo del brazo para un manipulador de robot. Cuando w = 0, entonces elvec
Top Related