Você está na página 1de 48

ndice 1.-Introduccin 5 1.1.-El problema de la cinemtica inversa 5 1.2.-Objetivos 6 1.3.-Opciones 7 1.3.1.-Introduccin 7 1.3.2.-Cinemtica inversa mediante mtodos geomtricos 7 1.3.3.

-Cinemtica inversa a partir de la matriz de transformacin homognea 1.3.4.-Cinemtica inversa mediante mtodos iterativos 9 1.3.5.-Redes Neuronales (MLP y BackPropagation) 10 1.3.6.-Redes Neuronales (RBF) 10 1.3.7.-Variaciones a las redes RBF 11 1.3.8.-Redes CMAC 12 1.3.9.-Posicionamiento por aprendizaje visual 13 1.3.10.-Aprendizaje no supervisado 14 1.4.-Metodologa 16 2.-Cinemtica Directa 18 2.1.-Introduccin 18 2.2.-El robot PUMA 560 18 2.2.1.-Introduccin 18 2.2.2.-El brazo manipulador 19 2.3.-Algoritmo Denavit-Hartenberg 21 2.4.-Obtencin de las matrices EMBED Equation.3 y EMBED Equation.3 23 2.5.-Obtencin de los ngulos Roll-Pitch-Yaw 25 2.6.-Espacio de entrada 26 2.7.-Determinacin de la configuracin del robot 27

3.-Cinemtica inversa 28 3.1.-Introduccin 28 3.2.-Resolucin de la cinemtica inversa a partir de la matriz EMBED Equation.3

28 3.2.1.-El mtodo 28 3.2.2.-Resolucin del ngulo 1 29 3.2.3.-Resolucin del ngulo 2 30 3.2.4.-Resolucin del ngulo 3 32 3.2.5.-Resolucin del ngulo 5 33 3.2.6.-Resolucin del ngulo 4 33 3.2.7.-Resolucin del ngulo 6 34 3.3.-Resolucin de la cinemtica inversa mediante mtodos iterativos 35 3.3.1.-Introduccin 35 3.3.2.-Implementacin del mtodo Newton-Raphson 35 4.-Redes Neuronales 39 4.1.-Introduccin 39 4.2.-Backpropagation 39 4.2.1.-Introduccin 39 4.2.2.-Funcionamiento 40 4.3.-Radial Basis Function Network (RBF) 42 4.3.1.-Introduccin 42 4.3.2.-Funcionamiento 43 4.3.3.-Entrenamiento 44 5.-Aplicacin de las redes neuronales a la cinemtica inversa 45 5.1.-Introduccin 45 5.2.-Backpropagation & cinemtica inversa 46 5.2.1.-Esquema 46 5.2.2.-5 redes multicapa 46 5.2.3.-Newton-Raphson 46 5.2.4.-Objetivo 47 5.3.-RBF & cinemtica inversa 47 5.3.1.-Esquema 47 6.-Resultados obtenidos en la aplicacin de redes neuronales

48 6.1.-Introduccin 48 6.2.-Backpropagation 48 6.2.1.-Introduccin 48 6.2.2.-Resultados de la aproximacin de las redes 48 6.2.3.-Conjunto NN+NRM 51 6.2.4.-Valoracin de resultados 53 6.3.-RBF 54 6.3.1.-Introduccin 54 6.3.2.-Resultados de la aproximacin de las redes 54 6.3.3.-Conjunto RBF+NRM 56 6.3.4.-Valoracin de resultados 56 6.4.-Medicin de tiempos 57 6.4.1.-Introduccin 57 6.4.2.-Tiempos 57 6.5.-Soluciones incorrectas 59 6.5.1.-Introduccin 59 6.5.2.-Nmero de soluciones incorrectas segn el mtodo empleado 60 7.-Entrenamiento de una red neuronal 61 7.1.-Introduccin 61 7.2.-Redes MLP entrenadas mediante Backpropagation 61 7.2.1.-Introduccin 61 7.2.2.-Dimensionamiento de la red 61 7.2.3.-Influencia de EMBED Equation.3 63 7.2.4.-Efecto de la tcnica de momento 64 7.2.5.-Nmero de ejemplos de entrenamiento 65 7.3.-Redes RBF 66 7.3.1.-Introduccin 66 7.3.2.-Nmero de centros 66 7.3.3.-Nmero de ejemplos 67

8.-Descripcin el software implementado 68 8.1.-Introduccin 68 8.2.-Cinemtica directa-inversa 68 8.2.1.-Introduccin 68 8.2.2.-Funcionamiento 68 8.3.-Redes Neuronales 72 8.3.1.-Introduccin 72 8.3.2.-Redes MLP entrenadas con Backpropagation 72 8.3.3.-Redes RBF 74 8.4.-Conjunto NN+ NRM 75 8.4.1.-Introduccin 75 8.4.2.-MLP+NRM 75 8.4.3.-RBF+NRM 75 9.-Valoracin de resultados, conclusiones y lineas futuras 76 9.1.-Valoracin de resultados 76 9.2.-Conclusiones 78 9.3.-Lneas futuras 79 Bibliografa 81

1.-Introduccin. 1.1.-El problema de la cinemtica inversa. El problema de la cinemtica inversa es el problema de calcular todos los valores que han de adoptar las articulaciones de un brazo manipulador, de tal fo rma que el efector final se encuentre en el punto deseado (posicin y orientacin). Esto se puede resolver abordando directamente un sistema de ecuaciones c uando el robot es relativamente sencillo, o bien buscar otros mtodos para poder r ealizar el clculo de una forma rpida y lo ms fcilmente posible, intentando que el pr

oceso sea genrico y adaptable a cualquier tipo de robot. El esquema de la pgina si guiente expresa claramente cul es el problema. Adems la solucin no es nica ya que existen diferentes configuraciones en la s que puede trabajar el robot, esto quiere decir que puede haber varias solucio nes para un punto dado segn el tipo de robot. En las siguientes figuras se puede observar al robot PUMA 560 en la misma posicin pero con distinta configuracin.

EMBED Equation.3 uation.3

EMBED Eq

EMBED Equation.3 uation.3

EMBED Eq

1.2.-Objetivos. El principal objetivo es dar un mtodo lo ms genrico posible para resolver e l problema de la cinemtica inversa. Este mtodo ha de cumplir varias caractersticas: Ha de ser genrico, no teniendo que sufrir modificaciones importantes al cambiar d e robot. Ha de ser rpido en cuanto a tiempo de clculo, ya que ha de ser til de cara a una im plementacin industrial. Ha de ser sencillo en cuanto a diseo, que no sea necesario un perodo de estudio de masiado largo para su elaboracin. Ha de ser eficiente, intentando que siempre ofrezca soluciones correctas y lo ms exactas posibles para aprovechar al mximo las posibilidades del robot. Otros objetivos pueden ser: Estudio completo de la cinemtica de un brazo robot. Estudio de los mtodos ms utilizados para resolver el problema de la cinemtica inver sa. Implementacin de algun mtodo aplicado a un robot concreto. Investigar qu aportan las redes neuronales al problema cinemtico inverso, viendo l os temas de robtica que se tratan con redes neuronales y cmo solucionan los proble mas.

1.3.-Opciones. 1.3.1.-Introduccin. En la extensa bibliografia que hay sobre el tema se pueden encontrar var ios mtodos para resolver la cinemtica inversa. Se han de estudiar todas las posibi lidades y elegir la ms adecuada o la que pudiera resultar ms sencilla. A continuac in se comentan los posibles mtodos que existen para controlar un brazo robot. 1.3.2.-Cinemtica inversa mediante mtodos geomtricos [5]. El mtodo se entiende perfectamente mediante un ejemplo para un robot muy sencillo de 3 GDL. La siguiente figura muestra el robot:

El valor de EMBED Equation.3 EMBED Equation.3 ;

se obtiene inmediatamente como: (ec 1-1)

Para obtener los otros dos ngulos se utilizar el teorema del coseno y se tiene: EMBED Equation.3 (ec 1-2) ; EMBED Equation.3 (ec 1-3); Del sistema se obtiene: EMBED Equation.3 (ec 1-4); Y para calcular EMBED Equation.3 : EMBED Equation.3 (ec 1-5); Para calcular EMBED Equation.3 : EMBED Equation.3 (ec 1-6); La eleccin del signo positivo o negativo har que se tome una configuracin u otra de l robot, segn codo arriba o codo abajo. 1.3.3.-Cinemtica inversa a partir de la matriz de transformacin homognea [5 ]. Este mtodo, que se explica ampliamente y se aplica a un caso concreto en el captul o 3.-Cinemtica Inversa, trata de resolver el problema de la cinemtica inversa a pa rtir de una matriz. Esta matriz es la matriz que permite calcular la cinemtica di recta y se conoce como matriz de transformacin homognea. El mtodo consiste en multiplicar a dicha matriz por otras matrices, de forma que

queden ecuaciones resolubles analticamente. Resolver la cinemtica inversa de esta manera puede resultar complicado, pero proporciona todas las soluciones de la c inemtica inversa y de una forma muy rpida. 1.3.4.-Cinemtica inversa mediante mtodos iterativos [9]. Este mtodo consiste en aplicar un mtodo iterativo para solucionar el sistema de ec uaciones que resulta de igualar la matriz de transformacin homognea a la matriz qu e expresa la posicin y orientacin deseadas T . La siguiente ecuacin representa dicha i gualdad: EMBED Equation.3 (ec 1-7); Las ecuaciones que se ha de resolver son entonces: EMBED Equation.3 ; EMBED Equation.3 ; EMBED (ec 1-10); EMBED EMBED EMBED ); EMBED EMBED EMBED ); EMBED ); EMBED ); EMBED ); Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 (ec 1-11); (ec 1-12); (ec 1-13 (ec 1-14); (ec 1-15); (ec 1-16 (ec 1-17 (ec 1-18 (ec 1-19 (ec 1-9) (ec 1-8)

Aqu se puede aplicar un mtodo iterativo para resolver estas ecuaciones, por ejempl o Newton-Raphson. Este mtodo se explica ampliamente en el captulo 3.-Cinemtica Inve rsa y se aplica a un caso concreto, el robot PUMA 560.

1.3.5.-Redes Neuronales (MLP y Backpropagation) [9]. Las redes neuronales son sistemas capaces de imitar o simular cualquier funcin po r complicada que sea. Esta caracterstica podra resultar til en la resolucin del prob lema cinemtico inverso. Suponiendo que se ha obtenido la relacin que permite calcular la cinemtica directa se pueden entrenar redes neuronales MLP (Multi Layer Perceptron). Se deberan ent renar varias redes (una para cada articulacin) en las que la entrada tuviera dime nsin 6 (X,Y,Z,A,B,C) y la salida dimensin 1 ( EMBED Equation.3 ). Estas redes se entr enaran mediante unos ejemplos de entrenamiento que se obtendran a partir de la mat riz de transfomacin homognea. El problema sera entonces encontrar un correcto dimensionamiento de la red neuron al, de tal forma que la red proporcionase una solucin lo ms exacta posible. Esto n o resulta en absoluto tarea fcil si el robot tiene muchas articulaciones ya que l a relacin entre la posicin-orientacin y los valores de las articulaciones resulta d emasiado complicada para que una red normal pueda aprenderla. Se ha de recurrir e n estos casos a redes neuronales de tamaos desorbitados y que precisan de un gran nmero de ejemplos para su entrenamiento. Hara falta entonces ordenadores de gran potencia y los entrenamientos resultaran casi interminables. Se puede intentar entonces combinar un mtodo iterativo y la utilizacin de redes ne

uronales. La red neuronal proporcionara una buena aproximacin inicial al mtodo iter ativo que hara que llegara mucho antes a la solucin exacta, siendo la rapidez de c onvergencia funcin directa de la exactitud de la red neuronal. 1.3.6.-Redes Neuronales (RBF) [10]. Este mtodo se basara en los mismos principios que el anterior, siendo vlido para RB F todo lo que se ha dicho para MLP y Backpropagation. La nica diferencia residira en la estructura interna de la red neuronal y en la tcn ica de entrenamiento que sera totalmente distinta.

1.3.7.-Variaciones en las redes RBF [13]. Las redes RBF tienen un tiempo de entrenamiento muy corto y una vez entrenadas, el tiempo de clculo de la salida tambin es muy pequeo en comparacin a una red MLP de muchas capas y muchas neuronas. El inconveniente es que en RBF el grado de prec isin es menor que el de las redes MLP entrenadas mediante Backpropagation, por es o se podra pensar en algn tipo de mejora o variacin que pudiese mejorar la precisin obtenida mediante estas redes. En su trabajo con RBF, Moody y Darken en 1989 sugirieron el uso de una capa inte rmedia y normalizada segn: EMBED Equation.3 (ec 1-20 ); El uso de esta ecuacin implica que: EMBED Equation.3 (ec 1-21); En este caso lo que hace la RBF es una particin de la unidad , lo cual es una propie dad matemtica deseada en aproximacin y descomposicin de funciones, lo que se traduc e en un efecto de suavizado. La ecuacin 1-20 tambin tiene un significado probabilstico: EMBED Equation.3 (ec 1-22);

1.3.8.-Redes CMAC [13]. Las redes CMAC (Cerebellar Model Articulation Controller) son otro tipo de redes que usan capas intermedias. Estas redes fueron desarrolladas por Albus (1971) como un modelo del cerebelo humano, y ms tarde fueron aplicadas al control robtico. Un modelo similar fue desarrollado paralelamente por Marr (1969). Existen muchos tipos diferentes de redes que derivan de la inicial de Albus. Aqu se describe la versin de Miller (1990). Las CMAC tienen 2 niveles de procesado, e l primero es una transformacin no lineal que pasa del vector de entrada x EMBED E quation.3 en otro EMBED Equation.3 , el vector z es un vector en el que como mximo c de sus componentes son diferentes de cero (c es el parmetro de generalizacin). E n el segundo nivel se genera la salida CMAC EMBED Equation.3 mediante un producto de una matriz por un vector EMBED Equation.3 donde W es una matriz L EMBED Equa tion.3 J de pesos reales y que es lo que se ha de calcular mediante el proceso de entrenamiento. Este tipo de redes tienen la ventaja sobre las redes entrenadas con Backpropagat ion de que la convergencia es muchsimo ms rpida y con un nivel ptimo de exactitud a la hora de modelar el sistema.

1.3.9.-Posicionamiento por aprendizaje visual [14]. La mayora de los trabajos existentes en este campo intentan relacionar figuras ge omtricas tales como puntos, lneas o crculos pertenecientes al espacio 2D con las co ordenadas cartesianas del robot. Y a pesar de que las soluciones basadas en mtodo s analticos han dado lugar a resultados tiles, todas dependen de figuras geomtricas que se supone que siempre sern visibles y detectables por la cmara. Adems, la rela cin fsica entre todos los objetos a detectar debe ser conocida para realizar las p royecciones correctamente, y tambin se debe precisar la relacin entre las coordena das de la cmara y las del punto final del robot. Todas estas relaciones de dependencia son altamente no lineales y dependen de pa rmetros como: la relacin cmara-robot, los parmetros intrnsecos de la cmara y los parme ros de la cinemtica del robot. Se podra pensar en utilizar una red neuronal para a prender la transformacin del conjunto basndose en ejemplos de entrenamiento. El pr imer trabajo que segua esta lnea era de Hashimoto (1992), utilizaba redes neuronal es entrenadas con Backpropagation para aprender la relacin entre la desviacin de u na imagen de 4 puntos de un objeto proyectados respecto a una referencia y los c orrespondientes ngulos de las articulaciones de un robot con una cmara en la mueca. Este trabajo demostr que las redes neuronales tenan la capacidad de aprender esta relacin visual entre el robot y la cmara con una precisin similar a la obtenida me diante tcnicas analticas. En este tipo de tcnicas el objetivo principal es entrenar una red neuronal que re presente la relacin existente entre las variaciones de una imagen y las coordenad as cartesianas 3D de posicin y orientacin del punto final del robot con respecto a un punto de referencia.

1.3.10.-Aprendizaje no supervisado [16]. Muchas de las soluciones existentes para el clculo de la cinemtica inversa de un b razo robot se basan en esquemas que contienen sistemas de aprendizaje supervisad o. Lo ms utilizado es LMS y BackPropagation dando un buen resultado teniendo en c uenta lo complejo que es el sistema. Otros esquemas constan de la combinacin de r edes Backpropagation y de un mtodo convencional, o tambin utilizando otro tipo de redes para intentar mejorar la exactitud del sistema en el clculo de la cinemtica inversa. Se podra pensar en tratar el problema desde otro punto de vista, relacionando imge nes, con el objetivo final de relacionar la informacin de los sensores directamen

te con los valores de los ngulos de las articulaciones. El esquema es el siguiente:

Las neuronas estn organizadas en una matriz tridimensional que simula el espacio tridimensional. El proceso de aprendizaje intenta que esta matriz converja a una representacin discreta del espacio de trabajo. Cada neurona tiene asociado un ve ctor EMBED Equation.3 que representa las coordenadas de un punto del espacio de t rabajo. La respuesta de la red para un vector de entrada u es el vector de ngulos EMBED Equation.3 y la matriz Jacobiana EMBED Equation.3 EMBED Equation.3 asociada con la neurona ganadora k. Los ngulos son entonces: EMBED Equation.3 (ec 1-23); Un ciclo de aprendizaje consta de 4 pasos: 1.- Aplicar la regla Kohonen a los pesos: EMBED Equation.3 (ec 1-24); 2.- Aplicando EMBED Equation.3 al robot real, el punto final del robot se mueve a la posicin EMBED Equation.3 en las coordenadas de la cmara. La diferencia entre la posicin deseada u y la obtenida u dan un error que permite aplicar alguna regla de error, en este caso la LMS. EMBED Equation.3 (ec 1-25); 3.- Aplicando la correccin del incremento a las articulaciones del robot real se obtiene una tercera posicin EMBED Equation.3 en las coordenadas de la cmara. Ahora la regla de LMS puede ser plicada a la matriz Jacobiana: EMBED Equation.3 (ec 1-26); 4.- Finalmente se aplica la regla de Kohonen a los ngulos de las articulaciones: EMBED Equation.3 (ec 1-27); Y a la matriz Jacobiana: EMBED Equation.3 (ec 1-28);

1.4.-Metodologa. En este apartado se definir qu metodologas se utlizarn de entre todas las vistas par a la resolucin del problema cinemtico inverso. Los mtodos escogidos se desarrollarn extensamente y se aplicarn para un caso real, el robot PUMA 560, del cual se pued

e encontrar extensa bibliografa. Para comprobar que los resultados que se van obt eniendo en los distintos mtodos son correctos se ha utilizado una herramienta sof tware, una aplicacin llamada WorkSpace 3. De esta forma se ha podido comprobar qu e todos los clculos realizados son correctos ya que coinciden completamente con l os valores que da la aplicacin WorkSpace 3 para el robot PUMA 560. En este proyecto se desarrollarn varios mtodos para resolver la cinemtica i nversa, aplicndolos a un caso concreto, el robot PUMA 560. Los mtodos que se van a desarrollar son: Resolucin de la cinemtica inversa a partir de la matriz de transformacin homognea. Resolucin de la cinemtica inversa mediante mtodos iterativos (Newton-Raphson). Resolucin de la cinemtica inversa mediante redes neuronales y mtodos iterativos. El primero se ha escogido por ser uno de los mtodos que proporcionan las 8 soluci ones al problema cinemtico inverso y por hacerlo de una forma muy rpida ya que no es un mtodo iterativo. Adems al tardar siempre lo mismo, a la hora de una implemen tacin industrial sera muy adecuado ya que el tiempo de respuesta del robot sera sie mpre el mismo. El segundo es uno de los mtodos iterativos que hay para resolver el problema cine mtico inverso, se ha escogido ste y no otro por ser del que se ha encontrado ms bib liografa y por ser un mtodo genrico. Este mtodo es adecuado para los casos en que re solver la cinemtica inversa analticamente (a partir de la matriz de transformacin h omognea) resulta demasiado complicado o imposible. El tercer mtodo se ha implementado porque en algunos casos, la utilizacin de mtodos iterativos puede no ser suficiente, tardan mucho en dar la solucin o pueden no l legar a converger. En estos casos la utilizacin de redes neuronales puede resulta r interesante ya que al proporcionar una aproximacin inicial al mtodo iterativo, p ermite que ste tarde menos en llegar a la solucin exacta. Adems, la utilizacin de redes neuronales ofrece otras ventajas frente a resolver l a cinemtica inversa de un brazo robot por mtodos iterativos y aproximacin inicial f ija. Ms adelante se hablar extensamente sobre el tema, ahora slo decir que la utili zacin de redes neuronales adems de aumentar la rapidez de clculo, aumentan la efici encia del mtodo, evitando la convergencia hacia soluciones no deseadas. Se ha descartado resolver el problema cinemtico inverso mediante mtodos geomtricos para el robot PUMA 560 porque en un robot de 6 articulaciones como es ste, no sera tan sencillo encontrar la solucin como se ha hecho para el robot de 3 articulaci ones que figura en el apartado 1.3.2.-Cinemtica inversa mediante mtodos geomtricos. Tambin se ha descartado resolver el problema cinemtico inverso con la ayuda de red es CMAC porque este tipo de redes es adecuado para resolver el problema dinmico i nverso y ese es un problema que quedaba fuera de los objetivos del proyecto. En cuanto a las tcnicas de posicionamiento por aprendizaje visual y el aprendizaj e no supervisado no se han desarrollado ya que se necesita el robot PUMA 560 par a la implementacin prctica, y resultara imposible comprobar el funcionamiento del s istema y son sistemas que quedaran fuera de los objetivos del trabajo.

2.-Cinemtica Directa. 2.1.-Introduccin. La cinemtica directa ha de permitir pasar de los valores de los ngulos de las articulaciones a una posicin y una orientacin determinadas de la mueca. Esto s e consigue mediante la aplicacin del algoritmo Denavit-Hartenberg al robot que se est estudiando, el PUMA 560. En el siguiente apartado se da una descripcin genera l del robot industrial PUMA. 2.2.-El robot PUMA 560 [4]. 2.2.1.-Introduccin. El sistema PUMA MK2 serie 500 y en concreto el modelo 560 ha sido uno de los rob ots ms representativos y usados en la industria durante la dcada de los aos 80. Los robots actuales, aunque mucho ms perfectos y sofisticados basan su estructura, f uncionamiento y programacin en los mismos principios que el PUMA. UNIMATION fue la empresa que desarroll en 1959 el primer robot industrial, siendo en 1979 cuando se introdujo el concepto PUMA , producto de la colaboracin con GENER AL MOTORS en un proyecto de robotizacin. En la actualidad los robots PUMA los fab rica y distribuye la empresa STUBLI-UNIMATION. Los robots de la serie PUMA 500 son mquinas robustas y verstiles, de propsito gener al, que se adaptan a mltiples aplicaciones como inspeccin, soldadura al arco, apli cacin de productos de sellado, carga y descarga de maquinaria, rebarbado y manipu lacin de piezas. La tecnologa empleada en PUMA 500 ha conseguido unos valores de fiabilidad superi ores al 99% M.T.B.F (Tiempo Medio entre Averas) en perodos de 3000 horas. Los motores que se han utilizado son motores de corriente continua de baja inerc ia. Los seis motores disponen de un electrofreno que impide que el robot se muev a cuando se desconecta el brazo. Los motores se han controlado por P.W.M (Amplit ud de Pulso Modulada), este tipo de control hace que no se genere tanto calor en la parte de control y en los amplificadores. El robot intenta imitar el brazo humano pudiendo configurarse de 8 maneras disti ntas segn: Arm Left/Right, Elbow Above/Below, Wrist Up/Down. El sistema PUMA dispone de un lenguaje especfico de programacin llamado VAL y que en su versin VAL II soporta funciones aritmticas complejas, modificacin de trayecto ria a partir de seales externas y comunicacin con sistemas supervisores. 2.2.2.-El brazo manipulador. El modelo PUMA 560 tiene las siguientes caractersticas: -Nmero de ejes.................................6 -Zona de acceso.................................Esfera de 0.92m de radio -Peso..................................................62 Kg -Motores............................................Elctricos DC servocon trolados -Fuerza esttica ................................6 Kg -Aceleracin de la herramienta.........9.8 EMBED Equation.3 -Velocidad de la herramienta............1 m/s mx. carga -Velocidad en lnea recta...................0.5 m/s

Robot PUMA en labores de inspeccin acin del sistema VAL

Pistola de program

Brazo manipulador del sistema PUMA acin de los 3 motores de la mueca

Situ

2.3.-Algoritmo de Denavit-Hartenberg [5]. 1.- Numerar los eslabones comenzando con 1 (primer eslabn mvil de la cadena) y aca bando con n (ltimo eslabn mvil). Se numerar como eslabn 0 a la base fija del robot. 2.- Numerar cada articulacin comenzando por 1 (la correspondiente al primer grado de libertad) y acabando en n. 3.- Localizar el eje de cada articulacin. Si sta es rotativa, el eje ser su propio eje de giro. Si es prismtica, ser el eje a lo largo del cual se produce el desplaz amiento. 4.- Para i de 0 a n-1 situar el eje EMBED Equation.3 sobre el eje de la articulacin i +1. 5.- Situar el origen del sistema de la base {EMBED Equation.3} en cualquier punto de l ejeEMBED Equation.3. Los ejes EMBED Equation.3 y EMBED Equation.3 se situarn de modo que f

rmen un sistema dextrgiro con EMBED Equation.3 . 6.- Para i de 1 a n-1, situar el sistema {EMBED Equation.3} (solidario al eslabn i) e n la interseccin del eje EMBED Equation.3 con la lnea normal comn a EMBED Equation.3 y EMB Equation.3 . Si ambos ejes se cortasen se situara {EMBED Equation.3} en el punto de cor te. Si fuesen paralelos EMBED Equation.3 se situara en la articulacin i+1. 7.- Situar EMBED Equation.3 en la lnea normal comn a EMBED Equation.3 y EMBED Equation.3. 8.- Situar EMBED Equation.3 de modo que forme un sistema dextrgiro con EMBED Equation. 3 y EMBED Equation.3. 9.- Situar el sistema {EMBED Equation.3} en el extremo del robot de modo que EMBED Eq uation.3 coincida con la direccin de EMBED Equation.3 y EMBED Equation.3 sea normal a EMBED quation.3 y EMBED Equation.3. 10.- Obtener EMBED Equation.3 como el ngulo que hay que girar en torno a EMBED Equatio n.3 para que EMBED Equation.3 y EMBED Equation.3 queden paralelos. 11.- Obtener EMBED Equation.3 como la distancia, medida a lo largo de EMBED Equation. 3, que habra que desplazar {EMBED Equation.3} para que EMBED Equation.3 y EMBED Equation.3 q sen alineados. 12.- Obtener EMBED Equation.3 como la distancia, medida a lo largo de EMBED Equation. 3 (que ahora coincidira con EMBED Equation.3) que habra que desplazar el nuevo {EMBED Equa tion.3} para que su origen coincidiese con {EMBED Equation.3}. 13.- Obtener EMBED Equation.3 como el ngulo que habra que girar entorno a EMBED Equatio n.3 (que ahora coinicidira con EMBED Equation.3), para que el nuevo {EMBED Equation.3} coinc idiese totalmente con {EMBED Equation.3}. 14.- Obtener las matrices de transformacin EMBED Equation.3. Al llevar a cabo el algoritmo quedan los ejes sobre el robot PUMA de la siguient e manera:

Situacin de los ejes sobre el robot PUMA

Y se obtiene la siguiente tabla con los parmetros que definen la cinemtica directa del robot. ArticulacinEMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.31EMBED Equation.3 D Equation.3-L2L503EMBED Equation.30 0 904EMBED Equation.3-L30905EMBED Equation.300906EMBED E tion.3L400(tabla 2-1)

Donde : DistanciaL1L2L3L4L5Milimetros.67215043356432(tabla 2-2) 2.4.- Obtencin de las matrices EMBED Equation.3 y EMBED Equation.3. Habr 6 matrices que se multiplicarn y formarn la matriz que determinar la ci nemtica directa del robot. Cada matriz se formar como: EMBED Equation.3 (ec 2-1); Y si se aplica la tabla 2-1 a la ecuacin 2-1 se obtiene lo siguiente: EMBED Equation.3 (ec 2-2); EMBED Equation.3 (ec 2-3); EMBED Equation.3 (ec 2-4); EMBED Equation.3 (ec 2-5); EMBED Equation.3 (ec 2-6); EMBED Equation.3 (ec 2-7); Al multiplicar las 6 matrices queda la matriz EMBED Equation.3: EMBED Equation.3 ; Donde:

(ec 2-8)

X=-L4c1c2c3c4s5+L4c1s2s3c4s5+L4s1s4s5+L4c1c2s3c5+L4c1s2c3c5+L3c1c2s3+L3c1s2c3+L5 c1c2-L2s1 Y=-L4s1c2c3c4s5+L4s1s2s3c4s5-L4c1s4s5+L4s1c2s3c5+L4s1s2c3c5+L3s1c2s3+L3s1s2c3+L5 s1c2+L2c1 Z=L4s2c3c4s5+L4c2s3c4s5-L4s2s3c5+L4c2c3c5-L3s2s3+L3c2c3-L5s2+L1 nX=-c1c2c3c4c5c6+c1s2s3c4c5c6+s1s4c5c6-c1c2s3s5c6-c1s2c3s5c6+c1c2c3s4s6-c1s2s3s4 s6+s1c4s6 nY=-s1c2c3c4c5c6+s1s2s3c4c5c6-c1s4c5c6-s1c2s3s5c6-s1s2c3s5c6+s1c2c3s4s6-s1s2s3s4 s6-c1c4s6 nZ=s2c3c4c5c6+c2s3c4c5c6+s2s3s5c6-c2c3s5c6-s2c3s4s6-c2s3s4s6 oX=c1c2c3c4c5s6-c1s2s3c4c5s6-s1s4c5s6+c1c2s3s5s6+c1s2c3s5s6+c1c2c3s4c6-c1s2s3s4c 6+s1c4c6 oY=s1c2c3c4c5s6-s1s2s3c4c5s6+c1s4c5s6+s1c2s3s5s6+s1s2c3s5s6+s1c2c3s4c6-s1s2s3s4c 6-c1c4c6 oZ=-s2c3c4c5s6-c2s3c4c5s6-s2s3s5s6+c2c3s5s6-s2c3s4c6-c2s3s4c6 aX=nYoZ-nZoY aY=nZoX-nXoZ aZ=nXoY-nYoX Se puede calcular el vector a de la misma manera que el n y el o, como EMBED Equa tion.3 pero a se puede expresar como el producto vectorial de los vectores n y o, EM BED Equation.3, de esta forma se ahorra en nmero de operaciones. Se ha obtenido X, Y, Z, que expresan la posicin de la mueca del robot, y 3 vectores de orientacin n, o, a.

2.5.-Obtencin de los ngulos Roll, Pitch, Yaw. Ahora se podra pensar en expresar esa orientacin de la mueca como 3 ngulos, Roll, Pitch, Yaw, en vez de tener 3 vectores. Para esto se ha de recurrir al concepto de rotacin. El ngulo Roll expresa una rotacin alrededor del eje Z, el ngulo Pitch ex presa una rotacin alrededor del eje Y y finalmente el ngulo Yaw expresa una rotacin alrededor del eje X. Es muy importante tener en cuenta que estas rotaciones no son conmutativas, esto resulta lgico al pensar que una rotacin es una matriz y par a expresar concatenacin de rotaciones se multiplican matrices y como el producto de matrices no es conmutativo, la concatenacin de rotaciones tampoco podra serlo. Al expresar la concatenacin de rotaciones en forma matricial queda: (ec 2-9); EMBED Equation.3 EMBED Equation.3 EMBED Equation.3 );

(ec 2-10); (ec 2-11

Al igualar las ecuaciones 2-10 y 2-11, queda un sistema bastante difcil de resolv er porque hay que tener en cuenta los casos en que se anula alguna de las compon

entes de alguno de los vectores, para esto podemos resolver el sistema siguiendo el algoritmo:

B=aseno(-nZ); if ((B!=90)&&(B!=-90)) { A=acoseno(nX/cos(B)); if (nY/cos(B)<0) { A=-A;} C=acoseno(aZ/cos(B)); if (oZ/cos(B)<0) { C=-C;} } else { A=0; C=acoseno(oY); if (-aY<0) { C=-C;} } Donde A es el ngulo Roll, B es el ngulo Pitch y C es el ngulo Yaw. 2.6.- Espacio de entrada. El robot PUMA 560 no puede adoptar todos los valores posibles en sus art iculaciones, tiene un determinado dominio: ArticulacinLmite inferiorLmite superior1-1601602-225453-452254-1101705-1001006-2262 26(tabla 2-3)

2.7.- Determinacin de la configuracin del robot [7]. El robot PUMA 560 dispone de 8 configuraciones posibles segn las dos posi bilidades de 3 parmetros: A/E/WPosibilidad 1Posibilidad 2ArmRightLeftElbowAboveBelowWristUpDown (tabla 2-4); Se necesita de 3 criterios para determinar la configuracin de cada uno de los tres parmetros y as conseguir la configuracin del robot. Arm Left/Right: -si al disminuir EMBED Equation.3 Z aumenta es Arm Left. -si al disminuir EMBED Equation.3 Z disminuye es Arm Right. Elbow Above/Below: -si es ArmRight: -si Z>Z2 es Elbow Below. -si Z<Z2 es Elbow Above. -si es Arm Left: -si Z>Z2 es Elbow Above. -si Z<Z2 es Elbow Below. Wrist Up/Down: -se hace el producto escalar del vector o de la matriz EMBED Equa tion.3 y el vector a de la matriz EMBED Equation.3. -si es positivo es Wrist Up. -si es negativo es Wrist Down.

3.-Cinemtica Inversa. 3.1.-Introduccin. Lo que se necesita para el manejo de un robot es la cinemtica inversa. Se dar al sistema una posicin y una orientacin determinadas que se transformarn en uno s ngulos para las articulaciones segn la configuracin del robot. EMBED Equation.3 EMBED Equation.3

3.2.-Resolucin de la cinemtica inversa a partir de la matriz EMBED Equation.3 [5]. 3.2.1.-El mtodo. El mtodo se basa en las siguientes ecuaciones: EMBED Equation.3 (ec 3-1); EMBED Equation.3 (ec 3-2); La matriz T es conocida y entonces en la ecuacin 3-2 se tiene el ngulo 1 en funcin del resto y es posible encontrar su valor ms fcilmente que abordando el pro blema directamente a partir de la ecuacin 3-1. En el desarrollo del mtodo se ver me jor su funcionamiento.

3.2.2.-Resolucin del ngulo 1. Se utiliza la ecuacin 3-2. (ec 3-3); EMBED Equation.3 (ec 3-4); EMBED Equation.3 EMBED Equation.3 (ec 3-5); EMBED Equation.3 (ec 3-6); Se puede sustituir EMBED Equation.3 de la ecuacin 3-5 en la ecuacin 3-6 y se obtiene l a ecuacin: EMBED Equation.3 (ec 3-7) ; Donde: EMBED Equation.3 ; EMBED Equation.3 ; EMBED Equation.3 (ec 3-10); (ec 3-8) (ec 3-9)

La ecuacin 3-7 es una ecuacin muy importante ya que se conseguirn ecuaciones simila res para todos los ngulos, por eso se ha creado una funcin calcula_solucin que reto rna las dos soluciones vlidas que tiene la ecuacin 3-7. Esta funcin no es sencilla ya que se han de contemplar los casos en que a=0, b=0 o c=0. Y en el caso genrico (a!=0, b!=0, c!=0) la ecuacin 3-7 se resuelve mediante la transformacin en una ecuacin de segundo grado sustituyendo la ecuacin fundament al de la trigonometra. Entonces se obtienen dos valores posibles para EMBED Equati on.3 y a su vez para cada valor del seno le corresponden 2 valores posibles de ngulo , con lo que se obtienen 4 posibles soluciones de las que se han de descartar 2 y eso se har sustituyendo las posibles soluciones en la propia ecuacin 3-7 y compr obando que realmente cumplen la igualdad. Para el ngulo 1 no existe mayor problema que la resolucin de la ecuacin 3-7 con lo que nicamente se obtienen 2 soluciones, para los siguientes ngulos el problema s e complica bastante. 3.2.3.-Resolucin del ngulo 2. Se trata de aplicar el mismo mtodo que se ha utilizado para encon trar el primer ngulo. Entonces se tienen las siguientes ecuaciones: (ec 3-11); EMBED Equation.3 (ec 3-12); EMBED Equation.3 Aqu se complica bastante la obtencin de una ecuacin que tenga la misma forma que la ecuacin 3-7 EMBED Equation.3 EMBED Equation.3 (ec 3-13); (ec 3-14);

(ec 3-15); EMBED Equation.3 (ec 3-16); EMBED Equation.3 Ahora se sustituye 3-13 en 3-15, y 3-14 en 3-16 y queda: EMBED Equation.3 EMBED Equation.3 Donde: EMBED Equation.3 EMBED Equation.3 ); EMBED Equation.3 Desarrollando 3-21 queda: EMBED Equation.3 Y ahora se expresa en forma de: EMBED Equation.3 ); (ec 3-19); (ec 3-20 (ec 3-21); (ec 3-22); (ec 3-23 (ec 3-17); (ec 3-18);

Donde: EMBED Equation.3 (ec 3-24 ); EMBED Equation.3 (ec 3-25); EMBED Equation.3 (ec 3-26); Para el ngulo 2 habr 4 soluciones ya que hay 2 posibles soluciones del ngulo 1 y

por cada solucin del ngulo 1 hay 2 soluciones para el ngulo 2.

3.2.4.-Resolucin del ngulo 3. En este caso la obtencin de la ecuacin es sencilla si hacemos lo s iguiente: EMBED Equation.3 (ec 3-27); EMBED Equation.3 (ec 3-28); EMBED Equation.3 (ec 3-29); EMBED Equation.3 (ec 3-30 ); Donde: EMBED Equation.3 (ec 3-31); EMBED Equation.3 (ec 3-32); EMBED Equation.3

(ec 3-33);

Aqu se necesitan 3 ecuaciones de validacin ya que algunos valores de las articulac iones pueden dar lugar a que la ecuacin de validacin sea 0=0, y en ese caso se es cogera un valor incorrecto como solucin de la articulacin 3. EMBED Equation.3 (ec 3-34 ); EMBED Equation.3 (ec 3-35 ); EMBED Equation.3 (ec 3-36 ); Si se cumplen las 3 ecuaciones al mismo tiempo se da como vlido el valor obtenido para la articulacin. Para la articulacin 3 existen 4 soluciones que se obtienen sustituyendo las 4 sol uciones de la articulacin 2. 3.2.5.-Resolucin del ngulo 5. Aqu al intentar resolver el ngulo 4 se observa que antes se podra r esolver el ngulo 5. (ec 3-37); EMBED Equation.3 EMBED Equation.3 (ec 3-38); (ec 3-39); EMBED Equation.3 Una vez obtenida la ecuacin se han de sustituir los valores adecuados de las arti culaciones anteriores obteniendo 8 soluciones posibles para el ngulo 5. 3.2.6.-Resolucin del ngulo 4. Se utilizarn las ecuaciones 3-37 y 3-38 escogiendo la siguiente i gualdad: EMBED Equation.3 (ec 3-40); Si se desarrolla la ecuacin anterior se obtienen los valores de a, b y c. EMBED Equation.3 ); EMBED Equation.3 EMBED Equation.3 (ec 3-43); (ec 3-42); (ec 3-41

Aqu se obtendrn 8 soluciones sustituyendo los valores de las articulacione s anteriores.

3.2.7.-Resolucin del ngulo 6. De las ecuaciones 3-27 y 3-28 se obtiene: EMBED Equation.3 ); EMBED Equation.3

(ec 3-44 (ec 3-45);

Si se multiplica a 3-44 por S1 y a 3-45 por C1 y se restan las dos ecuaciones se obtiene ya la ecuacin que da a, b y c, necesarios para dar solucin a la articulac in. EMBED Equation.3 ); EMBED Equation.3 ); EMBED Equation.3 (ec 3-48); (ec 3-46 (ec 3-47

Ahora se obtienen 8 soluciones para el ngulo 6, y para buscarlas hacen falta ecua ciones de validacin que se tomarn de la ecuacin 2-8. Se necesitan 3 ecuaciones ya q ue se puede dar el caso de 0=0 y entonces se escogera un valor errneo para la solu cin. Se han utilizado las validaciones para nX, nY y nZ, cualquiera de las 3 sirv e siempre que no sea el caso de 0=0.

3.3.-Resolucin de la cinemtica inversa mediante mtodos iterativos. 3.3.1.-Mtodo de resolucin. El mtodo pretende resolver la ecuacin 3-1 mediante mtodos iterativos, por eje mplo Newton-Raphson. As, el mtodo se reduce a implementar Newton-Raphson. 3.3.2.-Implementacin del mtodo Newton-Raphson. El sistema a resolver es: EMBED Equation.3 Las ecuaciones a resolver son:

(ec 3-49);

EMBED Equation.3 ); EMBED Equation.3 ); EMBED (ec 3-52); EMBED EMBED EMBED ); EMBED EMBED EMBED ); EMBED ); EMBED ); EMBED ); Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3 Equation.3

(ec 3-50 (ec 3-51

(ec 3-53); (ec 3-54); (ec 3-55 (ec 3-56); (ec 3-57); (ec 3-58 (ec 3-59 (ec 3-60 (ec 3-61

De todas estas ecuaciones haran falta 6 para resolver los 6 ngulos, pero se puede intentar simplificar el sistema resolviendo los 5 primeros ngulos mediante Newton -Raphson y el ltimo mediante un sistema de ecuaciones. Entonces el sistema para N ewton-Raphson queda as: EMBED Equation.3 (ec 3-62 ); EMBED Equation.3 (ec 3-63 ); EMBED Equation.3 (ec 3-64 ); EMBED Equation.3 (ec 3-65); EMBED Equation.3 (ec 3-66); Y en cada iteracin de Newton-Raphson se ha de resolver el siguiente sistema lineal de 5 ecuaciones y 5 incgnitas: EMBED Equation.3 (ec 3-67); Donde: EMBED Equation.3 (ec 3-68); EMBED Equation.3 (ec 3-69); EMBED Equation.3 (ec 3-70); Una vez resuelto el sistema se ha de actualizar la aproximacin de la siguie nte manera: EMBED EMBED Equation.3 (ec 3-72); EMBED Equation.3 (ec 3-73); EMBED Equation.3 (ec 3-74); (ec 3-71);

EMBED Equation.3 (ec 3-75); En la primera iteracin el mtodo requiere una aproximacin inicial EMBED Equatio n.3, la rapidez de convergencia del mtodo depender de esta aproximacin inicial. Se le da un valor que corresponda a la configuracin que se desea para el robot. El mtodo se parar cuando se tenga una precisin de centsima de grado, eso es cu ando: EMBED (ec 3-76); EMBED (ec 3-77); EMBED (ec 3-78); EMBED (ec 3-79); EMBED (ec 3-80); Equation.3 Equation.3 Equation.3 Equation.3 Equation.3

Para obtener el sistema de ecuaciones necesario para calcular el ltimo ngulo se ha de recurrir a la ecuacin 3-49. Se tomarn los vectores EMBED Equation.3 y EMBED Equ ation.3 y se sumarn sus tres componentes obteniendo dos ecuaciones: EMBED Equation.3 EMBED Equation.3 (ec 3-81); (ec 3-82); ,

Donde las constantes EMBED Equation.3 , EMBED Equation.3 , EMBED Equation.3 uation.3 son funcin de los cinco ngulos ya encontrados previamente.

EMBED Eq

La razn por la que se suman las tres componentes de los vectores es que segn el pu nto de que se trate se puede dar el caso de que alguna de sus componentes sea 0, de esta forma se elimina la posibilidad de intentar resolver un sistema de ecua ciones que no existe ya que la ecuacin sera 0=0.

4.-Redes Neuronales. 4.1.-Introduccin. Las redes neuronales son sistemas capaces de aprender y generalizar unos datos de entrenamiento correspondientes a una funcin o proceso determinados. Son muy tiles cuando se intenta resolver aplicaciones complejas no lineales, ya que

son capaces de imitar muy bien caractersticas no lineales que de otra forma sera muy difcil o imposible llegar a obtener una funcin que tuviese el comportamiento d eseado. 4.2.-Backpropagation [6]. 4.2.1.-Introduccin. Se dispone de un espacio de entrada de dimensin N y de un espacio de salida de dimensin M con ejemplos de cada uno de los dos. Se entrena la red mediante Ba ckpropagation y se llega a una red que ha aprendido todo lo que ha podido los ej emplos que se le han dado para que aprenda, y que intenta generalizar para otros posibles ejemplos. Este sistema de aprendizaje, el Backpropagation, intenta min imizar el error cuadrtico medio. En el siguiente apartado se hablar de trminos como neurona, peso, tendencia. .. y es importante entender estos conceptos antes de intentar seguir el algoritm o de Backpropagation. Red: conjunto de neuronas distribuidas por capas y relacionadas por pesos, que es capaz de dar una salida perteneciente al espacio de salida M a una entra da perteneciente al espacio de entrada N. Neurona: cada uno de los elementos que forman una capa. Funcin de activacin: cada neurona dispone de una funcin de activacin que relac iona la entrada de la neurona con su salida. Esta funcin puede ser cualquiera, li neal, sigmoide ... Peso: la entrada de una capa es el sumatorio de todas las salidas de la ca pa anterior multiplicadas por el peso correspondiente. A este sumatorio se le aad e un trmino de tendencia Capa: conjunto de neuronas que estan a una misma distancia de la entrada. poca: cada vez que se le ensean todos los ejemplos a la red se dice que ha pa sado una poca. EMBED Equation.3determina lo rpido que aprende la red, si es muy grande la red puede rebotar. 4.2.2.-Funcionamiento Inicializacin: -Crear una red con tendencias y pesos aleatorios y pequeos. -Crear un nmero determinado de vectores de aprendizaje (ejemplos). -Crear un nmero determinado de vectores que no vea la red para poder compro bar si la red generaliza o no. -Escoger un valor de EMBED Equation.3. -Inicializar el trmino de error a 0. Iteracin: Aplicar el vector de entrada a la capa de entrada de la red y calcular la salida obtenida. Calcular los trminos de error para la capa de salida y la oculta: EMBED Equation.3 (ec 4-1); EMBED Equation.3 (ec 4-2); Con estas ecuaciones lo que se est haciendo es propagar el error hacia atrs, de ah el trmino Backpropagation. Actualizar los pesos: EMBED Equation.3 (ec 4-3); EMBED Equation.3 (ec 4-4); Acumular el trmino de error. EMBED Equation.3 (ec 4-5); Vuelve a 1).

Donde:

EMBED Equation.3 ; EMBED Equation.3 ; EMBED Equation.3

(ec 4-6) (ec 4-7) (ec 4-8);

poca: Se han de pasar todos los vectores de entrada por la red, entonces se dice que se ha cumplido una poca. Entonces se puede calcular el trmino de error para l os ejemplos que no ve la red y se puede evaluar si la red generaliza o no. Pasarn tantas pocas como sean necesarias para que la red tenga la precisin exigida o hasta que la red se estanque y no aprenda ms. Tcnica de momento: Al calcular el valor del incremento de peso se aade una fraccin del cambio a nterior. Este trmino lo que hace es mantener los cambios de peso en la misma dire ccin. La ecuacin de actualizacin de pesos ser: EMBED Equation.3 (ec 4-9);

Red Neuronal para Backpr opagation.

4.3.-Radial Basis Function Networks (RBFs) [3]. 4.3.1.-Introduccin Otro tipo de redes son las RBF, capaces de modelar un sistema no lineal, y con l a ventaja aadida sobre las MLP (Multi-Layer Perceptron) de que slo tienen una capa y se acorta as el tiempo de entrenamiento y el tiempo de clculo de la salida de l

a red. Por esto se probar el uso de redes RBF al problema de la cinemtica inversa, pero primero se estudiar su funcionamiento.

4.3.2.-Funcionamiento. Esquema:

Esquema de funcionamiento de una red RBF La salida viene determinada por la siguiente ecuacin: EMBED Equation.3 ); Donde: -EMBED Equation.3 es un trmino de polarizacin. -EMBED Equation.3 -EMBED Equation.3 son cada uno de los pesos de la red. Se puede escoger entre las siguientes funciones de activacin: A) EMBED Equation.3 ); B) EMBED Equation.3 ); En la funcin B) se tendra que buscar el parmetro EMBED Equation.3, del que se hablar en el siguiente apartado. (ec 4-12 (ec 4-11 (ec 4-10

4.3.3.-Entrenamiento. El entrenamiento constar de 3 partes o pasos: Escoger el nmero de centros o neuronas que tendr la red. No existe regla para saber el nmero de centros necesarios para que la red tenga u n comportamiento ptimo. Pero en general, a mayor nmero de centros mejor es la apro ximacin dada por la red. Escoger unos valores para los centros EMBED Equation.3. Para escoger unos centros hay 3 posibilidades: -Una distribucin aleatoria que intente cubrir todo el espacio de entrada. -Una distribucin uniforme. -Seguir un algoritmo para agrupar ejemplos de entrenamiento y centros.

Calcular EMBED Equation.3. Se puede seguir el siguiente criterio para dar una EMBED Equation.3 a cada centro: EMBED Equation.3 (ec 4-13); Donde p son los p centros ms cercanos al centro EMBED Equation.3. Ajustar el valor de los pesos EMBED Equation.3 EMBED Equation.3 (ec 4-14); Donde: -EMBED Equation.3 es el parmetro de aprendizaje como lo era EMBED Equation.3 en Backpropa gation. -e(k)=EMBED Equation.3; donde y es la salida deseada para el ejemplo dado, y EMBED Eq uation.3 es la salida de la red. Una gran ventaja de las redes RBF respecto de las MLP (Multi Layer Perceptron) e ntrenadas mediante BackPropagation es que para un determinado sistema, el tiempo de entrenamiento de las RBF es hasta tres veces ms pequeo que el de las MLP.

5.-Aplicacin de las redes neuronales a la cinemtica inversa. 5.1.-Introduccin. Si se tiene un robot de pocas articulaciones se puede pensar en entrenar una red neuronal para que calcule la cinemtica inversa de un brazo robot. Pero si se hab la de un robot con muchas articulaciones es bastante difcil que la red calcule la solucin exacta de la cinemtica inversa, hara falta un ordenador muy potente que en trenase una red de muchas capas y con muchas neuronas en cada una. Esto hara que cada iteracin fuese muy larga, y teniendo en cuenta que hara falta un gran nmero de ejemplos para que la red generalizase bien, el entrenamiento se convertira en in terminable, solo pudindose llevar a cabo en grandes ordenadores. Pero aunque las posibilidades del ordenador de entrenamiento sean limitadas, las redes neuronales todava pueden ser muy tiles. Lo que se pretende evitar a toda co sta es el clculo de la cinemtica inversa a partir de la matriz de transformacin hom ognea por ser muy complicado y requerir mucho tiempo de estudio el llegar a las e cuaciones, siendo muy fcil equivocarse en las ecuaciones de validacin, pudiendo da r soluciones errneas si no se trabaja ordenadamente y se estudian todos los casos posibles. Esto conduce a la utilizacin de mtodos iterativos como Newton-Raphson, pero con una mejora en el tiempo de clculo debido al clculo de una aproximacin inic ial mediante redes neuronales. Se pueden entrenar redes neuronales no con el pro psito de conseguir la solucin exacta sino con el de conseguir una buena aproximacin que sirva de valor inicial al mtodo newton-raphson (3.3) y que reduzca el nmero d e iteraciones necesarias y as reducir el tiempo de clculo de la cinemtica inversa. El problema residir en encontrar una red neuronal que reduzca el nmero de iteracio nes necesarias para el mtodo iterativo en cantidad suficiente, de tal forma que e l tiempo total de clculo de la cinemtica inversa sea inferior al tiempo necesario al utilizar nicamente una aproximacin inicial fija. Es decir: EMBED Equation.3 (ec 5-1);

5.2.-Backpropagation & cinemtica inversa [9]. 5.2.1.-Esquema: En general el esquema sera el siguiente:

Se necesitan 5 redes multicapa que den la aproximacin inicial para el mtodo Newton -Raphson. Si esta aproximacin es muy buena, el mtodo tardar muy pocas iteraciones e n converger, si por el contrario la aproximacin dista mucho de la solucin exacta, el mtodo necesitar ms tiempo hasta llegar a la solucin correcta. 5.2.2.-5 redes multicapa. La misin de estas 5 redes es dar una buena aproximacin para el mtod o iterativo. Se entranarn estas redes con ejemplos obtenidos de la cinemtica direc ta del robot, por ejemplo mediante la matriz de transformacin homognea. 5.2.3.-Newton-Raphson. El mtodo iterativo es el Newton-Raphson explicado en 3-3. La aproximacin i nicial necesaria para empezar el mtodo sera la dada por las redes neuronales.

5.2.4.-Objetivo. Se ha de tener muy en cuenta que el objetivo ltimo de esta mejora respecto a Newton-Raphson es el de reducir el tiempo de clculo total de la cinemtica invers a. Por esto se ha de reducir el nmero de iteraciones de Newton-Raphson en nmero su ficiente para que compense el tiempo consumido por las redes neuronales en el clc ulo de la aproximacin inicial. 5.3.-RBFs & cinemtica inversa. 5.3.1.-Esquema: El esquema no variara respecto al que utilizan redes MLP entrenadas con Backpropa gation :

Lo que s pueden variar respecto a Backpropagation son los resultados del conjunto . Por eso se ha de evaluar cul de los dos tipos de redes da mejor resultado a la hora de aproximar la cinemtica inversa de un brazo robot. La idea del entrenamiento en redes RBF no vara respecto al entrenamiento en MLP y BackPropagation. Se dispondr de un conjunto de ejemplos de entrenamiento y se en trenar a la red hasta conseguir el mejor resultado posible, y luego se comprobar q ue la red generaliza correctamente. Finalmente se calcular el nmero de iteraciones necesarias del conjunto RBF+NRM, y ste ser el resultado que ha de decidir entre u n tipo de red u otra, en este caso entre MLP y RBF.

6.-Resultados obtenidos en la aplicacin de redes neuronales. 6.1.-Introduccin. En este captulo se evaluarn los resultados obtenidos en la aplicacin de las redes neuronales a la cinemtica inversa del brazo robot PUMA 560. Se darn todos l os datos de inters de error medio, esperanzas, desviaciones, ... 6.2.-Backpropagation. 6.2.1.-Introduccin. Aqu se darn los datos correspondientes a los resultados obtenidos en el entr enamiento de redes neuronales con Backpropagation. Se han entrenado dos tipos de redes para poder comparar las ventajas de cada una. 6.2.2.-Resultados de la aproximacin de las redes. En este apartado se va a hablar de errores medios, esperanzas, ... y es importan te dejar claro cul es la definicin que se ha dado a cada error. EMBED Equation.3 ; EMBED Equation.3 ; EMBED Equation.3 EMBED Equation.3 (ec 6-3); (ec 6-4) ; Se ha escogido N=100, es importante que los ejemplos utilizados para evaluar los errores no sean los que se han utilizado para entrenar a la red, ya que entonces los resultados no tendran validez alguna, no se puede asegurar si una re d neuronal generaliza o no. Ms adelante se citarn ejemplos en que la red aprende p erfectamente los ejemplos de entrenamiento pero obtiene resultados psimos en los ejemplos que no ve . Se han entrenado 2 tipos de redes con funcin de activacin sigmoide (-2,2): Red A: 6 32 8 1; Red B: 6 80 20 1; El entrenamiento se ha realizado con 2000 muestras en todos los ngulos. Se ha div idido el espacio en 4 cuadrantes para obtener mejores resultados. Slo se ha entre nado el primer cuadrante (X>0, Y>0), para entrenar los otros 3 cuadrantes el pro ceso sera exactamente igual pero los ejemplos de entrenamiento deberan pertenecer al cuadrante correspondiente. En el entrenamiento se ha utilizado la tcnica de mo mento para acelerar la convergencia el parmetro a se ha escogido 0.1 en todos los casos. Del parmetro EMBED Equation.3 se hablar ms detalladamente, ahora slo decir que s e han tomado valores entre EMBED Equation.3 y EMBED Equation.3. Se ha entrenado la confi guracin Arm Left, Elbow Below, Wrist Up. (ec 6-2) (ec 6-1)

Punto de entrenamiento

Punto

de entrenamiento

Punto de entrenamiento de entrenamiento

Punto

El entrenamiento se ha realizado en un aplicacin que se ha implementado en Visual C++ en la que se profundizar ms adelante. La aplicacin es totalmente genric a pudiendo entrenar redes neuronales de cualquier tipo mediante Backpropagation. Se puede cambiar el nmero de capas, el nmero de neuronas en cada capa, el nmero de salidas y el nmero de entradas, la funcin de activacin de cada neurona puede ser d iferente, el parmetro de momento tambin es configurable, en definitiva se puede en trenar la red neuronal que se desee, el nico lmite es la potencia del ordenador en el que se trabaja.

Las siguientes tablas contienen los resultados obtenidos para cada ngulo, para ca da red y para cada tipo de error.

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio ation.3Red A2.7914.6326.6550.8726.56Red B3.9814.2223.343.8424.18(tabla 6-1);

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio ation.3Red A0.32-1.35-0.0129.33-1.48Red B0.27-2-0.946.23-2.58(tabla 6-2);

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio ation.3Red A4.8821.839.1656.9833.56Red B6.5420.4339.4960.9332.22(tabla 6-3);

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio ation.3Red A15.9164213190.75121Red B30138198.28201.25130(tabla 6-4);

6.2.3.-Conjunto NN+NRM (Neurnal Networks+Newton-Raphson Method). Ahora que se han obtenido las 5 redes se puede valorar el conjunto NN+NRM para a s decidir si vale la pena la implementacin de redes neuronales o no. Se ha hecho l a siguiente tabla para 100 muestras aleatorias: Iteraciones de NRMAVGDesviacin tpicaAproximacin fija23.418.04Aproximacin de Red A10. 0511.26Aproximacin de Red B10.0111.90Aproximacin de Red AB9.59.9 (tabla 6-5); La aproximacin inicial fija que se ha utilizado es : EMBED Equation.3, EMBED Equation.3, EMBED Equation.3=210, EMBED Equation.3, EMBED Equation.3, quation.3 que corresponde a la configuracin Arm Left, Elbow Below, Wrist Up.

Punto de aproximacin inicial fija. Aproximacin de la red A, B y AB se refiere a que se ha usado la aproximacin que da n las redes neuronales como valor inicial en el mtodo Newton-Raphson. La red AB q uiere expresar que para el ngulo 1 se ha utilizado la red A y para el resto la re d B, ya que segn las tablas 6-1, 6-3 y 6-4 es mejor la red A que la B en dicho ngu lo. Los valores de la tabla 6-2 no son indicativos ya que puede haber mucho erro r y anularse por ser unos valores positivos y otros negativos.

6.2.4.-Valoracin de resultados. Los resultados obtenidos por las redes neuronales permiten que el nmero de iterac iones del NRM necesarias se quede en un 40% de las que hara falta con una aproxim acin inicial fija. Adems tambin se puede dar el caso de que con la aproximacin fija el mtodo no llegue a converger, y aunque con las redes neuronales tambin es posibl e este caso, siempre ser ms probable la convergencia con redes que sin ellas. Para decidir qu red dar mejores resultados se ha de recurrir a la tabla 6-5, y aun que el nmero de iteraciones con la red B o AB es inferior al de la red A, no comp ensa, ya que el tiempo de clculo para la red A es bastante inferior al de la red B y el conjunto (Red A+NRM) sera ms rpido que el (Red AB+NRM). Red A: 6 32 8 1; EMBED Equation.3pesos ; 40 activaciones; Red B: 6 80 20 1; EMBED Equation.3 pesos; 100 activaciones; Los pesos hacen referencia a la cantidad de memoria necesaria para implementar e l sistema y las activaciones son las veces que se ha de calcular una funcin de ac tivacin, por lo tanto tiene que ver con el tiempo que tardar la red en calcular l a salida. Con todo esto se debera escoger la Red A para la implementacin del sistema ya que ofrecera mejores resultados tanto en rapidez como en cantidad de memoria utilizad

a.

6.3.-RBFs. 6.3.1.-Introduccin. Aqu se darn los datos correspondientes a los resultados obtenidos en el entr enamiento de redes RBF. Se ha entrenado un slo tipo de red, la red es una RBF de 50 centros. La razn de no haber entrenado redes con diferente nmero de neuronas o centros como en el caso de MLP es que en RBF no se han observado grandes diferen cias entre los resultados obtenidos con una u otra red. En el captulo 7 Entrenamie nto de una red neuronal se estudiar la diferencia de resultados entre dos redes c on diferente nmero de centros. 6.3.2.-Resulados de la aproximacin de las redes. La definicin de los errores no vara respecto a la dada en 6.2.2.- Resultados d e la aproximacin de las redes . EMBED Equation.3 ; EMBED Equation.3 ; EMBED Equation.3 EMBED Equation.3 ; En este caso tambin se ha escogido N=100 y se ha entrenado a la red con 1000 ejem plos correspondientes a la configuracin Arm Left, Elbow Below, Wrist Up. Tambin se ha entrenado slo el primer cuadrante (X>0, Y>0), como en el caso de MLP y BackPr opagation, para entrenar los otros tres cuadrantes el proceso sera el mismo. Se h a reducido a la mitad el nmero de ejemplos de entrenamiento respecto a los utiliz ados en BackPropagation, y esto es porque se ha observado que las redes RBF gene ralizan bastante bien y no eran necesarios tantos ejemplos de entrenamiento. El parmetro de aprendizaje EMBED Equation.3 es 0.01, bastante mayor al utilizado en Back Propagation porque aqu los valores de los pesos son bastante grandes ya que la sa lida no est normalizada. El entrenamiento se ha realizado en una aplicacin en Visual C++ capaz de entrenar una red RBF de cualquier nmero de centros, en el captulo correspondiente a descri pcin del software se explicar su funcionamiento. Las siguientes tablas contienen los errores definidos anteriormente y para cada n gulo: (ec 6-7); (ec 6-8) (ec 6-6) (ec 6-5)

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio 7.221.229.661.539.5 (tabla 6-6);

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio -1.7-0.42-5.47.376.06 (tabla 6-7);

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio 9.7630.0932.8774.1952.879 (tabla 6-8);

EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equation.3EMBED Equatio 34.76157.28154.1206.04135.58 (tabla 6-9);

6.3.3.-Conjunto RBF+NRM (Radial Basis Function+Newton-Raphson Method). Ahora se ha de evaluar el conjunto RBF+NRM y averiguar cunto consiguen mejorar la s redes RBF el mtodo NRM. La aproximacin inicial fija que se ha utilizado para poder comparar los resultado s es la misma que en el apartado 6.2.2.-Conjunto NN+NRM, la aproximacin fija es e ntonces: EMBED Equation.3, EMBED Equation.3, EMBED Equation.3=210, EMBED Equation.3, EMBED Equation.3, quation.3 que corresponde a la configuracin Arm Left, Elbow Below, Wrist Up. Iteraciones de NRMAVGDesviacin tpicaAproximacin fija23.418.04Aproximacin RBF14.8817. 34 (tabla 6-10); 6.3.4.-Valoracin de resultados. Vemos que efectivamente se reduce bastante el nmero de iteraciones necesarias par a el NRM, pero no tanto como en el caso de MLP y BackPropagation. Las redes Radial Basis Function (RBF) presentan un perodo de entrenamiento muy co rto comparado con el que tienen las redes MLP entrenadas con Backpropagation, pe ro no llegan a obtener una precisin tan buena como la que tienen las redes MLP. Lo ideal sera un tipo de redes que tuvieran un perodo de entrenamiento tan corto c omo el de las RBF pero con unos resultados mejores que se pudieran comparar con los obtenidos por las redes MLP. En el captulo 1.- Introduccin se da una breve explic acin sobre una mejora de las redes RBF para intentar obtener una mejora de result ados pero conservando la caracterstica de las redes RBF de tener un perodo de entr enamiento muy corto.

6.4.-Medicin de tiempos. 6.4.1.-Introduccin. La medicin del nmero de iteraciones necesarias para el mtodo iterativo no e s suficiente para decidirse a utilizar un mtodo iterativo ayudado de una aproxima cin inicial dada por una red neuronal. Se ha de tener en cuenta el tiempo de clcul o de la aproximacin inicial de la red neuronal que no es en absoluto despreciable . En este apartado se har una medicin de tiempos de clculo de la cinemtica inversa d

e todos los mtodos vistos hasta ahora. De este modo se podr evaluar qu mtodo es ms ef iciente. 6.4.2.-Tiempos. Estos datos corresponden a un sistema Pentium 90 con 16Mb de RAM. MtodoTiempo de clculoMtodo analtico 2 msN-R con aproximacin fija3.2 msN-R con aproxim acin Red A4.1 msN-R con aproximacin Red B11.1 msN-R con aproximacin Red RBF4.8 ms (tabla 6-11); Se ve claramente que las redes neuronales no consiguen mejorar el tiempo obtenido por N-R con aproximacin fija y mucho menos el tiempo obtenido con el mto do analtico, a partir de la matriz de transformacin homognea. Esto es porque las redes neuronales no consiguen proporcionar una aproxi macin inicial al mtodo iterativo lo bastante buena como para compensar el tiempo q ue se ha gastado en calcular la salida de la red neuronal. Una forma de consegui r que se compensara el tiempo consumido por la red neuronal sera utilizando tcnica s de procesamiento en paralelo. Para calcular las salidas de las redes neruonale s se ha calculado una detrs de otra, en serie, si se pudiese hacer en paralelo, e l tiempo gastado en obtener una aproximacin inicial se dividira por 5.

Se puede hacer un pequeo clculo para ver qu resultado se obtendra al utiliza r procesamiento en paralelo. # Iteraciones medio para N-R con aproximacin fija=23.4 iteraciones. Tiempo gastado por N-R con aproximacin fija=3.2 ms. # Iteraciones medio para N-R con aproximacin Red A=10.05 iteraciones. Tiempo gastado por N-R con aproximacin Red A=4.1 ms. Tiempo gastado en calcular la aproximacin de la Red A=4.1 3.2*10.05/23.4=2.72ms Tericamente: Tiempo gastado en calcular la aproximacin de la Red A (en paralelo)=2.72/5=0.545m s Tiempo gastado por N-R con aproximacin Red A=0.545+3.2*10.05/23.4=1.92ms Es entonces mediante procesamiento en paralelo cuando compensa el utiliz ar redes neuronales, ya que se reduce el tiempo gastado por N-R con aproximacin f ija que es 3.2 ms, a 1.92 ms si se utiliza la aproximacin de la Red A. En cualquier caso el tiempo obtenido mediante la ayuda de redes neuronal es 1.92 ms es similar al obtenido mediante clculos analticos (2 ms), y tambin se ha de tener en cuenta que con mtodos iterativos slo se obtiene una solucin de la cine mtica inversa mientras que calcular la cinemtica inversa a partir de la matriz de transformacin homognea proporciona las ocho soluciones, teniendo de este modo la p osibilidad de escoger la solucin que menos recorrido supone para las articulacion es segn los valores de stas en la posicin anterior.

6.5.-Soluciones incorrectas. 6.5.1.-Introduccin.

Al observar la resolucin de la cinemtica inversa mediante mtodos iterativos (Newton -Raphson) se puede observar que no se garantiza la convergencia hacia una solucin que tenga la misma posicin y orientacin que las deseadas. Se ha de recurrir a las ecuaciones 3-62, 3-63, 3-64, 3-65, 3-66 para darse cuenta que se garantiza que la posicin X, Y, Z sern las deseadas, as como las componentes del vector a aX, aY. No se puede garantizar que todas las componentes sean iguales a las deseadas. Po r lo tanto el sistema puede converger hacia puntos que tengan la misma posicin qu e la deseada pero no exactamente la misma orientacin. Que la solucin sea la desead a, depender directamente de la aproximacin inicial que se le de al sistema. Si la red da una muy buena aproximacin al mtodo iterativo, el sistema caminar hacia la so lucin deseada, sino el sistema llegar a una solucin en que la posicin ser la deseada, pero la orientacin slo coincidir en la deseada en el vector a (los vectores son un itarios, por lo tanto si aX y aY son los correctos, aZ ser el deseado menos en un caso que es si convirgiese hacia el aZ de signo contrario al deseado). Cmo solucionar el problema? Una primera respuesta sera implementando el mtodo iterat ivo Newton-Raphson para 6 ecuaciones en vez de slo 5 como hasta ahora. Esta no se ra una solucin, la explicacin es sencilla; en el mtodo se necesitara escoger 6 ecuaci ones que seran 3-50, 3-51, 3-52, 3-53, 3-54, 3-56 con lo que se garantiza que el vector n es el deseado pero para el vector o solo se garantiza una componente, e n este caso oX, entonces la solucin puede tener la posicin y el vector de orientac in n deseados pero en ningn caso se garantiza que el vector o sea el correcto. Lo que se necesita entonces es implementar el mtodo para 7 ecuaciones que seran: 3-5 0, 3-51, 3-52, 3-53, 3-54, 3-56, 3-57. Estas ecuaciones garantizan la posicin X, Y, Z, luego el vector n ya que se tienen 2 componentes correctas, y tambin el vec tor o ya que tambin se tienen 2 componentes correctas, con esto se tendra la orie ntacin deseada ya que el vector a viene determinado por el producto vectorial de n y o. El nico caso en que fallara sera si el mtodo en vez de converger hacia las co mponentes nZ y oZ del signo correcto, llegase a unas componentes nZ y oZ de sig no contrario al deseado, pero ese sera un caso altamente improbable si se utiliz a una red neuronal que proporcione una aproximacin inicial mnimamente buena. El pr oblema es que no se puede implementar el mtodo Newton-Raphson para 7 ecuaciones s i slo se tienen 6 variables como es el caso del robot PUMA 560. El mtodo iterativo sera entonces totalmente exacto si el robot dispusiera de 7 o ms articulaciones d e forma que se implementase el mtodo Newton-Raphson para 7 ecuaciones que seran la s ya mencionadas y que permitiran que el mtodo llegase a la solucin deseada en todo s los casos. 6.5.2.-Nmero de soluciones incorrectas segn el mtodo empleado. El siguiente cuadro muestra el nmero de soluciones de un total de 10000 muestras aleatorias en las que se ha llegado a la posicin deseada pero no a la orientacin c orrecta ya que slo se garantiza que el vector a ser el deseado. MtodoSoluciones con orientacin incorrectaMtodo analtico 0 %N-R con aproximacin fija47 .53 %N-R con aproximacin Red A26.48 %N-R con aproximacin Red B24.74 %N-R con aprox imacin Red RBF35.83 % (tabla 6-12); Se puede observar como aqu las redes neuronales reducen a la mitad el nmer o de soluciones con orientacin incorrecta, teniendo un 47.5 % de estas soluciones mediante el mtodo N-R con aproximacin fija y llegando a tan slo un 24.74 % en el c aso de N-R con aproximacin de la Red B.

7.-Entrenamiento de una red neuronal. 7.1.-Introduccin. En este captulo se estudiar qu influencia tienen en el entrenamiento de una red neuronal algunos de los parmetros que se han de escoger en una red. Se varia r el valor de estos parmetros estudiando qu resultado se obtiene, si se necesita un valor muy grande o muy pequeo, si se ha de variar durante el entrenamiento, ... 7.2.-Redes MLP entrenadas mediante BackPropagation. 7.2.1.-Introduccin. En este apartado se estudiar la influencia de algunos parmetros en el entren amiento de redes MLP. Este tipo de redes es el descrito en el apartado 4.2 donde figura su estructura y el proceso a seguir para su entrenamiento. 7.2.2.-Dimensionamiento de la red. En cuanto a dimensionamiento en redes MLP lo que se puede escoger es el nme ro de capas intermedias y el nmero de neuronas en cada capa, que en el programa q ue se ha implementado en Visual C++ es configurable. En teora con una sola capa intermedia es suficiente para modelar cualquier tipo de funcin, pero en la prctica se puede necesitar un nmero de neuronas muy ele vado si slo se utiliza una capa, con lo que el entrenamiento se convertira en tedi oso e interminable. De acuerdo con las pruebas realizadas variando el nmero de capas y el nmero de neuronas se ha visto que las redes con dos capas intermedias y un nm ero no muy elevado de neuronas presentan en mejor resultado en el problema de la cinemtica inversa de un robot de 6 articulaciones como es el PUMA 560. Por eso s e entrenaron los dos tipos de redes: Red A: 6 32 8 1; Red B: 6 80 20 1; Tal y como se vi en el apartado 6.2 la red del tipo B en general ofrece mejores r eultados que la del tipo A pero por muy poco margen lo cual no compensa y hace q ue se tome la estructura tipo A como la mejor para resolver el problema. Es importante comentar el tipo de aprendizaje que tienen otros tipos de redes, q ue en algunos casos pueden inducir a una decisin equivocada si no se controla la capacidad de generalizar de la red. Este es el caso de la red: Red C: 6 800 1;

Este tipo de redes presenta el siguiente comportamiento:

Error en los ejemplos

vistos

no vistos

Com se puede observar en las grficas la red aprende muy bien los ejemplos con los que se entrena la red pero no es capaz de generalizar correctamente para otros puntos.

7.2.3.-Influencia de EMBED Equation.3 . Este parmetro es muy importante en el aprendizaje de la red. Al p rincipio ha de ser grande y luego se ha de ir disminuyendo durante el entrenamie nto. Por ejemplo al principio se puede optar por un valor de 0.001, pero lo lgico es que no se est supervisando todo el tiempo el entrenamiento de la red por lo q ue puede llegar a converger hasta tal punto que rebote la red. En general segn la s pruebas realizadas cuando una red rebota, si el parmetro de aprendizaje es muy grande, la red ya no aprende ms aunque se vuelva a disminuir la EMBED Equation.3 . En estos casos lo nico que se puede hacer es volver a empezar de nuevo ya que esa red es muy difcil que vuelva a aprender. Ya que el efecto de rebote tiene tales c onsecuencias, lo mejor es dar un valor muy pequeo a EMBED Equation.3 desde el prin cipio, en este caso se le daba EMBED Equation.3 e incluso EMBED Equation.3 . Con e sto se tendr un aprendizaje ms lento pero ms seguro y ms corto a la larga ya que las redes que han rebotado es tiempo perdido. Tambin se ha de decir que si la funcin a tratar por la red es ms o menos simple como puede ser el caso de la funcin seno, el aprendizaje es rpido y s e puede comenzar con un valor grande de EMBED Equation.3 y al ver que la red rebo ta disminuirlo inmediatamente, as hasta obtener la exactitud deseada. Pero en cas os de funciones complejas como es el caso de la cinemtica inversa, el aprendizaje es muy lento y es imposible supervisar todo el aprendizaje. Se puede intentar h acer un control del efecto rebote mediante software, pero el algoritmo no sera tri vial ya que la curva del error no siempre tiene derivada negativa, a veces hay p equeos aumentos del error pero esto no supone efecto rebote y no se tendra que dismi nuir la EMBED Equation.3 en estos casos y quiz el software s lo hara. Por ltimo decir que una vez la red ha llegado a un buen resultado y adems estable, se puede conseguir una disminucin de algn grado en el error mediante la disminucin de la EMBED Equation.3 hasta valores ya muy pequeos. En la pgina siguiente figura la grfica de una red que ha rebotado en la qu e se puede ver como una vez rebota ya no vuelve a aprender.

Efecto rebote de una red MLP

7.2.4.-Efecto de la tcnica de momento. La tcnica de momento puede contribuir a la rapidez de convergencia de la red, esta tcnica que se explic en el apartado 4.2 es muy fcil de implementar media nte software y supone un ahorro en tiempo a la hora del entrenamiento de una red MLP.

7.2.5.-Nmero de ejemplos de entrenamiento. El nmero de ejemplos necesarios ha de ser el mnimo posible de forma que lo s ejemplos que la red no ve tengan un error parecido al error de los ejemplos con que se entrena a la red. El nmero de ejemplos que la red no ve y que slo sirven para comprobar si la red generaliza o no, es normalmente un 20% del total. Se puede comprobar un caso extremo en el que el nmero de ejemplos es exageradamen te pequeo, por lo que no se le est proporcionando suficiente informacin a la red de l comportamiento del sistema. En la grfica se puede apreciar como la red aprende perfectamente los ejemplos de entrenamiento pero le es imposible generalizar.

Error en los ejemplos vistos

no vistos

7.3.-Redes RBF. 7.3.1.-Introduccin. En este tipo de redes el parmetro importante es el nmero de centros, o lo qu e es lo mismo, el nmero de neuronas. El nmero de centros es la cantidad de puntos que se toman del espacio de entrada, si se toman muy pocos luego a la hora de ge neralizar habr puntos que estn muy lejos de cualquiera de los centros y entonces a la red le ser muy difcil generalizar. 7.3.2.-Nmero de centros. Para este problema de la cinemtica inversa en concreto, los resultados obtenidos

al cambiar el nmero de centros no varan mucho siempre que sea un nmero ni muy grand e ni muy pequeo, por ejemplo 100. En la grfica se puede ver como los resultados ob tenidos por una red de 50 centros o de 100 no varan mucho.

Red de 50 centros

Red de 100 centros

7.3.3.-Nmero de ejemplos. Se ha comprobado segn las pruebas realizadas que las redes de tipo RBF a pesar de no obtener tan buenos resultados como las MLP tienen la caracterstica de general izar muy bien, con pocos ejemplos les basta para generalizar. En este caso se ha entrenado a las redes con 1000 ejemplos, la mitad que para las MLP, pero con me nos habra bastado. Para sistemas en que sea muy difcil generalizar y no se tenga un buen comportamie nto con otro tipo de redes sera interesante probar con las redes RBF, quiz no se o btengan grandes resultados pero con un entrenamiento sorprendentemente rpido y co n pocos ejemplos se puede llegar a tener un comportamiento aceptable.

8.-Descripcin del software implementado.

8.1.-Introduccin. En este captulo se explicar el funcionamiento del software que se ha imple mentado en este proyecto. El software ha sido implementado en Visual C++ 5.0. La opcin de multitarea que ofrece Windows 95 es muy til en este caso, al entrenar re des neuronales se puede entrenar varias redes a la vez y ver cmo van progresando una a una, y esto es tan fcil como abrir varias veces la misma aplicacin. Adems el lenguaje C++ ofrece la posibilidad de hacer clases de las funcio nes y variables que interesan y as poder trasladarlas a otra aplicacin sin tener q ue cambiar nada. Todo esto hizo volcar la balanza por Visual C++ [1] y [2]. 8.2.-Cinemtica directa-inversa. 8.2.1.-Introduccin. En este apartado se describir el funcionamiento de la aplicacin que calcula la cin emtica directa-inversa del robot PUMA 560. Lo nico que ve el usuario es una gran ventana dilogo que permite introducir valore s bien sea correspondientes a posicin y orientacin o a valores de las articulacion es. 8.2.2.-Funcionamiento. Lo ms importante de esta aplicacin es la clase CMatematica. En esta clase se puede n encontrar funciones que calculan la cinemtica directa, cada uno de los ngulos de la cinemtica inversa, ... en definitiva, se encontrar todas las funciones que pue den ser tiles para un clculo matemtico de la cinemtica directa-inversa del brazo rob ot PUMA 560. En la pgina siguiente figura la ventana dilogo de la que se hablaba. Es una ventan a con muchas posiciones porque existen 8 soluciones para la cinemtica inversa del robot PUMA 560 y cada una de ella son 6 valores.

Ventana dilogo de clculo de la cinemtica directa-inversa. En la ventana figuran las 8 soluciones del robot PUMA 560 S1...S8. Cada solucin t iene 6 ngulos A1...A6. A la derecha est la posicin del robot y su orientacin. X, Y, Z es la posicin y A, B, C son los ngulos Roll-Pitch-Yaw. En las posiciones de brazo, codo, mueca figura la configuracin del robot. ConfiguracinBrazoCodoMueca-1IzquierdoPor debajoAbajo1DerechoPor encimaArriba (tabla 8-1); En esta tabla se puede ver lo que significan los valores que figuren en las casi llas brazo, codo, mueca. El programa slo calcula la configuracin al calcular la cin emtica directa, dando la configuracin en la que queda el robot cuando las articula

ciones adoptan el valor que se ha puesto en cada uno de los ngulos de la primera fila (solucin S1).

Ventana-dilogo al hacer el clculo de la cinemtica directa. Ahora s se puede obtener la configuracin del robot, slo al hacer la cinemtica direct a, la figura de la pgina siguiente corresponde a la posicin del robot indicada en la ventana de arriba. La posicin corresponde a la configuracin Arm Left, Elbow Above, Wrist Down.

Posicin indicada por la ventana de la pgina anterior.

8.3.-Redes neuronales. 8.3.1.-Introduccin. En este captulo se explicar el software que permite el entrenamiento de redes neur onales, bien sean MLP con Backpropagation o bien redes RBF. 8.3.2.-Redes MLP entrenadas con Backpropagation. Para entrenar este tipo de redes se necesita tener un fichero en el que se ponga el nmero de capas que tendr la red y el nmero de neuronas que tendr cada capa, desd e la capa de entrada hasta la capa de salida. A partir de este fichero y mediante la opcin de men Crea Fichero Red se tendr otro fichero en el que habr los pesos iniciales con los que comenzar la red, as como las tendencias y qu funcin de activacin tendr cada una de las neuronas. Normalmente tod as las neuronas tendrn la misma funcin de activacin, pero an as todos los parmetros so n configurables por el usuario. Tambin se ha de crear un fichero de datos de entrenamiento, esto se realiza media nte la opcin de men Crea Fichero Ejemplos. Al seleccionar esta opcin aparecer la sig uiente ventana-dilogo:

Ventana-dilogo para crear datos de entrenamiento Mediante esta ventana se generar el fichero que luego el programa intentar leer y que contendr ejemplos correspondientes al ngulo y configuracin indicadas por el usu ario y que habrn sido calculados mediante la clase CMatematica. Para comenzar a entrenar la red hace falta un fichero que pertenece a la aplicac in y que se abrir mediante la opcin de men Archivo(Abrir. En este archivo figurar e l parmetro de aprendizaje, el nmero de pocas de entrenamiento y el parmetro de momen to a. Una vez abierto este fichero la red se inicializa automticamente y comienza el proceso de entrenamiento. Durante el proceso se pueden modificar los parmetro s de aprendizaje, el trmino de momento y el nmero de pocas. Para finalizar el proce so de entrenamiento basta con poner el nmero de pocas restantes a 0. En este momen to el programa finalizar el proceso de entrenamiento y generar un fichero de salid a que contendr toda la informacin necesaria para poder utilizar la red que se ha e ntrenado, los pesos, tendencias y funciones de activacin, as como el nmero de capas y el nmero de neuronas en cada capa. Todos estos ficheros se pueden ver y modifi car mediante el programa EDIT o cualquier otro similar.

8.3.3.-Redes RBF. Para entrenar este tipo de redes es necesario crear un fichero que contenga cent ros para cada una de las neuronas de la red. Para esto simplemente se puede crea r un fichero de ejemplos de entrenamiento y ya se tienen los centros que se quera .

Para comenzar a entrenar har falta un fichero de la aplicacin como en el caso ant erior en el que figurar el nmero de centros, y el parmetro de aprendizaje. El progr ama inicializar automticamente la red asignando unos pesos aleatorios para la dime nsin definida por el usuario en el fichero de la aplicacin. Cargar los centros y ca lcular una desviacin tpica para la funcin de activacin de cada neurona segn la distanc a de cada centro a los dems segn el criterio explicado en el captulo dedicado a las redes Radial Basis Function. Por lo dems, el funcionamiento es similar al de las redes MLP con Backpropagation por lo que no es necesario aclarar nada ms. Slo decir que en este caso la red pue de dar por finalizado el entrenamiento por dos motivos distintos. Se ha acabado el nmero de pocas programadas por el usuario (igual que en el caso d e MLP y Backpropagation). El error total ha aumentado (en las redes RBF cuando el error aumenta aunque slo sea un poco, la red tiende a alejarse del mnimo del error, por lo tanto, cuando l a red llega a un mnimo de error, es intil seguir entrenando ya que lo nico que se h ace es obtener un resultado mucho peor).

8.4.-Conjunto NN+NRM. 8.4.1.-Introduccin. En este captulo se explicar el funcionamiento de la parte del software que corresp onde al conjunto redes neuronales y el mtodo newton-raphson. Primero se tratar el conjunto formado por redes MLP entrenadas con Backpropagation y luego el conjunt o en el que intervienen las redes RBF. 8.4.2.-MLP+NRM.

Al pulsar el botn new que se encuentra en la barra de herramientas de la aplicacin se abrir un dilogo que permitir calcular la cinemtica inversa. Para el correcto funcionamiento de esta ventana-dilogo es necesario haber entrena do las redes neuronales correspondientes para la obtencin de la primera aproximac in de los ngulos 1...5. Se grabar cada fichero de cada red en los ficheros llamados a1, a2, a3, a4 y a5. El programa los leer automticamente y leer la informacin que h ay en ellos. Se introducirn los datos de posicin y orientacin en las casillas correspondientes y al pulsar el botn se mostrar por pantalla el valor de los ngulos de las articulac iones que corresponden a esa posicin. Tambin se mostrar el nmero de iteraciones que ha sido necesario para la convergencia del mtodo newton-raphson segn la precisin ex igida. 8.4.3.-RBF+NRM. El funcionamiento es exactamente el mismo que en el caso de MLP+NRM, pero la dif erencia es que aqu las redes que el programa utilizar sern RBF y los ficheros a pes ar de tener el mismo nombre, tendrn una estructura diferente.

9.-Valoracin de resultados, conclusiones y lneas futuras. 9.1.-Valoracin de resultados. En este trabajo se ha hecho un estudio completo de qu es el problema de l a cinemtica inversa de brazos robots y de cmo resolverlo de forma ptima. Este estud io se podra resumir en cuatro puntos bsicos: Estudio de los distintos mtodos que existen para resolver la cinemtica inversa. Estudio completo de la cinemtica directa de un brazo robot (PUMA 560). Estudio completo de la cinemtica inversa de un brazo robot (3 formas). Resolucin a partir de la matriz de transformacin homognea. Resolucin mediante mtodos iterativos (Newton-Raphson). Resolucin mediante la combinacin de redes neuronales y mtodos iterativos. Estudio completo de dos tipos de redes neuronales: MLP (Backpropagation) y RBF. Todos estos temas se complementan con aplicaciones en Visual C++ que permiten po ner en prctica los mtodos vistos y entrenar las redes neuronales que darn una aprox imacin inicial al mtodo iterativo Newton-Raphson. Es ahora cuando en funcin de los datos obtenidos en el estudio realizado, se pued e hacer una valoracin cualitativa de cada mtodo. Para esto se citarn cules son las p rincipales ventajas e inconvenientes de cada forma de resolver el problema cinemt ico inverso. El primer mtodo resuelve el problema de la cinemtica inversa a partir de la matriz de transformacin homognea, este mtodo se explicaba en 3.2.- Resolucin de la cinemtica inversa a partir de la matriz EMBED Equation.3 . Ventajas: Proporciona las ocho soluciones correctas de la cinemtica inversa. Lo hace de una forma muy rpida y eficaz ya que siempre tarda lo mismo.

Inconvenientes: La obtencin de las ecuaciones es extremadamente complicada y tediosa. Es muy fcil equivocarse en el tema de las ecuaciones de validacin explicado en el mismo apartado 3.2, con lo que se obtienen soluciones errneas. Es muy difcil llegar a un algoritmo que de manera ordenada consiga resolver corre ctamente el problema de la cinemtica inversa. Es el mtodo menos genrico que existe ya que al cambiar el robot, las ecuaciones ta mbin cambian y el proceso ha de comenzar de cero otra vez. Al aumentar el nmero de articulaciones el problema se complica de forma exponenci al, siendo ya el PUMA 560 de 6 articulaciones, demasiado complicado para resolve r su cinemtica inversa mediante este mtodo. El segundo mtodo resuelve el problema mediante la ayuda de mtodos iterativos (Newt on-Raphson), este mtodo se explicaba en 3.3.- Resolucin de la cinemtica inversa media nte mtodos iterativos . Ventajas: Es un mtodo de fcil implementacin ya ecta del robot y eso es inmediato si se g. Es un mtodo totalmente genrico ya que s ecuaciones de la cinemtica directa y que tan slo se necesita conocer la cinemtica dir aplica el algoritmo de Denavit-Hartenber al cambiar de robot, slo se han de cambiar la eso es muy sencillo.

Inconvenientes: Es muy lento ya que es un mtodo iterativo, y dependiendo de la aproximacin inicial fija que se tome el mtodo puede llegar a tardar muchas iteraciones en converger. Las soluciones no siempre son las correctas, es decir, la posicin es la correcta pero la orientacin no es la deseada, este problema se explicaba extensamente en 6 .5.- Soluciones incorrectas . No es posible determinar un margen de valores para el tiempo que tarda el algori tmo en encontrar una solucin, por lo que de cara a una implementacin industrial no se puede garantizar un tiempo de respuesta mximo del algoritmo. El tercer y ltimo mtodo implementado tambin resuelve el problema cinemtico inverso m ediante mtodos iterativos (Newton-Raphson), pero esta vez no a partir de una apro ximacin inicial fija sino con una aproximacin inicial dada por una red neuronal (M LP o RBF) tal y como se explicaba en 5.- Aplicacin de las redes neuronales a la cin emtica inversa . Ventajas: El mtodo es de fcil implementacin por ser un mtodo iterativo y slo necesita la cinemti ca directa, al igual que el mtodo anterior. El mtodo reduce mucho el nmero de iteraciones necesarias del mtodo iterativo para e ncontrar una solucin a la cinemtica inversa. El mtodo reduce sustancialmente el tiempo de clculo de la cinemtica inversa (de 3. 2 ms en el caso de aproximacin inicial fija hasta 1.9 ms si se utiliza la aproxim acin inicial dada por una red MLP). El uso de redes neuronales soluciona en gran medida el problema de las solucione s incorrectas que se explicaba en 6.5.- Soluciones incorrectas . El mtodo es totalmente genrico ya que su estructura no cambia al utilizar otro rob ot, y es aplicable a cualquier robot del cual se conozca su cinemtica directa. Inconvenientes: El mtodo requiere de un software para el entrenamiento de redes neuronales que pu ede ser un poco extenso, pero que una vez implementado es totalmente genrico y vli do para entrenar cualquier tipo de red tal y cmo se ha hecho en este trabajo de f inal de carrera. 9.2.-Conclusiones.

Una vez vistos los distintos mtodos que existen para la resolucin del prob lema cinemtico inverso, y analizado las ventajas e inconvenientes de cada uno de ellos se pueden extraer conclusiones del estudio realizado. Cada mtodo tiene puntos positivos y negativos tal y como se ha visto en l a seccin anterior y ms extensamente a lo largo de todo el trabajo, habindose realiz ado pruebas de todo tipo a los mtodos implementados con el fin de conocer perfect amente las caractersticas de cada mtodo. Dependiendo entonces del caso en particular se puede optar por uno u otr o mtodo, o tambin por alguno de los explicados en la introduccin, pero vistos los r esultados que proporcionan las redes neuronales y las mejoras que introducen en la resolucin del problema cinemtico inverso, la mejor opcin es utilizar el mtodo que resuelve la cinemtica inversa mediante mtodos iterativos (Newton-Raphson) y a par tir de una aproximacin inicial dada por una red neuronal. Se ha visto como ha pes ar de no ser muy buena la aproximacin que dan las redes neuronales, sobretodo en algunas articulaciones, son muchas las ventajas que se obtienen al utilizar rede s en el problema cinemtico inverso. Este estudio se ha realizado con un ordenador con poca potencia de clculo , pero una herramienta tan potente como las redes neuronales se podra aprovechar mucho ms si el entrenamiento se hubiera hecho con una mquina potente, capaz de pro cesar un gran nmero de pocas y de muchos ejemplos cada una y en redes de gran tam ao, con lo que los resultados obtenidos habran sido mucho mejores. An as los resulta dos obtenidos son buenos y confirman claramente las posibilidades que las redes neuronales tienen para solucionar problemas como el de la cinemtica inversa de br azos robot. 9.3.-Lneas futuras. En el campo de la robtica hay multitud de temas que se pueden desarrollar como continuacin a este trabajo. En la introduccin se pueden encontrar varias ide as para desarrollar como lneas futuras, algunas de ellas pueden ser: Desarrollo de mtodos de continuacin para la resolucin del problema cinemtico inverso de tal forma que se obtengan todas las soluciones posibles. Desarrollar un mtodo de eliminacin lo suficientemente rpido como para una posible i mplementacin industrial (Manocha). Implementar un software de entrenamiento de redes neuronales RBF que incluya la mejora de Moody y Darken, de tal forma que se obtengan unos buenos resultados pe ro con un tiempo de entrenamiento muy corto como lo es el de las redes RBF. Implementar un software de entrenamiento de redes neuronales CMAC (Cerebellar Mo del Articulation Controller) para intentar obtener mejores resultados que los ob tenidos por las redes MLP entrenadas con Backpropagation. Montar un sistema de aprendizaje no supervisado, en el captulo 8 seccin 7 se da el esquema de un posible sistema y una breve explicacin de cmo sera una iteracin del p roceso de entrenamiento. Implementar un sistema que controle la dinmica del robot. Se podra controlar un br azo robot que realizase movimientos muy rpidos y con unos requerimientos muy prec isos para la posicin y orientacin del robot, y adems con aceleraciones muy grandes. Esto sera un problema extremadamente complejo para controlarlo mediante las tcnic as de control clsicas. En este caso sera adecuada la utilizacin de redes neuronales para modelar la dinmica inversa del robot y minimizar el error al posicionar el robot en un punto determinado.

Bibliografa. David J.Kruglinski (1997), Programacin avanzada con Microsoft Visual C++, McGraw Hill. [1] Schwarte (1997), El gran libro de Visual C++, Marcombo. [2] A.M.S. Zalzala, A.S. Morris (1996), Neural Networks for Robotic Control, Ellis H orwood. [3] Jose M Angulo Usategui (1996), Robtica Prctica, Editorial Paraninfo. [4] Antonio Barrientos, Luis Felipe Pen, Carlos Balaguer, Rafael Aracil (1997), Fundam entos de Robtica, McGraw Hill. [5] James A. Freeman, David M. Skapura (1993), Redes Neuronales: algoritmos, aplicac iones y tcnicas de programacin, Addison-Wesley / Diaz de Santos. [6] R.C. Gonzlez, Robtica: control, deteccin, visin e inteligencia, McGraw Hill. [7] Allon Guez, Ziauddin Ahmad (1988), Solution to the inverse kinematics problem in robotics by neural networks, Proc IEEE Int. Conf. Nural Networks, Vol. 2, pg 617 -23. [8] Allon Guez, Ziauddin Ahmad (1990), On the solution to the inverse kinematic prob lem, IEEE, pg 1692-97. [9] Simon Haykin, Adaptive Filter Theory, third edition, Prentice Hall. [10] Dinesh Manocha, John F. Canny, Efficient inverse kinematics for general 6R manip ulators, IEEE Transactions on Robotics and Automation. [11] Dinesh Manocha, Yunshan Zhu (1994), A fast algorithm and system for the inverse kinematics of general serial manipulators, IEEE Conf. On Robotics and Automation . [12] Adaptive multilayer neural networks. [13] G. Cembrano, C. Torras, G. Wells, Neural networks for robot control. [14] A. Castellet, F. Thomas, An algorithm for the solution of inverse kinematics pro blems based on an interval method. [15] Carme Torras, Gabriela Cembrano, Jos del R. Milln, Gordon Wells, Neural approaches to robot control: four representative applications. [16] Albert Castellet (Junio 1998), Solving inverse kinematics problems using an inte rval method, Tesi Doctoral, UNIVERSITAT POLITCNICA DE CATALUNYA. [17]

ABSTRACTO Este trabajo realiza un estudio sobre los distintos mtodos que existen pa ra la resolucin del problema cinemtico inverso de brazos robots. De todos estos mto dos se desarrollan tres para implementarlos en un caso real, el robot PUMA 560. El estudio realiza una comparativa de estas tres formas de resolver la cinemtica inversa analizando las ventajas e inconvenientes de cada mtodo, esto se hace a pa

rtir de los datos obtenidos en una serie de pruebas que permiten extraer conclus iones y valorar qu mtodo resuelve de manera ptima el problema de la cinemtica invers a. Dentro de este estudio se hace especial hincapi en cmo las redes neuronales ayudan a resolver el problema cinemtico inverso, analizando qu tipo de red presenta mejo res resultados y dando una idea de qu magnitud debe tener una red neuronal para q ue pueda aprender de la mejor forma posible la funcin cinemtica inversa.

RESUMEN Este trabajo comienza con un estudio de los distintos mtodos que existen para res olver el problema cinemtico inverso de un brazo robot. De entre todos estos mtodos se seleccionan tres para su completo desarrollo e implementacin prctica en el cas o concreto de un robot PUMA 560. Antes de comenzar con el desarrollo de los tres mtodos es necesario calcular la c inemtica directa del robot, en este caso la del robot PUMA 560. Para esto se desc ribe y se aplica al robot en cuestin el algoritmo de Denavit-Hartenberg. Ahora s se puede abordar el problema cinemtico inverso, que en este caso se ha hec ho de tres formas distintas: Resolucin del problema cinemtico inverso a partir de la matriz de transformacin hom ognea. Resolucin del problema cinemtico inverso mediante mtodos iterativos con aproximacin inicial fija. Resolucin del problema cinemtico inverso mediante mtodos iterativos con aproximacin inicial dada por una red neuronal. Primeramente se llevarn a cabo los dos primeros, y previamente al desarrollo del tercero se realizar un estudio completo de qu son las redes neuronales y de cmo pue den ayudar a la resolucin del problema cinemtico inverso. Posteriormente se someter cada mtodo a una serie de pruebas con el fin de evaluar las caractersticas de cada uno. Estas pruebas permitirn extraer conclusiones y dec idir en cada caso cul es la mejor manera de resolver la cinemtica inversa de un br azo robot. Finalmente se realizar un estudio del comportamiento de las redes neuronales dura nte el proceso de entrenamiento, analizando cmo influyen los distintos parmetros q ue se pueden modificar de una red neuronal.

NDICE PAGE PAGE 2

2.-CINEMTICA DIRECTA 1.-INTRODUCCN 2.-CINEMTICA DIRECTA 3.-CINEMTICA INVERSA 4.-REDES NEURONALES 5.-APLICACIN DE LAS REDES NEURONALES 6.-RESULTADOS 7.-ENTRENAMIENTO DE UNA RED NEURONAL 8.-OTROS MTODOS 8.-DESCRIPCIN DEL SOFTWARE 9.-VALORACIN DE RESULTADOS, CONCLUSIONES Y LNEAS FUTURAS BIBLIOGRAFA

Você também pode gostar