Você está na página 1de 159

INSTITUTO POLITCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA


SECCIN DE ESTUDIOS DE POSGRADO E
INVESTIGACIN

DESARROLLO DE UN SISTEMA NEURO-


DIFUSO PARA LA SOLUCIN A LA
CINEMTICA INVERSA DE
MANIPULADORES ROBTICOS

TESIS

QUE PARA OBTENER EL GRADO DE

MAESTRO EN CIENCIAS
CON ESPECIALIDAD EN INGENIERA MECNICA

P R E S E N T A:

ING. RODOLFO PONCE REYNOSO

DIRIGIDA POR:
DR. EMMANUEL ALEJANDRO MERCHN CRUZ
DR. LUIS HCTOR HERNNDEZ GMEZ

MXICO, D.F. JULIO DEL 2008


ndice General
ndice General ....................................................................................................................................... i
ndice de Figuras ...................................................................................................................................v
ndice de Tablas ................................................................................................................................. vii
Resumen .............................................................................................................................................. ix
Abstract .................................................................................................................................................x
Objetivo ............................................................................................................................................... xi
Justificacin........................................................................................................................................ xii
Introduccin ...................................................................................................................................... xiii
1. Estado del Arte ..................................................................................................................................2
1.1 Definicin de robtica .................................................................................................................2
1.2 Lgica difusa ...............................................................................................................................3
1.2.1 Aplicaciones de lgica difusa en la robtica ........................................................................3
1.3 Redes neuronales .........................................................................................................................4
1.3.1 Aplicaciones de las redes neuronales en la robtica ............................................................5
1.4 ANFIS .........................................................................................................................................6
1.5.1 Aplicaciones de ANFIS en la robtica .................................................................................7
1.5 Sumario .......................................................................................................................................8
2. Marco terico ..................................................................................................................................10
2.1 Mecnica de manipuladores robticos ......................................................................................10
2.1.1 Cinemtica..........................................................................................................................10
2.1.1.1 Problema cinemtico directo .......................................................................................11
2.1.1.2 Problema cinemtico inverso ....................................................................................14
2.1.1.3 Cinemtica de velocidades ..........................................................................................15
2.1.1.4 Cinemtica de aceleraciones .......................................................................................19
2.1.2 Dinmica ............................................................................................................................20
2.1.2.1 Energa cintica del manipulador ................................................................................21
2.1.2.2 Energa potencial del manipulador..............................................................................23
2.1.2.3 Forma general de la ecuacin dinmica de movimiento de un manipulador ..............24
2.1.3 Generacin de trayectorias de movimiento ........................................................................25
2.1.4 Control................................................................................................................................27
2.1.4.1 Mtodos de control de movimiento convencionales ...................................................27
2.2 Lgica difusa .............................................................................................................................30
2.2.1 Conjuntos difusos .............................................................................................................30
2.2.2 Funciones de membresa ....................................................................................................31

i
2.2.3 Operadores difusos .............................................................................................................32
2.2.4 Control difuso.....................................................................................................................33
2.2.4.1 Fusificacin .................................................................................................................34
2.2.4.2 Base de reglas difusas .................................................................................................35
2.2.4.3 Mecanismo de inferencia ............................................................................................37
2.2.4.4 Defusificacin .............................................................................................................37
2.3 Redes neuronales .......................................................................................................................39
2.3.1 Inspiracin biolgica ..........................................................................................................39
2.3.2 Modelo de una neurona artificial .......................................................................................40
2.3.3 Red neuronal ......................................................................................................................40
2.3.3.1 Estructura de una red neuronal ....................................................................................41
2.3.3.2 Modelos de redes neuronales ......................................................................................41
2.3.4 Funciones de transferencia .................................................................................................43
2.3.5 Entrenamiento ....................................................................................................................44
2.3.5.1 Aprendizaje supervisado .............................................................................................44
2.3.5.2 Aprendizaje no supervisado .......................................................................................45
2.4 Sumario .....................................................................................................................................46
3. Redes neuro-difusas ........................................................................................................................48
3.1 Definicin de computacin flexible (soft-computing) ..............................................................48
3.2 Sistema de inferencia difuso basado en una red adaptiva (ANFIS) ..........................................48
3.2.1 Caractersticas de ANFIS ...................................................................................................49
3.2.2 Arquitectura ANFIS ...........................................................................................................50
3.2.3 Algoritmo de aprendizaje empleado ..................................................................................53
3.2.4 Ajuste de parmetros antecedentes y consecuentes ...........................................................54
3.2.4.1 Parmetros antecedentes premisa (parmetros de las funciones de membresa) .....54
3.2.4.2 Parmetros consecuentes (parmetros de las reglas difusas de tipo Takagi-Sugeno) .57
3.3 Identificacin de parmetros .....................................................................................................57
3.3.1 Estimador de cuadrados mnimos ......................................................................................57
3.3.2 Estimador de cuadrados mnimos recursivos .....................................................................60
3.4 Aplicacin de ANFIS ................................................................................................................62
3.4.1 Modelado de una funcin no lineal de dos entradas ..........................................................62
3.4.2 Modelado de una funcin no lineal de tres entradas ..........................................................66
3.4.2.1 Porcentaje promedio de error ......................................................................................67
3.5 Sumario .....................................................................................................................................68
4. Caso de estudio ...............................................................................................................................70
4.1 Consideraciones del primer caso de estudio .............................................................................70

ii
4.2 Cinemtica del manipulador .....................................................................................................71
4.2.1 Problema cinemtico directo ..............................................................................................73
4.2.2 Problema cinemtico inverso .............................................................................................74
4.2.3 Singularidades ....................................................................................................................74
4.2.4 Solucin a la cinemtica inversa por el mtodo algebraico ...............................................76
4.2.5 Solucin a la cinemtica inversa por el mtodo numrico de Newton ..............................78
4.3 Solucin a la cinemtica inversa por medio del sistema neuro-difuso (ANFIS) ......................78
4.3.1 Rango de movilidad y espacio de trabajo del manipulador ...............................................79
4.3.2 Generacin de los pares de datos de entrenamiento ...........................................................80
4.3.3 Entrenamiento de la red neuro-difusa ................................................................................81
4.3.4 Funciones de membresa empleadas ..................................................................................81
4.3.5 Aprendizaje de la cinemtica inversa de 1........................................................................82
4.3.6 Aprendizaje de la cinemtica inversa de 2........................................................................85
4.4 Obtencin de la velocidad y aceleracin angular del manipulador plano ................................86
4.4.1 Velocidad angular ..............................................................................................................86
4.4.2 Aceleracin angular ...........................................................................................................87
4.5 Determinacin de la trayectoria de movimiento del manipulador ............................................88
4.5.1 Polinomios de quinto orden ...............................................................................................88
4.5.2 Determinacin de la aceleracin mxima permitida ..........................................................94
4.6 Determinacin de la dinmica del manipulador........................................................................95
4.6.1 Trayectorias de movimiento dinmicas .............................................................................96
4.6.2 Cambios en la carga del manipulador ................................................................................98
4.7 Control del manipulador robtico .............................................................................................99
4.8 Segundo caso de estudio: solucin a la cinemtica inversa de un manipulador plano de tres
grados de libertad mediante ANFIS ..............................................................................................103
4.9 Tercer caso de estudio: solucin a la cinemtica inversa de un manipulador de tres grados de
libertad con movimiento espacial mediante ANFIS .....................................................................106
4.9.1 Solucin a la cinemtica directa del manipulador de tres grados de libertad ..................108
4.9.2 Generacin de los datos de entrenamiento .......................................................................110
4.9.3 Entrenamiento de las redes neuro-difusas ........................................................................112
4.10 Sumario .................................................................................................................................113
5. Anlisis y discusin de resultados.................................................................................................115
5.1 Consideraciones generales ......................................................................................................115
5.2 Anlisis de resultados del primer caso de estudio ...................................................................115
5.2.1 Validacin de 1 y 2 inferidos por ANFIS .....................................................................115
5.2.2 Error en el control de movimiento mediante el mtodo del par calculado ......................118

iii
5.3 Anlisis de resultados del segundo caso de estudio ................................................................119
5.3.1 Validacin de 1, 2 y 3 inferidos por ANFIS ................................................................119
5.4 Anlisis de resultados del tercer caso de estudio ....................................................................120
5.4.1 Validacin de 1, 2 y 3 inferidos por ANFIS ................................................................120
5.3 Sumario ...................................................................................................................................122
Conclusiones y recomendaciones para trabajos futuros....................................................................124
Conclusiones generales. ................................................................................................................124
Recomendaciones para trabajos futuros ........................................................................................126
Referencias ........................................................................................................................................128
Anexos...............................................................................................................................................132
Anexo 1. Cdigo desarrollado.......................................................................................................132
Anexo 2. Publicaciones. ................................................................................................................143

iv
ndice de Figuras
Figura 1.1 Control de aplanado por rodillos mediante un sistema neuro-difuso. El patrn escaneado
de la superficie de la placa es reconocido por una red neuronal. Las salidas de las redes neuronales
son empleadas para ajustar las reglas difusas........................................................................................7
Figura 2.1 Problema cinemtico directo e inverso (Fu et al., 1988) ..................................................10
Figura 2.2 Asignacin de los marcos i e i-1 para un manipulador (Craig, 1955) ..............................12
Figura 2.3 Manipulador de tres eslabones, mostrando dos posibles configuraciones para alcanzar un
mismo punto (Craig, 1955) .................................................................................................................14
Figura 2.4 Movimiento del efector final debido al eslabn i (Spong & Vidyasagar, 1999) ...............17
Figura 2.5 Manipulador planar de 2 eslabones con sus respectivos parmetros (Fu et al., 1988) .....25
Figura 2.6 Diagrama de bloques de control bsico de un manipulador robtico (Fu et al., 1988) .....27
Figura 2.7 Esquema de control basado en un modelo (Mtodo del Par Calculado) ...........................28
(Craig, 1988) .......................................................................................................................................28
Figura 2.7 Funciones caractersticas de un conjunto difuso (a) y un conjunto clsico (b) ................30
Figura 2.8 Arquitectura bsica de un controlador lgico difuso (CLD) .............................................34
Figura 2.9 Esquema de una neurona biolgica (Hagan et al., 1996) .................................................39
Figura 2.10 Modelo de McCulloch y Pitts de una neurona con mltiples entradas (McCulloch &
Pitts, 1943) ..........................................................................................................................................40
Figura 2.11 Red de perceptrn con una sola neurona (Hagan et al., 1996) .......................................42
Figura 2.12 Red de Hamming (Hagan et al., 1996) .........................................................................43
Figura 3.1 (a) Modelo difuso de primer orden de tipo Sugeno de dos entradas con dos reglas. (b)
Arquitectura ANFIS equivalente (Roger Jang, 1993) .........................................................................51
Figura 3.2 Significado fsico de los parmetros de la funcin de membresa de tipo campana
generalizada.........................................................................................................................................55
Figura 3.3 Significado de la variacin del parmetro a ..................................................................55
Figura 3.4 Significado de la variacin del parmetro b ..................................................................56
Figura 3.5 Significado de la variacin del parmetro c ..................................................................56
Figura 3.6 Funciones de membresa de tipo campana generalizada asignadas a las variables de
entrada x, y ..........................................................................................................................................63
Figura 3.7 Estructura del modelo neuro-difuso propuesto para aproximar la funcin no lineal.........64
Figura 3.9 Estructura del sistema neuro-difuso propuesto para aproximar la funcin no lineal.........66
Figura 4.1 (a) Modelo del manipulador planar propuesto (b) Esquema del manipulador .................70
Figura 4.2 Problema cinemtico directo en un manipulador plano de dos grados de libertad con
articulaciones de tipo revolucin ........................................................................................................71
Figura 4.3 Problema cinemtico inverso en un manipulador plano de dos grados de libertad con
articulaciones de tipo revolucin ........................................................................................................72
Figura 4.4. Manipulador plano en diferentes posiciones del efector final variando los valores
angulares 1, 2 de las articulaciones...................................................................................................73
Figura 4.5 Configuraciones singulares del manipulador.....................................................................76
Figura 4.6 Dos soluciones al problema cinemtico inverso (Spong & Vidyasagar, 1999) ................77
Figura 4.7 Solucin algebraica a la cinemtica inversa, para dos posiciones distintas del efector
final .....................................................................................................................................................77
Figura 4.8 Solucin a la cinemtica inversa mediante el mtodo numrico de Newton, para dos
posiciones distintas del efector final ...................................................................................................78
Figura 4.9 Esquema de la forma en que se aborda y resuelve el problema cinemtico inverso .........79
Figura 4.10 Rango de movilidad de los eslabones del manipulador plano .........................................79
Figura 4.11 Espacio de trabajo del manipulador plano .......................................................................80

v
Figura 4.12 (a) Fusificacin de la entrada x con 4 funciones de membresa .....................................82
(b) Fusificacin de la entrada y con 4 funciones de membresa .........................................................82
Figura 4.13 Identificacin de 1 por medio de ANFIS empleando 4 funciones de membresa ..........83
Figura 4.14 Identificacin de 1 por medio de ANFIS empleando 5 funciones de membresa ..........83
Figura 4.15 Red neuro-difusa propuesta para la identificacin de 1 ................................................84
Figura 4.16 Identificacin de 2 por medio de ANFIS .......................................................................85
Figura 4.17 Red neuro-difusa propuesta para la identificacin de 2 .................................................85
Figura 4.18 Solucin a la cinemtica inversa del manipulador mediante ANFIS .............................89
Figura 4.19 Trayectoria de posicin de la articulacin uno ...............................................................90
Figura 4.20 Trayectoria de velocidad de la articulacin uno .............................................................91
Figura 4.21 Trayectoria de aceleracin de la articulacin uno ...........................................................91
Figura 4.22 Trayectoria de posicin de la articulacin dos................................................................93
Figura 4.23 Trayectoria de velocidad de la articulacin dos..............................................................93
Figura 4.24 Trayectoria de aceleracin de la articulacin dos ...........................................................94
Figura 4.25 Esquema representativo de la metodologa para la obtencin del historial de torque ....96
Figura 4.26 Torque requerido para generar la trayectoria de movimiento de la articulacin 1 .........97
Figura 4.27 Torque requerido para generar la trayectoria de movimiento de la articulacin 2 ..........97
Figura 4.28 Historial de torque requerido en la articulacin 1 al aumentar la carga en el efector final
en 0.4 y 0.8 kg .....................................................................................................................................98
Figura 4.29 Historial de torque requerido en la articulacin 2 al aumentar la carga en el efector final
en 0.4 y 0.8 kg .....................................................................................................................................99
Figura 4.30 Sistema de control del manipulador basado en su modelo dinmico (Mtodo del par
calculado) ..........................................................................................................................................100
Figura 4.31 Control de la trayectoria de posicin deseada de la articulacin 1 por medio del mtodo
del par calculado ...............................................................................................................................101
Figura 4.32 Control de la trayectoria de posicin deseada de la articulacin 2 por medio del mtodo
del par calculado ...............................................................................................................................101
Figura 4.33 Torque producido por medio del mtodo del par calculado para controlar el movimiento
de la articulacin 1 ............................................................................................................................102
Figura 4.34 Torque producido por medio del mtodo del par calculado para controlar el movimiento
de la articulacin 2 ............................................................................................................................102
Figura 4.35 Manipulador plano de tres grados de libertad...............................................................103
Figura 4.36 Solucin a la cinemtica inversa del manipulador mediante tres sistemas ANFIS .......104
Figura 4.37. Aprendizaje de 1 por parte de ANFIS del toolbox de Matlab Ver. R2007b ............105
Figura 4.38 Aprendizaje de 2 por parte de ANFIS del toolbox de Matlab Ver. R2007b .............105
Figura 4.39 Aprendizaje de 3 por parte de ANFIS del toolbox de Matlab Ver. R2007b .............106
Figura 4.40 Manipulador de tres grados de libertad con movimiento espacial.................................107
Figura 4.41 Solucin a la cinemtica inversa del manipulador mediante tres sistemas ANFIS .......107
Figura 4.42 Puntos mapeados dentro del espacio de trabajo del manipulador de tres grados de
libertad...............................................................................................................................................108
Figura 4.43 Asignacin de los marcos de los sistemas de coordenadas cartesianas .........................108
Figura 4.44 Identificacin de 1 ........................................................................................................112
Figura 4.45 Identificacin de 2 ........................................................................................................112
Figura 4.46 Identificacin de 3 ........................................................................................................113
Figura 5.1 Esquema de las etapas de solucin al problema cinemtico inverso ...............................115
Figura 5.2 Error entre 1 predecido por ANFIS y 1 calculado .........................................................117
Figura 5.3 Error entre 2 predecido por ANFIS y 2 calculado ........................................................118
Figura 5.4 Error entre la trayectoria de posicin deseada y la trayectoria real de la articulacin 1 118
Figura 5.5 Error entre la trayectoria de posicin deseada y la trayectoria real de la articulacin 2 119

vi
ndice de Tablas
Tabla 2.1 Caracterizacin matemtica de una funcin triangular de membresa (Passino &
Yurkovich, 1998) ................................................................................................................................31
Tabla 2.2 Caracterizacin matemtica de una funcin Gaussiana de membresa (Passino &
Yurkovich, 1998) ................................................................................................................................32
Tabla 2.3 Reglas de implicacin difusa (Lin & Lee, 1996) ...............................................................37
Tabla 2.4 Funciones de transferencia ms empleadas (Hagan et al., 1996) ......................................43
Tabla 3.1 Tcnicas que constituyen a la computacin flexible ...........................................................48
Tabla 3.2 Procedimiento de aprendizaje hbrido de ANFIS en dos pasos (Roger Jang, 1993) .........53
Tabla 3.3 Parmetros de las funciones de membresa de tipo campana generalizada (Antecedentes)
.............................................................................................................................................................64
Tabla 3.4 Reglas difusas de tipo Takagi-Sugeno para la red neuro-difusa propuesta .......................65
Tabla 4.1 Parmetros y valores de los eslabones del manipulador .....................................................71
Tabla 4.2 Dimensiones de los parmetros del manipulador................................................................95
Tabla 4.3 Parmetros de Denavit-Hartenberg ..................................................................................109
Tabla 5.1. Comparacin de resultados obtenidos mediante ANFIS y el mtodo algebraico ............116
Tabla5.2. Comparacin entre resultados obtenidos mediante ANFIS y el mtodo de Newton ........120
Tabla 5.3. Comparacin entre resultados obtenidos mediante ANFIS y el mtodo de Newton .......121

vii
Agradecimientos

Mi ms profundo agradecimiento y gratitud a mis padres y a mi familia por estar siempre conmigo
alentndome en todo momento.

A mis amigos, por todo el apoyo, consejos y vivencias adquiridas a lo largo de esta etapa de mi
vida.

A mis directores de tesis y a todos mis profesores, los cuales fueron parte fundamental para la
culminacin de este trabajo.

A mi alma mater, el INSTITUTO POLITCNICO NACIONAL, por haberme dado las


herramientas y la formacin necesarias para la vida.

Agradezco al Instituto Politcnico Nacional (IPN) y al Consejo Nacional de Ciencia y Tecnologa (


CONACyT ), por el apoyo y los medios otorgados para la realizacin de este trabajo de tesis, a
travs del programa institucional de becas de posgrado y del Programa Institucional de Formacin
de Investigadores (PIFI), con los proyectos SIP20071298 Anlisis y sntesis de un mecanismo
antropomrfico subactuado para el desarrollo de una prtesis robtica, diseo y construccin del
prototipo y SIP20082296 Caracterizacin de la dinmica del cuerpo humano mediante un
sistema basado en acelermetros microelectromecnicos (MEMS) . As mismo, se agradece el apoyo
otorgado por medio del proyecto SEP/CONACyT 2005-49701 Robtica y microtecnologa
aplicada a la ingeniera biomecnica para el desarrollo de prtesis y equipo con tecnologa
nacional.

Rodolfo Ponce Reynoso


Julio de 2008

viii
Resumen

Este trabajo presenta el desarrollo e implementacin de redes neuro-difusas (ANFIS) aplicadas a la


solucin del problema de la cinemtica inversa de manipuladores robticos planos y espaciales.
Debido a la naturaleza de las redes neuro-difusas, cuya estructura en paralelo les permite identificar
y aproximar funciones no lineales, se hace, por lo tanto, de gran inters explorar su aplicacin a la
solucin de un problema no lineal como lo es la cinemtica inversa de manipuladores.

Para demostrar la factibilidad de emplear una red neuro-difusa como alternativa de solucin, se
analizan tres casos de estudio: dos manipuladores planos de dos y tres grados de libertad y otro con
configuracin espacial de revolucin de tres grados de libertad. En todos los casos se obtienen
resultados satisfactorios y son validados mediante la comparacin con aquellos resultados generados
por la aproximacin algebraica y el mtodo numrico de Newton.

Finalmente, se desarrolla una metodologa para la generacin de la trayectoria dinmica de


movimiento del manipulador plano de dos grados de libertad, as como tambin el establecimiento
de un algoritmo de control aplicado al movimiento de ese manipulador.

ix
Abstract

This work presents the development and implementation of neuro-fuzzy networks (ANFIS) applied
to the solution of the problem of the inverse kinematics of planar and spatial robot manipulators.
Due to the nature of the neuro-fuzzy networks, which its parallel structure allows them to identify
and approximate nonlinear functions, therefore it is of great interest to explore its application to the
solution of a nonlinear problem such as the inverse kinematics of manipulators.

To demonstrate the feasibility of using a neuro-fuzzy network as an alternative of solution, three


study cases are analyzed: two planar manipulators of two and three-degrees of freedom and another
with revolute spatial configuration of three-degrees of freedom. In all cases satisfactory results are
obtained and are validated by the comparison against those generated by the algebraic approach and
the numerical method of Newton.

Finally, a methodology for the generation of the dynamic trajectory of motion of the two-degree of
freedom planar manipulator is developed, as well as the establishment of a control algorithm applied
to the motion of that manipulator.

x
Objetivo
Desarrollar y simular un sistema neuro-difuso aplicado a la solucin de la cinemtica inversa de tres
manipuladores robticos de dos y tres grados de libertad.

Objetivos particulares

1. Establecer una metodologa para la generacin de datos de entrenamiento que sirvan para
entrenar a los sistemas neuro-difusos propuestos.

2. Disear una red neuro-difusa que aprenda la cinemtica inversa de un manipulador plano de
dos grados de libertad con articulaciones de tipo revolucin como caso de estudio.

3. Disear una red neuro-difusa que aprenda la cinemtica inversa de un manipulador plano de
tres grados de libertad con articulaciones de tipo revolucin como caso de estudio.

4. Realizar el anlisis dinmico, la generacin de trayectoria de movimiento y diseo del


esquema de control del manipulador plano de dos grados de libertad.

5. Disear una red neuro-difusa que aprenda la cinemtica inversa de un manipulador de tres
grados de libertad con movimiento espacial con articulaciones de tipo revolucin como caso
de estudio.

xi
Justificacin.

Existen muchas tcnicas y mtodos para resolver el problema de la cinemtica inversa en


manipuladores robticos, sin embargo se ha encontrado que en general esos mtodos son
computacionalmente costosos, en cuanto a tiempo y recursos de memoria en el caso de una
aplicacin on-line. Es por ello, que se propone la exploracin y aplicacin de una red neuro-difusa a
la solucin del problema de la cinemtica inversa de manipuladores, la cual tiene como ventaja
principal que se realiza primero el entrenamiento aprendizaje fuera de lnea (off line) de la red
neuro-difusa y una vez entrenada se utiliza ya en la solucin del problema en tiempo real. Despus
se compararn los resultados obtenidos por mtodos convencionales con aqullos obtenidos
mediante la red neuro-difusa, y se evaluar de esta manera su factibilidad de aplicacin.

Los sistemas redes neuro-difusas presentan una gran flexibilidad y capacidad de generalizacin, en
cuanto a la identificacin y modelacin de funciones altamente no lineales. La combinacin de sus
grandes potenciales, los cuales son la gran capacidad de aprendizaje y generalizacin de las redes
neuronales y la facilidad de manejo de informacin vaga e incertidumbres de la lgica difusa, hace
que la aplicacin de un sistema neuro-difuso orientada a la solucin de un problema no lineal, como
es el caso de la solucin a la cinemtica inversa, sea de mucho inters y motivacin.

Una revisin de los diversos trabajos de investigacin que se han desarrollado en la SEPI y en
especfico en la M. en C. en Ing. Mecnica con respecto al rea de robtica, muestra que an no se
han efectuado aplicaciones de la inteligencia artificial a tal rea de estudio. Es por eso que se
propone relacionar el campo de las actuales tcnicas de computacin inteligente (soft-computing)
con el rea de la robtica. La aplicacin tendr lugar especficamente en la solucin de uno de los
ms grandes problemas que se tienen en la mecnica de movimiento de manipuladores robticos,
que es la solucin a su cinemtica inversa.

xii
Introduccin
El presente trabajo de investigacin se encuentra distribuido en cinco captulos, los cuales se
detallan a continuacin:

El primer captulo muestra una recopilacin de los trabajos que se han realizado en lo que se refiere
a lgica difusa y redes neuronales aplicadas a la solucin del problema de la cinemtica inversa. As
mismo, se presentan los trabajos de investigacin sobre sistemas neuro-difusos y se observa que son
an pocos los realizados en cuanto a la materia que se estudia en esta tesis.

En el segundo captulo de este trabajo se establecen los fundamentos tericos en los cuales se apoya
todo el estudio de movimiento de manipuladores robticos, desde la cinemtica (movimiento de un
cuerpo sin atender las causas que lo originan), dinmica (estudio de las causas que originan el
movimiento de un cuerpo) y control de movimiento, hasta los principios de la lgica difusa y la
teora de las redes neuronales artificiales.

El tercer captulo presenta de manera formal a las redes neuro-difusas (ANFIS), de las cuales se
habla de su arquitectura, funcionamiento, entrenamiento y aplicacin. Se detalla cul es su
metodologa de aprendizaje y se realizan dos casos de estudio en los que se emplean dos funciones
no lineales, las cuales se identifican y aproximan. De esta manera se deja el material listo para su
posterior aplicacin en la solucin al problema de la cinemtica inversa.

En el cuarto captulo se muestra y desarrolla la aplicacin del ANFIS a la solucin del problema de
la cinemtica inversa de manipuladores robticos. Se generan los pares de entrenamiento que sern
presentados a las redes neuro-difusas, se realiza el aprendizaje de las redes y finalmente se aplica a
la solucin del problema. Se presentan tres casos de estudio, dos de manipuladores planos de dos y
tres grados de libertad y otro de un manipulador con movimiento espacial de tres grados de libertad.

Finalmente en el quinto captulo se comparan y analizan los resultados obtenidos mediante la red
neuro-difusa y el mtodo algebraico, en el caso de la solucin a la cinemtica inversa del
manipulador plano de dos grados de libertad. As mismo, se analizan los resultados obtenidos
mediante ANFIS y el mtodo numrico de Newton para el caso de los dos manipuladores de tres
grados de libertad.

xiii
ESTADO DEL ARTE

Esta seccin presenta algunas de las


aplicaciones e investigaciones ms
significativas que se han efectuado
para la solucin a la cinemtica
inversa de manipuladores robticos,
empleando para tal fin lgica difusa,
redes neuronales y sistemas neuro-
difusos.

1
Estado del Arte

1. Estado del Arte


La Federacin Internacional de Robtica (International Federation of Robotics) recientemente
revel el nmero de robots industriales que fueron adquiridos en los ltimos aos por empresas en
todo el mundo, el cual se estima en 112 203. Por otro lado, se espera que en el ao 2010 el nmero
de robots industriales en operacin en fbricas se incremente a 1.2 millones (ABB, 2007).
Algunas de las razones por las cuales el empleo de robots industriales es cada vez ms notorio y
extenso en las industrias y fbricas todo el mundo son las siguientes (ABB, 2007):

Reduccin de costos de operacin

Mejoramiento de la calidad y consistencia del producto

Mejoramiento de la calidad del entorno de trabajo de los empleados

Incremento de la capacidad de produccin

Incremento de la flexibilidad de manufactura del producto

Reduccin del desperdicio de material e incremento de beneficios

Cumplimiento de las reglas de seguridad y mejoramiento de la seguridad e higiene del


espacio de trabajo

Reduccin de capacitacin para labores y dificultad para reclutar personal

Reduccin del capital de costo

Ahorro de espacio en reas de manufactura de alto valor

Todo lo expuesto anteriormente implica que el estudio de la robtica se convierta en un rea de


grandes oportunidades y posibilidades de desarrollo, para llevar a cabo la investigacin y aplicacin
de nuevas tcnicas al vasto y sofisticado campo de la robtica industrial, especficamente.

1.1 Definicin de robtica

El estudio de la robtica tiene que ver con el deseo de sintetizar algunos aspectos de las funciones
humanas, mediante el uso de mecanismos, sensores, actuadores y computadoras. Muchas son las
ramas de la ciencia que aportan ideas y conocimientos a la robtica, entre las cuales se menciona a

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 2
Estado del Arte

la ingeniera mecnica, que proporciona metodologas para el estudio de las mquinas en


condiciones estticas y dinmicas; la ingeniera elctrica, que interviene en el diseo de sensores e
interfaces, as como en la aplicacin de actuadores que proporcionen movimiento al sistema. Se
encuentra tambin el empleo de herramientas matemticas para describir la geometra de los
movimientos en el espacio; as como tambin la teora del control que provee mtodos para disear
algoritmos de control que permitirn, a su vez, realizar algn movimiento deseado.
Se puede definir a un robot segn el Robot Institute of America como:

Un manipulador reprogramable multifuncional diseado para mover materiales, partes,


herramientas dispositivos especializados a travs de movimientos variables programados para el
desarrollo de una variedad de tareas

1.2 Lgica difusa

La lgica difusa fue desarrollada como un intento de captar y modelar la naturaleza inexacta del
mundo real. Una de las principales caractersticas de la lgica difusa es que en su estructura emplea
el conocimiento experto de alguna persona en el control y supervisin de alguna tarea,
representando este conocimiento mediante sentencias if-then (s-entonces).
Debido al impacto positivo que han tenido los productos comerciales en donde se han incorporado
elementos que emplean lgica difusa, se hace confiable y se recurre cada vez ms al diseo e
implementacin de ste tipo de sistemas difusos en manipuladores y aplicaciones robticas.
Actualmente los sistemas de inferencia difusa encuentran su mayor aplicacin en aparatos elctricos
que son de uso domstico, entre ellos se menciona a las lavadoras, mquinas de coser y cmaras de
video. As mismo, se puede mencionar su aplicacin en controladores inteligentes, identificadores,
sistemas de reconocimiento de imgenes y patrones, entre otros.

1.2.1 Aplicaciones de lgica difusa en la robtica


Una aplicacin de la lgica difusa en el rea de robtica es la que se realiza en (Niku, 2001), en
donde se controla directamente la salida del torque de un motor de reluctancia mediante un esquema
de modulacin de corriente (Sahoo et al., 2000) .
La solucin a la cinemtica inversa de robots es comnmente obtenida mediante una inversin
directa de las ecuaciones cinemticas, pero esta tcnica a menudo conduce a la presencia de una
matriz Jacobiana que resulta en ocasiones ser singular (Her et al., 2002). En este trabajo se hace uso

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 3
Estado del Arte

de un esquema basado en lgica difusa recursiva para resolver el problema de la cinemtica inversa
en manipuladores seriales. Adems, las funciones de membresa de la lgica difusa son ajustadas y
optimizadas usando algoritmos genticos. Finalmente, este esquema basado en lgica difusa elimina
el problema de las singularidades cinemticas.

En (Howard & Zilouchian, 1998) se emplea como modelo de estudio un robot comercial con tres
grados de libertad, en el cual de aplica un controlador difuso descentralizado para cada articulacin
del manipulador. Para la solucin a la cinemtica inversa se desarrollan unas Memorias Asociativas
Difusas (FAM por sus siglas en ingls), las cuales realizan un mapeo cinemtico inverso entre las
coordenadas cartesianas deseadas y los ngulos de las articulaciones, todo ello en un modo
supervisado. Finalmente, se demuestra que el mtodo difuso propuesto resulta ser efectivo en el
control del robot.

La solucin a la cinemtica inversa para manipuladores robticos redundantes comnmente se


obtiene mediante la matriz pseudo inversa de la matriz Jacobiana; sin embargo, en (Kim et al., 1993)
se plantea una solucin basada en el mtodo del gradiente, que despus es refinada introduciendo la
lgica difusa. Las simulaciones realizadas demuestran que la solucin a la cinemtica inversa es
simple y rpida.

Basndose en el hecho de que los humanos no calculan exactamente la cinemtica inversa de su


cuerpo, sino que realizan mediante aproximaciones un posicionamiento especfico deseado, en (Xu
& Nechyba, 1993) se desarrolla un mapeo cinemtico inverso usando lgica difusa. La
implementacin de este esquema demuestra que es factible tanto para manipuladores redundantes
como no redundantes.

1.3 Redes neuronales

Por otra parte, el cerebro humano est constituido por una enorme cantidad de neuronas altamente
interconectadas, mediante enlaces con fuerzas de adhesin variables y operando en configuracin
paralela. Para lograr simular las caractersticas de procesamiento distribuido masivamente en
paralelo del cerebro, redes neuronales artificiales han sido investigadas y desarrolladas ampliamente
desde el primer trabajo presentado en la materia por (McCulloch & Pitts, 1943), basado en neuronas

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 4
Estado del Arte

modeladas como elementos de toma de decisiones discretas. Ms an, como el cerebro humano, las
redes neuronales artificiales tienen la habilidad de aprender y generalizar.

1.3.1 Aplicaciones de las redes neuronales en la robtica


El aprendizaje del modelo cinemtico inverso para calcular cada ngulo de las articulaciones de un
manipulador, resulta ser de gran importancia para lograr una posicin especfica de la mano humana.
Sin embargo, la funcin de la cinemtica inversa del brazo humano es una funcin con mltiple
valores y adems discontinua. Debido a ello, en (Oyama et al., 2001) se propone una novedosa
arquitectura modular de una red neuronal, la cual soluciona el problema de aproximar una funcin
discontinua.

En (Kker et al., 2004) se presenta la solucin a la cinemtica inversa de un manipulador robtico


de tres grados de libertad, basndose en una red neuronal. Como datos de entrenamiento de la red
neuronal primero se generan, mediante una planeacin de trayectorias cbicas, puntos inciales y
finales dentro del espacio de trabajo del manipulador. Luego se almacenan en un archivo de datos de
entrenamiento, ngulos que corresponden a las coordenadas cartesianas x, y, z. Realizando las
simulaciones se observa que la red neuronal diseada proporciona los ngulos correctos, es decir,
soluciona de manera exitosa el problema cinemtico inverso.

Las singularidades y las incertidumbres en las diferentes configuraciones de un brazo robtico son
algunas de las dificultades que se presentan en la solucin de su cinemtica inversa. Es por ello que
en (Hasan et al., 2006) se realiza un aprendizaje adaptativo mediante el uso de una red neuronal
artificial. Con la finalidad de solucionar el problema de la cinemtica inversa, la red neuronal es
entrenada para aprender un conjunto de posiciones angulares de las articulaciones, dado previamente
un conjunto de posiciones del efector final. Este mapeo es realizado dentro del espacio de trabajo del
manipulador y una vez que la red ha sido entrenada se valida su capacidad de prediccin y
generalizacin mediante la introduccin a la red de un conjunto de nuevos datos. Los resultados
experimentales demuestran una buena capacidad de generalizacin.

En (Tejomurtula & Kak, 1999) se propone una solucin al problema cinemtico inverso de
manipuladores robticos basada en redes neuronales estructuradas que puedan ser entrenadas
rpidamente. La solucin a la cinemtica inversa resulta ser precisa y conveniente para aplicaciones
en tiempo real.
Desarrollo de un sistema neuro-difuso para la solucin
a la cinemtica inversa de manipuladores robticos 5
Estado del Arte

Muchas son ya las soluciones al problema cinemtico inverso de manipuladores redundantes, que se
basan en redes neuronales artificiales; sin embargo, tales soluciones resultan ser no muy confiables,
debido al error que se presenta al final del entrenamiento de la red. En (Kker, 2005) se plantea la
utilizacin de una red neuronal basada en confiabilidad para la solucin a la cinemtica inversa de
un manipulador de seis grados de libertad. La estrategia consiste en emplear tres redes neuronales
tipo Elman diseadas en paralelo, las cuales minimizan el error total del sistema. Al final, los
resultados de cada red neuronal son evaluados usando las ecuaciones cinemticas directas para
determinar la red que proporcione el mejor resultado.

En (Martn & Miln, 2000) se presenta un mtodo neuronal que calcula la cinemtica inversa de
cualquier tipo de robot manipulador. La solucin se obtiene a travs de la inversin de una red
neuronal que fue previamente entrenada para aproximar la cinemtica directa del manipulador.
Una red neuronal esttica con multicapas es empleada para resolver el problema de la cinemtica
inversa de un brazo robtico plano de dos grados de libertad (Nedungadi, 1991). El esquema de
aprendizaje de la red se basa en el algoritmo de Levenberg-Marquardt. Los resultados de las
simulaciones muestran que la estructura ANFIS propuesta es exitosa para la solucin al problema
cinemtico inverso.

1.4 ANFIS

ANFIS significa Sistema de Inferencia Neuro-Difuso y fue inicialmente presentado en (Roger Jang,
1993). La idea fundamental de ANFIS es tomar un sistema de inferencia difusa (FIS) y sintonizarlo
y/o ajustarlo mediante un algoritmo de retro-propagacin basado en alguna coleccin de datos de
entrada-salida (Roger Jang & Gulley, 2007). Esto le permite al sistema difuso aprender de la
informacin presentada a la red y posteriormente tendr la capacidad de generalizar y aproximar
informacin que no fue necesariamente presentada.
Una de las aplicaciones reales que emplean este tipo de sistema de control es el desarrollado por la
empresa Hitachi (Nakajima et al., 1993). Una mquina de aplanado por rodillos se controla
mediante el empleo de sistemas difusos y neuronales. Este modelo neuro-difuso se emplea para
controlar 20 rodillos que aplanan placas de hierro, acero inoxidable y aluminio para obtener un
espesor uniforme. La figura 1.1 muestra el sistema:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 6
Estado del Arte

Figura 1.1 Control de aplanado por rodillos mediante un sistema neuro-difuso. El patrn escaneado de la superficie de la
placa es reconocido por una red neuronal. Las salidas de las redes neuronales son empleadas para ajustar las reglas
difusas.

1.5.1 Aplicaciones de ANFIS en la robtica


En (Wang & Li, 2003)se plantea la solucin al problema de la cinemtica inversa mediante el uso de
una red ANFIS. Los resultados de la simulacin muestran que el mtodo de solucin tiene la ventaja
de tener un aprendizaje rpido, una elevada precisin de identificacin y una mejor habilidad en
tiempo real.

Una de las aplicaciones prcticas ms exitosas que emplean sistemas neuro-difusos es la que se
expone en (Jafari & Jarvis, 2004). En este trabajo se presenta un nuevo mtodo hbrido de llevar a
cabo una coordinacin del ojo con la mano, para que el robot llamado COERSU ejecute tareas de
manipulacin. Para este caso se emplea una combinacin optimizada de dos aproximaciones neuro-
difusas y un sintonizador gentico, los cuales en conjunto contribuyen a encontrar una posicin
ptima final de la mano robtica con la finalidad de manipular algn objeto.

Cuando la estructura del manipulador se vuelve compleja como para poder aplicar mtodos
tradicionales a la solucin de su cinemtica inversa, se hace entonces factible la exploracin y
aplicacin de una red ANFIS a la solucin de tal problema. En (Alavandar & Nigam, 2008) se

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 7
Estado del Arte

describe la aplicacin de ANFIS para la solucin a la cinemtica inversa de manipuladores planos de


dos y tres grados de libertad. Las simulaciones demuestran la efectividad de esta aproximacin.

Los sistemas neuro-difusos se distinguen por su simplicidad de interpretacin, rpida convergencia


de entrenamiento y por sus propiedades de interpolacin. Por esta razn, en (Bidaud & Ben Amar)
se expone que la solucin al problema cinemtico inverso de una pierna robtica puede ser
aprendida por la red y que ningn algoritmo analtico matemtico es requerido. Las posiciones
angulares de las articulaciones (, , ) son calculadas por la red, teniendo como entradas las
posiciones cartesianas (x, y, z). Los resultados del sistema confirman la aplicabilidad de ANFIS para
resolver la cinemtica inversa de la pierna robtica.

1.5 Sumario

Como se mostr en este captulo, se han efectuado varias investigaciones y aplicaciones a la


solucin del problema de la cinemtica inversa de manipuladores robticos, tomando como
plataforma de solucin la lgica difusa y las redes neuronales. En general, se ha demostrado con
simulaciones en computadora que la solucin del problema a la cinemtica inversa puede ser
efectuada fcilmente con el empleo de lgica difusa, obtenindose resultados que estn dentro del
margen de error permitido. Ms aun, la aplicacin de redes neuronales artificiales a este mismo
problema ha sido una materia que aumenta progresivamente en los trabajos publicados al respecto.
Esto se debe, fundamentalmente, a la gran capacidad de generalizacin y procesamiento que poseen
las redes neuronales. Los trabajos que reportan la aplicacin de redes neuronales demuestran que
pueden, de una manera muy precisa y confiable, solucionar el problema de la cinemtica inversa. Es
importante sealar que las aplicaciones de sistemas neuro-difusos son hasta el momento pocas en
cuanto a la solucin del problema de la cinemtica inversa, sin embargo, los resultados obtenidos
demuestran la factibilidad de su uso. Finalmente, se puede concluir que las tcnicas actuales de soft-
computing son intentos y exploraciones sobre nuevas formas de resolver problemas, en los cuales se
persigue obtener resultados ms rpidamente y una exactitud que este dentro de la tolerancia de
error permitida.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 8
MARCO TERICO

En esta seccin se presentan los


fundamentos tericos de la mecnica
y control de movimiento de
manipuladores robticos; adems, se
muestran los principios y teora de la
lgica difusa y de las redes
neuronales artificiales.

9
Marco Terico

2. Marco terico
2.1 Mecnica de manipuladores robticos

Un manipulador mecnico es una cadena cinemtica articulada en lazo abierto compuesta por varios
eslabones (cuerpos rgidos) conectados en serie por una articulacin de revolucin o prismtica
impulsada por actuadores. Un extremo de la cadena se fija a una base soporte, mientras que el otro
extremo est libre y unido con una herramienta (efector final) para manipular objetos o realizar
tareas de ensamble (Fu et al., 1988).

2.1.1 Cinemtica
La cinemtica de un manipulador es el estudio de la geometra de su movimiento, con respecto a un
sistema de referencia fijo, como una funcin del tiempo, pero sin atender las causas y fenmenos
que lo originan tales como fuerzas y momentos, y tomando en consideracin los tipos de uniones
(articulaciones) entre los eslabones (Fu et al., 1988).
La cinemtica de un manipulador se divide para su estudio en cinemtica directa y cinemtica
inversa. La figura 2.1 muestra la manera en que se relacionan la cinemtica directa e inversa con los
ngulos de las articulaciones y los parmetros geomtricos de cada eslabn.

Parmetros Geomtricos
de los eslabones

ngulos de
las articulaciones Cinemtica Directa Posicin y orientacin del
q1(t),qn(t) efector final

Parmetros Geomtricos
de los eslabones

ngulos de
las articulaciones Cinemtica Inversa
q1(t),qn(t)

Figura 2.1 Problema cinemtico directo e inverso (Fu et al., 1988)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 10
Marco Terico

2.1.1.1 Problema cinemtico directo


El problema cinemtico directo se presenta cuando se deben calcular la posicin y orientacin del
efector final del manipulador con respecto a un marco de referencia fijo, proporcionados
previamente un conjunto de ngulos de las articulaciones del manipulador (Craig, 1955).
El problema cinemtico directo se reduce a encontrar una matriz de transformacin que relacione el
sistema de coordenadas ligado a cada uno de los eslabones al sistema de coordenadas de referencia.
Una matriz de rotacin de 3 x 3 simplemente representa la orientacin, es decir, describe las
rotaciones de los marcos asignados a cada eslabn con respecto al sistema de referencia que se
encuentra ubicado en la base del manipulador. En el momento en que se incluyen vectores de
posicin para describir los movimientos de traslacin de los marcos individuales de los eslabones
respecto al sistema fijo, entonces se obtiene una matriz de transformacin homognea de 4 x 4, la
cual describe al efector final espacialmente en orientacin y posicin con respecto al sistema de
referencia fijo de la base del manipulador (Fu et al., 1988). La matriz de transformacin homognea
de 4 x 4 puede ser dividida en submatrices:

A BA B

B (2.1)

A
Donde la submatriz B representa la matriz de rotacin ( orientacin de un marco movible B con

respecto a un marco de referencia A); la submatriz A p representa el vector de posicin del origen del
sistema de coordenadas rotado B con respecto al sistema de referencia; la submatriz f indica la
transformacin de perspectiva y finalmente la submatriz representa el factor de escala global, que
para el caso de la cinemtica de manipuladores el factor de escala es 1 y la submatriz de
transformacin de perspectiva es puesta a cero.

La metodologa de Denavit-Hartenberg es una convencin empleada para establecer los marcos de


coordenadas para cada eslabn de una cadena cinemtica abierta y se basa en un mtodo matricial
para obtener una relacin espacial de traslacin y rotacin entre eslabones adyacentes (Denavit &
Hartenberg, 1955).

La metodologa de asignacin de los marcos de los eslabones es:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 11
Marco Terico

1) Localizar los ejes de las articulaciones y marcar lneas a lo largo de ellos, considerando las
lneas adyacentes como ejes i e i+1.
2) Observar el punto donde se encuentra la perpendicular comn entre los ejes o punto de
interseccin; aqu estar el origen del marco del eslabn i- simo.

3) Asignar el eje Z i apuntando a lo largo del eje de la articulacin i- sima.

4) Asignar el eje X i apuntando a lo largo de la perpendicular comn, o si los ejes se

intersectan, X i ser normal al plano donde se encuentran esos dos ejes.

5) El eje Y i ser asignado de tal forma que se complete un sistema de coordenadas de la mano
derecha. Las asignaciones de los marcos se muestran en la figura 2.2:

Figura 2.2 Asignacin de los marcos i e i-1 para un manipulador (Craig, 1955)

La convencin se basa en el hecho de que un manipulador puede ser descrito cinemticamente slo
mediante cuatro valores para cada eslabn, siendo los siguientes los parmetros de Denavit-
Hartenberg (Denavit & Hartenberg, 1955):

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 12
Marco Terico


ai = Distancia de Z i a Z i +1 medida a lo largo de X i

ai = ngulo entre Z i y Z i +1 medido alrededor de X i

di = Distancia de X i -1 a X i medida a lo largo de Z i

qi = ngulo entre X i -1 y X i medido alrededor de Z i

La matriz del par del brazo es la matriz que relaciona los parmetros de Denavit-Hartenberg de
dos eslabones consecutivos, siendo definida esta matriz como:

cos qi - senqi 0 ai -1
senq cos a cos qi cos a i -1 - sena i -1 - sena i -1di
i -1 i -1
iT =
i
(2.2)
senqi s ena i -1 cos qi s ena i -1 cos a i -1 cos a i -1di

0 0 0 1

Esta matriz permite concatenar dos eslabones consecutivos, es decir obtener las matrices de
transformacin individuales, y una vez hecho esto se puede calcular la matriz de transformacin que
relaciona el marco de coordenadas del ltimo eslabn con el marco de referencia de la base.
Simplemente hay que multiplicar las matrices individuales de cada par de eslabones en el orden
conveniente y tomar en cuenta que el producto de matrices no es conmutativo. Habiendo hecho lo
anterior se obtiene la matriz que contiene los siguientes elementos:

nx sx ax px
n sy ay p y
T = y (2.3)
nz sz az pz

0 0 0 1
Siendo:
n = Vector normal de la mano
s = Vector de deslizamiento de la mano
a = Vector de aproximacin de la mano
p = Vector de posicin de la mano

Finalmente se han obtenido las doce ecuaciones cinemticas de diseo del manipulador, que son
realmente la solucin a la cinemtica directa del manipulador:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 13
Marco Terico

nx , ny , nz , sx , s y , sz , ax , a y , az , px , p y , pz (2.4)

2.1.1.2 Problema cinemtico inverso


El problema cinemtico inverso tambin es conocido como la solucin del brazo, y consiste en que
conocidas una posicin y orientacin del efector final de un manipulador robtico con respecto a su
base, obtener el conjunto de los ngulos de las articulaciones correspondientes de los eslabones, que
a su vez lograrn posicionar al efector en el punto donde sea requerido (Craig, 1955).

El problema de resolver las ecuaciones cinemticas de un manipulador es del tipo no lineal; debido a
ello, en la resolucin del sistema de esas ecuaciones no lineales aparecen mltiples soluciones, lo
cual implica que se lleve a cabo un anlisis para as poder determinar cul es la mejor solucin
posible. La figura 2.3 muestra dos posibles configuraciones de los eslabones para dar solucin a la
cinemtica inversa de un manipulador plano.

Figura 2.3 Manipulador de tres eslabones, mostrando dos posibles configuraciones para alcanzar un mismo punto (Craig,
1955)

Existen diversos mtodos y tcnicas mediante los cuales se pude resolver el problema cinemtico
inverso, entre ellos se pueden mencionar los siguientes:

1) Tcnica transformada inversa (Paul et al., 1981)

2) lgebra de tornillo (Kohli & Soni, 1975)

3) Matrices duales (Denavit, 1956)

4) Cuaterniones duales (Yang & Freudenstein, 1964)

5) Iterativos (Uicker et al., 1964)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 14
Marco Terico

6) Mtodos geomtricos (Lee & Ziegler, 1984)

Todas las estrategias de solucin pueden ser agrupadas en dos clases:

v Soluciones de forma cerrada

v Soluciones numricas

La solucin en forma cerrada es una estrategia basada en expresiones analticas en la solucin de


un polinomio de cuarto orden menos. Se pueden mencionar dos mtodos distintivos de este tipo de
solucin, algebraicos y geomtricos (Craig, 1955). Las soluciones numricas presentan
generalmente un requerimiento importante de tiempo de clculo, debido a la necesidad de
iteraciones continuas. Basndose en los puntos anteriores se puede establecer que es mucho mejor
encontrar una solucin del brazo en forma cerrada para resolver su cinemtica inversa. Para que se
pueda efectuar la solucin en forma cerrada se debe tomar en cuenta alguna de las dos siguientes
consideraciones (Craig, 1955):

1) Tres ejes de articulacin adyacentes se intersectan en un punto

2) Tres ejes de articulacin adyacentes son paralelos entre s

2.1.1.3 Cinemtica de velocidades


Las ecuaciones cinemticas directas definen una funcin o relacin entre el espacio de las posiciones
y orientaciones del efector final, y el espacio de las articulaciones; por otro lado, las relaciones de
velocidad son determinadas por medio de la obtencin del Jacobiano de esta funcin. La
determinacin del Jacobiano es muy importante para poder obtener las ecuaciones dinmicas de
movimiento y realizar la transformacin de fuerzas y torques del efector final, a las articulaciones
del manipulador (Spong & Vidyasagar, 1999). El Jacobiano representa una transformacin
instantnea entre las velocidades de las articulaciones y las velocidades lineal y angular del efector
final de un manipulador. Esto se puede representar como:

V = J ( ) & (2.5)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 15
Marco Terico

Donde: V = Vector 6 x 1 de velocidades cartesianas, siendo a su vez definido como:

vx
v
y
v vz
V = = (2.5.1)
x
y

z

Siendo
v = Vector 3 x 1 de velocidad lineal
= Vector 3 x 1 de velocidad angular o rotacional

= Vector n x 1 de ngulos de las articulaciones, siendo n el nmero de articulaciones


& = Vector de las velocidades de las articulaciones
J = Jacobiano del manipulador, siendo definido como:

J
J = v (2.5.2)
J

El Jacobiano es una matriz de 6 x n, donde n es el nmero de eslabones.


La velocidad angular del eslabn i expresado en el marco i-1 est dado por:

ii-1 = q& i k (2.6)

Adems, las velocidades angulares pueden ser sumadas vectorialmente, siempre y cuando estn
expresadas con respecto a un sistema de coordenadas en comn (Spong & Vidyasagar, 1999). Por lo
tanto, la velocidad angular total del efector final en el marco de referencia de la base se define como:

on = p1q&1k + p2 q&2 Ro1 k + ... + pn q& n Ron -1k


n (2.7)
on = pi q&i zi -1
i -1

Donde, z i -1 = Roi -1 k denota el vector unitario k del sistema i-simo expresado en la orientacin del
marco de referencia de la base, y pi es igual a la unidad si la articulacin es de revolucin y a cero

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 16
Marco Terico

si la articulacin es prismtica. Por lo tanto, el Jacobiano de las velocidades angulares se define


como:
J = [ p1 z o .... p n z n -1 ] (2.8)

La velocidad lineal del efector final es slo d&on , que para el caso de una articulacin de revolucin se
tiene:

d on = d oi -1 + Roi -1 d in-1 (2.9)


Donde:

d on = Distancia del efector final a la base


d oi -1 = Distancia de la articulacin i-1 a la base
d in-1 = Distancia del efector final a la articulacin i-1
Roi -1 = Matriz de rotacin

Las designaciones anteriores se pueden observar en la figura 2.4:

zi -1
i

z0 d in-1
d 0i -1

x0 y0 d 0n

Figura 2.4 Movimiento del efector final debido al eslabn i (Spong & Vidyasagar, 1999)

Empleando la siguiente notacin y reescribiendo la ecuacin (2.9), se obtiene:

on - oi -1 = Roi -1 d in-1 (2.10)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 17
Marco Terico

Y de la figura 2.4 se observa que d oi -1 y Roi -1 son constantes, slo en el caso de que la articulacin i-
sima sea actuada. Debido a ello, derivando (2.9) se obtiene:

d&on = Roi -1 d&in-1 (2.11)

Y dado que el movimiento de la articulacin i es una rotacin qi alrededor de zi-1 se tiene que:

d&in-1 = q&i k d in-1 (2.12)

Sustituyendo (2.12) en (2.11) se obtiene:

d&on = Roi -1 ( q&i k din-1 )


d&on = q&i Roi -1k Roi -1d in-1 (2.13)
d&on = q&i zi -1 ( on - oi -1 )
Por lo tanto,

d on
= zi -1 ( on - oi -1 )
qi (2.14)
Definindose el Jacobiano de velocidades lineales como:

J v = [ J v1 ... J vn ] (2.15)

Siendo Jvi para una articulacin de revolucin:

J vi = zi -1 ( on - oi -1 ) (2.16)

Y para una prismtica como:

J vi = zi -1 (2.17)
Y finalmente se pueden agrupar los Jacobianos de velocidades angulares y lineales, resultando:

J = [ J 1 J 2 ..... J n ] (2.18)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 18
Marco Terico

Donde cada columna Ji, se expresa para una articulacin de revolucin como:

z ( on - oi -1 )
J i = i -1 (2.19)
zi -1

Y para una articulacin prismtica como:

z
J i = i -1 (2.20)
0

Las expresiones para la determinacin del Jacobiano requieren del conocimiento de los vectores
unitarios zi, y de los vectores que van del origen Oo a los orgenes de los sistemas de coordenadas de
cada articulacin O1, , On.

Haciendo un anlisis de esta necesidad, se deduce que el vector zi est dado por los primeros tres
elementos de la tercera columna de la matriz de transformacin homognea Toi , mientras que Oi est
dado por los primeros tres elementos de la cuarta columna de la misma matriz (Spong &
Vidyasagar, 1999).

2.1.1.4 Cinemtica de aceleraciones


Las velocidades de las articulaciones y las del efector final del manipulador son relacionadas por el
Jacobiano como:

X& = J ( q ) q& (2.21)

Calculando la derivada de la ecuacin anterior se obtiene la ecuacin de la aceleracin:

d
X&& = J ( q ) q&& + J ( q ) q& (2.22)
dt

Resultando finalmente que las ecuaciones de velocidad y aceleracin inversas para un manipulador
de seis grados de libertad, quedan definidas como:

(2.23)
q& = J ( q ) X&
-1

-1 d
q&& = J ( q ) X&& - J ( q ) q&
dt (2.24)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 19
Marco Terico

Siempre y cuando el determinante de J (q ) 0

2.1.2 Dinmica
Sea i
ri un punto fijo y en reposo sobre el elemento i, y expresado con respecto al sistema local de
coordenadas del elemento i, esto se define como (Fu et al., 1988):

xi
ri = yi = ( xi , yi , zi )
T
i
(2.25)
zi

Sin embargo, el punto i


ri puede a su vez ser expresado con respecto al sistema de la base (inercial),
representndose como 0
ri . Empleando matrices de transformacin de coordenadas homogneas es
posible establecer la relacin entre esos dos puntos, quedando definida como (Fu et al., 1988):

0
ri = 0 Ai i ri (2.26)
Siendo

0
Ai = 0 A1 1 A2 .... i -1 Ai (2.26.1)

Debido a que el punto i


ri est expresado en el sistema de coordenadas del elemento i-simo, y ya
que este es un sistema no inercial, su velocidad i
r&i ser cero. No obstante, la velocidad de ese mismo
punto expresada en el sistema de la base, est definida como (Fu et al., 1988):

i 0 Ai i
Vi =
0 d 0
dt
( ri ) = ( 0 Ai i ri ) =
d
dt
q& r
j =1 q j i
(2.27)
j

0 Ai
Para facilitar la obtencin de la derivada parcial , se hace uso de una matriz auxiliar Qi, siendo
qj

esta matriz para una articulacin de revolucin (Fu et al., 1988):

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 20
Marco Terico

0 -1 0 0 (2.28)
1 0 0 0
Qi =
0 0 0 0

0 0 0 0

Obtenindose la siguiente igualdad:

i -1 Ai
= Qi i -1 Ai (2.29)
qi

El efecto que ocasiona el movimiento de la articulacin j sobre el elemento i, se interpreta como:

0 Ai A1 A2 ... Aj -1Q j para j i


j -2 j -1
0 1
Aj ... i -1 Ai
= (2.30)
q j 0 para j > i

Lo anterior se puede simplificar empleando:

0 Ai
Ui j = (2.31)
qj

Y sustituyendo en (2.30), se obtiene:

0 A Q j -1
Ai para j i
U i j = j -1 j (2.32)
0 para j > i

Finalmente se obtiene la velocidad de la articulacin, siendo expresada como:

i
Vi = U i j q& j i ri (2.33)
j =1

Es posible tambin encontrar los efectos que se producen en el movimiento, debido a la interaccin
de las articulaciones j y k sobre el elemento i. Para ello se obtiene la derivada parcial de Uij con
respecto a qk, resultando que (Fu et al., 1988):

0 Aj -1Q j j -1
Ak -1Qk k -1
Ai ik j
U i j k -1 j -1

= Ui j k = 0 Ak -1Qk Aj -1Q j Ai i j k
qk (2.34)
0 i < j, i < k

2.1.2.1 Energa cintica del manipulador

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 21
Marco Terico

La energa cintica de una partcula con masa diferencial dm en el elemento i, se expresa como:

dK i = 1
2 ( x&
2
i + y&i2 + z&i2 ) dm (2.35)

Con el fin de evitar un producto escalar de vectores y obtener la matriz de inercia del elemento i-
simo, se emplea el operador traza, el cual se define como la suma del cuadrado de los elementos de
la diagonal principal de una matriz. Entonces, empleando el operador traza se tiene que (Fu et al.,
1988):

dK i = 12 traza ( vi viT ) dm = 12 Tr ( vi viT ) dm (2.36)

Enseguida, sustituyendo vi de la ecuacin (2.33) se obtiene:

i i
i
i
T

dK i = Tr U i j q& j ri U i k q&k ri dm
1
2
j =1 k =1
i i
dK i = 12 Tr U i j i ri i riT U i k T q& j q&k dm (2.37)
j =1 k =1

dK i = 12 Tr U i j ( i ri dm i riT ) U i k T q& j q&k
i i

j =1 k =1

Ahora, integrando para obtener la energa cintica total en el elemento i-simo:

i
U ( )
i
K i = dK i = 12 Tr ij
i
ri i riT dm U iTk q& j q&k (2.38)
j =1 k =1

De la ecuacin anterior se observa que:

xi2 dm
x y dm
i i x z dm
i i x dm
i

x y dm
i i y dm y z dm y dm
2

J i = i ri i riT dm =
i i i i

x z dm (2.39)
i i y z dm z dm z dm
2
i i i i

x dm
i y dm i z dm
i dm

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 22
Marco Terico

Esta matriz es conocida como la matriz de pseudoinercia, ya que contiene otros trminos que son
distintos a la inercia propia de los puntos en el elemento i-simo.
Empleando el tensor de inercia Ii j, el cual se define como (Fu et al., 1988):


I i j = i j xk2 - xi x j dm
k (2.40)

Donde:
i j = Delta de Kronecker

i, j , k = Ejes principales del sistema de coordenadas i-simo

Se expresa ahora la matriz de pseudoinercia Ji, mediante un tensor, obtenindose:

- I xx + I yy + I zz
I xy I xz mi x i
2
I xx - I yy + I zz
J i =
I xy I yz mi y i
2
(2.41)
I xx + I yy - I zz
I xz I yz mi z i
2
mi x i mi y i mi z i mi

Siendo esta matriz de inercia simtrica, positiva y dependiente solamente de la distribucin de masa
del elemento i-simo, y no depende de su posicin o velocidad; debido a ello, se requiere calcular
solamente una vez la matriz Ji con el fin de obtener la energa cintica de un manipulador.
Finalmente se obtiene la energa cintica total de un manipulador:

n n i i
K = Ki = 1
2 Tr U ij J i U i k T q& j q&k
i =1 i =1 j =1 k =1 (2.42)
(2.40)

Tr (U J i U i k T ) q& j q&k
n i i
K= 1
2 ij
i =1 j =1 k =1

2.1.2.2 Energa potencial del manipulador


La energa potencial almacenada en un elemento i, se define como la cantidad de trabajo requerido
para elevar el centro de masa del eslabn i-simo, desde un plano de referencia horizontal hasta su
posicin actual, bajo la influencia de la gravedad (Fu et al., 1988).
Desarrollo de un sistema neuro-difuso para la solucin
a la cinemtica inversa de manipuladores robticos 23
Marco Terico

La energa potencial Pi del elemento i-simo, se define como:

0
Pi = - mi g r i = - mi g (A r)
0
i
i
i (2.43)

Donde:
mi = Masa del eslabn i-simo
g = Vector fila de gravedad
g = ( g x , g y , g z , 0 ) = ( 0, 0, -9.8062, 0 )

Resultando finalmente para la energa potencial total del manipulador:

( A r)
n n
Pi = Pi = - mi g
i
0
i i (2.44)
i =1 i =1

2.1.2.3 Forma general de la ecuacin dinmica de movimiento de un manipulador


Al obtener la funcin Lagrangiana resulta:

Tr (U J i U i k T ) q& j q& k + mi g ( A r)
n i i n
i
L= K -P = 1
2 ij
0
i i (2.45)
i =1 j =1 k =1 i =1

Ahora aplicando la formulacin de Lagrange-Euler a la funcin Lagrangiana del manipulador, se


obtiene:

d L L
= Tr (U j k J j U j iT ) q&&k + Tr (U j k m J j U jiT ) q&k q&m - m j gU j i r j
n j n j j n
j
i = - (2.46)
dt q&i qi j =1 k =1 j =1 k =1 m =1 j =1

Expresando (2.46) en notacin matricial, se obtiene:

i = M i k q&&k + Vi k m q&k q&m + Gi (2.47)

La figura 2.5 muestra un manipulador plano de 2 eslabones en los cuales se ilustran los parmetros
geomtricos, cinemticos y dinmicos que influyen en su movimiento.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 24
Marco Terico

m2 , I2
l2

2
l1 m1 , I1

1 1

Figura 2.5 Manipulador planar de 2 eslabones con sus respectivos parmetros (Fu et al., 1988)

Y en forma matricial para hacerla ms compacta:

( t ) = M ( q ( t ) ) q&& ( t ) + V ( q ( t ) , q& ( t ) ) + G ( q ( t ) ) (2.48)

2.1.3 Generacin de trayectorias de movimiento


La trayectoria de movimiento es un registro en el tiempo de las posiciones, velocidades y
aceleraciones deseadas de las articulaciones de un manipulador robtico, con la finalidad de que el
efector final siga una ruta o camino especfico para ejecutar una accin. Para obtener generar la
trayectoria se establecen convenientemente puntos intermedios en la ruta deseada, los cuales se
conocen como puntos va (via points). As mismo, se establecen los tiempos que se desean para
cubrir los espacios intervalos de los puntos va.

Con la finalidad de generar una trayectoria que sea continua y suave (smooth trajectory) se emplean
unas funciones geomtricas conocidas como funciones spline. Estas funciones de ajuste emplean
polinomios para aproximar la trayectoria deseada entre los puntos va, y despus son concatenadas
con la condicin de que las posiciones, velocidades y aceleraciones del manipulador sean continuas
en los puntos va. La secuencia de estas funciones ligadas una a otra representa la trayectoria
deseada que generar a su vez un movimiento suave del manipulador (Koivo, 1989).

Lo que se pretende es controlar a las variables de articulacin del manipulador, es por ello que la
trayectoria deseada debe estar expresada en trminos de las variables de articulacin (espacio de las
articulaciones). El orden de polinomios a emplear para aproximar la trayectoria deseada, expresada

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 25
Marco Terico

en el espacio de las articulaciones, depende de las especificaciones de la tarea del manipulador. En


el caso particular del presente trabajo de investigacin se emplear un polinomio de 5 orden, ya que
satisface las seis condiciones cinemticas del manipulador, es decir:

Posicin en tiempo inicial ( 0)


Posicin en tiempo final ( t f )
Velocidad en tiempo inicial & ( 0)
Velocidad en tiempo final & ( t f )
Aceleracin en tiempo inicial &&( 0)
Aceleracin en tiempo final &&( t f )

Despus de determinar los coeficientes del polinomio de 5 orden, la funcin basada en el polinomio
que generar la trayectoria entre dos puntos va adyacentes en el k-simo intervalo de tiempo, se
puede expresar as (Koivo, 1989):

( t ')
2

Q = (1 - t ') qi ( tk ) + 3qi ( tk ) + q&i ( tk ) t '+ q&&i ( tk ) + 6q&i ( tk ) + 12qi ( tk ) +


1 3 s s s
i
2
(2.49)
(1 - t ')
2

( t ') qi ( tk +1 ) + 3qi ( tk +1 ) - q&i ( tk +1 ) (1 - t ') + q&&i ( tk +1 ) - 6q&i ( tk +1 ) + 12q ( tk +1 )


3 s s s

2

Donde: t ' = Tiempo normalizado en segundos, definido como:

t'=
( t - tk ) 0 t ' 1 1 k ( n - 1) (2.49.1)
( tk +1 - tk )

n = Nmero de puntos va en que se segmenta la ruta

k = Intervalo de tiempo
t k = Tiempo al inicio del intervalo k-simo

tk +1 = Tiempo al final del intervalo k+1- simo

qi = Valor de la coordenada generalizada en ese intervalo

q&i = Primera derivada de la coordenada generalizada en ese intervalo

q&&i = Segunda derivada de la coordenada generalizada en ese intervalo

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 26
Marco Terico

Y adems se definen a:
q&is ( t j ) = ( tn - t1 ) q&i ( t j ) j = 1, n
q&&is ( t j ) = ( tn - t1 ) q&&i ( t j ) j = 1, n
2
(2.49.2)

2.1.4 Control
En (Slotine & Li, 1987) se define el problema del diseo del controlador como:

Dada la trayectoria deseada q d ( t ) , y con algunos todos los parmetros del manipulador siendo
desconocidos, derivar una ley de control para los torques del actuador y una ley de estimacin para
los parmetros desconocidos, tal que la salida del manipulador q(t ) siga las trayectorias deseadas
despus de un poco de adaptacin inicial.
Los mtodos de control suponen que se especifica el movimiento deseado mediante una trayectoria
temporal del manipulador y en coordenadas de articulacin cartesiana (Fu et al., 1988). La figura
2.6 muestra un diagrama de control de un manipulador robtico:

Especificaciones
de la tarea a
realizar

Planificacin de CONTROLADOR Manipulador


trayectoria
Entorno
Trayectoria
deseada Sensores y
estimadores

Interface
Figura 2.6 Diagrama de bloques de control bsico de un manipulador robtico (Fu et al., 1988)

2.1.4.1 Mtodos de control de movimiento convencionales


Una de las estrategias de control que ms se emplea es el esquema de control basado en un modelo.
Este tipo de esquema de control asume un conocimiento previo del modelo inverso dinmico
completo cuando se disea el controlador. El objetivo de este esquema es compensar la dinmica

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 27
Marco Terico

mediante el clculo de los torques de los actuadores, requeridos para ocasionar que el manipulador
siga una trayectoria deseada (Craig, 1988). La figura 2.7 muestra el esquema de control basado en
un modelo.


&&d + M ( Q ) + Manipulador
&

h ( Q, Q
&)

Kp KV
+

&d
-
d -

Figura 2.7 Esquema de control basado en un modelo (Mtodo del Par Calculado)
(Craig, 1988)

Tomando la ecuacin vectorial de movimiento de un manipulador, la ley de control que esta


estrategia emplea es:

&& * + h ( Q, Q
T = M (Q )Q &) (2.50)

Donde:
M ( Q ) = Matriz estimada de inercia del manipulador

h ( Q , Q
& ) = V (Q , Q
& ) + G ( Q ) + F ( Q
& ) = Matriz estimada de torque de Coriolis, centrfugo, gravitatorio y

de friccin
y,

&& * = Q
Q && + K E& + K E (2.50.1)
d v p

Definindose a E y a E& como:

E = Qd - Q
E& = Q
& -Q
d
& (2.50.2)

Kv y Kp son matrices diagonales de ganancia constante.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 28
Marco Terico

La ecuacin que emplea este tipo de control es comnmente conocida como Mtodo del Par
Calculado; adems, se asume que cualquier trayectoria del efector final del manipulador es
conocida, y que se expresa como funcin del tiempo de la posicin d ( t ) , velocidad &d ( t ) y
aceleracin &&d ( t ) de la articulacin.

Sin embargo, existen 3 problemas que hacen que esta estrategia sea difcil de implementar:

1) El clculo en tiempo real de la dinmica inversa requiere del uso de un procesador en


paralelo de alta velocidad.
2) Se asume que el modelo es preciso, pero la estimacin de los parmetros dinmicos es
difcil.
3) Con manipuladores no actuados directamente subactuados, las fricciones esttica y
dinmica son difciles de estimar y tienen un gran efecto en el control.

En (Arimoto & Miyazaki, 1985) se propone que un manipulador, tomando la ecuacin vectorial de
movimiento, puede ser controlado mediante la ecuacin:

&
T = G ( Q) + K p E - K d Q (2.51)

Donde:
G (Q) = Vector n x 1 que representa los torques debido a la aceleracin de la gravedad

K p = Matriz diagonal n x n de las ganancias de posicin

K d = Matriz diagonal n x n de las ganancias de amortiguamiento

E = Q d - Q = Vector n x 1 de errores

Este tipo de control no forza al manipulador a seguir una trayectoria, sino que mueve al manipulador
a un punto especfico a lo largo de una ruta especificada mediante la dinmica del manipulador y
despus regula aqu la posicin. La ley de control requiere que slo el modelo gravitatorio sea
conocido.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 29
Marco Terico

2.2 Lgica difusa

2.2.1 Conjuntos difusos


Los conjuntos difusos fueron introducidos en 1965 por Lotfi A. Zadeh (conocido como el padre de
la lgica difusa) con la finalidad de obtener una representacin matemtica de la ambigedad
lingstica y la incertidumbre (Zadeh, 1975). Mientras que en un conjunto clsico un elemento del
universo puede o no pertenecer a ese conjunto, es decir siendo su membresa completa o nula, en un
conjunto difuso se permite a ese elemento tener cierto grado de membresa, que puede estar en el
intervalo de [0,1]. Un conjunto difuso A en el universo del discurso U se puede definir como un
conjunto de pares ordenados:

A= {( x, m A ( x )) x U } (2.52)

y estando,

Siendo m A ( x ) la funcin de membresa, es decir el grado de pertenencia de x en A. Estando el

espacio de la membresa M en el universo [0,1]. El propsito de un conjunto difuso es representar la


ambigedad e imprecisin que las cosas tienen en el mundo real, tratando de eliminar las fronteras
cerradas que separan a los miembros y no miembros de un grupo o conjunto. Logrando de esta
manera que la transicin entre el grado de pertenencia de cada elemento en ese conjunto sea gradual
y no brusca, como en los conjuntos clsicos. La figura 2.7 muestra claramente la diferencia entre la
transicin suave y gradual de un conjunto difuso, y abrupta y repentina de un conjunto clsico.
m A ( x)

m A ( x)

0.5

0
0 3 6 9
x U
x U

(a) (b)

Figura 2.7 Funciones caractersticas de un conjunto difuso (a) y un conjunto clsico (b)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 30
Marco Terico

Un problema que se presenta en los conjuntos difusos es la asignacin de las funciones de


membresa que los representan, ya que depende del criterio del diseador y de la naturaleza del
problema. Una de las soluciones que actualmente se proponen a este problema es la utilizacin de
las redes neuronales para aproximar estas funciones.

2.2.2 Funciones de membresa


Una funcin de membresa cuantifica de manera continua el significado de enunciados lingsticos.
Una funcin de membresa proporciona la certeza de un determinado valor lingstico, es decir,
su grado de verdad o pertenencia en un conjunto (Passino & Yurkovich, 1998).
Si U es el universo de discurso (rango de posibles valores que puede adquirir un conjunto), y A es un
valor lingstico especfico para una variable lingstica u, entonces una funcin de membresa (u )

asociada con una variable lingstica, proporciona su valor de pertenencia en el intervalo [0,1].
Existen varias formas de funciones de membresa, y su eleccin depende de la aplicacin y de la
experiencia e intuicin del diseador. La caracterizacin matemtica de una funcin de membresa
triangular es mostrada en la tabla 2.1:

Tabla 2.1 Caracterizacin matemtica de una funcin triangular de membresa (Passino & Yurkovich, 1998)

1 S u c I

Izquierda (u ) =
I
cI - u
mx 0,1 + De otra manera
0.5w I

u -c
Centro mx 0,1 + 0.5w S u c

C ( u ) =

mx 0,1 + c - u
L
De otra manera
0.5w
u - cD
mx 0,1 + S u c D
D (u ) = 0.5w D
Derecha
1 De otra manera

La tabla 2.2 muestra la caracterizacin matemtica de una funcin de membresa de tipo Gaussiana:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 31
Marco Terico

Tabla 2.2 Caracterizacin matemtica de una funcin Gaussiana de membresa (Passino & Yurkovich, 1998)

1 S u c I
Izquierda
(u ) =
I
u - c I 2
exp - 12 I De otra manera

u - c 2
( u ) = exp - 12
Centro

u - c D 2

exp - 2 D S u c
1 D

D (u ) =
Derecha

1 De otra manera

2.2.3 Operadores difusos


Algunas de las operaciones que se realizan entre conjuntos difusos son las siguientes:

Complemento :
-
El complemento A de un elemento de un conjunto difuso A est dado por la diferencia entre la
unidad y su grado de membresa correspondiente m A ( x) , siendo definido como:

m - ( x) = 1 - m A ( x ) "x U (2.53)
A

Interseccin:
La interseccin entre dos conjuntos difusos A y B, se denota como:

A B m AB ( x) = mn[ m A ( x), mB ( x)] = m A ( x) mB ( x) "x U (2.54)

Unin:
La unin de los conjuntos difusos A y B se define como:

A B m AB ( x) = mx [ m A ( x), mB ( x)] = m A ( x) mB ( x) "x U (2.55)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 32
Marco Terico

Igualdad:
Dos conjuntos difusos A y B son iguales si:

A = B m A ( x) = m B ( x) "x U (2.56)

Subconjunto:
A es un subconjunto de B, si y slo si:

A B m A ( x ) mB ( x ) "x U (2.57)

Producto cartesiano:
El producto cartesiano de A1 , A2 ,..., An es un conjunto difuso en el espacio del producto

U1 U 2 ... U n , siendo las funciones de membresa:

mA1A2...An ( x1, x2 ,..., xn ) = mn mA1 ( x1 ) , mA2 ( x2 ) ,..., mAn ( xn ) x1 U1, x2 U2 ,..., xn Un (2.58)

Suma algebraica
La suma A+B de dos conjuntos difusos est dada por:

m A+ B ( x ) = m A ( x ) + mB ( X ) - m A ( x ) mB ( X ) (2.59)

Producto algebraico
El producto algebraico A B se define como:

m AB ( x ) = m A ( x ) mB ( x ) (2.60)

2.2.4 Control difuso


El control lgico difuso fue impulsado de manera fundamental por Mamdani y Assilian en 1975 y es
precisamente una de las reas de mayor impulso y aplicacin de la teora de conjuntos difusos.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 33
Marco Terico

Su empleo se ha extendido bastante rpido debido a que existen procesos demasiado complejos para
controlar de manera tradicional, y que por otro lado pueden ser controlados por un operador humano
experimentado que tenga suficiente conocimiento y habilidades.
El objetivo principal del control difuso es tratar de incorporar toda la experiencia y habilidades que
un ser humano aplica en controlar algn proceso o accin, en la creacin de un controlador lgico
difuso (CLD); de esta manera, se evita la compleja tarea de realizar un modelado dinmico del
proceso, que en la mayora de los casos resulta muy laborioso y difcil.
Bsicamente un controlador lgico difuso se puede concebir como un instrumento de toma de
decisiones autnomo, y que opera en un sistema de lazo cerrado. La informacin que es
proporcionada al CLD proviene de un humano experto en controlar ese proceso.
Un controlador lgico difuso est conformado bsicamente por cuatro componentes principales, los
cuales se muestran en la figura 2.8:

Fusificador Mecanismo de Defusificador Planta


inferencia

Base de
reglas
difusas

Figura 2.8 Arquitectura bsica de un controlador lgico difuso (CLD)

2.2.4.1 Fusificacin
Un fusificador tiene la funcin de transformar los valores de las variables de entrada proporcionados
de forma exacta (cuantitativa), en valores lingsticos apropiados, y que a su vez puedan ser
agrupados en conjuntos difusos. Es la primera etapa del controlador lgico difuso y en l se lleva a
cabo la asignacin de una etiqueta lingstica para un cierto valor especfico, y encontrando a su vez
los valores numricos de las funciones de membresa que previamente han sido definidos para esa
variable.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 34
Marco Terico

Una variable lingstica es una variable que tiene como valores palabras o enunciados que son
expresados en un lenguaje natural del ser humano, es decir artificial. El propsito de una variable de
este tipo, es proporcionar los medios suficientes para describir o catalogar un fenmeno o magnitud
fsica, el cual es muy difcil o existe poca informacin para poder describirlo en trminos
cuantitativos.

Los trminos anteriores se pueden representar mediante conjuntos difusos, que a su vez tiene cada
uno su funcin de membresa. Las variables lingsticas describirn cada una de las entradas y
salidas del controlador difuso; su eleccin es arbitraria, pero est ntimamente relacionada con la
variable numrica que representa. Los valores lingsticos son simplemente los valores que las
variables lingsticas pueden tomar al transcurrir el tiempo y las condiciones de operacin del
sistema o proceso. Se emplean para indicar la magnitud de un valor numrico en relacin a un valor
lingstico. Las variables y valores lingsticos son una til herramienta para que el experto plasme
o cuantifique su conocimiento de la dinmica del proceso.

Una regla lingstica plasma el conocimiento que un operador experto posee acerca del control de
algn sistema o proceso, es decir, lo que se debe hacer cuando se presenta una determinada
situacin. Las reglas lingsticas estn formadas nicamente por variables y valores lingsticos, y
se caracterizan por tener la forma condicin accin, y que expresadas en la forma de modus
ponens se escriben:
Si premisa (Antecedente) Entonces Consecuencia (Accin)

2.2.4.2 Base de reglas difusas


Son una coleccin de reglas difusas de la forma SI-ENTONCES en las cuales las condiciones y
consecuencias involucran variables lingsticas. Bsicamente la forma de las reglas de control
difusas es la que se muestra a continuacin:

R i : SI x es Ai ,..., Y y es Bi , ENTONCES z = Ci , i = 1, 2,..., n (2.61)

Siendo x,.., y variables lingsticas que representan las variables de estado del proceso y z la
variable de control. Adems Ai ,..., Bi y Ci son los valores lingsticos de las variables en el

universo del discurso U,, V y W, respectivamente. Las variables de estado normalmente utilizadas

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 35
Marco Terico

en las reglas lgicas difusas son el error, la variacin del error, etc. Las reglas deciden las acciones
de control a seguir, siendo estas salidas valores lingsticos.

En nmero posible de reglas se puede obtener mediante la expresin:

No. RP = ( No.VL ) (2.62)


No. VE

Donde:
No. RP = Nmero de reglas posibles
No. VL = Nmero de valores lingsticos
No. VE = Nmero de variables de entrada

Cuando el nmero de variables de entrada se incrementa, el nmero de reglas posibles lo hace


tambin, debido a ello, es conveniente agrupar al conjunto de reglas en una representacin tabular
que facilite la manipulacin de las mismas. En ella se listan las variables lingsticas de entrada con
sus posibles valores numricos, y las variables lingsticas de accin.

El modelo difuso de Sugeno tambin conocido como modelo difuso TSK, fue propuesto por
Takagi, Sugeno y Kang en un esfuerzo por desarrollar una aproximacin sistemtica para generar
reglas difusas a partir de un conjunto de datos de entrada-salida.
Las reglas difusas de Sugeno tienen la forma (Takagi & Sugeno, 1985):

Si x es A y y es B , ENTONCES z = f ( x , y ) (2.63)

Donde (x, y) representa el argumento de la funcin ntida z; se observa claramente que la


consecuencia o accin z est dada por una funcin o relacin. La seleccin de la funcin depende
nicamente de la aplicacin proceso que se requiera controlar, seleccionndose comnmente una
funcin de polinomios de primer orden. Debido a ello, se le conoce como modelo difuso de Sugeno
de primer orden

Ya que cada regla tiene una salida ntida, la salida total es obtenida a travs de un promedio
ponderado, lo cual evita la defusificacin y por ende se ahorra tiempo de cmputo.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 36
Marco Terico

2.2.4.3 Mecanismo de inferencia


La primera operacin efectuada por el mecanismo de inferencia, es la asignacin de valores
cuantitativos a los trminos lingsticos contenidos en las reglas correspondientes, esto es hecho va
funciones de membresa. Una vez que los valores de membresa individuales de las variables
lingsticas de las premisas han sido obtenidos, se debe definir un valor de membresa de la premisa
para esa regla. Para ello existen algunas reglas de implicacin difusa, como se muestra en la tabla
2.3:

Tabla 2.3 Reglas de implicacin difusa (Lin & Lee, 1996)

Regla de implicacin difusa Implicacin difusa: m A B (u , v)

Rc : operacin mn [Mamdani] = m A ( u ) mB ( v )

Rp : operacin producto [Larsen] = m A ( u ) mB ( v )

Rbp : producto limitado = 0 m A ( u ) + m B ( v ) - 1

Rm : regla mx-mn [Zadeh] = ( m A ( u ) mB ( v ) ) (1 - m A ( u ) )

Debido a que las variables de entrada al controlador estn cambiando continuamente, los valores de
las funciones de membresa de las premisas para cada regla contenida en la base de reglas, estn
modificndose tambin constantemente. Cuando los valores de las variables lingsticas son
definidos por distintas funciones de membresa, se presenta entonces el caso de tener ms de una
regla activada. Cuando esto sucede, el mecanismo de inferencia obtiene el valor de membresa de las
premisas de cada una de las reglas activadas en ese instante, mediante las implicaciones difusas
mostradas anteriormente.

2.2.4.4 Defusificacin
La defusificacin es la operacin de pasar del espacio de las acciones de control difusas, es decir, las
conclusiones obtenidas por el controlador, al espacio de las acciones de control no difusas, es decir,
obtener un valor numrico. Esto es necesario porque el mecanismo de inferencia proporcionar una
salida con un valor lingstico, el cual no puede ser entendido directamente por el proceso que se

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 37
Marco Terico

est controlando. Se requiere obtener una salida en trminos numricos, para lo cual existen dos
mtodos comnmente empleados de defusificacin.

Mediante el mtodo del centro de gravedad se obtienen los valores de membresa de la salida, el cual
es la mejor representacin de la conclusin obtenida por las reglas activadas. En el caso de un
universo continuo, se tiene que (Passino & Yurkovich, 1998):

b m i i
u= i (2.64)
m i
i

Donde:
u = Valor numrico de la salida de control
bi = Centro de la funcin de membresa de accin de la regla

i = rea bajo la grfica de la funcin de membresa

Sin embargo, el empleo de este mtodo requiere del clculo del rea de la grfica de la funcin de
membresa correspondiente.

Mediante el mtodo del centro de promedios se obtiene un promedio del valor de los centros de las
funciones de membresa de salida. Para el caso discreto se obtiene mediante (Passino & Yurkovich,
1998):

u=
bm
i i premisa ( i )

m i premisa ( i )
(2.65)

Siendo:
u = Valor numrico de la salida de control

bi = Centro de la funcin de membresa

m premisa(i ) = Valor de la funcin de membresa de la regla i

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 38
Marco Terico

Este mtodo es mucho ms simple de usar, ya que la forma geomtrica de la grfica de la funcin de
membresa no importa, y slo se requiere conocer el valor del centro de cada funcin de membresa.

2.3 Redes neuronales

2.3.1 Inspiracin biolgica


En el cerebro humano se encuentran alrededor de 1011 neuronas que realizan distintas funciones
segn su tipo. Principalmente estn constituidas por tres elementos, que son (Hagan et al., 1996):

a).- Cuerpo de la clula o soma


Aqu se encuentra el ncleo y se encarga fundamentalmente de acumular y activar las seales
elctricas recibidas de las fibras de los nervios.
b).- Dendritas
Son redes en forma de ramificaciones compuestas por fibras nerviosas que transportan seales
elctricas al cuerpo de la clula.
c).- Axn
Es una conexin delgada y larga que se encarga de transportar las seales o impulsos producidos por
el cuerpo de la clula y a su vez los interconecta con otras neuronas. El lugar dnde se lleva a cabo
la conexin entre un axn de una neurona y una dendrita de alguna otra neurona es conocido como
sinapsis. La figura 2.9 muestra la estructura de una neurona del cerebro humano:

Dendritas
Axn

Cuerpo de la
clula

Sinapsis

Figura 2.9 Esquema de una neurona biolgica (Hagan et al., 1996)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 39
Marco Terico

Las seales que se transmiten de una neurona a otra son impulsos elctricos, los cuales a su vez
tienen su origen en la generacin de una sustancia creada mediante procesos qumicos demasiado
complejos en el cerebro. La intensidad del impulso elctrico transmitido por un axn determinar la
magnitud del potencial elctrico de la neurona receptora, y a su vez se activar un disparo si el
potencial elctrico alcanza un valor de umbral. De esta manera se produce una seal o pulso que es
luego transportado por el axn a otras neuronas.

2.3.2 Modelo de una neurona artificial


McCulloch y Pitts propusieron en 1943 un modelo matemtico en el cual es representada la
estructura bsica de una neurona biolgica (McCulloch & Pitts, 1943). Siendo el diagrama
representativo el que se muestra en la figura 2.10:

p1
Peso
w1,1
s
p2
w1,2 y Salida
n
f
Entradas p
3 w1,3
b Funcin de
activacin
pR w1,R Bias

Figura 2.10 Modelo de McCulloch y Pitts de una neurona con mltiples entradas (McCulloch & Pitts, 1943)

El peso w corresponde a la fuerza de la sinapsis, el cuerpo de la clula es representado por la suma y


la funcin de activacin o transferencia, y finalmente la salida de la neurona representa la seal en el
axn. El bias u offset (b) es un parmetro escalar ajustable de la neurona, n se define como la
entrada de la red y es a su vez obtenida mediante el producto de la entrada por su peso
correspondiente ms el valor del bias. Finalmente y es la salida de la red neuronal.

2.3.3 Red neuronal


Una red neuronal es un tipo especial de estructura, en la cual se realiza un procesamiento
distribuido de informacin y datos, cuya caracterstica fundamental es el procesamiento en paralelo.
Los elementos o unidades que llevan a cabo el procesamiento se llaman neuronas y estn
interconectadas de tal manera que tratan de simular la arquitectura del cerebro humano.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 40
Marco Terico

Las redes neuronales se disearon para realizar las funciones que normalmente desempea el
cerebro humano de forma espontnea y natural, que bsicamente se pueden dividir en:
Habilidad para aprender
Habilidad para generalizar basndose en patrones anteriores

2.3.3.1 Estructura de una red neuronal


Bsicamente la naturaleza del problema establece las condiciones de diseo o estructura de una red
neuronal. Una red neuronal est estructurada mediante la interconexin de neuronas (unidades de
procesamiento) a travs de los enlaces de los pesos; un conjunto de neuronas que operan en paralelo
se conoce como capa y una neurona puede tener mltiples entradas. A su vez, pueden existir no
solamente una capa de neuronas sino tambin dos tres capas, y es posible que contengan diferente
nmero de neuronas.

El nmero de entradas a la red neuronal as como el nmero de salidas de la misma, est en funcin
de la naturaleza del problema. Esto significa que el nmero de variables externas a procesar
corresponder al nmero de entradas a la red neuronal, as mismo, el nmero de salidas que se
requieren obtener en el problema ser igual al nmero de neuronas en la capa de salida. As tambin,
la funcin de transferencia debe ser elegida segn los requerimientos de la seal de salida.

La capa que proporciona la salida de la red neuronal se llama capa de salida, y las capas previas a
sta se conocen como capas ocultas. Las conexiones en una red neuronal son realizadas a travs de
los pesos, los cuales se encargan de interconectar las capas que a su vez contienen a las neuronas. El
tipo de conexin de la red determina la funcin de cada neurona en esa red en particular.

2.3.3.2 Modelos de redes neuronales


Bsicamente los diferentes modelos de redes neuronales que existen pueden ser divididos en:
v Redes feedforward
v Redes competitivas
v Redes de memoria asociativa recurrente

A finales de los aos 50s, Frank Rosenblatt desarroll algunas variaciones al modelo inicial
propuesto por McCulloch y Pitts. Este modelo de red neuronal se llam perceptrn, y una de sus

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 41
Marco Terico

caractersticas principales es la introduccin de una regla de aprendizaje para el entrenamiento de


esa red. Este tipo de red es especialmente empleada en la resolucin de problemas de
reconocimiento de patrones y es tambin una red representativa del tipo feedforward. La red general
de perceptrn se muestra en la figura 2.11(Hagan et al., 1996):

p1
w1,1
p2
w1,2 n y

p3 w1,3
b

pR w1,R 1
y = hardlim ( Wp + b ) = hardlim ( n )

Figura 2.11 Red de perceptrn con una sola neurona (Hagan et al., 1996)

Como se observa en el modelo de perceptrn, la funcin de transferencia de lmite forzado es


empleada para as obtener un cero un uno. Siendo la funcin de transferencia de lmite forzado
definida como:

1 S n 0
y = hardlim ( n ) = (2.66)
0 S n < 0

La red de Hamming est compuesta por dos capas; la primera capa desarrolla una correlacin entre
el vector de entrada y los vectores prototipo, mientras que la segunda capa lleva a cabo una
competicin entre neuronas, para de esta manera determinar cul de los vectores prototipo est ms
cerca al vector de entrada. La figura 2.12 muestra la estructura de una red de Hamming (Hagan et
al., 1996):

Capa Feedforward Capa Recurrente

p n 2 ( t + 1) y 2 ( t + 1) y 2 (t )
W1 n1
y 1
Rx1
SxR W1 D
Sx1 Sx1 Sx1
Sx1 Sx1
b1 S SxS
1 S
Sx1
R

( W1p + b1de) un sistema


y1 = purelinDesarrollo y 2 ( neuro-difuso
0 ) = y1 ypara
2
= poslin ( W 2 y 2 ( t ) )
( t +la1)solucin
a la cinemtica inversa de manipuladores robticos 42
Marco Terico

Figura 2.12 Red de Hamming (Hagan et al., 1996)

Las salidas de la capa uno son los productos de los vectores prototipo y las entradas, ms el vector
R; la funcin de transferencia empleada es una de tipo lineal. Estos productos indican qu tan
cercano est cada vector prototipo al vector de entrada correspondiente. La segunda capa es llamada
competitiva, y sus neuronas son inicializadas con las salidas de la primera capa; despus estas
neuronas entran en competencia, ya que cada una de ellas se excita a s misma e inhibe a las otras.
La neurona ganadora ser aqulla que al final de la competicin tenga una salida diferente de cero,
lo cual indica a su vez, el tipo de categora de entrada que fue presentada a la red.

2.3.4 Funciones de transferencia


Una funcin de activacin transferencia se encarga de producir un valor que active una salida,
siendo el argumento de la funcin el valor de entrada de la red. La eleccin de una funcin de
transferencia se basa en las especificaciones del problema que se este tratando de resolver. Algunas
de las funciones de transferencia ms empleadas se muestran en la tabla 2.4:

Tabla 2.4 Funciones de transferencia ms empleadas (Hagan et al., 1996)


Nombre de la funcin Relacin entre la entrada y Smbolo
la salida

Lmite forzado a=0 n<0


a =1 n0

Lmite forzado simtrico a = -1 n<0


a = +1 n0

Lineal a=n

a=0 n<0
Lineal saturado a=n 0 n 1
a =1 n >1

Log-Sigmoid a=
1
1 + e- n

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 43
Marco Terico

2.3.5 Entrenamiento
Un algoritmo de entrenamiento es un procedimiento para modificar los pesos y bias de una red
neuronal, mediante una regla de aprendizaje en particular. Esto con la finalidad de que la red
desempee alguna tarea o funcin en especfico. Existen bsicamente dos tipos de aprendizaje, el
aprendizaje supervisado y el aprendizaje no supervisado.

2.3.5.1 Aprendizaje supervisado


La regla de aprendizaje de perceptrn es un entrenamiento supervisado, a la cul se le proporcionan
un conjunto de datos que ejemplifican el comportamiento deseado de la red neuronal. Para ello es
necesario que se presenten a la red:

{ p1 , t1} , { p2 , t2 } ,...., { pq , tq } (2.67)

Donde:
pq = Entrada q a la red
tq = Salida q deseada correspondiente

Primero se obtiene el error producido entre la salida de la red neuronal y, y la salida deseada t:

e = tq - y (2.68)

Entonces, la regla de aprendizaje de perceptron ajusta los pesos y bias de la red con la finalidad de
reducir el error entre ambas salidas. A partir del clculo del error se pueden establecer tres diferentes
casos para llevar a cabo la variacin de los pesos, esto es:

S e = 0, entonces el cambio Dw es cero


S e = 1, entonces el cambio Dw es p
S e = -1, entonces el cambio Dw es p

De acuerdo con esto, se puede expresar la variacin de pesos como:

D w = ( t - y ) p = ep (2.69)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 44
Marco Terico

Y para el ajuste del bias se tiene que:

D b = ( t - y )(1) = e
(2.70)
Finalmente se puede establecer la Regla de Aprendizaje de Perceptrn como:

W actual = W anterior + ep
(2.71)
b actual = b anterior + e

2.3.5.2 Aprendizaje no supervisado


En el entrenamiento no supervisado, los pesos y bias son modificados nicamente en relacin a las
entradas de la red neuronal, esto significa que no se dispone de salidas objetivo o deseadas. Este tipo
de entrenamiento es empleado en algoritmos que aprenden a categorizar los patrones de entrada en
un nmero finito de clases.

En 1949 Donald O. Hebb emiti en su trabajo de investigacin The Organization of Behavior, el


siguiente postulado (Hebb, 1949):

Cuando un axn de una clula A est lo suficientemente cerca para excitar a una clula B, y
repetida persistentemente interviene en activarla, algn proceso de crecimiento cambio
metablico tiene lugar en una ambas clulas, tal que la eficiencia de la clula A, como una de las
clulas que activan a B, se incrementa

La regla no supervisada de Hebb solamente incrementa el peso entre la entrada a una neurona y la
salida, en proporcin directa a su producto:

wij = wij ( q - 1) + yi ( q ) p j ( q ) (2.72)

Donde:
wij = Peso entre la entrada y la salida de una neurona

pj = Entrada de la neurona

yi = Salida de la neurona
= Factor de aprendizaje, que indica cuntas veces un estmulo y respuesta deben ocurrir antes
de que sea hecha una asociacin

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 45
Marco Terico

El aprendizaje se obtiene en respuesta a una serie de entradas presentadas una a la vez, es decir, un
entrenamiento secuencial:
p (1) , p ( 2 ) ,....., p ( Q )

En cada iteracin, la salida y es obtenida en respuesta a la entrada p, y posteriormente los pesos W


son actualizados con la regla de Hebb.

2.4 Sumario

Es importante conocer los conceptos y fundamentos tericos bsicos en los cuales se apoya la
robtica, desde el punto de vista de la mecnica de su movimiento, para poder generar su trayectoria
dinmica de movimiento con la finalidad de que el manipulador ejecute una accin en especfico.
Con esto en mente, es necesario entonces analizar su cinemtica de posicin, velocidad y
aceleracin, as como los efectos dinmicos que intervienen en tal movimiento. Despus, a partir de
las especificaciones de la tarea a realizar, se debe generar una trayectoria de movimiento dinmico,
para finalmente establecer una estrategia de control que sea ad hoc a la situacin.

En esta seccin se discuten adems los principales postulados tericos de la lgica difusa, en la cual
se trata continuamente con incertidumbres e inexactitudes en la informacin procesada;
demostrando as la alta capacidad de la lgica difusa para computar con palabras en vez de nmeros.
Por ltimo se mencionan algunos de los conceptos de la teora de redes neuronales artificiales,
incluyendo, entre otros, las diferentes arquitecturas y topologas y los tipos de entrenamientos
supervisados y no supervisados.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 46
RED NEURO-DIFUSA

En esta seccin se define y explica la


arquitectura de una red neuro-difusa
(ANFIS), as como el mtodo de
aprendizaje hbrido empleado.
Finalmente se aplica el ANFIS para
llevar a cabo la identificacin de dos
funciones no lineales, demostrando as su
gran capacidad de modelacin.

47
Red Neuro-Difusa

3. Redes neuro-difusas
3.1 Definicin de computacin flexible (soft-computing)

El trmino de computacin flexible fue propuesto por Lotfi A. Zadeh en 1992 y es una prctica
alternativa para resolver problemas computacional y matemticamente complejos. Se puede definir
segn (Zadeh, 1994) as:

La computacin flexible (soft-computing) es una aproximacin innovadora para construir sistemas


computacionalmente inteligentes, que posean la remarcada habilidad de la mente humana para
razonar y aprender en un ambiente de incertidumbre e imprecisin

El soft-computing se constituye de varias teoras computacionales, tales como las redes neuronales,
la teora de conjuntos difusos, el razonamiento aproximado y mtodos de optimizacin como los
algoritmos genticos y los algoritmos evolutivos. La tabla 3.1 resume las principales caractersticas
de las tcnicas que en su conjunto constituyen el soft computing:

Tabla 3.1 Tcnicas que constituyen a la computacin flexible

Tcnica computacional Caracterstica

Redes neuronales Aprendizaje y adaptacin

Teora de conjuntos difusos Representacin del


conocimiento a travs de
reglas difusas if-then

Algoritmos genticos Bsqueda aleatoria sistemtica y


optimizacin

3.2 Sistema de inferencia difuso basado en una red adaptiva (ANFIS)

Los sistemas de inferencia difusa pueden modelar los aspectos cualitativos del conocimiento
humano y los procesos de razonamiento, sin la necesidad de realizar anlisis cuantitativos precisos.
Sin embargo, se presentan en el modelado difuso bsicamente dos problemas:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 48
Red Neuro-Difusa

1) No existen mtodos normalizados para transformar el conocimiento experiencia humana en


una base de reglas propia de todo sistema de inferencia difusa.

2) Existe una necesidad de encontrar mtodos efectivos para el ajuste de las funciones de
membresa, con el objetivo de minimizar la medida del error de salida de maximizar el
ndice de desempeo.

En 1993, Roger Jang propuso una novedosa arquitectura llamada Sistema de Inferencia Difusa
basada en una Red Adaptiva (ANFIS), la cual puede servir como plataforma para construir un
conjunto de reglas difusas si-entonces (if-then) con funciones apropiadas de membresa, con la
finalidad de generar un mapeo (correspondencia) entre pares de datos estipulados de entrada-salida y
del mismo conjunto de reglas difusas generado. La arquitectura se fundamenta en la insercin de un
sistema de inferencia difusa dentro de la estructura de redes adaptivas (Roger Jang, 1993).

Otra acepcin de ANFIS es la mencionada en (MATLAB, 2004), en donde se define como una
tcnica para ajustar automticamente sistemas de inferencia de tipo Sugeno, con datos de
entrenamiento. El objetivo de ANFIS es el de integrar las mejores caractersticas de los sistemas
difusos y las redes neuronales. Algunas de las aplicaciones de ANFIS son para la sntesis de:

Controladores (ajuste de parmetros de controladores difusos)


Modelos (para explicar datos anteriores y predecir comportamientos en el futuro)

3.2.1 Caractersticas de ANFIS


Algunos de los detalles que se toman en consideracin al trabajar con ANFIS son los conceptos que
se mencionan a continuacin:

El espacio de las entradas es un trmino utilizado para definir el rango de todos los posibles
valores de esas entradas. Un sistema de inferencia difusa es el nombre que se le da a un
sistema que emplea un razonamiento difuso para relacionar (mapear) espacios de entrada a
espacios de salida.

Los datos de revisin (checking data) son empleados para probar la capacidad de
generalizacin del sistema de inferencia difuso en cada poca. Estos datos tienen el mismo

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 49
Red Neuro-Difusa

formato que los datos de entrenamiento, y sus elementos son comnmente distintos de
aqullos de los de entrenamiento (MATLAB, 2004).
Una poca representa una completa presentacin de todos los datos del conjunto de
entrenamiento al sistema de inferencia difusa. Se presentan las entradas y luego se calculan
las salidas del sistema de inferencia difusa, posteriormente se comparan con las salidas
deseadas y se calcula el error entre ambas. Despus se ajustan los parmetros de las
funciones de membresa para reducir el error entre ambas salidas (Fuzzy Logic, 2004).

La fusificacin es la etapa del razonamiento difuso en la cual se generan valores de


membresa para una variable de entrada en particular, realizado todo esto mediante funciones
de membresa apropiadas.

En el ANFIS propuesto en este trabajo de investigacin se emplea el operador T-norm; el cual


relaciona el valor de membresa de dos ms entradas mediante el producto algebraico de sus
respectivos valores. La salida de esta operacin representa la fuerza de disparo de esa regla en
particular, siendo definida tal fuerza como el grado en que se satisface la parte antecedente de una
regla difusa.

3.2.2 Arquitectura ANFIS


ANFIS es una red adaptiva que es equivalente a un sistema de inferencia difusa de tipo Takagi-
Sugeno. La figura 3.1 muestra esta equivalencia.

La arquitectura ANFIS toma en consideracin que:

1) Se tienen dos entradas: x, y


2) Se tiene una salida: z
3) La base de reglas contiene dos reglas difusas del tipo de Takagi-Sugeno, esto es:

Regla 1: S x es A1 y y es B1, entonces f1 = p1 x + q1 y + r1


(3.1)
Regla 2: S x es A2 y y es B2, entonces f 2 = p 2 x + q 2 y + r2

4) Se presenta un razonamiento difuso de tipo 3

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 50
Red Neuro-Difusa

f1 = p1 x + q1 y + r1

w1 f1 + w2 f 2
f =
w1 + w2
= w1 f1 + w2 f 2

f 2 = p 2 x + q 2 y + r2

(a)

Capa Capa Capa Capa Capa

x y
A1 w1 w1
x P N w1 f1

A2
S f

B1
y P N w2 f 2
w2 w2
B2
x y

(b)
Figura 3.1 (a) Modelo difuso de primer orden de tipo Sugeno de dos entradas con dos reglas. (b) Arquitectura ANFIS
equivalente (Roger Jang, 1993)

Capa 1:
Todo nodo i en esta capa es un nodo cuadrado con la funcin,

Oi1 = A1 ( x) (3.2)

Siendo:
x = Entrada al nodo i
Ai = Etiqueta lingstica asociada a la funcin de este nodo

O i1 = Funcin de membresa de A1

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 51
Red Neuro-Difusa

Donde la funcin A ( x) es normalmente Gaussiana, definida como:


1

1
A1 ( x) = bi
x - c 2 (3.3)
1 + i

i
a

Donde los valores ai , bi , ci son conocidos como parmetros premisa, y estn cambiando de manera
continua y en consecuencia la forma de la funcin de campana.

Capa 2:
Todo nodo en esta capa es un nodo circular etiquetado con , el cual multiplica las seales de
entrada y da salida al producto. Esto es,

wi = Ai ( x) Bi ( y ), i = 1, 2,..
(3.4)
Cada nodo representa la fuerza de disparo de una regla, y distintos operadores de norma-T pueden
ser empleados.

Capa 3:
Cada nodo en esta capa es un nodo circular etiquetado con N. Cada nodo calcula la relacin entre la
fuerza de disparo de las regla i y la suma de todas ellas. Esto se expresa como:

wi
wi = , i = 1, 2,..
w1 + w2 (3.5)

Las salidas de esta capa son llamadas fuerza de disparo normalizadas.

Capa 4:
Cada nodo de esta capa es un nodo cuadrado con la funcin:

Oi4 = wi f i = wi ( pi x + qi y + ri ) (3.6)

Los valores pi , q i , ri se llaman parmetros consecuentes.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 52
Red Neuro-Difusa

Capa 5:
El nodo de esta capa es un nodo circular etiquetado con , que calcula la salida total como la suma
de todas las seales de entrada.

O15 = wi f i =
wfi i i
(3.7)
i w i i

La salida final para la arquitectura ANFIS ser entonces:

w1 w2
f = f1 + f2
w1 + w2 w1 + w2
= w1 f1 + w2 f 2
= w1 ( p1 x + q1 y + r1 ) + w2 ( p2 x + q2 y + r2 )
(3.8)

( ) ( ) ( ) ( )
= w1 x p1 + w1 y q1 + w1 r1 + w2 x p2 + w2 y q2 + w2 r2 ( ) ( )

3.2.3 Algoritmo de aprendizaje empleado


El algoritmo de aprendizaje que emplea la arquitectura ANFIS es un algoritmo hbrido que combina
el mtodo de gradiente descendiente y el mtodo de mnimos cuadrados. Especficamente, en el
primer paso, las salidas de los nodos van hacia adelante (forward pass) hasta la capa 4 y los
parmetros consecuentes son identificados por medio del mtodo de mnimos cuadrados. Luego, las
seales de error se propagan hacia atrs (backward pass) y los parmetros premisa son ajustados
mediante el mtodo del gradiente descendiente. La tabla 3.2 resume las acciones que se llevan a
cabo en cada paso:

Tabla 3.2 Procedimiento de aprendizaje hbrido de ANFIS en dos pasos (Roger Jang, 1993)

Paso hacia delante Paso hacia atrs


(Forward) (Backward)

Parmetros premisa Fijo Gradiente descendiente

Parmetros consecuentes Mnimos cuadrados Fijo

Seales Salidas de los nodos Rangos de errores

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 53
Red Neuro-Difusa

Debido a la capacidad adaptiva de ANFIS, sus aplicaciones al control adaptivo y aprendizaje de


control son evidentes. Adems puede reemplazar con facilidad casi a cualquier red neuronal
artificial en sistemas de control.

3.2.4 Ajuste de parmetros antecedentes y consecuentes

3.2.4.1 Parmetros antecedentes premisa (parmetros de las funciones de membresa)


El ajuste u optimizacin de los parmetros antecedentes es una parte importante del algoritmo
hbrido de aprendizaje entrenamiento del sistema neuro-difuso. Ello involucra obtener, mediante el
mtodo del gradiente descendiente, los valores ptimos de los parmetros de las funciones de
membresa. La finalidad de todo esto es que los parmetros consecuentes se ajusten para poder hacer
que el sistema realice el mapeo aproximacin de una funcin de la manera ms precisa posible.
Para el presente trabajo de investigacin se emple la funcin de membresa de tipo campana
generalizada, debido a que presenta una transicin suave entre los distintos rangos de valores de las
entradas (etiquetas lingsticas). Una de las condiciones para seleccionar alguna funcin de
membresa en particular es que sea continua y diferenciable. La figura 3.2 muestra el significado
fsico de los parmetros de la funcin de membresa de tipo campana generalizada, los cuales al ser
modificados afectan la forma de la funcin. La ecuacin 3.9 representa la campana generalizada.

1
A ( x) =
x-c
2b
(3.9)
1+
a

Donde:
A ( x ) = Valor de membresa al conjunto difuso A de la variable de entrada x

x = Variable de entrada
c, a = Parmetros que controlan el centro y ancho de la campana respectivamente
b = Parmetro que controla la pendiente de la campana

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 54
Red Neuro-Difusa

Significado fsico de los parmetros a,b,c de la funcin de membresa


de tipo campana generalizada
1

0.9

0.8
Pendiente
-b / 2a
0.7
Valor de membresa

0.6

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10
c-a c+a
c
2a

Figura 3.2 Significado fsico de los parmetros de la funcin de membresa de tipo campana generalizada

Las figuras 3.3, 3.4 y 3.5 presentan la manera en que al variar los parmetros de la funcin lo hace
inmediatamente la forma de la campana generalizada, y por lo tanto el valor de la etiqueta
lingstica que representa a esa funcin de membresa en particular cambia tambin.

Cambio del parmetro ' a '


1
Etiqueta lingstica 1
Etiqueta lingstica 1
0.9 Etiqueta lingstica 1

0.8

0.7

0.6
Valor de membresa

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10
Universo de valores posibles de x

Figura 3.3 Significado de la variacin del parmetro a

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 55
Red Neuro-Difusa

Cambio del parmetro ' b '


1
Etiqueta lingstica 1
Etiqueta lingstica 1
0.9 Etiqueta lingstica 1

0.8

0.7

0.6
Valor de membresa

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10
Universo de valores posibles de x

Figura 3.4 Significado de la variacin del parmetro b

Cambio del parmetro ' c '


1
Etiqueta lingstica 1
Etiqueta lingstica 1
0.9 Etiqueta lingstica 1

0.8

0.7

0.6
Valor de membresa

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7 8 9 10
Universo de valores posible de x

Figura 3.5 Significado de la variacin del parmetro c

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 56
Red Neuro-Difusa

3.2.4.2 Parmetros consecuentes (parmetros de las reglas difusas de tipo Takagi-Sugeno)


El vector de los parmetros consecuentes es calculado mediante la aplicacin de un filtro de Kalman
de estado estable. Este algoritmo permite calcular los parmetros de una ecuacin algebraica lineal
que proporciona los mnimos cuadrados de los errores (Takagi & Sugeno, 1985).

Como se mencion en el captulo 2, las reglas difusas implicaciones a utilizar son del tipo
propuesto por (Takagi & Sugeno, 1985), expresndose las reglas de la siguiente manera:
R i : S x1 es A1 y . y x k es A k

Entonces: y = p 0 + p 1 x 1 +.+ p k x k (3.10)

Siendo:
x1 - xk = Variables de entrada
y = Variable de salida
A1 Ak = Conjuntos difusos con funciones de membresa asignados
p 0 ..... p k = Parmetros consecuentes a ser estimados

3.3 Identificacin de parmetros

Se puede decir que el problema de identificacin de un sistema consiste en realizar repetidamente


una identificacin de la estructura y los parmetros de ese sistema, hasta que se obtenga un modelo
satisfactorio. Esto se puede resumir en los siguientes pasos (Roger Jang et al., 1997):

1) Especificar y parametrizar un modelo matemtico que represente el sistema a ser


identificado.
2) Efectuar la identificacin de parmetros para as seleccionar los parmetros que mejor
ajusten el conjunto de datos de entrenamiento.
3) Realizar pruebas de validacin para verificar si el modelo identificado responde
correctamente ante un conjunto de datos imprevistos. Este conjunto de datos es distinto al de
entrenamiento y se refiere como conjunto de datos de prueba, validacin revisin.

3.3.1 Estimador de cuadrados mnimos


Los mtodos de cuadrados mnimos proporcionan herramientas matemticas mediante las cuales un
modelo lineal puede lograr un mejor ajuste de datos experimentales en el sentido del error mnimo

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 57
Red Neuro-Difusa

cuadrado (Roger Jang et al., 1997). En el problema de cuadrados mnimos, la salida de un modelo
lineal y est dada por la expresin parametrizada linealmente (Roger Jang et al., 1997):

y = 1 f1 (u ) + 2 f 2 (u ) + ... + n f n (u ) (3.11)

Donde:
T
u = u1 ,....u p = Vector de entradas del modelo

f1 ,...., f n = Funciones conocidas de u

1 ,..., n = Parmetros desconocidos que sern estimados

Ahora bien, para identificar los parmetros desconocidos i normalmente se llevan a cabo
experimentos para obtener un conjunto de datos de entrenamiento compuestos de pares de datos de
entrada y salida. Estos pares de datos se conocen como entradas y salidas deseadas del sistema a ser
modelado y se expresan como respectivamente.
Si se sustituye cada par de datos de entrada-salida en la ecuacin 3.12, se obtiene el siguiente
sistema de m ecuaciones lineales (Roger Jang et al., 1997):

f1 (u1 )1 + f 2 (u1 )2 + ... + f n (u1 )n = y1 ,


f1 (u2 )1 + f 2 (u2 )2 + ... + f n (u2 )n = y2 ,
(3.12)
M M M
f1 (um )1 + f 2 (um )2 + ... + f n (um )n = ym .

Empleando notacin matricial se puede reescribir la ecuacin anterior como:

A = y (3.13)

Representando A una matriz m x n conocida comnmente como matriz de diseo, conteniendo los
elementos:
f1 (u1 ) L f n (u1 )

A= M M M (3.14)
f1 (um ) L f n (um )

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 58
Red Neuro-Difusa

es un vector n x 1 de parmetros desconocidos:


= M
(3.15)
n

Finalmente y es un vector m x 1 de salida:


y1
y = M
(3.16)
ym

La i-sima fila de la matriz de datos [ AM y ] , denotada como aiT M yi , es relacionada con el i-simo

par de datos de entrada-salida [ui ; yi ] a travs de (Roger Jang et al., 1997):

aiT = f1 ( ui ) ,..., fn ( ui )
(3.17)
As, se puede referir como aiT ; yi al i-simo par de datos del conjunto de datos de entrenamiento.

Para poder identificar el vector de parmetros , se debe de cumplir la condicin que m n . Si la


matriz de diseo A es cuadrada ( m = n ) y no es singular, se puede entonces resolver para , a partir
de la ecuacin 3.13 como (Roger Jang et al., 1997):
-1
=A y
(3.18)
Sin embargo, comnmente m es ms grande que n, lo cual indica que se tienen ms pares de datos
que parmetros de ajuste. En este caso, no se puede obtener una solucin exacta que satisfaga a las
m ecuaciones; es por ello que se incluye un error de modelado vector de error e, resultando (Roger
Jang et al., 1997):
A +e= y (3.19)
Entonces ahora se busca una solucin ( = ) que minimice la suma del cuadrado del error definido
por (Roger Jang et al., 1997):
2

E ( ) = ( yi - aiT ) = eT e = ( y - A )
m
( y - A )
T
(3.20)
i =1

El cuadrado del error es minimizado cuando = , y es por eso que se le conoce como estimador de
cuadrados mnimos, y satisface la siguiente expresin conocida como ecuacin normal (Roger Jang
et al., 1997):
A T A = A T y (3.21)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 59
Red Neuro-Difusa

Luego, si el producto AT A no es singular, entonces el estimador est dado por:

= ( A T A ) A T y
-1
(3.22)

3.3.2 Estimador de cuadrados mnimos recursivos


El estimador de cuadrados mnimos puede ser reescrito como:

k = ( A T A ) A T y
-1
(3.23)

El subndice k indica el nmero de pares de datos usados para el estimador . El estimador de


cuadrados mnimos recursivo toma ventaja del vector de parmetros k ya disponible para obtener
(actualizar) el vector k +1 , mediante el empleo del nuevo par de datos disponible a T ; y , sin

necesidad de recalcular el vector k nuevamente (Roger Jang et al., 1997).


Entonces el estimador recursivo k +1 se puede expresar como (Roger Jang et al., 1997):

-1
A T A A y
T

k +1 = T aT aT y
(3.24)
a

Para simplificar la notacin, se pueden introducir dos matrices n x n, Pk y Pk +1 definindose como


(Roger Jang et al., 1997):

Pk = ( A T A )
-1

-1
A T A
Pk +1 = T aT
a
(3.25)
-1
A
= AT a T
a
= ( AT A + aaT )
-1

Y ambas matrices se pueden relacionar as (Roger Jang et al., 1997):

Pk-1 = Pk-1+1 - aa T (3.26)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 60
Red Neuro-Difusa

Ahora, empleando Pk y Pk +1 se obtiene (Roger Jang et al., 1997):

k = Pk A T y (3.27.1)
k +1 = Pk +1 ( A T y + ay ) (3.27.2)

Enseguida se expresa k +1 en trminos de k , para ello se efecta:


A T y = Pk -1 k (3.28)
Insertando esta ecuacin en la expresin 3.27.1 y aplicando la ecuacin 3.26, se obtiene (Roger Jang
et al., 1997):
k +1 = Pk +1 ( Pk-1k + ay )

= Pk +1 ( Pk-1+1 - aaT ) k + ay (3.29)


= k + Pk +1a ( y - aT k )

Por lo tanto, el vector k +1 puede ser expresado como una funcin del vector estimado anterior k y
los nuevos pares de datos a T ; y (Roger Jang et al., 1997).

Ahora bien, para calcular Pk +1 , se recurre nuevamente a la ecuacin 3.26:

Pk +1 = ( Pk-1 + aaT )
-1
(3.30)

Y aplicando la frmula de la inversin de una matriz se obtiene (Roger Jang et al., 1997):

Pk +1 = Pk - Pk a ( I + aT Pk a ) aT Pk
-1

P aaT P (3.31)
= Pk - k T k
1 + a Pk a

Entonces se puede concluir que el estimador de cuadrados mnimos recursivos para el problema
A = y, donde la k-sima fila (1 k m ) de [ AM y ] , denotada por akT M yk , es secuencialmente

obtenido y puede calcularse como (Roger Jang et al., 1997):

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 61
Red Neuro-Difusa

Pk ak +1akT+1Pk
Pk +1 = Pk -
1 + akT+1Pk ak +1 (Estimador de cuadrados mnimos) (3.32)
k +1 = k + Pk +1ak +1 ( yk +1 - a
T
k +1 k )

Para inicializar el algoritmo recursivo normalmente se hace mediante las siguientes expresiones para
(Roger Jang et al., 1997):
P0 = I (3.33.1)

0 = 0 (3.33.2)
Donde:
= Cualquier nmero positivo grande
I = Matriz identidad

3.4 Aplicacin de ANFIS

Con la finalidad de demostrar la elevada potencia que posee el ANFIS para modelar y/o identificar
funciones altamente no lineales, se presentan a continuacin dos ejemplos en los cuales se modelan
funciones que por sus caractersticas resultan altamente no lineales.

3.4.1 Modelado de una funcin no lineal de dos entradas


La funcin siguiente es altamente no lineal y est definida por la frmula siguiente (Roger Jang,
1993):
s en( x) sen( y )
z = f ( x, y ) = (3.34)
x y

El espacio de las entradas para x, y est definido por el rango [-10,10] [-10,10] respectivamente.
Empleando la ecuacin 3.34 se obtienen los datos de entrenamiento de entradas-salida que sern
presentados al sistema neuro-difuso (ANFIS) para poder as realizar el mapeo correspondiente
(relacin entre entradas y salida). Se emplearon tres funciones de membresa del tipo campana
generalizada por cada entrada.

Las funciones de membresa para la red neuro-difusa son mostradas en la figura 3.6:
Desarrollo de un sistema neuro-difuso para la solucin
a la cinemtica inversa de manipuladores robticos 62
Red Neuro-Difusa

Funciones de membresa para la variable x


1

Grado de membresa
0.8

0.6

0.4

0.2

0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Pequeo Medio Alto
Espacio de x
Funciones de membresa para la variable y
1
Grado de membresa

0.8

0.6

0.4

0.2

0
-10 -8 -6 -4 -2 0 2 4 6 8 10
Pequeo Medio Alto
Espacio de y

Figura 3.6 Funciones de membresa de tipo campana generalizada asignadas a las variables de entrada x, y

Los parmetros antecedentes, es decir, los parmetros de las funciones de membresa de tipo
campana generalizada son determinados a base de prueba y error, hasta que se logran obtener las
formas deseadas para poder as efectuar la fusificacin de las variables de entrada. Se emple
adems, el mdulo de lgica difusa (fuzzy logic toolbox) del programa MATLAB R2007b para
corroborar los valores de los parmetros de las funciones de membresa. Especficamente, se utiliz
la funcin anfisedit para validar los valores de tales parmetros. Para este caso, los valores de los
parmetros antecedentes son los mostrados en la tabla 3.3:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 63
Red Neuro-Difusa

Tabla 3.3 Parmetros de las funciones de membresa de tipo campana generalizada (Antecedentes)

Etiqueta lingstica de las variables Parmetros: a b c


de entrada x, y
pequeo ( x ) 5.025 2.037 -9.975
medio ( x ) 4.994 1.935 0
alto ( x ) 5.025 2.037 9.975
pequeo ( y ) 5.022 1.898 -9.999
medio ( y ) 4.954 2.006 0
alto ( y ) 5.021 1.898 9.999

El nmero de reglas que constituyen al ANFIS se determina mediante la siguiente expresin:

#E (3.35)
#FM = #R
Donde:
#FM = Nmero de funciones de membresa
#E = Nmero de entradas
#R = Nmero de reglas

Por lo tanto, el nmero de reglas difusas para este caso ser de nueve; la figura 3.7 presenta un
diagrama del modelo neuro-difuso propuesto para aproximar sta funcin no lineal.

Figura 3.7 Estructura del modelo neuro-difuso propuesto para aproximar la funcin no lineal

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 64
Red Neuro-Difusa

La figura 3.8 muestra cmo el ANFIS logra aproximar la funcin de manera muy precisa.
Aproximacin de una funcin no lineal empleando ANFIS
1.2
ANFIS
Funcin no lineal

0.8

0.6
Salida

0.4

0.2

-0.2
0 20 40 60 80 100 120 140
No. de pares de entrenamiento

Figura 3.8 Aproximacin de una funcin no lineal mediante el empleo de ANFIS

Una vez que se ha efectuado la presentacin de los datos de entrenamiento a la red neuro-difusa, es
decir, el aprendizaje de la red, se obtienen las siguientes reglas difusas de tipo Takagi-Sugeno para
sta funcin en particular:

Tabla 3.4 Reglas difusas de tipo Takagi-Sugeno para la red neuro-difusa propuesta

Antecedente Consecuente

pequeo pequeo f1= -5.8963x - 5.8963y - 217.89


pequeo medio f2= 94.212x + 94.371y - 1617.5
Si x es pequeo y y es alto entonces f3= -1031.1x - 1031.1y + 8155.5
medio pequeo f4= -78.85x - 78.892y + 1475.7
medio medio f5= 0.11978x + 0.084257y + 73.81
medio alto f6= 69.324x + 69.326y + 1409.2
alto pequeo f7= 1036.2x + 1036.3y + 7475.8
alto medio f8= -87.294x - 87.273y - 1530.3
alto alto f9= 5.5027x + 5.5019y - 206.29

Los 27 valores de los parmetros consecuentes estimados durante la etapa de aprendizaje, son
entonces guardados y empleados como valores fijos de las reglas difusas. El sistema neuro-difuso
ser entonces capaz de aproximar valores que inicialmente no estaban incluidos en los datos de
entrenamiento generados por la funcin no lineal; es aqu donde se demuestra la gran potencia y
capacidad del ANFIS para poder efectuar una generalizacin.
Desarrollo de un sistema neuro-difuso para la solucin
a la cinemtica inversa de manipuladores robticos 65
Red Neuro-Difusa

3.4.2 Modelado de una funcin no lineal de tres entradas


La funcin no lineal a aproximar es la siguiente (Roger Jang, 1993):
w = f ( x , y , z ) = (1 + x 0.5 + y -1 + z -1.5 ) 2 (3.36)
El rango para las tres entradas est definido en el intervalo [1,6] [1,6] [1,6] respectivamente.
Nuevamente se emplea la expresin matemtica que define a esta funcin para poder as obtener los
datos de entrenamiento, generando de esta manera 167 pares de entrenamiento. El ANFIS empleado
para aproximar la funcin en cuestin est constituido por tres funciones de membresa de tipo
campana generalizada, asignadas a cada una de las tres entradas. El nmero total de reglas es de 27.

La figura 3.9 esquematiza el modelo neuro-difuso para sta funcin en particular.

Figura 3.9 Estructura del sistema neuro-difuso propuesto para aproximar la funcin no lineal

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 66
Red Neuro-Difusa

La figura 3.10 muestra la salida de la funcin comparada con la salida del sistema neuro-difuso
propuesto. Se observa que a partir de los datos de entrenamiento nmero 120 en adelante se presenta
una pequea variacin entre ambas salidas, sin embargo en general ANFIS logra aproximar la
funcin de forma adecuada.

Aproximacin de una funcin no lineal empleando ANFIS


16
ANFIS
Funcin no lineal

15

14
Salida de la funcin

13

12

11

10
0 20 40 60 80 100 120 140 160 180
No. de pares de datos de entrenamiento

Figura 3.10 Aproximacin de una funcin no lineal mediante el empleo de ANFIS

3.4.2.1 Porcentaje promedio de error


Para poder cuantificar el desempeo del sistema neuro-difuso se obtendr un porcentaje promedio
de error, el cual se calcula de la siguiente manera (Sugeno & Kang, 1988), (Kondo, 1986):

1 P T (i) - O(i)
PEP =
P
i =1 T (i)
100 (3.37)

Siendo:
PEP = Porcentaje promedio de error
P = Nmero de pares de entrenamiento
T( i ) = Salida deseada
O( i ) = Salida calculada

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 67
Red Neuro-Difusa

Aplicando la expresin anterior se obtiene el porcentaje promedio de error que resulta ser para este
caso de 0.43134%.

Cabe mencionar que durante las simulaciones del sistema neuro-difuso se pudo notar que el nmero
seleccionado de funciones de membresa a utilizar es un factor crtico en el desempeo del ANFIS;
de igual manera lo es el factor alfa ( ), el cual se emplea para inicializar la matriz P en el estimador
por mnimos cuadrados lineales recursivos. Se concluye que la eleccin ptima del nmero de
funciones de membresa y el valor de se obtiene a base de iteraciones (prueba y error).
Con las demostraciones efectuadas de la aplicacin del ANFIS para aproximar funciones altamente
no lineales, se puede ya comprender la intencin de llevar a cabo su aplicacin en la solucin a la
cinemtica inversa de un manipulador, el cual representa un problema con ecuaciones no lineales.

3.5 Sumario

En esta seccin se presentaron las caractersticas que distinguen a una red neuro-difusa, las cuales la
hacen ser una herramienta poderosa para la identificacin y estimacin de sistemas que dada su
naturaleza resultan ser altamente no lineales. Para ello, se emplearon dos funciones no lineales que
fueron identificadas por ANFIS, a travs de la presentacin a la red de datos de entrada-salida que
describen el comportamiento caracterstico de las funciones; posteriormente con el empleo de estos
datos se llevo a cabo el entrenamiento aprendizaje de la red, demostrando finalmente que las redes
neuro-difusas son capaces de identificar y aproximar de manera precisa una funcin sistema no
lineal.

El aprendizaje hbrido que utiliza una red neuro-difusa es lo que le proporciona su elevada
capacidad de identificacin; en este caso, se mantuvieron fijos los parmetros antecedentes a lo
largo de la etapa de entrenamiento, y se empleo el estimador de mnimos cuadrados lineales
recursivos filtro de Kalman para el ajuste de los parmetros consecuentes. Se combinan de sta
manera las ventajas de la lgica difusa y las redes neuronales, para obtener as un sistema hbrido
que ser despus aplicado a la solucin de un problema no lineal, como lo es el caso del problema
cinemtico inverso de manipuladores robticos.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 68
CASO DE ESTUDIO

Esta seccin presenta la aplicacin


del ANFIS a la solucin del
problema cinemtico inverso de
manipuladores robticos. A partir de
sta solucin, se desarrolla una
metodologa para la generacin de
trayectorias dinmicas de
movimiento y control de las mismas.

69
Caso de Estudio

4. Caso de estudio
4.1 Consideraciones del primer caso de estudio

Las articulaciones en un manipulador robtico son normalmente restringidas a tener nicamente un


grado de libertad, esto se hace con la finalidad de simplificar la cinemtica, dinmica y el control del
manipulador, como se mostrar ms adelante. Un eslabn es un objeto mecnico slido, el cual
conecta a dos articulaciones (se considera que los eslabones son rgidos y no flexibles como ocurre
en la realidad). En la parte ms distante del ltimo eslabn es colocado el efector final (gripper), el
cual va a ejecutar una tarea en particular. Para el presente manipulador se desprecian las fuerzas de
friccin que actan entre la articulacin y el eslabn. Esto en la prctica se soluciona dejando un
poco holgado el torque que se requiere para dar movimiento al manipulador, con la finalidad de
compensar tal efecto. El modelo propuesto es un manipulador plano de dos eslabones (dos grados de
libertad), con articulaciones de tipo revolucin. La figura 2.1 muestra el modelo propuesto y la tabla
4.1 presenta los parmetros de los eslabones de este manipulador:

Y Y

m2
m2 l2 q2
l2 q2

g
m1 l1
l1 g
m1
q1 X q1
X
O

Figura 4.1 (a) Modelo del manipulador planar propuesto (b) Esquema del manipulador

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 70
Caso de Estudio

Tabla 4.1 Parmetros y valores de los eslabones del manipulador

Parmetro Valor

l1 = Longitud del eslabn 1 10 cm


l 2 = Longitud del eslabn 2 5 cm
m1 = Masa del eslabn 1 0.8 kg
m2 = Masa del eslabn 2 0.4 kg

4.2 Cinemtica del manipulador

La cinemtica es la rama de la mecnica que se encarga del estudio del movimiento de los cuerpos
sin atender las causas que lo provocan. En robtica, el estudio de la cinemtica se divide en
cinemtica directa y cinemtica inversa. El problema cinemtico directo tiene que ver con encontrar
la posicin y orientacin del efector final con respecto a la base del manipulador, una vez que se
conocen los ngulos de las articulaciones de los eslabones del manipulador. La figura 4.2 muestra el
problema cinemtico directo:

x=?
Y y=?

q 2 = 35

q1 = 45
X
O
Figura 4.2 Problema cinemtico directo en un manipulador plano de dos grados de libertad con articulaciones de tipo
revolucin

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 71
Caso de Estudio

En el problema cinemtico inverso se buscan conocer los ngulos de las articulaciones del
manipulador para lograr colocar al efector final en una posicin y orientacin deseada que es de
antemano conocida. Normalmente en las aplicaciones robticas lo que se requiere conocer son los
ngulos (en el caso de articulaciones de tipo revolucin) que configuran al manipulador en una
forma tal que colocan al efector final ltimo eslabn en una posicin y orientacin especfica, para
que de esta manera ejecute alguna accin en particular. La figura 4.3 presenta el problema
cinemtico inverso:

x =8
Y y = 12

q2 = ?

q1 = ?
X
O
Figura 4.3 Problema cinemtico inverso en un manipulador plano de dos grados de libertad con articulaciones de tipo
revolucin

Es por ello, que el presente trabajo de investigacin se centra en dar solucin al problema
cinemtico inverso, el cual representa el primer gran problema que se presenta en el estudio de la
robtica. Una vez que se logran obtener los ngulos de las articulaciones, lo que sigue es determinar
las velocidades y aceleraciones angulares de las mismas; posteriormente, se emplea alguna de las
formulaciones dinmicas que con respecto a manipuladores robticos existe, todo ello con la
finalidad de obtener los torques pares que se requieren aplicar en los motores, que a su vez darn
el movimiento a las articulaciones y por consiguiente al manipulador en su conjunto.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 72
Caso de Estudio

4.2.1 Problema cinemtico directo


El problema cinemtico directo se puede resolver fcilmente para el caso de un manipulador plano
de dos grados de libertad con articulaciones de tipo revolucin, empleando las ecuaciones
cinemticas directas:

x = l1 cos q 1 +l2 cos (q1 + q 2 )


(4.1)
y = l1 senq1 + l2 sen (q1 + q 2 )

x = 7.939
Y y = 11.995 Y

q 2 = 35 x = 7.159
y = 6.918

q 2 = 105

q1 = 45
q1 = 15
X X
O O
a) b)

Y Y

q 2 = -95
q 2 = -60

x = 6.566
y = 8.553 x = 10
y = 8.660

q1 = 80
q1 = 60
X X
O O
c) d)

Figura 4.4. Manipulador plano en diferentes posiciones del efector final variando los valores angulares 1, 2 de las
articulaciones

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 73
Caso de Estudio

Con las ecuaciones (4.1) se puede conocer rpidamente cul es la posicin del efector final con
respecto a la base del manipulador, conociendo obviamente los ngulos de las articulaciones. Para
poder visualizar la utilizacin de stas ecuaciones, los esquemas de la figura 4.4 ilustran las
diferentes posiciones que toma el manipulador en estudio, al variar los valores de los ngulos de las
articulaciones (1, 2).

4.2.2 Problema cinemtico inverso


El problema cinemtico inverso es, sin embargo, un problema no lineal donde puede existir la
posibilidad de obtener una mas soluciones incluso en el caso de que se presente alguna
singularidad, ninguna solucin. En manipuladores con seis grados de libertad el problema
cinemtico inverso implica la solucin de un sistema de ecuaciones no lineal y sobredeterminado,
esto es, que el nmero de ecuaciones es mayor que el nmero de incgnitas. No obstante, para el
anlisis cinemtico del manipulador considerado en este trabajo de investigacin, no se presenta el
sistema de ecuaciones sobredeterminado ya que el manipulador en cuestin es de dos grados de
libertad y por lo tanto se tienen dos ecuaciones y dos incgnitas.

4.2.3 Singularidades
Una singularidad ocurre en un manipulador cuando se pierde uno ms grados de libertad y por lo
tanto no se puede efectuar un movimiento deseado (Niku, 2001). Esto ocurre cuando se presentan
las siguientes dos condiciones:
1). Las articulaciones del manipulador alcanzan sus lmites fsicos de movimiento
2). Cuando los ejes z de dos articulaciones similares se orientan colinealmente.

Identificar las singularidades en los manipuladores es importante por varias razones (Spong &
Vidyasagar, 1999):
1) Las singularidades representan configuraciones desde las cuales algunas direcciones de
movimiento pueden ser inalcanzables.
2) En puntos singulares, las velocidades cartesianas del efector final pueden corresponder a
velocidades angulares no alcanzables por parte las articulaciones.
3) Comnmente las singularidades corresponden a puntos en la frontera del espacio de trabajo
del manipulador, esto es, a puntos de mximo alcance del manipulador.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 74
Caso de Estudio

4) Cerca de las singularidades no habr una solucin nica al problema cinemtico inverso.
Puede suceder que se presenten un nmero infinito de soluciones ninguna solucin.

En (Paul & Stevenson, 1983) se identifica la presencia de puntos singulares y para ello se propone
como solucin un correcto diseo acerca del acomodo fsico de las articulaciones para que de esta
manera se eviten en lo posible los puntos singulares.
Para encontrar los puntos singulares de un mecanismo lo que se debe hacer es examinar el
determinante de su Jacobiano. Donde el determinante sea igual a cero, el Jacobiano es singular
(Craig, 1955):
det J (q ) = 0 (4.2)

Para aplicar este concepto al manipulador plano de dos grados de libertad a partir de las ecuaciones
cinemticas directas, se realiza lo siguiente:

x x
q q 2 -l1 senq1 - l2 sen (q1 + q 2 ) -l2 sen (q1 + q 2 ) (4.3)
J (q ) = =
1

y y l1 cos q1 + l2 cos (q1 + q 2 ) l2 cos (q1 + q 2 )
q q 2
1

Enseguida se obtiene el determinante del Jacobiano del manipulador:

-l1senq1 - l2 sen (q1 + q2 ) -l2 sen (q1 + q2 )


det J (q ) = = -l1l2 senq1 cos (q1 + q2 ) - l22 sen (q1 + q2 ) cos (q1 + q2 ) (4.4)
l1 cosq1 + l2 cos (q1 + q2 ) l2 cos (q1 + q2 )
+ l1l2 sen (q1 + q2 ) cosq1 + l22 sen (q1 + q2 ) cos (q1 + q2 )

Empleando las siguientes identidades trigonomtricas para simplificar las expresiones anteriores:

cos (q1 + q 2 ) = cos q1 cos q 2 - senq1 senq 2


s en (q1 + q 2 ) = cos q1 senq 2 + senq1 cos q 2 (4.5)
cos 2 q + sen 2q = 1

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 75
Caso de Estudio

Se obtiene finalmente:

det J (q ) = l1l2 senq 2 = 0 (4.6)

Entonces las singularidades en este manipulador se presentan segn la expresin anterior cuando 2
es 0 180. Esto se traduce fsicamente como el brazo completamente extendido completamente
retrado sobre s mismo, en donde se pierde un grado de libertad. Esto se ilustra en la figura 4.5:

Y Punto singular Y
x = 10.606
y = 10.606

q 2 = 0 q 2 = 180

Punto singular
x = 3.535
q1 = 45
q1 = 45 y = 3.535
X X
O O

Figura 4.5 Configuraciones singulares del manipulador

En base a lo demostrado anteriormente, se puede entonces concluir que en cualquier mtodo


numrico aplicado a la solucin de la cinemtica inversa en alguna expresin que recurra a la
inversin de la matriz Jacobiana, se debe tener cuidado en evitar los puntos singulares.

4.2.4 Solucin a la cinemtica inversa por el mtodo algebraico


El problema cinemtico inverso para un manipulador plano de dos grados de libertad se puede
resolver algebraicamente mediante las siguientes expresiones (Spong & Vidyasagar, 1999):
x 2 + y 2 - l12 - l22
D=
2l1l2
1 - D2 (4.7)
q 2 = tan -1
D

y l senq 2
q1 = tan -1 - tan -1 2
x l1 + l2 cos q 2

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 76
Caso de Estudio

La solucin a la cinemtica inversa puede resultar en dos ms soluciones, esto significa que el
brazo puede presentar distintas configuraciones de los ngulos de las articulaciones para alcanzar un
mismo punto, esto se muestra en la figura 4.6:

Y
( x, y )
q2
q2 '

q1 q1 '
X
O
Figura 4.6 Dos soluciones al problema cinemtico inverso (Spong & Vidyasagar, 1999)

En la figura 4.7 se muestra la solucin cinemtica inversa resuelta algebraicamente para una
posicin deseada del efector final:

Y Y
x = 3.7677
y = 5.2318 x =8
y =8
q 2 = -33.4541

q 2 = 88.28

q1 = 65.2467 q1 = 18.78
X X
O a) O b)

Figura 4.7 Solucin algebraica a la cinemtica inversa, para dos posiciones distintas del efector final

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 77
Caso de Estudio

4.2.5 Solucin a la cinemtica inversa por el mtodo numrico de Newton


Uno de los mtodos numricos que es de uso muy comn para poder resolver el problema
cinemtico inverso es el mtodo numrico iterativo de Newton. Sin embargo, este mtodo presenta
dos inconvenientes principales (Fausett, 1999):

1) La seleccin del valor de inicio para las iteraciones (guess value) es un factor fundamental
para la convergencia del mtodo.
2) El mtodo es inestable cuando se presenta algn punto singular.

En la figura 4.8 se muestran los valores obtenidos de 1, 2 mediante el mtodo de Newton para una
posicin deseada del efector final.

Y Y
x = 3.7677
y = 5.2318 x =8
y =8
q 2 = -33.4541

q 2 = 88.28

q1 = 65.2467 q1 = 18.78
X X
O a) O b)
Figura 4.8 Solucin a la cinemtica inversa mediante el mtodo numrico de Newton, para dos posiciones distintas del
efector final

4.3 Solucin a la cinemtica inversa por medio del sistema neuro-difuso (ANFIS)

Para llevar a cabo la solucin a la cinemtica inversa por medio de la red neuro-difusa, se propone
que sean dos las redes involucradas en tal solucin. Una red proporcionar 1, teniendo como
entradas los dos valores del punto cuya posicin en el plano es x, y; la otra red tiene como salida 2,
de igual forma teniendo como entradas la misma posicin x, y del punto cuya cinemtica inversa se
desea obtener. La figura 4.9 muestra la manera en que se planea resolver el problema cinemtico
inverso para este manipulador plano.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 78
Caso de Estudio

x q1
y ANFIS_1

x q2
y ANFIS_2

Figura 4.9 Esquema de la forma en que se aborda y resuelve el problema cinemtico inverso

4.3.1 Rango de movilidad y espacio de trabajo del manipulador


Lo primero que se hace para poder resolver la cinemtica inversa del manipulador plano de dos
grados de libertad es definir los lmites a los rangos permisibles de movimiento de las articulaciones,
en el espacio de trabajo del manipulador. Los rangos de movimiento de los ngulos de las
articulaciones son para este caso los siguientes:

(4.8)

0 q 2 180

0 q1 90
X
O

Figura 4.10 Rango de movilidad de los eslabones del manipulador plano

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 79
Caso de Estudio

La figura 4.11 ilustra el espacio de trabajo del manipulador plano propuesto, considerando los
rangos de movimiento anteriormente descritos:

Espacio de trabajo del manipulador planar


15

10
Y

0
-5 0 5 10 15
X

Figura 4.11 Espacio de trabajo del manipulador plano

4.3.2 Generacin de los pares de datos de entrenamiento


ANFIS necesita que se le presenten pares de datos de entrenamiento (entrada-salida) para aprender a
realizar un mapeado, es decir, inferir una relacin entre cmo las entradas afectan a la salida. Una
vez que la red ha sido entrenada, es ahora capaz de efectuar generalizaciones aproximaciones entre
datos que no fueron inicialmente presentados a la red. Para obtener los pares de datos de
entrenamiento, se ocup el software MATLAB Versin R2007b; se generaron dos vectores fila,
los cuales contienen todos los valores posibles de 1 y 2, dentro de los lmites del rango de
movimiento de las articulaciones respectivas.
Teta1 = 0 : 0.1: pi / 2
(4.9)
Teta2 = 0 : 0.1: pi

El tamao del incremento que se utilice determinar el nmero de pares de datos de entrenamiento
generados. Para este caso, el incremento es de 0.1.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 80
Caso de Estudio

Enseguida se generan dos matrices las cuales contienen copias de los vectores de 1 y 2, esto con la
finalidad de obtener todas las posibles combinaciones de estos vectores. Tal accin es realizada por
medio del comando meshgrid de MATLAB Versin R2007b. Este comando transforma el dominio
especificado por los vectores a y b, en los arreglos A y B, los cuales pueden ser usados para evaluar
funciones de dos variables. Las filas del arreglo de salida A son copias del vector a, mientras que las
columnas del arreglo de salida B son copias del vector b (MATLAB, 2004). Esto se expresa para
este caso como:
[Theta1, Theta2] = meshgrid (Teta1, Teta2) (4.10)

Ahora, usando las ecuaciones cinemticas directas se obtienen todos los valores posibles para x y y,
para toda combinacin de 1 y 2. Esta accin se lleva a cabo de la siguiente manera:

x = 10 cos (Theta1) + 5cos (Theta1 + Theta 2 )


(4.11)
y = 10 sen (Theta1) + 5sen (Theta1 + Theta 2 )

Hasta este punto se han obtenido ya los pares de datos de entrenamiento (entrada-salida) que sern
presentados a la red neuro-difusa para su aprendizaje, quedando de la siguiente forma:

Red neuro-difusa 1 Entradas (x, y) Salida (Theta1) (4.12)


Red neuro-difusa 2 Entradas (x, y) Salida (Theta2)

4.3.3 Entrenamiento de la red neuro-difusa


Los pares de datos generados anteriormente sern entonces empleados como el conjunto de datos de
entrenamiento que sern presentados a las dos redes neuro-difusas, con el objetivo de obtener 1 y
2 .

4.3.4 Funciones de membresa empleadas


Las funciones de membresa se emplean para llevar a cabo la fusificacin de las entradas, que en
este caso son los valores de las coordenadas x, y. La determinacin del nmero y tipo de funciones
de membresa a utilizar es una decisin que se debe de tomar en base a la experiencia propia y a la
naturaleza de las entradas al sistema neuro-difuso. Es decir, si el espacio de las entradas es muy
amplio y adems presenta altas no linealidades, entonces lo ms coherente es establecer un nmero
relativamente elevado de funciones de membresa (4 5) que describan a tal espacio, tambin sera

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 81
Caso de Estudio

lgico seleccionar algn tipo de funcin de membresa que realice una transicin suave entre los
distintos conjuntos difusos. Establecido lo anterior se puede entonces proceder a disear la red
neuro-difusa que tendr como entradas a x, y y como salida 1. Para seleccionar el nmero apropiado
de funciones de membresa para la fusificacin de las dos entradas, se entren a la red con 4 y 5
funciones para identificar 2 y se observaron los resultados. Las funciones son del tipo campana de
Gauss y el nmero de reglas difusas de tipo Takagi-Sugeno es de 9. La figura 4.12 ilustra las
funciones de membresa utilizadas para la fusificacin de las entradas.

Funciones de membresa de la entrada x


1 Funciones de membresa de la entrada y
1
0.9
0.9

0.8
0.8
Grado de membresa

0.7
0.7

Grado de membresa
0.6 0.6

0.5 0.5

0.4 0.4

0.3 0.3

0.2 0.2

0.1 0.1

0 0
-4 -2 0 2 4 6 8 10 12 14 0 5 10 15
Espacio de x Espacio de y

Figura 4.12 (a) Fusificacin de la entrada x con 4 funciones de membresa


(b) Fusificacin de la entrada y con 4 funciones de membresa

4.3.5 Aprendizaje de la cinemtica inversa de 1


Las figuras 4.13 y 4.14 muestran cmo ANFIS logr identificar 1 empleando 4 y 5 funciones de
membresa por cada entrada.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 82
Caso de Estudio

ANFIS identificando Teta 1 con 4 funciones de membresa


1.6

1.4

1.2
ANFIS
Funcin
1
Teta1

0.8

0.6

0.4

0.2

0
0 100 200 300 400 500 600
No. de pares de entrenamiento
Figura 4.13 Identificacin de 1 por medio de ANFIS empleando 4 funciones de membresa

ANFIS identificando Teta 1 con 5 funciones de membresa


1.6

1.4

1.2 ANFIS
Funcin
1
Teta 1

0.8

0.6

0.4

0.2

0
0 100 200 300 400 500 600
No. de pares de entrenamiento
Figura 4.14 Identificacin de 1 por medio de ANFIS empleando 5 funciones de membresa

Como se puede observar en las figuras anteriores, el empleo de 4 y 5 funciones de membresa en la


fusificacin produce el mismo resultado, lo cual significa que utilizar un mayor nmero de
funciones no siempre incide en obtener un resultado ms preciso. Debido a ello, se concluye que el
nmero adecuado de funciones de membresa para este caso es de 4, ya que emplear 5 funciones
implica obtener el mismo resultado pero con mayor costo computacional.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 83
Caso de Estudio

La figura 4.15 muestra la estructura de la red neuro-difusa para identificar 1.

Figura 4.15 Red neuro-difusa propuesta para la identificacin de 1

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 84
Caso de Estudio

4.3.6 Aprendizaje de la cinemtica inversa de 2


ANFIS identificando Teta 2 con 4 funciones de membresa
3.5

ANFIS
2.5
Funcin
Teta 2
2

1.5

0.5

0
0 100 200 300 400 500 600
No. de pares de entrenamiento

Figura 4.16 Identificacin de 2 por medio de ANFIS

La figura 4.16 muestra claramente que el sistema neuro-difuso logra aproximar la seal valor
deseado de una manera muy precisa, empleando para ello nicamente cuatro funciones de
membresa por cada una de las dos entradas. Se demuestra as la gran capacidad de identificacin de
sistemas altamente no lineales que poseen las redes neuro-difusas. De esta manera se ha realizado el
aprendizaje inverso de la cinemtica inversa del manipulador plano de dos grados de libertad. La
figura 4.17 muestra la estructura de la red neuro-difusa propuesta para identificar 2.

Figura 4.17 Red neuro-difusa propuesta para la identificacin de 2

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 85
Caso de Estudio

4.4 Obtencin de la velocidad y aceleracin angular del manipulador plano

4.4.1 Velocidad angular


En el campo de la robtica, una matriz Jacobiana simplemente un Jacobiano es una funcin que
relaciona las velocidades de las articulaciones de un manipulador con las velocidades cartesianas del
efector final del brazo. Esto se puede expresar como (Craig, 1955):

(4.13)
Donde:
Vector de velocidades cartesianas del efector final
Matriz Jacobiana del manipulador en funcin de
Vector de velocidades de las articulaciones

Entonces, como se puede ver, el Jacobiano de un manipulador permite obtener las velocidades
cartesianas (Vx, Vy) del efector final del manipulador, proporcionando simplemente las velocidades
de las articulaciones y empleando la funcin Jacobiana de ese manipulador. Sin embargo, para el
presente caso de estudio lo que se requiere obtener son las velocidades angulares de las
articulaciones del manipulador, a partir de las velocidades cartesianas del efector final. Entonces lo
que se requiere es despejar de la ecuacin anterior, quedando:

(4.14)


Por lo tanto, se requiere que la matriz inversa del Jacobiano del manipulador , sea no
singular e invertible en todo momento. Para demostrar el empleo de la ecuacin anterior, se propone
que la velocidad del efector final del manipulador sea de 0.1 m/s, tanto en x como en y. La
configuracin del manipulador en el instante en que se requieren conocer las velocidades angulares
es 1=45 y 2=15. Para obtener las velocidades angulares a las cuales se deben mover las
articulaciones para poder lograr las velocidades cartesianas deseadas del efector final, se aplica la
ecuacin 4.14, obtenindose:

Rad/seg

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 86
Caso de Estudio

En la aplicacin de la ecuacin 4.14 se toman en consideracin nicamente las velocidades lineales


del efector final (para posicionarse) y se excluyen las velocidades angulares que pudiera requerir el
efector final para poder orientarse. No obstante, en el caso de que en la matriz Jacobiana se presente
algn punto singular, por ejemplo cuando , ocurre que la matriz Jacobiana se vuelve no
invertible y por lo tanto no se pueden obtener las velocidades angulares requeridas en las
articulaciones. Fsicamente esto significa que hay movimientos infinitesimales que son
inalcanzables por las articulaciones del manipulador. Es por ello que se debe tener un especial
cuidado en evitar aproximarse caer en algn punto singular (Spong & Vidyasagar, 1999) .

4.4.2 Aceleracin angular


La aceleracin cartesiana puede ser obtenida derivando la ecuacin 4.13 con respecto al tiempo,
resultando:

(4.15)

Donde:
Vector de aceleraciones cartesianas del efector final

Derivada con respecto al tiempo de la matriz Jacobiana

Vector de aceleraciones de las articulaciones

Y con la finalidad de obtener las aceleraciones angulares de las articulaciones, se puede despejar
de la ecuacin anterior, resultando que:


(4.16)

La ecuacin 4.16 de igual forma requiere que la matriz Jacobiana sea no singular e invertible; para
ilustrar el empleo de la ecuacin 4.16 y obtener las aceleraciones angulares de las articulaciones del
manipulador, se proponen unas aceleraciones lineales del efector final de 0.1 m/s2, tanto en x como
en y, as mismo las velocidades angulares son las calculadas anteriormente. La configuracin del
manipulador en el instante en que se realiza el clculo del Jacobiano es 1=45 y 2=15.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 87
Caso de Estudio




Rad/seg2

Con las ecuaciones anteriores se pueden entonces obtener las velocidades y aceleraciones angulares
de las articulaciones del manipulador, una vez que se conocen las velocidades y aceleraciones
cartesianas del efector final del manipulador. Dado que las ecuaciones 4.14 y 4.16 recurren a la
inversin de la matriz Jacobiana del manipulador, se debe por lo tanto tener especial cuidado en
evitar las posiciones que resultan singulares, ya que ello equivale a que la matriz Jacobiana llegue a
ser no invertible.

4.5 Determinacin de la trayectoria de movimiento del manipulador

4.5.1 Polinomios de quinto orden


Para la determinacin de la trayectoria de movimiento del manipulador se emplean polinomios de
quinto orden; para ello, se recurre a las condiciones de frontera de posicin, velocidad y aceleracin
angular de las articulaciones del manipulador, con la finalidad de obtener los coeficientes del
polinomio en cuestin. Se sustituyen en el polinomio los valores de las condiciones de frontera y se
resuelve algebraicamente para poder obtener los valores de los coeficientes del polinomio. Una vez
que se obtienen los coeficientes, se sustituye su valor en el polinomio respectivo. En el presente caso
de estudio se desea generar una trayectoria entre dos puntos ubicados en el espacio cartesiano en un
tiempo de 3 segundos.

Mediante la cinemtica inversa resuelta por el sistema ANFIS se obtienen los valores de los ngulos
de las articulaciones que corresponden a las posiciones cartesianas solicitadas. Se obtuvieron los
siguientes valores de los ngulos de las articulaciones:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 88
Caso de Estudio

ANFIS 1

ANFIS 1

ANFIS 2

ANFIS 2

Figura 4.18 Solucin a la cinemtica inversa del manipulador mediante ANFIS

Los polinomios de quinto orden que sern utilizados para generar la trayectoria de movimiento de
posicin, velocidad y aceleracin angular de la articulacin uno son (Niku, 2001):


(4.17)

Para el polinomio de la articulacin uno se consideran como condiciones iniciales las siguientes:

(4.18)

Sustituyendo las condiciones iniciales y finales de frontera en las ecuaciones 4.17, y resolviendo las
ecuaciones simultneamente se obtiene que:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 89
Caso de Estudio





(4.19)

Ahora los 6 coeficientes calculados se sustituyen en las ecuaciones 4.17 para obtener finalmente los
polinomios que describirn la trayectoria de movimiento en funcin del tiempo de posicin,
velocidad y aceleracin de la articulacin uno.

(4.20)

Las figuras 4.19, 4.20 y 4.21 muestran la trayectoria de posicin, velocidad y aceleracin angulares
de la articulacin uno en funcin del tiempo.

T rayectoria de posicin de la articulacin 1


85

80
Angulo 1 (grados)

75

70

65

60
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.19 Trayectoria de posicin de la articulacin uno

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 90
Caso de Estudio

Trayectoria de velocidad de la articulacin 1


2

0
Velocidad angular 1(grados/seg)
-2

-4

-6

-8

-10

-12

-14
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.20 Trayectoria de velocidad de la articulacin uno

Trayectoria de aceleracin de la articulacin 1


15

10
Aceleracin angular 1 (grados/seg2)

-5

-10

-15
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.21 Trayectoria de aceleracin de la articulacin uno

Las condiciones de frontera para la articulacin dos son las siguientes:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 91
Caso de Estudio

(4.21)

Sustituyendo las condiciones iniciales y finales de frontera y resolviendo simultneamente las


ecuaciones se obtienen los coeficientes del polinomio:

(4.22)

Finalmente sustituyendo los valores de los coeficientes en las ecuaciones polinomiales se obtienen:

(4.23)

Las figuras 4.22, 4.23 y 4.24 muestran la trayectoria de posicin, velocidad y aceleracin angulares
de la articulacin dos en funcin del tiempo.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 92
Caso de Estudio

Trayectoria de posicin de la articulacin 2


-30

-40

-50
Posicin angular 2 (grados)

-60

-70

-80

-90

-100

-110
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.22 Trayectoria de posicin de la articulacin dos

Trayectoria de velocidad de la articulacin 2


40

35
Velocidad angular 2(grados/seg)

30

25

20

15

10

0
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)
Figura 4.23 Trayectoria de velocidad de la articulacin dos

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 93
Caso de Estudio

Trayectoria de aceleracin de la articulacin 2


40

Aceleracin angular 2 (grados/seg2) 30

20

10

-10

-20

-30

-40
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.24 Trayectoria de aceleracin de la articulacin dos

4.5.2 Determinacin de la aceleracin mxima permitida


Es conveniente averiguar si la aceleracin angular de alguna de las articulaciones del manipulador,
no excede la capacidad fsica de aceleracin permitida. Para conocer la aceleracin mxima se
puede emplear la ecuacin 4.24:



(4.24)

Para determinar la aceleracin mxima permitida de la primera articulacin empleando la ecuacin


4.24 resulta:

Tomando en consideracin los resultados obtenidos para las aceleraciones mximas de las
articulaciones, se puede entonces calcular el tiempo que deberan requerir las trayectorias para
efectuar los movimientos solicitados.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 94
Caso de Estudio

4.6 Determinacin de la dinmica del manipulador

La dinmica es el campo de estudio de la mecnica que se encarga de estudiar las fuerzas que se
requieren para generar causar un movimiento en un cuerpo. Con la finalidad de acelerar un
manipulador desde su estado de reposo, mantener una velocidad del efector final constante, y
finalmente desacelerarlo para que se detenga, se deben aplicar en los actuadores de las articulaciones
del manipulador un conjunto de torques fuerzas (Fu et al., 1988). Las ecuaciones dinmicas que
producen el torque requerido en las articulaciones de tipo revolucin, estn en funcin de los
atributos temporales y espaciales de la ruta que toma el efector final del manipulador, as como
tambin de las propiedades de masa de los eslabones, fricciones en las articulaciones, carga en el
efector final, etc. (Fu et al., 1988). La tabla 4.2 describe las dimensiones de los parmetros fsicos
del manipulador plano:

Tabla 4.2 Dimensiones de los parmetros del manipulador

Eslabn Longitud (cm) Masa (kg)

1 10 0.8
2 5 0.4

Las ecuaciones dinmicas para el manipulador plano del caso de estudio son:






(4.25)



Entonces, con las ecuaciones 4.25 se pueden obtener los torques requeridos en las articulaciones de
tipo revolucin, para que el efector final del manipulador pueda seguir una trayectoria de
movimiento deseada y considerando las masas y todos los efectos que interaccionan durante el
movimiento de las articulaciones del manipulador.
Con la finalidad de demostrar el empleo de las ecuaciones dinmicas de movimiento de un
manipulador, se pretende ahora obtener el historial de torques requeridos en las articulaciones para

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 95
Caso de Estudio

generar las trayectorias de movimiento antes solicitadas. La metodologa que se sigue para poder
obtener el historial de torques requeridos en las articulaciones para generar una trayectoria de
movimiento es la mostrada en la figura 4.25:

Tarea especificada
en el espacio Generador de trayectorias en el
cartesiano de trabajo espacio de las articulaciones
tiempo

Ecuaciones dinmicas
de movimiento de
Lagrange-Euler

Figura 4.25 Esquema representativo de la metodologa para la obtencin del historial de torque

4.6.1 Trayectorias de movimiento dinmicas


Las trayectorias de movimiento en el espacio de las articulaciones son las siguientes:
Para la articulacin 1:

Para la articulacin 2:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 96
Caso de Estudio

Ahora, empleando las ecuaciones dinmicas de movimiento de Lagrange-Euler se obtienen los


historiales de torque para las dos articulaciones del manipulador planar. Las figuras 4.26 y 4.27
muestran los historiales de torque de las dos articulaciones.

Torque requerido en la articulacin 1 para generar la trayectoria de movimiento


0.9

0.8

0.7

0.6
Torque (N*m)

0.5

0.4

0.3

0.2

0.1
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.26 Torque requerido para generar la trayectoria de movimiento de la articulacin 1

Torque requerido en la articulacin 2 para generar la trayectoria de movimiento


0.12

0.1

0.08

0.06
Torque (N*m)

0.04

0.02

-0.02

-0.04

-0.06
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.27 Torque requerido para generar la trayectoria de movimiento de la articulacin 2

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 97
Caso de Estudio

Con los historiales de torques requeridos en las articulaciones del manipulador se puede entonces
conocer cul es la demanda de torque mximo y con ello determinar seleccionar un actuador
(motor) que proporcione el torque solicitado.

4.6.2 Cambios en la carga del manipulador


Una de las perturbaciones que se puede presentar durante la ejecucin de la trayectoria de
movimiento del manipulador, es que ocurra un cambio repentino en la carga que soporta el efector
final del manipulador (payload). Cuando esto sucede es obvio que la demanda de torque por parte de
las articulaciones hacia los motores es mayor. Para poder observar cmo se incrementa el torque en
funcin del aumento en la carga en el efector final, se realizaron variaciones de 0.4 y 0.8 kg de dicha
carga. Las figuras 4.28 y 4.29 ilustran cmo cambia el historial de torques requeridos en las
articulaciones.

Incremento en el torque de la articulacin 1 ante un aumento de carga


2.5
Sin carga
Aumento de 0.4 kg en la carga
Aumento de 0.8 kg en la carga
2
Torque (N*m)

1.5

0.5

0
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)
Figura 4.28 Historial de torque requerido en la articulacin 1 al aumentar la carga en el efector final en 0.4 y 0.8 kg

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 98
Caso de Estudio

Incremento en el torque de la articulacin 2 ante un aumento en la carga del efector final


0.35

0.3

0.25

0.2
Torque (N*m)

0.15

0.1

0.05

0
Sin carga
-0.05 Aumento de 0.4 kg en la carga
Aumento de 0.8 kg en la carga
-0.1

-0.15
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)
Figura 4.29 Historial de torque requerido en la articulacin 2 al aumentar la carga en el efector final en 0.4 y 0.8 kg

Como se puede observar en las figuras la demanda de torque por parte de las articulaciones aumenta
a medida que se incrementa la carga en el efector final del manipulador. Por otra parte, se puede
tambin observar que la demanda de torque en la articulacin 1 es mucho mayor que aqulla
solicitada en la articulacin 2, lo cual resulta obvio ya que la articulacin 1 debe soportar el peso
mismo del eslabn 1, del eslabn 2, la carga en el efector final y adems compensar los efectos no
deseados que ocurren cuando el manipulador est en movimiento (torque de Coriolis y centrfugo).

4.7 Control del manipulador robtico

Una vez que el modelo dinmico del manipulador ha sido deducido, es decir, cuando se han
obtenido las ecuaciones de movimiento que gobiernan al manipulador, es ahora posible disear una
ley de control para todo el conjunto del manipulador mismo. Debido a que la ley de control
propuesta se basa en el modelo dinmico del manipulador, se conoce comnmente como mtodo de
control por momento par calculado (Craig, 1988) (Iigo & Vidal, 2004) (Ogata, 2003).
Retomando la ecuacin diferencial del comportamiento dinmico de un manipulador robtico, la
cual es:

(4.26)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 99
Caso de Estudio

Se puede emplear la ley servo (trmino en la ecuacin de control que compensa los errores)
siguiente (Craig, 1988):

(4.27)

Donde:
Par de compensacin del error
Error en la trayectoria de posicin del manipulador
Error en la trayectoria de velocidad del manipulador
Constante de proporcionalidad
Constante derivativa
Aceleracin deseada de la articulacin

Enseguida se escribe la ecuacin del error dinmico como (Kuo, 1996):

(4.28)

Sustituyendo la ecuacin 4.27 en la ecuacin 4.28, queda:

(4.29)

La ecuacin 4.29 es conocida como ley de control por el mtodo del par calculado. Sin embargo, el
funcionamiento ideal de la ecuacin 4.29 no es posible obtenerlo realmente en la prctica debido
principalmente a las siguientes dos causas (Craig, 1988):
1) La naturaleza discreta de una implementacin en una computadora digital, contrasta con la
ley de control en tiempo continuo ideal.
2) Existe inexactitud en el modelo dinmico del manipulador empleado en la ley de control.

La figura 4.30 muestra el esquema de la ley de control del mtodo del par calculado:

M( ) Manipulador

+ + + +
+ +

Kp Kv V( ) G( )

+
-
+ -

Figura 4.30 Sistema de control del manipulador basado en su modelo dinmico (Mtodo del par calculado)

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 100
Caso de Estudio

Las figuras 4.31 y 4.32 ilustran el control de las trayectorias deseadas de las dos articulaciones:
T rayectoria de posicin de la articulacin 1
85

Trayectoria de posicin actual


Posicin angular (grados) 80 Trayectoria de posicin deseada

75

70

65

60
0 0.5 1 1.5 2 2.5 3
Tiempo (segundos)

Figura 4.31 Control de la trayectoria de posicin deseada de la articulacin 1 por medio del mtodo del par calculado

T rayectoria de posicin de la articulacin 2


-30
Trayectoria de posicin actual
-40 Trayectoria de posicin deseada
Posicin angular (grados)

-50

-60

-70

-80

-90

-100

-110
0 0.5 1 1.5 2 2.5 3
Tiempo (Segundos)

Figura 4.32 Control de la trayectoria de posicin deseada de la articulacin 2 por medio del mtodo del par calculado

Los torques calculados por este mtodo son entonces los que se requieren para lograr que el
manipulador robtico venza todos los efectos fsicos que intervienen en la trayectoria de su
movimiento. Estos torques demandados por las articulaciones del manipulador son los que se
ilustran en las figuras 4.33 y 4.34:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 101
Caso de Estudio

Obtencin del torque de la articulacin 1 por medio del mtodo del par calculado
0.9

0.8

0.7
Torque 1 (N*m)
0.6

0.5

0.4

0.3

0.2

0.1
0 0.5 1 1.5 2 2.5 3
Tiempo (Segundos)

Figura 4.33 Torque producido por medio del mtodo del par calculado para controlar el movimiento de la articulacin 1

Obtencin del torque de la articulacin 2 por medio del mtodo del par calculado
0.12

0.1

0.08

0.06
Torque 2 (N*m)

0.04

0.02

-0.02

-0.04

-0.06
0 0.5 1 1.5 2 2.5 3
Tiempo (Segundos)

Figura 4.34 Torque producido por medio del mtodo del par calculado para controlar el movimiento de la articulacin 2

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 102
Caso de Estudio

4.8 Segundo caso de estudio: solucin a la cinemtica inversa de un manipulador


plano de tres grados de libertad mediante ANFIS

l3
Y q3

l2 q2

l1

q1 X

Figura 4.35 Manipulador plano de tres grados de libertad

La generacin de datos de entrenamiento para este caso fue realizada de la misma manera que en el
caso del manipulador plano de dos grados de libertad, a diferencia de que se agreg una variable
ms y por ende se necesita otra red neuro-difusa para predecir 3. Los rangos de movilidad
permitida de las tres articulaciones del manipulador son las siguientes:

Enseguida se gener un arreglo tridimensional para obtener de esta manera las posibles
combinaciones de las tres variables de articulacin, con la finalidad de realizar un mapeo del espacio
de trabajo del manipulador. Esto se efectu con el comando meshgrid de MATLAB versin
R2007b.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 103
Caso de Estudio

Luego estos arreglos se insertaron en las ecuaciones cinemticas directas para obtener los datos de
entrenamiento que sern presentados a la red neuro-difusa para su aprendizaje. Las ecuaciones
cinemticas directas para este caso son las que se presentan a continuacin:


(4.30)

Quedando finalmente como datos de entrenamiento x, y actuando como entradas y 1, 2 y 3,


siendo salidas, respectivamente, de cada uno de los tres sistemas neuro-difusos que se emplearn. La
figura 4.36 ilustra la manera en que se aborda y resuelve la cinemtica inversa de este manipulador.

x
q1
y
ANFIS_1

x
y q2
ANFIS_2

x q3
y ANFIS_3

Figura 4.36 Solucin a la cinemtica inversa del manipulador mediante tres sistemas ANFIS

Para el aprendizaje de 1, 2 y 3 se emplearon cuatro funciones de membresa de tipo campana


generalizada por cada una de las tres entradas (x, y, z). El nmero de pocas de entrenamiento fue de
200. Las simulaciones de entrenamiento y validacin del sistema neuro-difuso fueron efectuadas con
ayuda del toolbox de lgica difusa (fuzzy logic) de MATLAB Ver. R2007b, empleando
especficamente la funcin anfis. El nmero de pares de entrenamiento de entrada-salida generados
fue de 8192.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 104
Caso de Estudio

Las figuras 4.37, 4.38 y 4.39 muestran como se efectu la identificacin (aprendizaje) de 1, 2 y 3
a travs de la funcin anfis de Matlab.

Figura 4.37. Aprendizaje de 1 por parte de ANFIS del toolbox de Matlab Ver. R2007b

La figura 4.37 presenta la correcta identificacin de 1 por parte de ANFIS despus de realizarse
200 pocas de entrenamiento, obtenindose un error de prueba promedio de 0.0391 %.

Figura 4.38 Aprendizaje de 2 por parte de ANFIS del toolbox de Matlab Ver. R2007b

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 105
Caso de Estudio

En la figura 4.38 se muestra el entrenamiento de identificacin de 2 despus de realizadas 200


pocas. Se puede observar que el error de prueba promedio producido es de 0.1395 %. Debido a la
gran cantidad de pares de entrenamiento utilizados, se produce un espectro difcil de visualizar.

Figura 4.39 Aprendizaje de 3 por parte de ANFIS del toolbox de Matlab Ver. R2007b

La figura 4.39 presenta el aprendizaje de 3, el cual demuestra ser muy denso y disperso. Sin
embargo, en general, se logran mapear de manera precisa los pares de datos de entrenamiento. En
este caso el error de prueba promedio producido es de 0.41807 %.

4.9 Tercer caso de estudio: solucin a la cinemtica inversa de un manipulador


de tres grados de libertad con movimiento espacial mediante ANFIS

El manipulador propuesto para este caso de estudio es un manipulador de tres grados de libertad y
con articulaciones de tipo revolucin, tal como se muestra en la figura 4.40:

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 106
Caso de Estudio

q3
q2

q1

Figura 4.40 Manipulador de tres grados de libertad con movimiento espacial

Los rangos de movilidad de las articulaciones son los siguientes:


0 q1 p 4
0 q2 p 4
0 q3 p 4

De igual manera que para los casos de estudio anteriores, se emplear una red neuro-difusa por cada
variable de articulacin del manipulador, es decir, la cinemtica inversa del manipulador en cuestin
ser resuelta mediante tres sistemas ANFIS. La figura 4.41 muestra la estrategia a emplear para
solucionar el problema.

x
q1
y
ANFIS_1
z

x
y ANFIS_2
q2
z

x q3
y ANFIS_3
z

Figura 4.41 Solucin a la cinemtica inversa del manipulador mediante tres sistemas ANFIS

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 107
Caso de Estudio

El espacio de trabajo del manipulador propuesto se muestra en la figura 4.42:

Puntos mapeados dentro del espacio de trabajo del manipulador

15

14

13
Z

12

11

10
4
3 6
5.5
2 5
4.5
Y 1 4
3.5 X
0 3

Figura 4.42 Puntos mapeados dentro del espacio de trabajo del manipulador de tres grados de libertad

4.9.1 Solucin a la cinemtica directa del manipulador de tres grados de libertad

Con la finalidad de conocer la relacin que existe entre las coordenadas cartesianas (x, y, z) del
efector final del manipulador y las variables de las articulaciones (1, 2, 3) de los eslabones del
mismo, se debe primero que nada obtener la cinemtica directa del manipulador. Para ello, se
asignan los sistemas de coordenadas cartesianas a cada una de las articulaciones del manipulador.
Esto se muestra en la figura 4.43:

l2 y3
x3
y2
y1 x2

x1 z3
q3 l3
z2
q2
z1

l1
zo
q1 yo

xo

Figura 4.43 Asignacin de los marcos de los sistemas de coordenadas cartesianas

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 108
Caso de Estudio

Ahora bien, lo que sigue es obtener los parmetros de Denavit-Hartenberg de los eslabones del
manipulador. La tabla 4.3 presenta estos parmetros:

Tabla 4.3 Parmetros de Denavit-Hartenberg

i a d

1 0 90 l1 1
2 l2 0 0 2
3 l3 0 0 3

Una vez que se han obtenido los parmetros Denavit-Hartenberg, se emplea ahora la matriz del
brazo, con la cual se obtiene a partir de multiplicaciones sucesivas de matrices homogneas, la
relacin de posicin y orientacin del efector final con respecto a la base del manipulador, es decir,
la solucin a la cinemtica directa deseada en este caso. La matriz del brazo que se emplea es la
siguiente (Fu et al., 1988):

cos qi - cos a i senqi sena i senqi ai cos qi


senq cos a i cos qi - sena i cos qi ai senqi
i -1
Ti = i

0 sena i cos a i di

0 0 0 1

Para i = 2,3 se obtiene la siguiente multiplicacin matricial:

c q 2 - sq 2 0 l2 cq 2 cq3 - sq3 0 l3cq3


sq cq 2 0 l2 sq 2 sq3 cq3 0 l3 sq3
1
T3 = T2 T3 = 2
1 2

0 0 1 0 0 0 1 0

0 0 0 1 0 0 0 1

Ahora, dado que los ejes de las articulaciones 2 y 3 son paralelos, se pueden emplear las siguientes
identidades trigonomtricas para reducir las expresiones obtenidas de la multiplicacin anterior
(Craig, 1955):
cos (q1 + q 2 ) = c12 = c1c2 - s1s2
sen (q1 + q 2 ) = s12 = c1s2 + s1c2

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 109
Caso de Estudio

Y se obtiene que:

c23 - s23 0 l3c23 + l2 c2


s c23 0 l3 s23 + l2 s2
1
T3 = 23
0 0 1 0

0 0 0 1

Finalmente se obtiene la matriz que relaciona al efector final con la base del manipulador:

c1 0 s1 0 c23 - s23 0 l3c23 + l2 c2


s 0 -c1 0 s23 c23 0 l3 s23 + l2 s2
T1 T3 = 1
0 1

0 1 0 l1 0 0 1 0

0 0 0 1 0 0 0 1
c1c23 -c1s23 s1 c1 ( l3c23 + l2 c2 )

s1c23 - s1s23 -c1 s1 ( l3c23 + l2 c2 )
=
s23 c23 0 l3 s23 + l2 s2 + l1

0 0 0 1

En el presente caso de estudio slo se considera la solucin a la cinemtica inversa de posicin del
manipulador y no se toma en cuenta la orientacin del efector final, debido a ello se requiere
nicamente la informacin dada por la ltima columna de la matriz anterior, la cual es la que
describe la posicin del efector final con respecto a la base del manipulador en funcin del valor de
las variables de articulacin. Finalmente resulta:
x = c1 ( l3c23 + l2 c2 )
y = s1 ( l3c23 + l2 c2 )
z = l3 s23 + l2 s2 + l1

Con la solucin a la cinemtica directa se pueden ahora generar los datos de entrenamiento que
sern empleados para el aprendizaje de las tres redes neuro-difusas.

4.9.2 Generacin de los datos de entrenamiento

Lo primero que se hace para poder disear la estructura de la red neuro-difusa es obtener los datos
de entrenamiento, es decir, reunir la informacin necesaria de entradas-salida que en su momento
ser presentada a la red para su aprendizaje correspondiente. En este caso, para generar los datos de

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 110
Caso de Estudio

entrenamiento se utilizan tres vectores fila, los cuales contienen los valores del rango de movilidad
de cada una de las tres variables de articulacin, esto es, valores de 1, 2 y 3.

teta1=0 q1 p 2 = 0 : 0.1: p 4
teta2=0 q 2 p 4 = 0 : 0.1: p 4
teta3=0 q 3 p 4 = 0 : 0.1: p 4

El incremento usado en la generacin de los vectores anteriores determinar el tamao de los datos
de entrenamiento; en este caso el incremento es de 0.1. Los vectores anteriores fueron generados en
el software MATLAB Ver. R2007b.

Enseguida se generan tres matrices las cuales contienen copias de los vectores de 1, 2 y 3, esto con
la finalidad de obtener todas las posibles combinaciones de estos vectores. Tal accin es realizada
por medio del comando meshgrid de MATLAB. Este comando transforma el dominio especificado
por los vectores a, b y c, en los arreglos tridimensionales A, B y C, los cuales pueden ser usados
para evaluar funciones de tres variables (MATLAB, 2004). Esto se expresa para este caso como:

[Theta1, Theta2, Theta3] = meshgrid (teta1, teta2, teta3)

Ahora, usando las ecuaciones cinemticas directas se obtienen todos los valores posibles para x, y, z,
para toda combinacin de 1, 2 y 3. Esta accin se lleva a cabo de la siguiente manera:

x = cos (Theta1) ( 3* cos (Theta 2 + Theta3) + 4 * cos (Theta 2 ) )


y = sen (Theta1) ( 3* cos (Theta 2 + Theta3) + 4 cos (Theta 2 ) )
z = 3* sen (Theta 2 + Theta3) + 4 * sen (Theta 2 ) + 8

Con esto se han obtenido finalmente los datos de entrenamiento que sern presentados a los tres
sistemas neuro-difusos para la identificacin de 1, 2 y 3.

Red neuro-difusa 1 Entradas (x, y, z) - Salida (Theta1)


Red neuro-difusa 2 Entradas (x, y, z) - Salida (Theta2)
Red neuro-difusa 3 Entradas (x, y, z) - Salida (Theta3)

En resumen, han sido obtenidos cuatro vectores columna de 512 datos cada uno, correspondiendo a
las tres entradas y a la salida.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 111
Caso de Estudio

4.9.3 Entrenamiento de las redes neuro-difusas


Para el aprendizaje de 1, 2 y 3 se emplearon cinco funciones de membresa de tipo campana
generalizada por cada una de las tres entradas (x, y, z). El nmero de pocas de entrenamiento para
cada sistema neuro-difuso fue de 150. Las simulaciones de entrenamiento y validacin del sistema
neuro-difuso fueron efectuadas con ayuda del toolbox de lgica difusa (fuzzy logic) de MATLAB
Ver. R2007b, empleando especficamente la funcin anfis. El nmero de pares de entrenamiento de
entrada-salida generados para cada red neuro-difusa fue de 512.

Figura 4.44 Identificacin de 1

El porcentaje de error promedio para 1 fue de 0.000018 %, al finalizar 150 pocas de entrenamiento

Figura 4.45 Identificacin de 2

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 112
Caso de Estudio

La figura 4.45 presenta la identificacin de 2 al trmino de 150 pocas de entrenamiento y se


produce un error promedio de 0.0016 %.

Figura 4.46 Identificacin de 3

En el aprendizaje de identificacin de 3 se presenta un error de prueba promedio de 0.0092 %, al


trmino de 150 pocas de entrenamiento.

4.10 Sumario

En este captulo se demostr la aplicacin de ANFIS a la solucin del problema cinemtico inverso
de un manipulador de dos grados de libertad; As mismo, una vez solucionado el problema
cinemtico inverso, se realiz la generacin de su trayectoria de movimiento dinmica y
posteriormente su control, mediante el mtodo del par calculado, con el cual se logr un excelente
seguimiento de la trayectoria de movimiento. Por otro lado, se aplic ANFIS a la solucin del
problema cinemtico inverso de un manipulador plano de tres grados de libertad, en cual se observ
que se obtienen buenos resultados para la identificacin de 1, 2 y 3. Finalmente, se resolvi la
cinemtica inversa de un manipulador con movimiento espacial de tres grados de libertad, en el cual
tambin se obtuvieron resultados precisos dentro del margen de error permitido.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 113
ANLISIS Y DISCUSIN DE
RESULTADOS

Esta seccin presenta los resultados


obtenidos al resolver el problema de
la cinemtica inversa mediante el
empleo de frmulas algebraicas, el
mtodo numrico de Newton y el
sistema ANFIS propuesto. Se
analiza la factibilidad de utilizar
ANFIS como una alternativa al
problema de la cinemtica inversa.

114
Anlisis y Discusin de Resultados

5. Anlisis y discusin de resultados


5.1 Consideraciones generales

La solucin al problema cinemtico inverso mediante el empleo de redes neuro-difusas (ANFIS)


representa una alternativa confiable de solucin, al generar resultados que estn dentro del margen
de error permisible. Es importante sealar que el margen de error permisible depender nica y
exclusivamente de la aplicacin a la que se sujete el manipulador, es decir, al criterio del
programador.

El siguiente esquema presenta de manera breve las principales etapas que intervienen en la solucin
del problema cinemtico inverso del presente trabajo de investigacin:

Generacin de los Aplicacin de la red


datos de Entrenamiento de la neuro-difusa a la
entrenamiento red neuro-difusa solucin del problema

Figura 5.1 Esquema de las etapas de solucin al problema cinemtico inverso

Es fundamental para el desarrollo del sistema neuro-difuso, el generar datos de entrenamiento de


entrada-salida, que sirvan como materia prima para el aprendizaje de la red. Para el primer caso de
estudio se generaron 512 pares de entrenamiento de entrada-salida, correspondiendo a las posiciones
cartesianas (x, y) y a 1 y 2 respectivamente. Se emplearon cuatro funciones de membresa y por lo
tanto se obtienen 16 reglas difusas.

5.2 Anlisis de resultados del primer caso de estudio

5.2.1 Validacin de 1 y 2 inferidos por ANFIS


Para poder comprobar el desempeo de emplear ANFIS en la solucin del problema de la
cinemtica inversa del manipulador robticos plano, se generan dos vectores de entrada x, y los
cuales fungirn como las coordenadas de posicin a alcanzar por el manipulador. Esto se hace en
MATLAB versin R2007b de la siguiente manera:
x = 5 : 0.1: 7
y = 10 : 0.1:12

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 115
Anlisis y Discusin de Resultados

Enseguida se generan arreglos bidimensionales para as poder obtener posibles combinaciones de


los vectores anteriores y de esta forma presentar las entradas a la red neuro-difusa y que a su vez, la
red genere la salida correspondiente (1, 2). Lo anterior es hecho a travs del comando meshgrid de
MATLAB versin R2007b como:
[ X , Y ] = meshgrid ( x, y )
La generacin de datos de entrenamiento, as como el entrenamiento mismo de las redes neuro-
difusas y su validacin, fueron realizados en una computadora con procesador Intel Pentium 4 a
3.3 GHz y 512 Mb en memoria RAM.

Los tiempos de entrenamiento de las dos redes neuro-difusas para predecir 1 y 2, respectivamente,
son los siguientes:
Red neuro-difusa 1: 13.128562 segundos
Red neuro-difusa 2: 12.362061 segundos

La siguiente tabla muestra los resultados obtenidos al comparar las salidas 1 y 2 inferidas por
ANFIS y las salidas 1 y 2 que proporciona el mtodo algebraico de solucin.

Tabla 5.1. Comparacin de resultados obtenidos mediante ANFIS y el mtodo algebraico

Posicin Tiempo de
Posicin Error (%)
Mtodo de deseada ejecucin (s)
1* 2*
solucin
px py px py px py 1 2

ANFIS 0.6437 1.5712 4.9964 9.9998 0.072 0.002 0.0064 0.0061


5 10
Mtodo
0.6435 1.5708 5 10 0 0 0.0092 0.0466
algebraico

ANFIS 0.6786 1.24 6.0803 10.9776 1.3 0.2036 0.0063 0.0074


6 11
Mtodo
0.6837 1.2451 6.0003 10.9996 0.005 0.0036 0.005 0.008
algebraico

ANFIS 0.7706 0.8398 6.9769 11.9617 0.33 0.3191 0.0068 0.0054


7 12
Mtodo
0.7757 0.8230 6.9998 12.0002 0.0028 0.0016 0.005 0.008
algebraico
*Valores de ngulos en radianes

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 116
Anlisis y Discusin de Resultados

El error que se produce entre 1 producido por ANFIS y 1 calculado por mtodos algebraicos se
muestra en la figura 5.2:

-3
x 10 Error entre Teta 1 predecido por ANFIS y Teta 1 calculado
12

10

4
Error

-2

-4

-6

-8
0 50 100 150 200 250 300 350 400 450
No. de pares de entrenamiento

Figura 5.2 Error entre 1 predecido por ANFIS y 1 calculado

Se puede ver claramente en la figura anterior que el error entre ambos mtodos es del orden de
milsimas, presentndose un error mximo de aproximadamente 10x10-3. Estos resultados
demuestran que la salida del sistema neuro-difuso, en este caso 1, es muy aproximada al valor
deseado, con lo cual se puede tener confiabilidad en los resultados obtenidos. Es muy importante
mencionar que el tipo de aplicacin a la que se someta el sistema neuro-difuso determinar si la
precisin obtenida es la ideal y por lo tanto aceptada como solucin. Si la precisin obtenida no es la
idnea se puede intentar minimizar el error de la red neuro-difusa, mediante el empleo de ms datos
de entrenamiento caractersticos del sistema a ser identificado, mayor nmero de funciones de
membresa, mayor nmero de pocas de entrenamiento, distintas funciones de membresa, etc., hasta
obtener la precisin requerida.

La figura 5.3 detalla el error obtenido al comparar la salida predecida de la red neuro-difusa y el
valor calculado mediante el mtodo algebraico tradicional. Se puede ver que el error en este caso es
ms alto que en el obtenido para 2, en donde el error estaba en el orden de milsimas. Aqu el error
est en el rango de centsimas y se encuentra un error mximo de 0.035. Nuevamente, como se
mencion anteriormente, el margen de error aceptable ser determinado por el tipo de aplicacin a la
que se someta el sistema neuro-difuso. Se puede explorar el funcionamiento del sistema cambiando

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 117
Anlisis y Discusin de Resultados

el nmero y tipo de funciones de membresa, nmero de datos de entrenamiento, nmero de pocas,


etc.
Error entre Teta 2 predecido por ANFIS Y Teta 2 calculado
0.04

0.03

0.02
Error

0.01

-0.01

-0.02
0 50 100 150 200 250 300 350 400 450
No. de pares de entrenamiento

Figura 5.3 Error entre 2 predecido por ANFIS y 2 calculado

5.2.2 Error en el control de movimiento mediante el mtodo del par calculado


Las simulaciones demuestran que la aplicacin del mtodo del par calculado al control de
movimiento del manipulador planar de dos grados de libertad, proporciona una estabilidad bastante
aceptable durante el movimiento del manipulador. Enseguida se muestran los errores obtenidos en la
trayectoria de posicin por medio del mtodo del par calculado, los cuales resultan ser para ambas
articulaciones del rango de milsimas. Para una simulacin que sea ms apegada a la realidad se
deberan de modificar los valores de la matriz de inercia del sistema y del vector de efectos de
Coriolis y centrfugo.
x 10
-3 Error entre la trayectoria de posicin deseada y la trayectoria real de la articulacin 1
3

1
Error

-1

-2

-3
0 500 1000 1500 2000 2500 3000 3500
No. de puntos de la trayectoria

Figura 5.4 Error entre la trayectoria de posicin deseada y la trayectoria real de la articulacin 1

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 118
Anlisis y Discusin de Resultados

Como se puede observar en la figura 5.4, el error mximo que surge en el control de la trayectoria de
posicin de la articulacin uno es de 2.7 10-3. Sin embargo, se puede apreciar tambin que existe
una fluctuacin del valor del error a lo largo del seguimiento de la trayectoria. Es posible que se
tengan que ajustar los valores de las constantes de proporcionalidad y/o derivativa, con la finalidad
de sintonizar el controlador y hacerlo an ms estable.

x 10
-3 Error entre la trayectoria de posicin deseada y la trayectoria real de la articulacin 2
8

2
Error

-2

-4

-6

-8
0 500 1000 1500 2000 2500 3000 3500
No. de puntos de la trayectoria
Figura 5.5 Error entre la trayectoria de posicin deseada y la trayectoria real de la articulacin 2

Se muestra en la figura 5.5 que el error en el seguimiento de la trayectoria de posicin de la


articulacin dos es ms alto que en el caso de la articulacin uno. El error que se presenta en este
caso es de aproximadamente 8 10-3. De igual, manera se propone que los valores de las ganancias
proporcional y derivativa sean ajustados hasta obtener un controlador an ms estable.

5.3 Anlisis de resultados del segundo caso de estudio

5.3.1 Validacin de 1, 2 y 3 inferidos por ANFIS


Para poder comprobar el desempeo de emplear ANFIS en la solucin del problema de la
cinemtica inversa del manipulador robtico plano de tres grados de libertad, se generan dos
vectores de entrada x, y los cuales fungirn como las coordenadas de posicin a alcanzar por el
manipulador. Esto se hace en MATLAB versin R2007b de la siguiente manera:
x = 5 : 0.1: 7
y = 10 : 0.1:12

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 119
Anlisis y Discusin de Resultados

La tabla siguiente detalla los resultados obtenidos mediante la aplicacin de ANFIS y el mtodo
numrico de Newton.

Tabla5.2. Comparacin entre resultados obtenidos mediante ANFIS y el mtodo de Newton

Posicin
Mtodo Posicin Error (%) Tiempo de ejecucin (s)
deseada
de 1*
2*
3*

solucin px py px py px py 1 2 3

ANFIS 0.5935 1.4628 1.0803 4.9566 10.0199 0.868 0.199 0.0092 0.0075 0.0113
Mtodo 5 10
numrico
5.0005 9.9998 0.01 0.002 0.0137 0.0137 0.0137
de 0.6941 0.8808 0.8331
Newton
ANFIS 0.6092 1.2406 0.7246 5.9807 11.0660 0.3216 0.6 0.0073 0.0080 0.0094
Mtodo 6 11
numrico
6.0004 10.9998 0.0066 0.0018 0.0136 0.0136 0.0136
de 0.6033 1.2472 0.7437
Newton
ANFIS 0.6941 0.8808 0.8331 6.9230 12.0664 1.1 0.5533 0.0088 0.0092 0.0091
Mtodo
numrico 7 12
0.6802 0.9049 0.7652 7 12.0002 0 0.0016 0.0141 0.0141 0.0141
de
Newton
*Valores de ngulos en radianes

Los tiempos de entrenamiento de las tres redes neuro-difusas para predecir 1, 2 y 3,


respectivamente, son los siguientes:

Red neuro-difusa 1: 125.584774 segundos


Red neuro-difusa 2: 124.757529 segundos
Red neuro-difusa 3: 124.808098 segundos

5.4 Anlisis de resultados del tercer caso de estudio

5.4.1 Validacin de 1, 2 y 3 inferidos por ANFIS


Las simulaciones de los entrenamientos para el caso del manipulador con movimiento espacial
fueron realizadas en una estacin de trabajo (Workstation) con cuatro procesadores XEON a 3 GHz
y con 4 Gb de memoria RAM. Esto es, debido a que la cantidad de datos de entrenamiento que son
presentados a los sistemas ANFIS, es demasiado grande y por lo tanto, consume en la ejecucin de
dicho entrenamiento muchos recursos computacionales y tiempo, como para realizarse en una
computadora personal.
Desarrollo de un sistema neuro-difuso para la solucin
a la cinemtica inversa de manipuladores robticos 120
Anlisis y Discusin de Resultados

La tabla siguiente muestra los resultados obtenidos mediante la aplicacin de ANFIS y el mtodo
numrico de Newton.

Tabla 5.3. Comparacin entre resultados obtenidos mediante ANFIS y el mtodo de Newton

Tiempo de ejecucin
Posicin deseada Posicin Error (%)
Mtodo (s)
de 1* 2* 3*
solucin
px py pz px py pz px py pz 1 2 3

ANFIS 0.2994 0.0556 0.2804 5.7042 1.7608 10.6007 0.074 0.045 0.0066 0.009 0.008 0.009

Mtodo 5.7 1.76 10.6


numrico
0.2995 0.0832 0.1024 5.7 1.7601 10.6001 0 0.005 0.0009 0.023 0.023 0.023
de
Newton

ANFIS 0.3016 0.0411 0.2618 5.6817 1.7675 10.5037 0.383 0.426 0.035 0.008 0.009 0.008

Mtodo 5.66 1.76 10.5


numrico
0.3015 0.0260 0.3531 5.6599 1.7601 10.5001 0.001 0.005 0.0009 0.016 0.016 0.016
de
Newton

ANFIS 0.3031 -0.0348 0.6228 5.5633 1.7398 10.3807 0.655 0.582 0.089 0.009 0.008 0.009

Mtodo 5.6 1.75 10.39


numrico
0.3029 -0.0212 0.5405 5.5999 1.7501 10.3903 0.001 0.005 0.0028 0.017 0.017 0.017
de
Newton

*Valores de ngulos en radianes

Los tiempos de entrenamiento de las tres redes neuro-difusas para predecir 1, 2 y 3,


respectivamente, son los siguientes:

Red neuro-difusa 1: 330.529604 segundos


Red neuro-difusa 2: 329.936850 segundos
Red neuro-difusa 3: 330.166355 segundos

Como se puede apreciar en las tablas 5.1 a 5.3, el tiempo de solucin para las variables en los tres
casos, una vez que la red ha sido entrenada, es menor que utilizando mtodos convencionales para la
solucin a la cinemtica inversa. Lo anterior confirma la pertinencia en el uso de un sistema basado
en redes neuro-difusas para un sistema cuyo espacio de solucin es no lineal.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 121
Anlisis y Discusin de Resultados

5.3 Sumario

Durante el desarrollo del presente captulo se expusieron los resultados obtenidos al aplicar ANFIS a
la solucin del problema cinemtico inverso del manipulador plano de dos grados de libertad, se
observ que el error entre 1 y 2 identificados por ANFIS y 1 y 2 calculados por mtodo
algebraico es del orden de milsimas, por lo que se considera para este caso tolerable. As mismo se
demostr que el mtodo del par calculado es una buena estrategia para controlar el movimiento del
manipulador. La solucin del problema de la cinemtica inversa del manipulador plano de tres
grados de libertad presenta excelentes resultados al ser resuelto mediante ANFIS, siendo estos
resultados muy similares a los obtenidos mediante el mtodo numrico de Newton.

Finalmente, se observa que la aplicacin de ANFIS a la solucin del problema cinemtico inverso
para el manipulador con movimiento espacial de tres grados de libertad, demuestra en general
buenos resultados, siempre y cuando el rango de dominio de valores de las entradas sea pequeo y
dentro del espacio de trabajo del manipulador; ello, debido a que el generar un mapeo de puntos en
el espacio resulta en arreglos matriciales demasiado grandes, y en consecuencia se obtienen grandes
nmeros de pares de entrenamiento, lo cual se ve limitado por los recursos computacionales
disponibles.

Desarrollo de un sistema neuro-difuso para la solucin


a la cinemtica inversa de manipuladores robticos 122
CONCLUSIONES Y
RECOMENDACIONES PARA
TRABAJOS FUTUROS.

123
Conclusiones y Recomendaciones para Trabajos Futuros

Conclusiones y recomendaciones para trabajos futuros.


Conclusiones generales.

Durante el desarrollo de este trabajo se investig la aplicabilidad de sistemas neuro-difusos para la


solucin al problema de la cinemtica inversa de manipuladores robticos. Del establecimiento del
estado del arte se identificaron diversas investigaciones que tratan la aplicacin de herramientas
derivadas de la computacin flexible a problemas relacionados con la robtica. En particular, se
estableci que el uso de sistemas basados en redes neuronales es particularmente adecuado para
sistemas no lineales debido a la naturaleza paralela de la estructura interna de las redes neuronales
artificiales. Adicionalmente, la combinacin de las redes neuronales con sistemas difusos, permiten
al sistema tratar con informacin vaga y por lo tanto presenta una mayor estabilidad ante la
presencia de incertidumbres, al poder inferir el comportamiento del sistema basado en los datos de
entrenamiento, proporcionando una salida adecuada.

El desarrollo y aplicacin de sistemas neuro-difusos para la solucin a la cinemtica inversa de


manipuladores robticos demostr ser exitosa y con alto grado de confiabilidad y exactitud en los
resultados obtenidos. Para validar los resultados arrojados por el ANFIS, se solucion el problema
cinemtico inverso por medio de lgebra y funciones trigonomtricas, haciendo despus una
comparacin entre ambos mtodos.

La solucin a la cinemtica inversa para los casos de estudio de manipuladores planos de dos y tres
grados de libertad se resolvi de manera satisfactoria y con bastante precisin en los resultados. Sin
embargo, se debe mencionar que la aplicacin de redes neuro-difusas a la identificacin y
aproximacin de alguna funcin, no obedece a ninguna regla procedimiento predeterminado, sino
que se determina primeramente la manera de generar los pares de entrenamiento. Esto es,
dependiendo el caso, laborioso y a veces complicado.

Por otro lado, se debe tambin experimentar la fusificacin de las entradas ntidas variando el
nmero y tipo de las funciones de membresa, de manera tal que stas representen lo ms fielmente
posible la naturaleza de los datos de entrenamiento. Ya estando en la etapa de entrenamiento de la
red se puede explorar tambin cul es el cambio que ocurre al variar el nmero de pocas de
entrenamiento. Una vez que se obtiene un error permisible tolerable, se ha efectuado entonces la

124
Conclusiones y Recomendaciones para Trabajos Futuros

parte de aprendizaje de la red, quedando lista para su posterior aplicacin en la identificacin y


aproximacin de cualquier funcin.

Otro detalle que sera muy importante mencionar es el hecho del comportamiento de la red neuro-
difusa cuando se efecta la etapa de aprendizaje, al variar el valor de inicio del factor del filtro de
Kalman. La inicializacin de este factor es de trascendental importancia para la convergencia y
correcto entrenamiento de la red neuro-difusa. Se concluye que el valor elegido de este factor debe
ser un nmero bastante grande, el cual se determina a base de prueba y error hasta que se obtiene un
error permisible.

Para el caso de estudio de un manipulador de tres grados de libertad el problema se complica un


poco ms, ya que no es tan fcil obtener los datos de entrenamiento que sern presentados a la red
neuro-difusa para su aprendizaje. Primero que nada, es necesario obtener los parmetros de Denavit-
Hartenberg y las matrices de transformacin homognea, con la finalidad de solucionar el problema
cinemtico directo y de esta manera tener las herramientas indispensables para poder generar los
datos de entrenamiento.

Para este caso el volumen de datos de entrenamiento es mucho mayor que en el caso anterior, debido
a que esta vez se har un mapeo entre tres entradas y una salida. La identificacin de la cinemtica
inversa del manipulador de tres grados de libertad result ser un caso ms complejo, ya que fue
necesario ser ms exhaustivo en el desarrollo de las redes neuro-difusas que lo solucionan. La
identificacin de 1, 2 y 3 fue muy exitosa.

De manera general, se puede mencionar que la exploracin y aplicacin de redes neuro-difusas


llevada a cabo en este trabajo de investigacin, result ser una experiencia muy agradable y
enriquecedora en la formacin cientfica y profesional del autor. Sobre todo porque es un rea llena
de posibilidades de aplicacin a la solucin de mltiples problemas que se presentan en el
interesante y vasto campo de la robtica.

Retomando el objetivo general, desarrollar y simular un sistema neuro-difuso aplicado a la solucin


de la cinemtica inversa de tres manipuladores robticos de dos y tres grados de libertad, y los
particulares, planteados al inicio de esta tesis, se puede concluir lo siguiente:

125
Conclusiones y Recomendaciones para Trabajos Futuros

Con respecto al primer objetivo particular, establecer una metodologa para la generacin de datos
de entrenamiento que sirvan para entrenar a los sistemas neuro-difusos propuestos, fue necesario
establecer el estado del arte para comprender y aprender sobre las capacidades y limitaciones de los
sistemas neuro-difusos en el captulo 1. De igual manera, en el captulo 2 se establecieron los
fundamentos tericos necesarios que permitieron desarrollar algoritmos bsicos que se utilizaron
posteriormente en el captulo 3 para la implementacin de una metodologa para el entrenamiento de
un sistema neuro-difuso.

En lo referente a los siguientes objetivos particulares, que consideran el diseo de sistemas neuro-
difusos para los casos de estudio, objetivos particulares 2 y 3; y el anlisis dinmico para la
generacin y control de trayectorias planteado en objetivo particular 4. stos son resueltos en el
desarrollo presentado en el captulo 4, donde se resuelven los casos de estudio planteados utilizando
las herramientas desarrolladas.

Finalmente, en el captulo 5 se comparan los resultados obtenidos utilizando los sistemas neuro-
difusos propuestos contra resultados derivados de mtodos convencionales, como el algebraico y el
numrico de Newton. Confirmando la robustez del mtodo planteado basado en sistemas ANFIS.

Por ltimo, basado en cmo se resolvieron cada uno de los objetivos particulares, se puede concluir
que el objetivo general de esta tesis ha sido satisfecho completamente, pues se desarrollaron
herramientas adecuadas para la solucin al problema presentado.

Recomendaciones para trabajos futuros

Desarrollar y aplicar una red neuro-difusa a la solucin de la cinemtica inversa de manipuladores


de n grados de libertad. El presento trabajo de investigacin se desarrolla para los casos de estudio
de manipuladores de dos y tres grados de libertad nicamente.

Explorar la aplicacin y factibilidad de las redes neuro-difusas en el campo del control de


movimiento de manipuladores robticos. Sera de gran inters profundizar en el estudio del mtodo
de control del par calculado apoyado en las redes neuro-difusas para el control de manipuladores
robticos de n grados de libertad.

126
Conclusiones y Recomendaciones para Trabajos Futuros

Desarrollar el ajuste de los parmetros antecedentes, es decir, los parmetros que cambian la forma
de las funciones de membresa. Esto forma parte del aprendizaje hbrido que emplean los sistemas
neuro-difusos para su entrenamiento. En el presente trabajo de investigacin nicamente se
ajustaron los parmetros consecuentes y los parmetros antecedentes se mantuvieron constantes a lo
largo del entrenamiento de la red.

Realizar una simulacin dinmica de la generacin de trayectorias de movimiento en el software


MSC ADAMS, con la finalidad de comparar y en su caso validar los resultados obtenidos en este
trabajo.

127
Referencias

Referencias
ABB, R. (2007) 10 good reasons to invest in robots.
ALAVANDAR, S. & NIGAM, M. J. (2008) Inverse Kinematics Solution of a 3 DOF Planar Robot
using ANFIS. International Journal of Computers, Communications and Control, pp. 83-88.
ARIMOTO, S. & MIYAZAKI, F. (1985) "Stability and Robustness of PID Feedback Control for
Robot Manipulators of Sensory Capability". Third International Symposium of Robotics
Research. Gouvieux, Francia.
BIDAUD, P. & BEN AMAR, F. (2006) 5th. International Conference on Climbing and Walking
Robots and the Support Technologies for Mobile Machines.
CRAIG, J. J. (1955) Introduction to Robotics: Mechanics and Control, EUA, Addison-Wesley.
CRAIG, J. J. (1988) Adaptive Control of Mechanical Manipulators, EUA.
DENAVIT, J. (1956) Description and Displacement Analysis of Mechanisms Based on 2 x 2 Dual
Matrices. Mechanical Engineering. Evanston, Ill., Northwestern U.
DENAVIT, J. & HARTENBERG, R. S. (1955) A Kinematic Notation for Lower-Pair Mechanisms
Based on Matrices. Journal of Applied Mechanics, pp. 215-221.
FAUSETT, L. V. (1999) Applied Numerical Analysis using Matlab, Upper Saddle River, NJ.
FU, K. S., GONZLEZ, R. C. & LEE, C. S. G. (1988) Robtica: Control, Deteccin, Visin e
Inteligencia, Espaa, Ed. McGraw Hill.
FUZZY LOGIC, T. (2004) Modeling Inverse Kinematics in a Robotic Arm.
HAGAN, M. T., DEMUTH, H. B. & BEALE, M. (1996) Neural Network Design, EUA, PWS
Publishing Company.
HASAN, A. T., HAMOUDA, A. M. S., ISMAIL, N. & AL-ASSADI, H. M. A. A. (2006) An
adaptive-learning algorithm to solve the inverse kinematics problem of a 6 DOF serial robot
manipulators. Advances in Engineering Software, Vol.37, pp.432-438.
HEBB, D. O. (1949) The Organization Of Behavior, New York, Wiley.
HER, M. G., CHEN, C. Y., HUNG, Y. C. & KARKOUB, M. (2002) Approximating a robot inverse
kinematics solution using fuzzy logic tuned by genetic algorithms. The International Journal
of advanced manufacturing technology, Vol. 20, pp. 375-380.
HOWARD, D. W. & ZILOUCHIAN, A. (1998) Application of fuzzy logic for the solution of
inverse kinematics and hierarchical control of robotic manipulators. Journal of Intelligent
and Robotic Systems, Vol. 23, pp. 217-247.
IIGO, R. & VIDAL, E. (2004) Robots industriales manipuladores, Barcelona Espaa, Ed.
Alfaomega.
JAFARI, S. & JARVIS, R. (2004) Robotic Hand-Eye Coordination: From Observation to
Manipulation. IN SOCIETY, I. C. (Ed.) 4th. International Conference on Hybrid Intelligent
Systems.
KIM, S. W., LEE, J. J. & SUGISAKA, M. (1993) Inverse kinematics solution based on fuzzy logic
for redundant manipulators. IN SYSTEMS, I. R. A. (Ed.) Proceedings of the 1993 IEEE/RSJ
International Conference on Robotics.
KOHLI, D. & SONI, A. H. (1975) Kinematic Analysis of Spatial Mechanisms via Successive Screw
Displacements. J. Engr. for Industry, Trans. ASME, vol. 2, pp. 739-747.
KOIVO, A. J. (1989) Fundamentals for Control of Robotic Manipulators, EUA.
KKER, R. (2005) Reliability-based approach to the inverse kinematics solution of robots using
Elman's networks. Engineering Applications of Artificial Intelligence, Vol.18, pp.685-693.
KKER, R., Z, C., AKAR, T. & EKIZ, H. (2004) A study of neural network based inverse
kinematics solution for a three-joint robot. Robotics and Autonomous Systems, Vol. 49,
pp.227-234.

128
Referencias

KONDO, T. (1986) Revised GMDH algorithm estimating degree of the complete polynomial.
Trans. Soc. Instrument and Control Engineers, Vol. 22, pp. 928-934.
KUO, B. (1996) Sistemas de control automtico, Mxico, D.F., Prentice Hall.
LEE, C. S. G. & ZIEGLER, M. (1984) A Geometric Approach in Solving the Inverse Kinematics of
PUMA Robots. IEEE Trans. Aerospace and Electronic Systems, vol. AES-20.
LIN, C. T. & LEE, G. (1996) Neural-Fuzzy Systems, EUA, Prentice Hall.
MARTN, P. & MILN, J. D. R. (2000) Robot arm reaching through neural network inversions and
reinforcement learning. Robotics and Autonomous Systems, Vol. 31, pp.227-246.
MATLAB (2004) Help.
MCCULLOCH, W. S. & PITTS, W. (1943) A logical Calculus of Ideas Immanent in Nervous
Activity. Bull. Math. Biophys., 5, pp. 115-133.
NAKAJIMA, M., OKADA, T., HATTORI, S. & MOROOKA, Y. (1993) "Application of pattern
recognition and control technique to shape control of the rolling mill". Hitachi Review, 75:2,
9-12.
NEDUNGADI, A. (1991) Application of fuzzy logic to solve the robot inverse kinematics problem.
Proceedings of the 4th. World Conference on Robotics Research.
NIKU, S. B. (2001) Introduction to Robotics:Analysis, Systems, Applications
Upper Saddle River, New Jersey, Prentice Hall

OGATA, K. (2003) Ingeniera de control moderna, Madrid, Espaa, Pearson Prentice Hall

OYAMA, E., AGAH, A., MACDORMAN, K. F., MAEDA, T. & TACHI, S. (2001) A modular
neural network arquitecture for inverse kinematics model learning. Neurocomputing, Vol.
38-40, pp.797-805.
PASSINO, K. M. & YURKOVICH, S. (1998) FUZZY CONTROL, EUA, Addison-Wesley.
PAUL, R. P., SHIMANO, B. E. & MAYER, G. (1981) Kinematic Control Equations For Simple
Manipulators. IEEE Trans. Systems, Man and Cybern., Vol. SMC-11, pp. 449-455.
PAUL, R. P. & STEVENSON, C. N. (1983) "Kinematics of Robot Wrists". The International
Journal of Robotics Research, Vol. 2, pp. 31-38.
ROGER JANG, J. S. (1993) ANFIS: Adaptive-Network-Based Fuzzy Inference System. IEEE
TRANSACTIONS ON SYSTEMS, MAN AND CYBERNETICS, Vol. 23, pp. 665-85.
ROGER JANG, J. S., CHUEN-TSAI, S. & EIJI, M. (1997) Neuro-Fuzzy and Soft Computing
A Computational Approach to Learning and Machine Intelligence, Upper Saddle River, NJ,USA.
ROGER JANG, J. S. & GULLEY, N. (2007) MATLAB Fuzzy Logic Toolbox.
SAHOO, N. C., PANDA, S. K. & DASH, P. K. (2000) A Current Modulation Scheme for Direct
Torque Control of Switched Reluctance Motor using Fuzzy Logic. Mechatronics, The
Science of Intelligent Machines, vol. 10, pp. 353-370.
SLOTINE, J. J. E. & LI, W. (1987) "On the Adaptive Control of Robot Manipulators". IJRR, Vol. 6,
No. 3, pp. 49-59.
SPONG, M. W. & VIDYASAGAR, M. (1999) Robot Dynamics and Control, EUA, Ed. Wyley.
SUGENO, M. & KANG, G. T. (1988) Structure Identification of Fuzzy Model. Fuzzy Sets and
Systems, Vol. 28, pp. 15-33.
TAKAGI, T. & SUGENO, M. (1985) Fuzzy Identification of Systems and Its Application to
Modeling and Control. IEEE, TRANSACTIONS ON SYSTEMS, MAN AND CYBERNETICS,
Vol. SMC-15, pp. 116-32.
TEJOMURTULA, S. & KAK, S. (1999) Inverse kinematics in Robotics using neural networks
Information Sciences, Vol.116, pp.147-164.

129
Referencias

UICKER, J. J., DENAVIT, J. & HARTENBERG, R. S. (1964) An Iterative Method for the
Displacement Analysis of Spatial Mechanisms. Trans. ASME, J. Appl. Mech., vol. 31, pp.
309-314.
WANG, H. R. & LI, Y. (2003) A new solution for inverse kinematics based on neural network.
International Conference on Machine Learning and Cybernetics.
XU, Y. & NECHYBA, M. (1993) Fuzzy inverese kinematic mapping: Rule generation, efficiency
and implementation. Proceedings of the International Conference on Intelligent Robots and
Systems.
YANG, A. T. & FREUDENSTEIN, R. (1964) Application of Dual Number Quaternian Algebra to
the Analysis of Spatial Mechanisms. Trans. ASME, J. Appl. Mech., vol. 31, pp. 152-157.
ZADEH, L. A. (1975) The concept of a linguistic variable and its application to approximate
reasoning. Inform. Sci., Vol. 8, pp. 199-249.
ZADEH, L. A. (1994) Soft Computing and Fuzzy Logic. . IEEE Software, Vol. 11, pp. 48-56.

130
Anexos

ANEXOS

Esta seccin presenta los anexos


relevantes a este trabajo de
investigacin. Se incluye el cdigo
del programa desarrollado y las
publicaciones presentadas en
congresos.

131
Anexos

Anexos.
Anexo 1. Cdigo desarrollado

%Sistema neuro-difuso para resolver la cinemtica inversa de un manipulador


%planar de dos grados de libertad
%Entrenamiento para aprender Teta1
clear all; clc;
%Inicializacin de la matriz S
gama=1e8;
I=eye(48);
S=(gama)*I;
%Inicializacin de la matriz de parmetros X
X=zeros(48,1);
%Generacin de los datos de entrenamiento para Teta1 y Teta2
long1=10;
long2=5;
%Rango de movilidad de los eslabones
teta1=[0:0.1:pi/2];
teta2=[0:0.1:pi];
%Creacin de los arreglos matriciales de todas las posibles combinaciones de Theta1 y Theta2
[Teta1,Teta2]=meshgrid(teta1,teta2);
%Ecuaciones cinemticas directas para obtener todos los valores posibles %de x,y
x=long1*cos(Teta1)+long2*cos(Teta1+Teta2);
y=long1*sin(Teta1)+long2*sin(Teta1+Teta2);
x=x(:);
y=y(:);
Teta1=Teta1(:);
Teta2=Teta2(:);
%Espacio de trabajo del manipulador
plot(x,y,'r+');
epocas=512;
for i=1:epocas

%Difusificacin(Capa 1)
a1=3.816; b1=1.633; c1=-3.881;
a2=3.55; b2=2.009; c2=1.472;
a3=3.209; b3=1.648; c3=8.829;
a4=2.505; b4=1.798; c4=15.11;
a5=2.383; b5=2.29; c5=0.05279;
a6=2.427; b6=1.748; c6=4.785;
a7=2.766; b7=1.958; c7=10.25;
a8=2.392; b8=1.812; c8=15.19;
o11(i)=gbellmf(x(i),[a1 b1 c1]); o12(i)=gbellmf(x(i),[a2 b2 c2]);
o13(i)=gbellmf(x(i),[a3 b3 c3]); o14(i)=gbellmf(x(i),[a4 b4 c4]);
o15(i)=gbellmf(y(i),[a5 b5 c5]); o16(i)=gbellmf(y(i),[a6 b6 c6]);
o17(i)=gbellmf(y(i),[a7 b7 c7]); o18(i)=gbellmf(y(i),[a8 b8 c8]);
%Fuerza de disparo de las reglas,operador T-norm(Capa 2)
o21(i)=o11(i)*o15(i); o22(i)=o11(i)*o16(i); o23(i)=o11(i)*o17(i);
o24(i)=o11(i)*o18(i); o25(i)=o12(i)*o15(i); o26(i)=o12(i)*o16(i);
o27(i)=o12(i)*o17(i); o28(i)=o12(i)*o18(i); o29(i)=o13(i)*o15(i);
o210(i)=o13(i)*o16(i); o211(i)=o13(i)*o17(i); o212(i)=o13(i)*o18(i);
o213(i)=o14(i)*o15(i); o214(i)=o14(i)*o16(i); o215(i)=o14(i)*o17(i);
o216(i)=o14(i)*o18(i);

%Normalizacin de las fuerzas de disparo(Capa 3)

O(i)=o21(i)+o22(i)+o23(i)+o24(i)+o25(i)+o26(i)+o27(i)+o28(i)+o29(i)+o210(i)+o211(i)+o212(i)+o213(i)+
o214(i)+o215(i)+o216(i);
o31(i)=o21(i)/O(i); o32(i)=o22(i)/O(i); o33(i)=o23(i)/O(i); o34(i)=o24(i)/O(i);
o35(i)=o25(i)/O(i); o36(i)=o26(i)/O(i); o37(i)=o27(i)/O(i); o38(i)=o28(i)/O(i);
o39(i)=o29(i)/O(i); o310(i)=o210(i)/O(i); o311(i)=o211(i)/O(i);
o312(i)=o212(i)/O(i); o313(i)=o213(i)/O(i);o314(i)=o214(i)/O(i);
o315(i)=o215(i)/O(i); o316(i)=o216(i)/O(i);

%Formacin de la matriz A
A(1,1)=o31(i)*x(i); A(1,2)=o31(i)*y(i); A(1,3)=o31(i);
A(1,4)=o32(i)*x(i); A(1,5)=o32(i)*y(i); A(1,6)=o32(i);
A(1,7)=o33(i)*x(i); A(1,8)=o33(i)*y(i); A(1,9)=o33(i);

132
Anexos

A(1,10)=o34(i)*x(i); A(1,11)=o34(i)*y(i); A(1,12)=o34(i);


A(1,13)=o35(i)*x(i); A(1,14)=o35(i)*y(i); A(1,15)=o35(i);
A(1,16)=o36(i)*x(i); A(1,17)=o36(i)*y(i); A(1,18)=o36(i);
A(1,19)=o37(i)*x(i); A(1,20)=o37(i)*y(i); A(1,21)=o37(i);
A(1,22)=o38(i)*x(i); A(1,23)=o38(i)*y(i); A(1,24)=o38(i);
A(1,25)=o39(i)*x(i); A(1,26)=o39(i)*y(i); A(1,27)=o39(i);
A(1,28)=o310(i)*x(i); A(1,29)=o310(i)*y(i); A(1,30)=o310(i);
A(1,31)=o311(i)*x(i); A(1,32)=o311(i)*y(i); A(1,33)=o311(i);
A(1,34)=o312(i)*x(i); A(1,35)=o312(i)*y(i); A(1,36)=o312(i);
A(1,37)=o313(i)*x(i); A(1,38)=o313(i)*y(i); A(1,39)=o313(i);
A(1,40)=o314(i)*x(i); A(1,41)=o314(i)*y(i); A(1,42)=o314(i);
A(1,43)=o315(i)*x(i); A(1,44)=o315(i)*y(i); A(1,45)=o315(i);
A(1,46)=o316(i)*x(i); A(1,47)=o316(i)*y(i); A(1,48)=o316(i);
%Matriz transpuesta de A
At=A';
%Obtencin de la matriz de S(k+1)
res1=S*At;
res2=res1*A;
res3=res2*S;
res4=A*res1;
res5=1+res4;
res6=res3/res5;
res7=S-res6;
S=res7;
%Obtencin de la matriz X(k+1)
res8=S*At;
res9=A*X;
res10=Teta1(i)-res9;
res11=res8*res10;
res12=X+res11;
X=res12;
%Parmetros consecuentes
p1(i)=X(1,1); q1(i)=X(2,1); r1(i)=X(3,1);
p2(i)=X(4,1); q2(i)=X(5,1); r2(i)=X(6,1);
p3(i)=X(7,1); q3(i)=X(8,1); r3(i)=X(9,1);
p4(i)=X(10,1); q4(i)=X(11,1); r4(i)=X(12,1);
p5(i)=X(13,1); q5(i)=X(14,1); r5(i)=X(15,1);
p6(i)=X(16,1); q6(i)=X(17,1); r6(i)=X(18,1);
p7(i)=X(19,1); q7(i)=X(20,1); r7(i)=X(21,1);
p8(i)=X(22,1); q8(i)=X(23,1); r8(i)=X(24,1);
p9(i)=X(25,1); q9(i)=X(26,1); r9(i)=X(27,1);
p10(i)=X(28,1); q10(i)=X(29,1); r10(i)=X(30,1);
p11(i)=X(31,1); q11(i)=X(32,1); r11(i)=X(33,1);
p12(i)=X(34,1); q12(i)=X(35,1); r12(i)=X(36,1);
p13(i)=X(37,1); q13(i)=X(38,1); r13(i)=X(39,1);
p14(i)=X(40,1); q14(i)=X(41,1); r14(i)=X(42,1);
p15(i)=X(43,1); q15(i)=X(44,1); r15(i)=X(45,1);
p16(i)=X(46,1); q16(i)=X(47,1); r16(i)=X(48,1);

%Funciones de los nodos (Capa 4)


f1(i)=p1(i)*x(i)+q1(i)*y(i)+r1(i); f2(i)=p2(i)*x(i)+q2(i)*y(i)+r2(i);
f3(i)=p3(i)*x(i)+q3(i)*y(i)+r3(i); f4(i)=p4(i)*x(i)+q4(i)*y(i)+r4(i);
f5(i)=p5(i)*x(i)+q5(i)*y(i)+r5(i); f6(i)=p6(i)*x(i)+q6(i)*y(i)+r6(i);
f7(i)=p7(i)*x(i)+q7(i)*y(i)+r7(i); f8(i)=p8(i)*x(i)+q8(i)*y(i)+r8(i);
f9(i)=p9(i)*x(i)+q9(i)*y(i)+r9(i); f10(i)=p10(i)*x(i)+q10(i)*y(i)+r10(i);
f11(i)=p11(i)*x(i)+q11(i)*y(i)+r11(i); f12(i)=p12(i)*x(i)+q12(i)*y(i)+r12(i);
f13(i)=p13(i)*x(i)+q13(i)*y(i)+r13(i); f14(i)=p14(i)*x(i)+q14(i)*y(i)+r14(i);
f15(i)=p15(i)*x(i)+q15(i)*y(i)+r15(i); f16(i)=p16(i)*x(i)+q16(i)*y(i)+r16(i);

o41(i)=o31(i)*f1(i); o42(i)=o32(i)*f2(i); o43(i)=o33(i)*f3(i);


o44(i)=o34(i)*f4(i); o45(i)=o35(i)*f5(i); o46(i)=o36(i)*f6(i);
o47(i)=o37(i)*f7(i); o48(i)=o38(i)*f8(i); o49(i)=o39(i)*f9(i);
o410(i)=o310(i)*f10(i); o411(i)=o311(i)*f11(i); o412(i)=o312(i)*f12(i);
o413(i)=o313(i)*f13(i); o414(i)=o314(i)*f14(i); o415(i)=o315(i)*f15(i);
o416(i)=o316(i)*f16(i);

%Salida suma total(Capa 5)


out(i)=o41(i)+o42(i)+o43(i)+o44(i)+o45(i)+o46(i)+o47(i)+o48(i)+o49(i)+o410(i)+
o411(i)+o412(i)+o413(i)+o414(i)+o415(i)+o416(i);
end
plot(out,'r');hold on;plot(Teta1,'b');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

133
Anexos

%La solucin a la cinemtica inversa para un manipulador planar de dos


%grados de libertad, se puede obtener por trigonometra:

x = 5:0.1:7; %
y = 10:0.1:12; %
[X, Y] = meshgrid(x,y);
c2 = (X.^2 + Y.^2 - long1^2 - long2^2)/(2*long1*long2);
s2 = sqrt(1 - c2.^2);
THETA2_C = atan2(s2, c2); THETA2_C=THETA2_C(:);
k1 = long1 + long2.*c2;
k2 = long2*s2;
THETA1_C = atan2(Y, X) - atan2(k2, k1); THETA1_C=THETA1_C(:);
X=X(:);
Y=Y(:);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Los valores calculados para Theta1 de forma trigonomtrica son


%ahora calculados mediante la red ANFIS
%Red entrenada
ciclos=441;
for i=1:ciclos

%Difusificacin(Capa 1)
a1=3.816; b1=1.633; c1=-3.881;
a2=3.55; b2=2.009; c2=1.472;
a3=3.209; b3=1.648; c3=8.829;
a4=2.505; b4=1.798; c4=15.11;
a5=2.383; b5=2.29; c5=0.05279;
a6=2.427; b6=1.748; c6=4.785;
a7=2.766; b7=1.958; c7=10.25;
a8=2.392; b8=1.812; c8=15.19;
o11(i)=gbellmf(X(i),[a1 b1 c1]); o12(i)=gbellmf(X(i),[a2 b2 c2]); o13(i)=gbellmf(X(i),[a3
b3 c3]); o14(i)=gbellmf(X(i),[a4 b4 c4]);
o15(i)=gbellmf(Y(i),[a5 b5 c5]); o16(i)=gbellmf(Y(i),[a6 b6 c6]); o17(i)=gbellmf(Y(i),[a7
b7 c7]); o18(i)=gbellmf(Y(i),[a8 b8 c8]);
%Fuerza de disparo de las reglas,operador T-norm(Capa 2)
o21(i)=o11(i)*o15(i); o22(i)=o11(i)*o16(i); o23(i)=o11(i)*o17(i); o24(i)=o11(i)*o18(i);
o25(i)=o12(i)*o15(i); o26(i)=o12(i)*o16(i); o27(i)=o12(i)*o17(i); o28(i)=o12(i)*o18(i);
o29(i)=o13(i)*o15(i); o210(i)=o13(i)*o16(i); o211(i)=o13(i)*o17(i); o212(i)=o13(i)*o18(i);
o213(i)=o14(i)*o15(i); o214(i)=o14(i)*o16(i); o215(i)=o14(i)*o17(i); o216(i)=o14(i)*o18(i);
%Normalizacin de las fuerzas de disparo(Capa 3)

O(i)=o21(i)+o22(i)+o23(i)+o24(i)+o25(i)+o26(i)+o27(i)+o28(i)+o29(i)+o210(i)+o211(i)+o212(i)+o213(i)+
o214(i)+o215(i)+o216(i);
o31(i)=o21(i)/O(i); o32(i)=o22(i)/O(i); o33(i)=o23(i)/O(i); o34(i)=o24(i)/O(i);
o35(i)=o25(i)/O(i); o36(i)=o26(i)/O(i); o37(i)=o27(i)/O(i); o38(i)=o28(i)/O(i);
o39(i)=o29(i)/O(i); o310(i)=o210(i)/O(i); o311(i)=o211(i)/O(i); o312(i)=o212(i)/O(i);
o313(i)=o213(i)/O(i); o314(i)=o214(i)/O(i); o315(i)=o215(i)/O(i); o316(i)=o216(i)/O(i);

%Parmetros consecuentes identificados despus del entrenamiento


p1=25.4506; q1=-0.9100; r1=77.3228;
p2=-0.2044; q2=0.0509; r2=0.8561;
p3=-0.1181; q3=-0.0117; r3=1.1416;
p4=-0.0411; q4=-0.0014; r4=1.6172;
p5=-3.6548; q5=-0.3344; r5=0.3953;
p6=-0.0355; q6=0.0700; r6=0.3722;
p7=-0.0765; q7=0.0927; r7=0.1584;
p8=-0.0340; q8=0.2430; r8=-2.1434;
p9=0.3806; q9=0.8374; r9=-10.5034;
p10=-0.0027; q10=0.1003; r10=-0.4453;
p11=-0.0282; q11=0.1079; r11=-0.3020;
p12=-0.1074; q12=0.1473; r12=-0.3932;
p13=0.5917; q13=0.0300; r13=-10.5743;
p14=0.1598; q14=0.0922; r14=-2.3983;
p15=-0.2469; q15=-0.0880; r15=4.0238;
p16=10.6581; q16=10.6719; r16=-193.3762;
%Funciones de los nodos (Capa 4)
f1(i)=p1*X(i)+q1*Y(i)+r1; f2(i)=p2*X(i)+q2*Y(i)+r2; f3(i)=p3*X(i)+q3*Y(i)+r3;
f4(i)=p4*X(i)+q4*Y(i)+r4; f5(i)=p5*X(i)+q5*Y(i)+r5; f6(i)=p6*X(i)+q6*Y(i)+r6;
f7(i)=p7*X(i)+q7*Y(i)+r7; f8(i)=p8*X(i)+q8*Y(i)+r8; f9(i)=p9*X(i)+q9*Y(i)+r9;
f10(i)=p10*X(i)+q10*Y(i)+r10; f11(i)=p11*X(i)+q11*Y(i)+r11;
f12(i)=p12*X(i)+q12*Y(i)+r12; f13(i)=p13*X(i)+q13*Y(i)+r13;
f14(i)=p14*X(i)+q14*Y(i)+r14; f15(i)=p15*X(i)+q15*Y(i)+r15;
f16(i)=p16*X(i)+q16*Y(i)+r16;

134
Anexos

o41(i)=o31(i)*f1(i); o42(i)=o32(i)*f2(i); o43(i)=o33(i)*f3(i);


o44(i)=o34(i)*f4(i); o45(i)=o35(i)*f5(i); o46(i)=o36(i)*f6(i);
o47(i)=o37(i)*f7(i); o48(i)=o38(i)*f8(i); o49(i)=o39(i)*f9(i);
o410(i)=o310(i)*f10(i); o411(i)=o311(i)*f11(i); o412(i)=o312(i)*f12(i);
o413(i)=o313(i)*f13(i); o414(i)=o314(i)*f14(i); o415(i)=o315(i)*f15(i);
o416(i)=o316(i)*f16(i);

%Salida suma total(Capa 5)

THETA1_ANFIS(i)=o41(i)+o42(i)+o43(i)+o44(i)+o45(i)+o46(i)+o47(i)+o48(i)+o49(i)+o410(i)+o411(i)+o412(
i)+o413(i)+o414(i)+o415(i)+o416(i);
end
THETA1_ANFIS=THETA1_ANFIS';
ERROR = THETA1_C - THETA1_ANFIS;
plot(ERROR);
ylabel('THETA1_Calculado - THETA1_ANFIS');
title('theta1_Calculado - theta1_ANFIS');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Red neuro-difusa para el aprendizaje de Teta 2


clc;clear all;
gama=8000;
I=eye(48);
S=(gama)*I;
%Inicializacin de la matriz de parmetros X
X=zeros(48,1);
epocas=512;

for i=1:epocas
%Difusificacin(Capa 1)
a1=3.439; b1=1.937; c1=-4.115;
a2=3.468; b2=1.74; c2=2.184;
a3=3.79; b3=2.113; c3=8.631;
a4=3.056; b4=1.662; c4=15.31;
a5=2.678; b5=1.798; c5=0.05146;
a6=2.931; b6=2.09; c6=5.215;
a7=3.124; b7=2.153; c7=10.26;
a8=2.224; b8=1.525; c8=15.49;
o11(i)=gbellmf(x(i),[a1 b1 c1]); o12(i)=gbellmf(x(i),[a2 b2 c2]);
o13(i)=gbellmf(x(i),[a3 b3 c3]); o14(i)=gbellmf(x(i),[a4 b4 c4]);
o15(i)=gbellmf(y(i),[a5 b5 c5]); o16(i)=gbellmf(y(i),[a6 b6 c6]);
o17(i)=gbellmf(y(i),[a7 b7 c7]); o18(i)=gbellmf(y(i),[a8 b8 c8]);
%Fuerza de disparo de las reglas,operador T-norm(Capa 2)
o21(i)=o11(i)*o15(i); o22(i)=o11(i)*o16(i); o23(i)=o11(i)*o17(i);
o24(i)=o11(i)*o18(i); o25(i)=o12(i)*o15(i); o26(i)=o12(i)*o16(i);
o27(i)=o12(i)*o17(i); o28(i)=o12(i)*o18(i); o29(i)=o13(i)*o15(i);
o210(i)=o13(i)*o16(i); o211(i)=o13(i)*o17(i);o212(i)=o13(i)*o18(i);
o213(i)=o14(i)*o15(i); o214(i)=o14(i)*o16(i); o215(i)=o14(i)*o17(i);
o216(i)=o14(i)*o18(i);

%Normalizacin de las fuerzas de disparo(Capa 3)

O(i)=o21(i)+o22(i)+o23(i)+o24(i)+o25(i)+o26(i)+o27(i)+o28(i)+o29(i)+o210(i)+o211(i)+o212(i)+o213(i)+
o214(i)+o215(i)+o216(i);

o31(i)=o21(i)/O(i); o32(i)=o22(i)/O(i); o33(i)=o23(i)/O(i);


o34(i)=o24(i)/O(i); o35(i)=o25(i)/O(i); o36(i)=o26(i)/O(i);
o37(i)=o27(i)/O(i); o38(i)=o28(i)/O(i); o39(i)=o29(i)/O(i);
o310(i)=o210(i)/O(i); o311(i)=o211(i)/O(i); o312(i)=o212(i)/O(i);
o313(i)=o213(i)/O(i); o314(i)=o214(i)/O(i); o315(i)=o215(i)/O(i);
o316(i)=o216(i)/O(i);

%Formacin de la matriz A
A(1,1)=o31(i)*x(i); A(1,2)=o31(i)*y(i); A(1,3)=o31(i);
A(1,4)=o32(i)*x(i); A(1,5)=o32(i)*y(i); A(1,6)=o32(i);
A(1,7)=o33(i)*x(i); A(1,8)=o33(i)*y(i); A(1,9)=o33(i);
A(1,10)=o34(i)*x(i); A(1,11)=o34(i)*y(i); A(1,12)=o34(i);
A(1,13)=o35(i)*x(i); A(1,14)=o35(i)*y(i); A(1,15)=o35(i);
A(1,16)=o36(i)*x(i); A(1,17)=o36(i)*y(i); A(1,18)=o36(i);
A(1,19)=o37(i)*x(i); A(1,20)=o37(i)*y(i); A(1,21)=o37(i);
A(1,22)=o38(i)*x(i); A(1,23)=o38(i)*y(i); A(1,24)=o38(i);
A(1,25)=o39(i)*x(i); A(1,26)=o39(i)*y(i); A(1,27)=o39(i);
A(1,28)=o310(i)*x(i); A(1,29)=o310(i)*y(i); A(1,30)=o310(i);

135
Anexos

A(1,31)=o311(i)*x(i); A(1,32)=o311(i)*y(i); A(1,33)=o311(i);


A(1,34)=o312(i)*x(i); A(1,35)=o312(i)*y(i); A(1,36)=o312(i);
A(1,37)=o313(i)*x(i); A(1,38)=o313(i)*y(i); A(1,39)=o313(i);
A(1,40)=o314(i)*x(i); A(1,41)=o314(i)*y(i); A(1,42)=o314(i);
A(1,43)=o315(i)*x(i); A(1,44)=o315(i)*y(i); A(1,45)=o315(i);
A(1,46)=o316(i)*x(i); A(1,47)=o316(i)*y(i); A(1,48)=o316(i);
%Matriz transpuesta de A
At=A';
%Obtencin de la matriz de S(k+1)
res1=S*At;
res2=res1*A;
res3=res2*S;
res4=A*res1;
res5=1+res4;
res6=res3/res5;
res7=S-res6;
S=res7;
%Obtencin de la matriz X(k+1)
res8=S*At;
res9=A*X;
res10=Teta2(i)-res9;
res11=res8*res10;
res12=X+res11;
X=res12;
%Parmetros consecuentes
p1(i)=X(1,1); q1(i)=X(2,1); r1(i)=X(3,1);
p2(i)=X(4,1); q2(i)=X(5,1); r2(i)=X(6,1);
p3(i)=X(7,1); q3(i)=X(8,1); r3(i)=X(9,1);
p4(i)=X(10,1); q4(i)=X(11,1); r4(i)=X(12,1);
p5(i)=X(13,1); q5(i)=X(14,1); r5(i)=X(15,1);
p6(i)=X(16,1); q6(i)=X(17,1); r6(i)=X(18,1);
p7(i)=X(19,1); q7(i)=X(20,1); r7(i)=X(21,1);
p8(i)=X(22,1); q8(i)=X(23,1); r8(i)=X(24,1);
p9(i)=X(25,1); q9(i)=X(26,1); r9(i)=X(27,1);
p10(i)=X(28,1); q10(i)=X(29,1); r10(i)=X(30,1);
p11(i)=X(31,1); q11(i)=X(32,1); r11(i)=X(33,1);
p12(i)=X(34,1); q12(i)=X(35,1); r12(i)=X(36,1);
p13(i)=X(37,1); q13(i)=X(38,1); r13(i)=X(39,1);
p14(i)=X(40,1); q14(i)=X(41,1); r14(i)=X(42,1);
p15(i)=X(43,1); q15(i)=X(44,1); r15(i)=X(45,1);
p16(i)=X(46,1); q16(i)=X(47,1); r16(i)=X(48,1);
%Funciones de los nodos (Capa 4)
f1(i)=p1(i)*x(i)+q1(i)*y(i)+r1(i);f2(i)=p2(i)*x(i)+q2(i)*y(i)+r2(i);
f3(i)=p3(i)*x(i)+q3(i)*y(i)+r3(i);f4(i)=p4(i)*x(i)+q4(i)*y(i)+r4(i);
f5(i)=p5(i)*x(i)+q5(i)*y(i)+r5(i);f6(i)=p6(i)*x(i)+q6(i)*y(i)+r6(i);
f7(i)=p7(i)*x(i)+q7(i)*y(i)+r7(i);
f8(i)=p8(i)*x(i)+q8(i)*y(i)+r8(i); f9(i)=p9(i)*x(i)+q9(i)*y(i)+r9(i);
f10(i)=p10(i)*x(i)+q10(i)*y(i)+r10(i);f11(i)=p11(i)*x(i)+q11(i)*y(i)+r11(i);
f12(i)=p12(i)*x(i)+q12(i)*y(i)+r12(i);f13(i)=p13(i)*x(i)+q13(i)*y(i)+r13(i);
f14(i)=p14(i)*x(i)+q14(i)*y(i)+r14(i);f15(i)=p15(i)*x(i)+q15(i)*y(i)+r15(i);
f16(i)=p16(i)*x(i)+q16(i)*y(i)+r16(i);

o41(i)=o31(i)*f1(i); o42(i)=o32(i)*f2(i); o43(i)=o33(i)*f3(i);


o44(i)=o34(i)*f4(i); o45(i)=o35(i)*f5(i); o46(i)=o36(i)*f6(i);
o47(i)=o37(i)*f7(i); o48(i)=o38(i)*f8(i); o49(i)=o39(i)*f9(i);
o410(i)=o310(i)*f10(i); o411(i)=o311(i)*f11(i); o412(i)=o312(i)*f12(i);
o413(i)=o313(i)*f13(i); o414(i)=o314(i)*f14(i); o415(i)=o315(i)*f15(i);
o416(i)=o316(i)*f16(i);

%Salida suma total(Capa 5)

out(i)=o41(i)+o42(i)+o43(i)+o44(i)+o45(i)+o46(i)+o47(i)+o48(i)+o49(i)+o410(i)+o411(i)+o412(i)+o413(i
)+o414(i)+o415(i)+o416(i);
end
plot(out,'r');hold on;plot(Teta2,'b');

%%%%%%%%%%%%%%%%%%%%%%
%Red entrenada para Teta 2

ciclos=441;
for i=1:ciclos

%Difusificacin(Capa 1)
a1=3.439; b1=1.937; c1=-4.115;

136
Anexos

a2=3.468; b2=1.74; c2=2.184;


a3=3.79; b3=2.113; c3=8.631;
a4=3.056; b4=1.662; c4=15.31;
a5=2.678; b5=1.798; c5=0.05146;
a6=2.931; b6=2.09; c6=5.215;
a7=3.124; b7=2.153; c7=10.26;
a8=2.224; b8=1.525; c8=15.49;

o11(i)=gbellmf(X(i),[a1 b1 c1]); o12(i)=gbellmf(X(i),[a2 b2 c2]);


o13(i)=gbellmf(X(i),[a3 b3 c3]); o14(i)=gbellmf(X(i),[a4 b4 c4]);
o15(i)=gbellmf(Y(i),[a5 b5 c5]); o16(i)=gbellmf(Y(i),[a6 b6 c6]);
o17(i)=gbellmf(Y(i),[a7 b7 c7]); o18(i)=gbellmf(Y(i),[a8 b8 c8]);
%Fuerza de disparo de las reglas,operador T-norm(Capa 2)
o21(i)=o11(i)*o15(i); o22(i)=o11(i)*o16(i); o23(i)=o11(i)*o17(i);
o24(i)=o11(i)*o18(i); o25(i)=o12(i)*o15(i); o26(i)=o12(i)*o16(i);
o27(i)=o12(i)*o17(i); o28(i)=o12(i)*o18(i); o29(i)=o13(i)*o15(i);
o210(i)=o13(i)*o16(i); o211(i)=o13(i)*o17(i); o212(i)=o13(i)*o18(i);
o213(i)=o14(i)*o15(i); o214(i)=o14(i)*o16(i); o215(i)=o14(i)*o17(i);
o216(i)=o14(i)*o18(i);
%Normalizacin de las fuerzas de disparo(Capa 3)

O(i)=o21(i)+o22(i)+o23(i)+o24(i)+o25(i)+o26(i)+o27(i)+o28(i)+o29(i)+o210(i)+o211(i)+o212(i)+o213(i)+
o214(i)+o215(i)+o216(i);
o31(i)=o21(i)/O(i); o32(i)=o22(i)/O(i); o33(i)=o23(i)/O(i);
o34(i)=o24(i)/O(i); o35(i)=o25(i)/O(i); o36(i)=o26(i)/O(i);
o37(i)=o27(i)/O(i); o38(i)=o28(i)/O(i); o39(i)=o29(i)/O(i);
o310(i)=o210(i)/O(i); o311(i)=o211(i)/O(i); o312(i)=o212(i)/O(i);
o313(i)=o213(i)/O(i); o314(i)=o214(i)/O(i); o315(i)=o215(i)/O(i);
o316(i)=o216(i)/O(i);

%Parmetros consecuentes identificados para Teta 2


p1=-5.2590; q1=-30.7966; r1=94.3893;
p2=0.1649; q2=-1.3783; r2=14.5648;
p3=0.0874; q3=-0.5902; r3=9.5415;
p4=-0.0829; q4=-0.7525; r4=10.9849;
p5=-2.7808; q5=0.2365; r5=12.7281;
p6=-0.0122; q6=-0.1926; r6=3.3444;
p7=-0.0317; q7=-0.2901; r7=4.5214;
p8=-0.1442; q8=-0.6639; r8=8.9564;
p9=-1.2902; q9=0.5691; r9=11.6680;
p10=-0.1642; q10=-0.0938; r10=3.3940;
p11=-0.1427; q11=-0.2217; r11=4.1969;
p12=-0.0956; q12=-0.6183; r12=7.5353;
p13=-2.0587; q13=0.0786; r13=32.1550;
p14=-0.2752; q14=0.3102; r14=3.2869;
p15=0.0843; q15=1.1837; r15=-9.6863;
p16=-43.7579; q16=-22.0203; r16=628.2882;
%Funciones de los nodos (Capa 4)
f1(i)=p1*X(i)+q1*Y(i)+r1; f2(i)=p2*X(i)+q2*Y(i)+r2;
f3(i)=p3*X(i)+q3*Y(i)+r3; f4(i)=p4*X(i)+q4*Y(i)+r4;
f5(i)=p5*X(i)+q5*Y(i)+r5; f6(i)=p6*X(i)+q6*Y(i)+r6;
f7(i)=p7*X(i)+q7*Y(i)+r7; f8(i)=p8*X(i)+q8*Y(i)+r8;
f9(i)=p9*X(i)+q9*Y(i)+r9; f10(i)=p10*X(i)+q10*Y(i)+r10;
f11(i)=p11*X(i)+q11*Y(i)+r11; f12(i)=p12*X(i)+q12*Y(i)+r12;
f13(i)=p13*X(i)+q13*Y(i)+r13; f14(i)=p14*X(i)+q14*Y(i)+r14;
f15(i)=p15*X(i)+q15*Y(i)+r15; f16(i)=p16*X(i)+q16*Y(i)+r16;

o41(i)=o31(i)*f1(i); o42(i)=o32(i)*f2(i); o43(i)=o33(i)*f3(i);


o44(i)=o34(i)*f4(i); o45(i)=o35(i)*f5(i); o46(i)=o36(i)*f6(i);
o47(i)=o37(i)*f7(i); o48(i)=o38(i)*f8(i); o49(i)=o39(i)*f9(i);
o410(i)=o310(i)*f10(i);o411(i)=o311(i)*f11(i); o412(i)=o312(i)*f12(i);
o413(i)=o313(i)*f13(i);o414(i)=o314(i)*f14(i); o415(i)=o315(i)*f15(i);
o416(i)=o316(i)*f16(i);

%Salida suma total(Capa 5)


THETA2_ANFIS(i)=o41(i)+o42(i)+o43(i)+o44(i)+o45(i)+o46(i)+o47(i)+o48(i)+o49(i)+
o410(i)+o411(i)+o412(i)+o413(i)+o414(i)+o415(i)+o416(i);
end
THETA2_ANFIS=THETA2_ANFIS';
ERROR = THETA2_C - THETA2_ANFIS;
plot(ERROR);

137
Anexos

%Este algoritmo es el Mtodo del par calculado, con el cual se lleva a cabo el
%control del manipulador robtico planar de dos grados de libertad

clc; clear;
masa_1=0.8;
masa_2=0.4;
longitud_1=0.1;
longitud_2=0.05;
g=9.81;
%polinomio para la generacin de la trayectoria deseada continua sin via points
%Articulacin 1
theta_0=82.0851;
omega_0=0;
alfa_0=5;
theta_f=63.6819;
omega_f=0;
alfa_f=-5;
time=3;
c0=theta_0;
c1=omega_0;
c2=alfa_0/2;
c3=(20*theta_f-20*theta_0-(8*omega_f+12*omega_0)*time-(3*alfa_0-alfa_f)*time^2)/(2*time^3);
c4=(30*theta_0-30*theta_f+(14*omega_f+16*omega_0)*time+(3*alfa_0-2*alfa_f)*time^2)/(2*time^4);
c5=(12*theta_f-12*theta_0-(6*omega_f+6*omega_0)*time-(alfa_0-alfa_f)*time^2)/(2*time^5);
%Articulacin 2
theta2_0=-104.4775;
omega2_0=0;
alfa2_0=5;
theta2_f=-39.6461;
omega2_f=0;
alfa2_f=-5;
c0_2=theta2_0;
c1_2=omega2_0;
c2_2=alfa2_0/2;
c3_2=(20*theta2_f-20*theta2_0-(8*omega2_f+12*omega2_0)*time-(3*alfa2_0-alfa2_f)*time^2)/(2*time^3);
c4_2=(30*theta2_0-30*theta2_f+(14*omega2_f+16*omega2_0)*time+(3*alfa2_0-
2*alfa2_f)*time^2)/(2*time^4);
c5_2=(12*theta2_f-12*theta2_0-(6*omega2_f+6*omega2_0)*time-(alfa2_0-alfa2_f)*time^2)/(2*time^5);

time=0.001*(0:3000);
%Trayectoria para la articulacin 1
theta_1d=c0+c1.*time+c2.*time.^2+c3*time.^3+c4.*time.^4+c5.*time.^5;
omega_1d=c1+2*c2.*time+3*c3.*time.^2+4*c4.*time.^3+5*c5.*time.^4;
alfa_1d=2*c2+6*c3.*time+12*c4.*time.^2+20*c5.*time.^3;
%Trayectoria para la articulacin 2
theta_2d=c0_2+c1_2.*time+c2_2.*time.^2+c3_2.*time.^3+c4_2.*time.^4+c5_2.*time.^5;
omega_2d=c1_2+2*c2_2.*time+3*c3_2.*time.^2+4*c4_2.*time.^3+5*c5_2.*time.^4;
alfa_2d=2*c2_2+6*c3_2.*time+12*c4_2.*time.^2+20*c5_2.*time.^3;

for n=1:3001

Teta1(1)=82.0851; %Valores iniciales de posicin, velocidad y aceleracin angulares para ambas


articulaciones
Omega1(1)=0;
Alfa1(1)=5;
Teta2(1)=-104.4775;
Omega2(1)=0;
Alfa2(1)=5;

D11(n)=((1/3)*masa_1*longitud_1^2+masa_2*longitud_1^2+(1/3)*masa_2*longitud_2^2+masa_2*longitud_1*lo
ngitud_2*cosd(theta_2d(n)));
D12(n)=((1/3)*masa_2*longitud_2^2+(1/2)*masa_2*longitud_1*longitud_2*cosd(theta_2d(n)));
D21(n)=D12(n);
D22(n)=((1/3)*masa_2*longitud_2^2);
h1(n)=-((1/2)*masa_2*longitud_1*longitud_2*sind(theta_2d(n)))*omega_2d(n)^2 -
(masa_2*longitud_1*longitud_2*sind(theta_2d(n)))*omega_1d(n)*omega_2d(n);
h2(n)=((1/2)*masa_2*longitud_1*longitud_2*sind(theta_2d(n)))*omega_1d(n)^2;

c1(n)=((1/2)*masa_1+masa_2)*g*longitud_1*cosd(theta_1d(n))+(1/2)*masa_2*g*longitud_2*cosd(theta_1d(n
)+theta_2d(n));
c2(n)=(1/2)*masa_2*g*longitud_2*cosd(theta_1d(n)+theta_2d(n));

138
Anexos

%Clculo del error dinmico


ED1(n)=alfa_1d(n)+10*(omega_1d(n)-Omega1(n))+20*(theta_1d(n)-Teta1(n)); %Kp=20 Kv=10
ED2(n)=alfa_2d(n)+10*(omega_2d(n)-Omega2(n))+20*(theta_2d(n)-Teta2(n));

%Clculo de los torques computados t1 y t2 (N*m)


torqueuno(n)=D11(n)*ED1(n)+D12(n)*ED2(n)+h1(n)+c1(n);
torquedos(n)=D21(n)*ED1(n)+D22(n)*ED2(n)+h2(n)+c2(n);

%Clculo de la inversa de la matriz D


Det(n)=D11(n)*D22(n)-D12(n)*D21(n);
D11_i(n)=D22(n)/Det(n);
D12_i(n)=-D12(n)/Det(n);
D21_i(n)=-D21(n)/Det(n);
D22_i(n)=D11(n)/Det(n);

%Aceleracin calculada
Alfa1(n+1)=D11_i(n)*(torqueuno(n)-h1(n)-c1(n))+D12_i(n)*(torquedos(n)-h2(n)-c2(n));
Alfa2(n+1)=D21_i(n)*(torqueuno(n)-h1(n)-c1(n))+D22_i(n)*(torquedos(n)-h2(n)-c2(n));
%Velocidad angular calculada
Omega1(n+1)=Omega1(n)+Alfa1(n+1)*0.001;
Omega2(n+1)=Omega2(n)+Alfa2(n+1)*0.001;
%posicin angular calculada
Teta1(n+1)=Teta1(n)+Omega1(n+1)*0.001;
Teta2(n+1)=Teta2(n)+Omega2(n+1)*0.001;

end

Zeit=time(1:3001);
TETA1=Teta1(1:3001);
OMEGA1=Omega1(1:3001);
ALFA1=Alfa1(1:3001);
TETA2=Teta2(1:3001);
OMEGA2=Omega2(1:3001);
ALFA2=Alfa2(1:3001);
TETA1D=theta_1d(1:3001);
TETA2D=theta_2d(1:3001);
OMEGA1D=omega_1d(1:3001);
OMEGA2D=omega_2d(1:3001);
ALFA1D=alfa_1d(1:3001);
ALFA2D=alfa_2d(1:3001);
TORQUE1=torqueuno(1:3001);
TORQUE2=torquedos(1:3001);
%Clculo del error en el seguimiento de la trayectoria de posicin
ERROR1=TETA1-TETA1D;
ERROR2=TETA2-TETA2D;
%Obtencin de los grficos
plot(ERROR1),grid,title('ERROR 1'),xlabel('No. de puntos de la trayectoria'),ylabel('Error')
plot(Zeit,TETA1,'r',Zeit,TETA1D,'b'),grid,title('Articulacin 1'),xlabel('Tiempo
(segundos)'),ylabel('Posicin angular (grados)')
plot(Zeit,TORQUE1),grid,title('TORQUE 1'),xlabel('Tiempo (Segundos)'),ylabel('Torque 1 (N*m)')

plot(Zeit,TETA2,'r',Zeit,TETA2D,'b'),grid,title('Articulacin 2'),xlabel('Tiempo
(Segundos)'),ylabel('Posicin angular (rad)')
plot(ERROR2),grid,title('ERROR 2'),xlabel('No. de puntos de la trayectoria'),ylabel('Error')
plot(Zeit,TORQUE2),grid,title('TORQUE 2'),xlabel('Tiempo (Segundos)'),ylabel('Torque 2 (N*m)')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Este algoritmo generar la solucin a la cinemtica inversa del manipulador plano de tres grados de
libertad, mediante el empleo de ANFIS
clc;clear;
%Generacin de los datos de entrenamiento para las tres redes neuro-difusas
long1=10;
long2=5;
long3=1;
teta1=0:0.1:pi;
teta2=0:0.1:pi/2;
teta3=0:0.1:pi/2;
[Teta1,Teta2,Teta3]=meshgrid(teta1,teta2,teta3);
x=long1*cos(Teta1)+long2*cos(Teta1+Teta2)+long3*cos(Teta1+Teta2+Teta3);
y=long1*sin(Teta1)+long2*sin(Teta1+Teta2)+long3*sin(Teta1+Teta2+Teta3);
x=x(:);

139
Anexos

y=y(:);
plot(x,y,'r+');
Teta1=Teta1(:);
Teta2=Teta2(:);
Teta3=Teta3(:);
datos_1=[x y Teta1];
datos_2=[x y Teta2];
datos_3=[x y Teta3];
tic;teta1_anfis=anfis(datos_1,4,200);toc;
tic;teta2_anfis=anfis(datos_2,4,200);toc;
tic;teta3_anfis=anfis(datos_3,4,200);toc;
%Generacin de los datos de validacin para las tres redes neuro-difusas
x=5:0.1:7;
y=10:0.1:12;
[X Y]=meshgrid(x,y);
XY=[X(:) Y(:)];
teta1_predecido=evalfis(XY,teta1_anfis);
teta2_predecido=evalfis(XY,teta2_anfis);
teta3_predecido=evalfis(XY,teta3_anfis);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Subrutina que permitir obtener la cinemtica inversa del manipulador plano de


%tres grados de libertad, empleando el mtodo numrico de Newton

long1=10;
long2=5;
long3=1;
px0=7;%% Asignacin de coordenadas cartesianas
py0=12;
tol=0.00001; %% Tolerancia asignada
max_ite=100;
% x_inicial=(pi/180)*[50 40 30]';
% x_inicial=(pi/180)*[30 60 40]';
x_inicial=(pi/180)*[40 40 40]';
n=1;
while(n<=max_ite)

f=[long1*cos(x_inicial(1,1))+long2*cos(x_inicial(1,1)+x_inicial(2,1))+long3*cos(x_inicial(1,1)+x_ini
cial(2,1)+x_inicial(3,1))-px0;
long1*sin(x_inicial(1,1))+long2*sin(x_inicial(1,1)+x_inicial(2,1))+long3*sin(x_inicial(1,1)+x_inicia
l(2,1)+x_inicial(3,1))-py0];
Jacob=[-long1*sin(x_inicial(1,1))-long2*sin(x_inicial(1,1)+x_inicial(2,1))-
long3*sin(x_inicial(1,1)+x_inicial(2,1)+x_inicial(3,1)) -long2*sin(x_inicial(1,1)+x_inicial(2,1))-
long3*sin(x_inicial(1,1)+x_inicial(2,1)+x_inicial(3,1)) -
long3*sin(x_inicial(1,1)+x_inicial(2,1)+x_inicial(3,1));

long1*cos(x_inicial(1,1))+long2*cos(x_inicial(1,1)+x_inicial(2,1))+long3*cos(x_inicial(1,1)+x_inicia
l(2,1)+x_inicial(3,1))
long2*cos(x_inicial(1,1)+x_inicial(2,1))+long3*cos(x_inicial(1,1)+x_inicial(2,1)+x_inicial(3,1))
long3*cos(x_inicial(1,1)+x_inicial(2,1)+x_inicial(3,1))];
y=-pinv(Jacob)*f;
%ye=-Jacob\f;
x_pos=x_inicial+y;
dif=norm(x_pos - x_inicial);
if dif <= tol
x=(x_pos);
%x=(x_pos)*(180/pi);
theta1=x(1,1); % Valor en radianes
theta2=x(2,1);
theta3=x(3,1);% Valor en radianes
disp('El mtodo convergi!!!')
return;
else
x_inicial=x_pos;
end
n=n+1;
end
Teta1=(180/pi)*theta1;
Teta2=(180/pi)*theta2;
Teta3=(180/pi)*theta3;
disp('El mtodo no convergi!!!!')
x=(x_pos)*(180/pi);

140
Anexos

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Este algoritmo generar la solucin a la cinemtica inversa del manipulador de tres grados de
libertad con movimiento espacial, mediante el empleo de ANFIS
clc;clear;
%Generacin de los datos de entrenamiento para las tres redes neuro-difusas
long1=10;
long2=5;
long3=1;
teta1=0:0.1:pi/4;
teta2=0:0.1:pi/4;
teta3=0:0.1:pi/4;
[Teta1,Teta2,Teta3]=meshgrid(teta1,teta2,teta3);
x=cos(Teta1).*(long3*cos(Teta2+Teta3)+long2*cos(Teta2));
y=sin(Teta1).*(long3*cos(Teta2+Teta3)+long2*cos(Teta2));
z=long3*sin(Teta2+Teta3)+long2*sin(Teta2)+long1;
x=x(:);
y=y(:);
z=z(:);
Teta1=Teta1(:);
Teta2=Teta2(:);
Teta3=Teta3(:);
datos_1=[x y z Teta1];
datos_2=[x y z Teta2];
datos_3=[x y z Teta3];
maxNumCompThreads(4);
tic;teta1_anfis=anfis(datos_1,5,150);toc;
% matlabpool open;
maxNumCompThreads(4);
tic;teta2_anfis=anfis(datos_2,5,150);toc;
maxNumCompThreads(4);
tic;teta3_anfis=anfis(datos_3,5,150);toc;
% matlabpool close;
%Generacin de los datos de validacin para las tres redes neuro-difusas
x=5.7:-0.01:5.6;
y=1.76:-0.01:1.75;
z=10.6:-0.01:10.39;
[X Y Z]=meshgrid(x,y,z);
XYZ=[X(:) Y(:) Z(:)];
tic;teta1_predecido=evalfis(XYZ,teta1_anfis);toc;
tic;teta2_predecido=evalfis(XYZ,teta2_anfis);toc;
tic;teta3_predecido=evalfis(XYZ,teta3_anfis);toc;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%Subrutina que permitir obtener la cinemtica inversa del manipulador de tres grados de libertad
%con movimiento espacial, empleando el mtodo numrico de Newton

clc;clear;
long1=10;
long2=5;
long3=1;
%Puntos cartesianos a alcanzar
px0=5.7;
py0=1.76;
pz0=10.6;
tol=0.00001; %% Tolerancia asignada
max_ite=100;
x_inicial=(pi/180)*[20 0 20]'; %Guess value
n=1;
while(n<=max_ite)
f=[cos(x_inicial(1,1))*(long3*cos(x_inicial(2,1)+x_inicial(3,1))+long2*cos(x_inicial(2,1)))-
px0; sin(x_inicial(1,1))*(long3*cos(x_inicial(2,1)+x_inicial(3,1))+long2*cos(x_inicial(2,1)))-py0;
long3*sin(x_inicial(2,1)+x_inicial(3,1))+long2*sin(x_inicial(2,1))+long1-pz0];
%J=sin((x_inicial(1,1));
J=[-
sin(x_inicial(1,1))*(long3*cos(x_inicial(2,1)+x_inicial(3,1))+long2*cos(x_inicial(2,1))),
cos(x_inicial(1,1))*(-long3*sin(x_inicial(2,1)+x_inicial(3,1))-long2*sin(x_inicial(2,1))),
cos(x_inicial(1,1))*(-long3*sin(x_inicial(2,1)+x_inicial(3,1)));

cos(x_inicial(1,1))*(long3*cos(x_inicial(2,1)+x_inicial(3,1))+long2*cos(x_inicial(2,1))),
sin(x_inicial(1,1))*(-long3*sin(x_inicial(2,1)+x_inicial(3,1))-long2*sin(x_inicial(2,1))),
sin(x_inicial(1,1))*(-long3*sin(x_inicial(2,1)+x_inicial(3,1)));

141
Anexos

0,
long3*cos(x_inicial(2,1)+x_inicial(3,1))+long2*cos(x_inicial(2,1)),
long3*cos(x_inicial(2,1)+x_inicial(3,1))];

y=-pinv(J)*f;
%ye=-J\f;
x_pos=x_inicial+y;
dif=norm(x_pos - x_inicial);
if dif <= tol
x=(x_pos);
%x=(x_pos)*(180/pi);
theta1=x(1,1); % Valor en radianes
theta2=x(2,1); % Valor en radianes
theta3=x(3,1);
disp('El mtodo convergi!!!')
return
else
x_inicial=x_pos;
end
n=n+1;
end
Teta1=theta1*(180/pi);
Teta2=theta2*(180/pi);
Teta3=theta3*(180/pi);
disp('El mtodo no convergi!!!!')
x=(x_pos)*(180/pi);

142
Anexos

Anexo 2. Publicaciones.

Aplicacin de sistemas neuro-difusos para el control de manipuladores robticos


XIII Congreso Internacional de la SOMIM y Congreso Internacional de Metal Mecnica 2007,
Ingeniera Mecnica: Tradicin y Modernidad
Septiembre 2007, Durango Mxico

Caracterizacin de obstculos en el espacio de las configuraciones para manipuladores


robticos
XIII Congreso Internacional de la SOMIM y Congreso Internacional de Metal Mecnica 2007,
Ingeniera Mecnica: Tradicin y Modernidad
Septiembre 2007, Durango Mxico

Neuro-Fuzzy Networks Applied To the Solution of the Inverse Kinematics of Robotic


Manipulators
Congreso Internacional IEEE CERMA
Octubre 2008, Morelos, Mxico

Aplicaciones de la Ingeniera Robtica y herramientas de cmputo inteligente de ltima


generacin (Soft-computing)
Centro de Bachillerato tecnolgico, industrial y de servicios No. 56.
Mayo del 2007, Guerrero, Mxico

Elementos que intervienen en la Ingeniera Robtica

3. Semana Cultural Grupo, Grupo CEDVA

Edo. de Mxico, Mxico

Caracterizacin de obstculos en el espacio de las configuraciones para manipuladores


robticos
XIII Congreso Internacional de la SOMIM y Congreso Internacional de Metal Mecnica 2007,
Ingeniera Mecnica: Tradicin y Modernidad
Septiembre 2007, Durango Mxico

143

Você também pode gostar