Castro River Os Fabian Camilo 2020
Castro River Os Fabian Camilo 2020
Castro River Os Fabian Camilo 2020
Autor:
Fabian Camilo Castro Riveros
Director:
Ricardo Andres Castillo Estepa PhD
ii
Índice general
2. MARCO TEÓRICO 10
2.1. Robótica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1. Robot Manipuladores . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2. Robot Manipuladores Continuo . . . . . . . . . . . . . . . . . . . . 12
2.1.3. Clasificación de los Robot Manipuladores . . . . . . . . . . . . . . . 14
2.1.4. Robot Movíles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1.5. Robot Humanoide . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.1.6. Robótica Social . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2. Inteligencia Artificial y Computacional . . . . . . . . . . . . . . . . . . . . 20
2.2.1. Redes Neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3. Ros (Sistema Operativo de Robot) . . . . . . . . . . . . . . . . . . . . . . 22
2.4. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1. La simulación en la robótica . . . . . . . . . . . . . . . . . . . . . . 24
2.4.2. Gazebo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.5. Tensorflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.5.1. keras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
iii
ÍNDICE GENERAL iv
3. MARCO CONCEPTUAL 39
3.1. Teoría Screw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.1.1. Twist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.2. Producto de Exponeciales (POE) . . . . . . . . . . . . . . . . . . . 42
3.2. Redes Neuronales Artificiales . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2.1. Tipos de Rede Neuronales Artificiales . . . . . . . . . . . . . . . . . 44
3.2.2. Entrenamiento de Redes Neuronales Artificiales . . . . . . . . . . . 45
3.2.3. Métodos de Gradiente Descendente . . . . . . . . . . . . . . . . . . 46
3.2.4. Algoritmo Backpropagation . . . . . . . . . . . . . . . . . . . . . . 47
3.3. Detección de Colisiones y planificación de caminos en robot Manipuladores 49
3.3.1. Algortimo de Diagramas de Voronoi . . . . . . . . . . . . . . . . . . 49
3.3.2. Algoritmo de A∗ o AStar . . . . . . . . . . . . . . . . . . . . . . . 50
3.3.3. Algoritmo de Campos Potenciales . . . . . . . . . . . . . . . . . . . 51
7. CONCLUSIONES 129
7.0.1. TRABAJOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . 130
7.1. Recursos y presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
7.2. Curvas para el entrenamiento de la red neuronal . . . . . . . . . . . . . . . 149
7.3. DataSet de la cinematica del robot continuo . . . . . . . . . . . . . . . . . 150
7.4. DataSet de la planeación de trayectorias para el manipulador continuo . . 152
vi
ÍNDICE DE FIGURAS vii
Índice de figuras
5.1. Simulación del robot continuo con un sensor Lidar (Autor : Propia) . . . . 87
5.2. Distribución pondera del sensor Lidar (Autor : Propia) . . . . . . . . . . . 88
5.3. Modelo del Perceptron (Autor : Propia) . . . . . . . . . . . . . . . . . . . . 89
5.4. Curvas de Bézier generadas con ocho puntos de control (Autor : Propia) . . 90
5.5. Robot Diferencial en la posición inicial (Autor : Propia) . . . . . . . . . . . 91
5.6. Curvas de Bézier generadas con ocho puntos de control (Autor : Propia) . . 91
ÍNDICE DE FIGURAS x
5.7. Resultados de una red neuronal con 4 capas de 20 neuronas cada capa
(Autor : Propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
5.8. Resultados de una red neuronal con 8 capas de 20 neuronas cada capa
(Autor : Propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.9. Resultados de una red neuronal con 16 capas de 20 neuronas cada capa
(Autor : Propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.10. Flujograma del algoritmo propuesto con inteligencia artificial (Autor : Propia) 97
5.11. Flujograma del algoritmo propuesto con inteligencia artificial (Autor : Propia) 99
5.12. Implementación del algorimo A∗ (Autor : Propia) . . . . . . . . . . . . . . 100
5.13. Implementación del algorimo A∗ (Autor : Propia) . . . . . . . . . . . . . . 101
5.14. Representación del diagrama PND (Autor : Propia) . . . . . . . . . . . . . 103
5.15. Representación de las 6 posibles situaciones . . . . . . . . . . . . . . . . . 104
5.16. Flujograma del algoritmo Divide and Conquer (Autor : Propia) . . . . . . 105
5.17. Generación de puntos hacia la zona segura basada en curvatura (Autor :
Propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.18. Calcular el radio y el vector tangente en el punto P2 (Autor : Propia) . . . 109
5.19. Curvatura constaten en la simulación del algoritmo Divide and Conquer
(Autor : Propia) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
xi
ÍNDICE DE ECUACIONES xii
Índice de ecuaciones
2
Introducción
Los robots continuos son una nueva clase de robots que pueden definirse como siste-
mas adaptables a diferentes entornos, a diferencia de los robots construidos con materiales
rígidos, los robots continuos permiten una mayor flexibilidad y adaptabilidad para llevar
a cabo tareas con condiciones de restricción de espacio [1]. Estos robot poseen múltiples
grados de libertad con una estructura elástica y soportados con una columna vertebral
permitiendo que en su locomoción tengan un alto grado de manipulación y destreza en
ambientes de difícil acceso y espacios muy cerrados donde la maniobrabilidad debe ser alta,
estas características son muy similares a las exhibidas por la locomoción de las serpientes,
trompas de elefantes y tentáculos de pulpo, capacidades más allá del alcance de manipu-
ladores tradicionales de enlace rígido, los manipuladores continuos son capaces de adaptar
su forma para navegar a través de entornos complejos y levantar una amplia variedad de
cargas utilizando su columna vertebral como principal soporte [2]. En los últimos años
ha surgido un creciente intereses de robótica bioinspirada, actualmente se han marcado
grandes avances en numerosas aplicaciones a nivel industrial y en el campo de la medicina
[3], los robot continuos inspirados en trompas biológicas, tentáculos y serpientes, pueden
variar su curvatura, una característica llamada VGT (Variable Geometry Truss), [4], re-
cientemente, se ha visto un aumento de los esfuerzos dirigidos a aprovechar estas cualidades
para mejorar las fronteras en el campo de la medicina principalmente en intervenciones
quirúrgicas mínimamente invasivas [5]. Varios diseños se han comercializado ahora, que
son inspiradores y permiten un cambio tradicional del robot de enlace rígidos que son los
que tiene mayor demanda en mercado actual, sin embargo los enfoques quirúrgicos hacia
rutas de acceso flexibles, por ejemplo, a través de orificios naturales como la nariz, donde
los robot continuos puede acceder fácilmente a diferencia robot rígido [6].
3
ÍNDICE DE ECUACIONES 4
En este capítulo se hace una breve descripción de los elementos que soportaron el
planteamiento de este proyecto, resolviendo preguntas tales cómo ¿Cuál es el problema
que se desea resolver?, ¿Cuáles son los objetivos?, ¿Cómo se va a desarrollar el trabajo?,
¿Cuál será el alcance? y ¿Cuál es la justificación?
5
CAPÍTULO 1. DESCRIPCIÓN DEL PROYECTO 6
se debe realizar este tipo de desarrollos a nivel nacional generando nuevos conocimientos
en el área de robótica e inteligencia artificial
1.3. OBJETIVOS
1.4. METODOLOGÍA
Para la consecución de los objetivos propuestos se pretenden realizar las actividades
descritas a continuación
CAPÍTULO 1. DESCRIPCIÓN DEL PROYECTO 8
MARCO TEÓRICO
Este capítulo muestra los conceptos claves para el dessarrollo del proyecto de investi-
gación
2.1. Robótica
La robótica es la rama de la ingeniería mecatrónica que se ocupa el diseño, cons-
trucción, operación, disposición estructural, manufactura y aplicación de los robots. La
robótica combina diversos disciplinas como son: la mecánica, la electrónica, la informática,
la inteligencia artificial, la ingeniería de control y la física [16]. El termino robot proviene
de la palabra checa ”Robota” y siginifica trabajo; fue introducido por el dramaturgo Karel
Capek en 1921 en su novela satríca Rossum’s Universal Robots [17], donde describe
al robot como una máquina que sustituye a los seres humanos para ejecutar tareas sin
descanso; a pesar de esto, los robots se vuelven en contra de sus creadores aniquilando
toda la raza humana. Desde aquel entonces a cualquier sistema mecánico con movimiento
se le denomina Robot.
Existen varias definiciones para describir a un robot, entre ellas la que proporciona una
mejor descripción es la adoptada por el Robot Institute of America [18], el cual es-
tablece: Un robot es un manipulador multifuncional reprogramable diseñado para mover
materiales, partes, herramientas o dispositivos espacializados a través de movimientos pro-
gramados para la ejecución de una varierdad de tareas.
10
CAPÍTULO 2. MARCO TEÓRICO 11
Manipuladores
Móviles
Humanoides
Los robots manipuladores han sido proyectados con el objeto de eliminar los esfuerzos
provocados por el levantamiento de la mercancía y están destinados a varios campos y
diversificados. Se distinguen por la sencillez de uso y por su estructura resistente y sólida.
En robótica, el concepto de Grado de Libertad (GdL) tiene una relevancia destacable. Se
define como el número de movimientos o parámetros independientes que definen la configu-
ración de un robot [20]. Para que un robot manipulador posicione y oriente correctamente
su extremo en un espacio tridimensional, es necesario que disponga de, al menos, 6 GdL: 3
para determinar la posición y 3 para determinar la orientación. Por lo tanto, aquellos ro-
bots que tengan más grados de libertad controlables que los mínimamente necesarios para
posicionarse y orientarse en su espacio de trabajo presentarán cierto nivel de redundancia.
Los robots hiper-redundantes son aquellos que poseen un número de grados de libertad
muy superior al mínimo requerido para realizar una determinada tarea [21].
En la Figura 2.1 se puede observar un manipulador de seis grados de libertad de la em-
presa kuka robotics [22].
Existen otro clase de robot manipuladores de estructura rígida pero su cadena cinemática
es cerrada, la cual su plataforma móvil está unida a la base que es fija a través de extremi-
dades, estos robot a diferencias de los manipuladores seriales poseen un mayor velocidad,
soporte de carga y precisión, pero su espacio de trabajo es reducido [23]. En Figura 2.2
se puede observar un manipulador paralelo Adept Quattro
CAPÍTULO 2. MARCO TEÓRICO 12
Los manipuladores continuo están formados por múltiples secciones y no poseen una
estructura rígida, posee un alto grado de flexibilidad los cuales generan múltiples grado de
libertad [22], a diferencia de manipuladores tradicionales el controlador es más complejo,
los robots continuos a menudo son biológicamente inspirados en los tentáculos de los pulpos
los cuales poseen una gran estructura flexible que se puede usar para agarrar objetos,
alargar, contraer y doblar, los robot cuyo diseño está inspirado por esta anatomía del pulpo
son particularmente útil para buscar en lugares inseguros y estrechos donde los robots
CAPÍTULO 2. MARCO TEÓRICO 13
No redundantes: Son aquellos que tienen el número justo de GdL (o menor) para
poder alcanzar cualquier punto dentro de su espacio de trabajo [29]. En un espacio
CAPÍTULO 2. MARCO TEÓRICO 15
plano (dos dimensiones) esto serían 3 GdL (dos para la posición y uno para la
orientación), y en un espacio tridimensional son 6 GdL (tres para posición y tres
para orientación)[30].La cinemática de este tipo de robot cumple:
dim(q̄) = n = dim(X¯ee ) = m
Donde q̄ es el vector de los valores de las articulaciones (por lo que n toma el valor
del número de articulaciones) y X¯ee es el vector posición y orientación del extremo
del robot (por lo que en caso de movimiento en tres dimensiones, m será 6 (tres
correspondientes a la posición y tres a la orientación)[31]
Redundantes: Son aquellos que disponen de más GdL de los necesarios para realizar
una tarea determinada [32]. En un espacio bidimensional, 4 o más GdL implicaría
redundancia, y en un espacio tridimensional habría redundancia a partir de los 7
GdL. Para este tipo de robot por tanto se cumple:
• Discretos: Son aquellos compuestos por módulos, unidos entre ellos mediante
las articulaciones, donde están situados los grados de libertad [36]. El número
de articulaciones (y por tanto de GdL) es finito, y será posible denominar al
robot “híper-redundante” cuando este número sea muy elevado. La localización
(posición y orientación) del extremo del robot (o el TCP) puede ser deducida a
partir del valor de las coordenadas articulares del mismo, es decir, a través de la
resolución de la Cinemática Directa [37]. El accionamiento de este tipo de robots
se suele realizar con transmisión mediante tensores, mediante accionamiento
directo o con transmisión mediante engranajes, este tipo de robots puede ser
no redundante, redundante o híper-redundante.
Una última sub clasificación se puede realizar teniendo en cuenta los materiales
de los que el robot está compuesto [39]:
◦ Robots duros (hard): Este tipo de robot está formado por elementos
rígidos unidos por articulaciones donde se encuentran los GdL. La mayoría
de este tipo de robots no son redundantes (aunque también los hay re-
dundantes e híper-redundantes) y están diseñados para realizar tareas con
precisión en entornos bien definidos. Generalmente son robots discretos,
aunque también se pueden diseñar como robots continuos con elementos
“hard” como por ejemplo SMA [40].
La robótica social es el estudio de los robots que son capaces de interactuar y comuni-
carse entre ellos, con los seres humanos y con el medio ambiente, dentro de las estructuras
CAPÍTULO 2. MARCO TEÓRICO 19
social y cultural en las cuales se desenvuelven [46]. Los temas que generalmente se inclu-
yen en esta área de investigación son vastos, de los cuales podemos mencionar interacción
robot-humano e interacción robot-robot, roboética en la sociedad humana, aceptación so-
cial e impacto de los robots en la sociedad, arte robótico interactivo y robótica de asistencia
social. En este último tema, y dados los avances tecnológicos, hoy en día es común encon-
trar sistemas que automatizan muchas de las tareas que anteriormente eran realizadas
por personas. Por ejemplo, podemos pensar en la industria automotriz y en la industria
de manufactura de tarjetas de circuitos impresos. Por esta razón, el pensar que un robot
humanoide realice tareas de asistencia social ya no es ciencia ficción [47].
Por ejemplo, los adultos mayores necesitan ayuda para las actividades cotidianas, que
varían según la persona e incluyen tanto las necesidades funcionales como médicas2. En este
caso podemos encontrar robots que ayudan a personas mayores que sufren de enfermedad
pulmonar obstructiva crónica [48]. Tal es el caso del estudio de Johnson et al.3, en donde
el comportamiento del robot está determinado en parte por la información recopilada a
través de sensores de una casa inteligente. Para garantizar la aceptación de los usuarios,
se utilizó un diseño centrado en el usuario para implementar el comportamiento del robot
[49].
En la figura 2.6 se puede ver un robot humanoide utilizado como sistema información
interactivo en aereopuertos de Japon.
Las Redes Neuronales son un campo muy importante dentro de la Inteligencia Artificial,
estas están inspiradas en el comportamiento conocido del cerebro humano, principalmente
el referido a las neuronas y sus conexiones, trata de crear modelos artificiales que solu-
cionen problemas difíciles de resolver mediante técnicas algorítmicas convencionales. [54]
El modelo de Rumelhart y McClelland de 1986 define un elemento de proceso (EP), o
neurona artificial, como un dispositivo que a partir de un conjunto de entradas que genera
una única salida [23], una de las características más significativas de las redes neuronales
es su capacidad para aprender a partir de alguna fuente de información interactuando
con su entorno. En 1958 el psicólogo Frank Ronsenblant desarrolló un modelo simple de
neurona basado en el modelo de McCulloch y Pitts y en una regla de aprendizaje basada
en la corrección del error. A este modelo le llamó Perceptrón. Una de las características
que más interés de este modelo fue su capacidad de aprender a reconocer patrones. El Per-
ceptrón está constituido por un conjunto de sensores de entrada que reciben los patrones
de entrada a reconocer o clasificar y una neurona de salida que se ocupa de clasificar a
los patrones de entrada en dos clases, según que la salida de la misma sea 1 (activada) o
0 (desactivada). Sin embargo, dicho modelo tenía muchas limitaciones, como por ejemplo,
no es capaz de aprender la función lógica XOR. [55]
CAPÍTULO 2. MARCO TEÓRICO 22
2.4. Simulación
La simulación es la imitación de la operación de un proceso o sistema del mundo real
en el tiempo[7]. Para simular algo se requiere que se desarrolle un modelo; este modelo re-
presenta las características, comportamientos y funciones clave del sistema o proceso físico
seleccionado. El modelo representa el sistema en sí, mientras que la simulación representa
el funcionamiento del sistema a lo largo del tiempo. [60] A menudo, los experimentos en
computadora se usan para estudiar modelos de simulación. La simulación también se usa
CAPÍTULO 2. MARCO TEÓRICO 24
con modelos científicos de sistemas naturales o sistemas humanos para obtener información
sobre su funcionamiento, [8]como en economía. La simulación se puede usar para mostrar
los efectos reales eventuales de condiciones y cursos de acción alternativos. La simulación
también se usa cuando el sistema real no puede ser activado, porque puede no ser accesi-
ble, o puede ser peligroso o inaceptable, o está siendo diseñado, pero aún no construido, o
simplemente puede no existir.[61] Los temas clave en la simulación incluyen la adquisición
de información de origen válida sobre la selección relevante de características y compor-
tamientos clave, el uso de aproximaciones y suposiciones que simplifican la simulación, y
la fidelidad y validez de los resultados de la simulación. Los procedimientos y protocolos
para la verificación y validación de modelos son un campo continuo de estudio académico,
refinamiento, investigación y desarrollo en tecnología o práctica de simulaciones, particu-
larmente en el campo de la simulación por computadora
2.4.2. Gazebo
Gazebo, que nace con el nombre de Gazebo Project, es un simulador 3D, cinemático,
dinámico y multi-robot que permite realizar simulaciones de robots articulados en entornos
complejos, interiores o exteriores, realistas y tridimensionales, permite probar rápidamente
algoritmos, diseñar robots, realizar pruebas de regresión y entrenar el sistema de inteli-
gencia artificial utilizando escenarios realistas. Gazebo ofrece la capacidad de simular con
precisión y eficiencia poblaciones de robots en entornos complejos interiores y exteriores.
CAPÍTULO 2. MARCO TEÓRICO 25
2.5. Tensorflow
Tensorflow es una biblioteca de código abierto para el desarrollo de aplicaciónes en
el campo de la inteligencia artifical principalmente en Machine Learning y Deep Lear-
ning. Tensorflow desarrollada por la empresa Google, una empresa americana, con sede en
Mountain View, California, que se especializa en servicios de Internet, sobre todo como
motor de búsqueda, sistemas de optimización e inteligencia artificial. [64]
2.5.1. keras
ACM III
En 1975 se creó el ACM III (Active Cord Mechanism), el primer robot híper-
redundante con movimientos similares a los de las serpientes reales. Dicho robot
disponía de 20 GdL y estaba actuado mediante servomotores. Este robot fue creado
por Hirose, medía dos metros y era capaz de desplazarse a una velocidad de 40 cm/s
describiendo con la parte delantera un movimiento sinusoidal. El contacto con el
suelo se realizó a partir de ruedas, lo que oponía resistencia al movimiento lateral
y por tanto facilitaba la traslación hacia adelante [66]. En la figura 4.25 se puede
observar el prototipo ACM III.
Elastor
El robot fue desarrollado por M. Kurata [68], prototipo que fue inspirado por el
movimiento de las espiroquetas (Spirochaetes o Spirochaetae), son un Tipo de acte-
rias Gram-negativas que tienen células alargadas y enrolladas helicoidalmente. Las
espiroquetas se distingue de las demás bacterias por la presencia de unos flagelos
especializados denominados filamentos axiales situados entre la envoltura celular ex-
terna y el cilindro protoplasmático (en el espacio periplasmático) que producen un
movimiento giratorio que permite a la bacteria entera desplazarse hacia adelante, co-
mo si fuese un sacacorchos. En la figura 2.11 se puede observar el prototipo helicoidal
de un robót continuo inspirados en las bacterias espiroquetas.
Spring
Snake Robot
El robot fue dessarrollado por Hirose, Gavin Miller que construyó entre 1994 y 1995
prototipos de robots de estilo serpiente (llamados “snake robot”), como se observa
en la figura 2.13 (a) primera versión, (b) segunda versión. la segunda versión dispo-
nían de 14 servomotores. Al igual que el ACM III, el contacto con el suelo se hacía
mediante ruedas, que a su vez impedían el movimiento horizontal [70].
Air-Octor
Tensor Arm
Los investigadores Anand Kumar Mishra, Alessio Mondini, Emanuela Del Dottore,
Francesca Tramacere y Barbara Mazzolai, [72], trabajaron en un robot de estructura
hibrida, usaron tendones, en rutados a través de elementos espaciadores para efec-
tuar la flexión del elemento principal central en varios "Secciones". Los puntos de
terminación de conjuntos de tendones a lo largo de las secciones, su diseño realizado,
teniendo en cuenta que la locomoción del robot se basa en las fuerzas de fricción
entre el robot y su entorno, se introducen los modelos básicos de fricción. Para el
estudio se usa el robot. Al principio, según las leyes mecánicas, se determinan las
fuerzas propulsoras que afectan al segmento del robot serpiente. Por medio del aná-
lisis matemático se deriva la velocidad promedio del robot. Dado que el número de
segmentos de robot tiene influencia en la velocidad promedio del robot, se obtiene
el número óptimo de secciones. En figura 2.15 se puede observar un prototipo de
robot-tendon desarrollado por la universidad de Tenesse Laboratorio de Robótica
aplicada a mecanismos continuos.
CAPÍTULO 2. MARCO TEÓRICO 32
En esta sub-secion se indica las posibles formas de los sistemas de control y movimiento
para un robot continuo.
Figura 2.18: Funcionamiento de actuación mecánica mediante Motores (a) Robot tipo
discreto. (b) Robot tipo continuo.
[74]
Actuadores de tipo SMAs: Consisten en una aleación que tras una deformación
mecánica, es capaz de volver a su estado inicial mediante la aplicación de calor. Este
tipo de actuadores se han probado con formas de muelle, con la desventaja de que ni
la fuerza ni el momento resultante son constantes, por lo que no es de gran utilidad. Se
está investigando la posibilidad de obtener fuerzas y momentos constantes mediante
el uso de estas aleaciones con otra forma distinta de la de muelle. La aleación más
usada es NiTi por sus buenas propiedades y su precio. Con este tipo de actuación
se han construido menos manipuladores, aunque se puede destacar el desarrollo de
endoscopios con forma de gusano desarrollados, entre otros, por Ikuta. [77]
Los investigadores Limei Zhao, Qing Xiao, Zhengcai Cao, Ran Huang and Yili Fu,
propusieron un nuevo método de control del aprendizaje para robots similares a
serpientes para lograr el seguimiento de la trayectoria [80]. Lo cual consistía en el
aprendizaje determinista, un control adaptativo de redes neuronales se usa para ras-
trear la trayectoria deseada y aproximar la dinámica desconocida del sistema del
robot parecido a una serpiente. Después de esto el conocimiento aprendido de las
CAPÍTULO 2. MARCO TEÓRICO 36
redes neuronales directas se almacena como pesos de red constantes. Estos pesos
mejoran la respuesta de velocidad y la precisión del sistema en repetir lo mismo o
similar tareas de control al usar el enfoque Lyapunov, el seguimiento demostró que
el error está uniformemente acotado y converge a un conjunto residual. Finalmente,
los resultados de la simulación se presentan a ilustrar la efectividad del esquema
de control propuesto. Del trabajo podemos concluir que un aprendizaje determinis-
ta usando algoritmos adaptativos de control ha sido propuesto para tratar con un
sistema de dinámica desconocida para robots similares a serpientes. El esquema de
control tiene como objetivo compensar las incertidumbres de la dinámica del robot.
Usando lo aprendido conocimiento mejorar la inteligencia y la eficiencia de la sis-
tema sin volver a adaptarse a la dinámica conocida de la robot. El conocimiento
aprendido se puede reutilizar repitiendo lo mismo, El algoritmo demuestra que tiene
la capacidad de seguir la trayectoria deseada sin embargo no hace énfasis en el costo
computacional y la velocidad de respuesta sobre el aprendizaje de la red neuronal
El investigador Jose Alberto Fernández León realizo un trabajo para obtener el título
de maestría sobre estudio de neurocontroladores evolutivos para la navegación de
robots autónomos [81] , donde la forma de aprender de las redes neuronales no son
supervisadas, entre los algoritmos que se destacaron son un controlador Feed-Forward
Neuronal Network (FFNN), es una arquitectura basada en multi-layer perceptron
(MLP), donde es no recurrente y corresponde a una red simple, la cual produce
una señal de salida a una respuesta directa al rango de la lectura de los sensores, en
términos de evolución los pesos de la red neuronal son evolucionados y adaptados
de acuerdo a la navegación del robot, esto se refiere a que los pesos sinápticos no se
modifican el la vida del controlador, los pesos de las conexiones sinápticas quedan
fijos después que se creó la red.
una acción previa, De acuerdo, los controladores que hacen uso de acciones tempora-
les poseen el potencial de desarrollar un control completamente reactivo considerando
simples sensores del robot, esta arquitectura recurrente muestra una dinámica de-
pendiente del tiempo más compleja que aquellas asociadas a la redes del tipo FFNN.
MARCO CONCEPTUAL
Este capítulo muestra los conceptos matemáticos para el dessarrollo del proyecto de
investigación
39
CAPÍTULO 3. MARCO CONCEPTUAL 40
Ahora si so(3) mediante álgebra de Lie de SO(3) con una matriz antisimétrica de
caracteristicas isomorficas en R3 . Un identificación isoformica entre álgebra de Lie R3 y
so(3) esta dado por
w1 0 −w3 w2
w := w2 7→ ŵ := w3 −w1
0
w3 −w2 w1 0
h iT h iT
Para cada par w = w1 w2 w3 y v = v1 v2 v3 , donde w × v = ŵv, en todos los
casos w so(3), indicando la dirección de rotación y la medida del ángulo. La magnitud
|w| indica la variación de la posición angular. La formula de Rodigues genera la relación
descrita en la ecuacion 3.2
dado la rotación sobre el eje descrito por ŵ con un ángulo θ, dado un punto p = P (0)
en un cuerpo rigido O y un parametrización para determinar la rotación en t radianes,
esto genera la siguiente ecuacion diferencial
Donde la solución de la ecuacion 3.3 esta dada por p(t) = eŵt p(0), se representa w ×
p(t) = ŵp(t)
3.1.1. Twist
h i
Un twist es la representación de un vector 6×1 de la forma v t wt , donde v representa
la velocidad lineal y w la velocidad angular de un cuerpo rigido, w R3 que describe la
dirección del eje de rotación con |w| = 1 y q R3 es cualquier punto en el eje de rotación,
asumiendo que el cuerpo solo puedo rotar con una velocida unitaria, la velocidad del punto
CAPÍTULO 3. MARCO CONCEPTUAL 41
Donde v = −w×q. La forma exponencial se(3) → SE(3) puede trabajar de forma matricial
dado eξ̂θ SE(3) esto produce rotación seguida de una translación mediante la magnitud
θ en radianes (translación en paralelo al eje de rotación scalado por w).
Desde una vista geometrica un Screw se representa por tres variables (l, h, θ) donde l es
denota el eje, h la inclinación del eje o pith y θ la magnitud del ángulo sobre l. Si h = ∞, el
movimiento es de translación pura a lo largor del eje rotación. Otros factores importantes
sobre Screws son:
Ad : G → GL(g)
g → dCg
CAPÍTULO 3. MARCO CONCEPTUAL 42
gi,n (θn ) = gi,1 (θ1 ) · g1,2 (θ2 ) · g1,3 (θ3 ).... · gn,n+1 (θn+1 )
gi,n+1 (θn ) = eξ̂I,1 θ1 · eξ̂1,2 θ2 · eξ̂1,3 θ3 .... · eξ̂n,n θn+1 · gn,n+1 (0) (3.5)
Eligiendo una marco de referencia adecuado, el primer eslabón gn,n+1 (0) = Id, donde
Id es la matriz indentidad. Usando la representación adjunta se considera que ξˆi son los
twist correspondientes a i-enésima articulación (1 ≤ i ≤ n)
biológico.” [86].
Una Red Neuronal Artificial esta basada en el principo de la neurona biologica, Ramón
y Cajal en 1888 [87], defendió la teoría de que las neuronas se interconectaban entre sí
de forma paralela, y no formando un circuito cerrado como el sistema sanguíneo, esta co-
municación se realiza por la exitación de señales electroquímicas por medio las dendritas,
proceso el cual se conoce como sinapsis. En Figura 3.1 se puede observar la arquitectura
de una Neurona Biológica
Procesador: soma.
Una neurona cerebral puede recibir unas 10.000 entradas y enviar a su vez su salida a
varios cientos de neuronas [88].
Una red neuronal artificial (RNA) se define como una funcion 3-upla
N = (D, {fi } , A)
donde D es un digrafo contable, localmente finito, con arcos etiquetados, cuyos vertices
corresponden a las neuronas, los arcos a las conexiones sinápticas y las etiquetas de los arcos
CAPÍTULO 3. MARCO CONCEPTUAL 44
llamadas pesos, corresponden a las intensidades de las conexiones sinápticasen los sistemas
neuronales biológicos. A es un conjunto llamado activación que contiene los elementos de
“entrada” de las unidades. Posee una estructura de módulo sobre el anillo de pesos, W.
{f i : A → Ai V } es una colección de funciones llamadas deactivación o salida.
Para un estado de activación de la neurona j-ésima de la capa l se puede escribir de la
siguiente manera representada en la ecuacion 3.6
X
alj = f ( Wjil al−1
i + blj ) (3.6)
i
~ a(l−1) + b~l )
~a = f (w~ (3.7)
Recurrent Neural Networks (RNN). Este tipo de redes permiten conexiones hacia
atrás donde las conexiones entre nodos forman un gráfico dirigido a lo largo de una
secuencia temporal, esto le permite exhibir un comportamiento dinámico temporal a
diferencia de las redes neuronales de avance, los RNN pueden usar su estado interno
(memoria) para procesar secuencias de entradas. Esto los hace aplicables a tareas
CAPÍTULO 3. MARCO CONCEPTUAL 45
En el contexto de las redes neuronales el aprendizaje puede ser visto como el proceso
de ajuste de los parámetros libres de la red [90]. Partiendo de un conjunto de pesos si-
nápticos aleatorio, el proceso de aprendizaje busca un conjunto de pesos que permitan a
CAPÍTULO 3. MARCO CONCEPTUAL 46
donde α indica el tamaño del paso tomado en cada iteración, pudiendo ser diferente
para cada peso e idealmente debería ser infinitesimal [94]. El tamaño del paso es un factor
importante a la hora de diseñar un método de estas características. Si se toma un paso
muy chico el proceso de entrenamiento resulta muy lento, mientras que si el tamaño del
CAPÍTULO 3. MARCO CONCEPTUAL 47
paso es muy grande se producen oscilaciones en torno al punto mínimo. En la figura 3.4 se
puede observar una función multimodal con los diferentes óptimos donde puede converger
el algoritmo gradiente descendente.
Aplicar un patrón de entrada, el cual se propaga por las distintas capas que componen
la red hasta producir la salida de la misma. Esta salida se compara con la salida
deseada y se calcula el error cometido por cada neurona de salida. Estos errores se
transmiten hacia atrás, partiendo de la capa de salida, hacia todas las neuronas de
las capas intermedias.
Las neurona recibe un error que es proporcional a su contribución sobre el error total
de la red. Basándose en el error recibido, se ajustan los errores de los pesos sinápticos
de cada neurona. El error de propagación de cada neurona esta dado por la ecuacion
3.9
CAPÍTULO 3. MARCO CONCEPTUAL 48
M
1X
ep = (dpk − ypk )2 (3.9)
2 K=1
PP
P =1 ep
e= (3.10)
P
La variación de los pesos de una conexión que va desde una capa hacia otra capa de la
red que no sea la externa se calcula como:
X
∆Wji = α (δpk Wkj )fj 0 (hj )ypi (3.11)
K
En la implementación del algoritmo, se toma una amplitud de paso que viene dado por
la tasa de aprendizaje (α). A mayor tasa de aprendizaje elvproceso será más rápido. Sin
embargo, si la tasa de aprendizaje es muy alta puede dar lugar a oscilaciones en torno a un
mínimo local. Es posible disminuir el impacto de dichas oscilaciones mediante la adición
de un momento (β), quedando la expresión
De esta manera el momento β determina el efecto en el instante t+1 del cambio de los
pesos realizado en el instante t. Con este momento se consigue la convergencia de la red
en menor numero de iteraciones, ya que si la modificación de los pesos en los instantes t
y t + 1 es en la misma dirección, entonces el descenso por la superficie de error en t + 1
es mayor. En cambio, si la modificación en los pesos en los instantes t y t + 1 se produce
CAPÍTULO 3. MARCO CONCEPTUAL 49
Los diagramas de Voronoi son usados para poder dividir un plano en tantas regiones
como objetos tengamos, esto aplicado a la planeación de trayectorias nos permite crear
CAPÍTULO 3. MARCO CONCEPTUAL 50
rectas o caminos seguros y distantes de por ejemplo los obstáculos que serían los objetos
en el diagrama. Sin embargo, este algoritmo no es completo y requiere complementarse
de otros algoritmos e planificación como lo son A∗ y D∗ , entre otros, los cuales permiten
calcular el camino más rápido para unir el punto inicial con el punto final. En la figura
3.5 se puede observar un diagrama de Voroni que encierra ocho puntos [97]
Este método está desarrollado como su nombre lo indica en función de potenciales para
generar rutas y evasión de obstáculos, es decir por ejemplo asignando valores magnéticos
a los obstáculos de carga igual para que se repela y a la meta un valor de carga contraria
CAPÍTULO 3. MARCO CONCEPTUAL 52
p
Pi = (T arget − i)2 + (T arget − k)2 ∗ k (3.14)
Rsoi − Dist
Obs = (3.15)
Dist
DISEÑO DE UN PROTOTIPO DE UN
ROBOT CONTINUO
Este capítulo muestra el desarrollo del diseño de un prototipo de un robot continuo que
es un objetivo de este proyecto de investigación. En el diseño del robot continuo se tuvie-
ron en cuenta aspectos como materiales, tipos de sensores, corrección de accionamientos,
inspección visual de las características de elementos críticos (color, tamaño y morfología),
interacción de elementos estructurales simples. Se conceptualizan inicialmente todas las
variables que se toman en cuenta y de esta base se podrán identificar en el robot mani-
pulador continuo, determinarlas y aplicarlas según el caso. Inicialmente se hará un diseño
conceptual, donde se parte del significado del robot continuo tipo discreto y blando úni-
camente para el diseño (ver sección 2.1.3). En esta primera fase se realizan bocetos que
ayuden a identificar parámetros que deban ser tomados en cuenta, como tipo de elementos
a usar y su localización. (Figura 4.1)
54
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 55
móvil que determinara el espacio de trabajo del robot, en base a esto se diseñaron tanto los
eslabones como las articulaciones, los cuales tienen como primer boceto un robot continuo
tipo discreto. En la Figura 4.1 se puede observar el esquema general propuesto donde
selecciona articulaciones tipo universal de rodamiento de bola para obtener los dos grados
de libertad que robot necesita para su desplazamiento.
se habría perdido, al ser además un robot continuo, se consigue que el movimiento del robot
se distribuya uniformemente por toda la estructura en lugar de producirse únicamente en
las articulaciones, consiguiendo de este modo formas más suaves. Se considera que el robot
a construir es continuo por repartir el movimiento en toda su estructura en lugar de sólo en
las articulaciones, a pesar de que presenta zonas en las que el movimiento no es el mismo
que en el resto de la estructura, esto ocurre en las zonas de unión de módulos y en las
zonas donde se sitúan las articulaciones.
Para la realizar el análisis de elementos finitos, se realizó sobre una única sección del
brazo robótico, las secciones unidas en una cadena cinemática forman la totalidad del
robot con la locomoción respectiva, se analizaron esfuerzos tensión, compresión y flexión,
en la figura 4.3 se puede observar una única sección del robot donde se ha anclado un lado
del disco ha una parte fija representada por flechas de color verde, mientras el otro lado
del disco se somete a una carga para comprobar los esfuerzos representadas por las flechas
de color morado, para este caso es una prueba de tensión. En la figura 4.4 se indica la
prueba de elementos finitos a tensión con una carga de 2N , el valor de la fuerza se escogió
deduciendo que el robot en el último eslabón debe soportar un sensor de infrarrojo tipo
Lidar con un peso aproximado que puede variar de 200 gramos a 800 gramos dependiendo
de las cualidades del sensor. Las pruebas de tensión y compresión de realizaron pensando
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 58
que el robot podía estar posición vertical con dirección hacia arriba y en posición vertical
apuntando hacia abajo donde el sensor haría la carga En la figura 4.5 se puede observar
una prueba de tensión de un eslabón con una carga 8N , se puede ver como la sección
está sufriendo y está pronto a llegar a la ruptura en extremo libre donde se ha aplicado
la fuerza. El muelle se ve sometido a tensiones superiores a su límite de elasticidad y
un tienen un comportamiento plástico. Si las tensiones ejercidas continúan aumentando
el material alcanza su punto de fractura. El límite elástico marca, por tanto, el paso del
campo elástico a la zona de fluencia. más formalmente, esto comporta que en una situación
de tensión uniaxial, el límite elástico es la tensión admisible a partir de la cual se entra en
la superficie de fluencia. En la figura 4.6 se puede observar una prueba de compresión de
un eslabón con una carga −8N como la sección está sufriendo y está pronto a llegar a la
deformación de los muelles. Los materiales a los cuales se aplicó la prueba de elementos
finitos se encuentran descritos en las tablas 4.1 y 4.2. Estos materiales se seleccionaron
por su facilidad de mecanizado, costos y facilidad de adquisición en el mercado.
Figura 4.4: Prueba de elementos finitos a tensión con una carga de 2N (Autor : Propia)
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 59
Figura 4.5: Prueba de elementos finitos a tensión con una carga de 8N (Autor : Propia)
Figura 4.6: Prueba de elementos finitos a compresión con una carga de −8N (Autor :
Propia)
Figura 4.7: Prueba de elementos finitos a compresión con una carga de 2N aplicada sobre
un cable (Autor : Propia)
Figura 4.8: Sección única del robot aplicada a una fuerza de flexión sin ruptura (Autor :
Propia)
83.23cm, para una carga de 10N , este valor es imposible ya que la simulación de elementos
finitos mostro el robot solo soporta 8N
Figura 4.10: Sección única de la tensión mecánica del robot 10N . (Autor : Propia)
Figura 4.11: Sección única de la tensión mecánica del robot. (Autor : Propia)
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 63
Figura 4.12: Sección única de la tensión mecánica del robot. (Autor : Propia)
La flexión máxima del robot es de 0.75m sin generar la ruptura del material y la
tensión máxima soportada es de 3.2 × 1010 pa.
Para tensión y compresión, el robot soporta 4.25×108 pa, y −5.4×108 pa, respectiva-
mente. Esto para una fuerza aplicada de 8N y tiene un desplazamiento de 1.5×10−25
m en cada segmento.
Para el diseño final y basándose en los resultados anteriores se eligió un diseño que
consta de tres secciones, una fija y dos móviles, cada sección móvil está controlada por 3
motores de 12v, cada motor con un encoder incremental para el control de posición del
robot esto con el fin de por medio de un tornillo sin fin se tensiona la cuerda para generar el
desplazamiento del efector final, se usaron sensores de ultrasonido por cada cable conductor
descrita en la cinemática del capítulo 4 . En la figura 4.13 se puede observar el diseño del
robot continuo final.
Figura 4.13: Diseño final del robot continuo en SolidWorks (Autor : Propia)
Figura 4.18: Modelo del robot continuo tipo discreto de tres eslabones (Autor : Propia)
Cada articulación posee dos grados de libertad que se mueven de acuerdo a un sistema
de coordenadas cartesianas, en la figura 4.19 se puede observar el marco de referencia y
el sistema de coordenadas usado; la flecha de color azul y su dirección, en este caso hacia
arriba representa el eje Z positivo, la flecha de color rojo representa el eje X positivo y
por último la flecha verde representa el eje Y positivo.
La longitud de cada cilindro que forma un eslabón es Li siendo i el número del eslabón,
esta distancia es igual a el tamaño de la distancia que hay entre centros de cada articulación
cuando estos están de forma tangente, el radio de cada articulación es LSCi y cada eslabón
es modelado como un cilindro de diámetro 2LSCi , las dos esferas de radio LSCi son fijas en
los extremos de cada eslabón. (ver figura 4.20)
Para el modelo cinemático el marco de referencia es fijo al mundo del robot con coorde-
nadas I = (O, eIx , eIy , eIz ) como una aproximación al marco de referencia inercial donde su
centro es O y el eje eIz apunta en dirección opuesta al vector de la aceleración gravitacional
h iT
G = q0 0 −g , que coincide con la dirección negativa en Z, el marco de referencia
solidario al robot es Bi = (Gi , eIx , eIy , eIz ) donde Gi es el centro de graveda de cada eslabón
que coincide con el centro geométrico del cilindro LGSi y eIz en dirección a linea que apunta
del eslabón i a i + 1,
La posición y orientación de cada eslabón se describen mediante:
I rGi
qi =
Pi
donde I rGi =]T[ R7 , posición de el centro de graveda del eslabón i relativo al marco i y el
h iT h i
vector Pi = ei0 eTi donde eTi = ei1 ei2 ei3 que contiene los cuatro parametros de
euler usados para describir rotaciónes. Las coordenadas son no-nominales [101], porque la
posición y la orientación de cada eslabón se describe por seix coordenadas y una absoluta
por que la posición y la orientación son directamente relativas al marco referencia solidario
al mundo O.
La velocidad del eslabón i esta dado por:
I VGi
ui =
Bi WIBi
donde I VGi es la velocidad de translación con respecto al centro de graveda del eslabón
i dado por I VGi = I r˙Gi y Bi WIBi es la velocidad angular del marco Bi relativa al marco
O dado por Bi WIBi = θ̇. La posición, orientación y velocidad del robot son vectores de la
T T
forma q = q1T , ... , qnT y u = uT1 , ... , uTn
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 70
Figura 4.21: Modelo del robot continuo de cinco eslabones (Autor : Propia)
Entonces, los valores de los twists ξ para cada una de las articulaciones quedan formulados
de una forma sencilla por
v1 −w1 ∗ L1 vi −w ∗ Li
ξ1 = = ; .....; ξi = = i
w1 w1 wi wi
gsh (θ) = eξ1 θ1 · eξ2 θ2 · eξ3 θ3 ... eξi θi · gsh (0) (4.1)
siendo gsh (0) la configuración de referencia del manipulador para el eslabón i dada por:
[Ii×i ] [H]
gsh (0) =
[0..0i ] 1
donde H es una matriz de la forma [Li 2L2 3L3 .... nLi ]T y I es la matriz identidad
Para resolver el problema cinemático inverso mediante álgebra de Lie, aplicamos los
problemas canónicos de una forma sistemática, operando sobre la ecuación anterior gsh (θ)
y con dos pasos sencillos.
Obtención de la variable θn :
Para ello, consideramos n como el total de número de eslabones del robot. Pasamos
gsh (0) al otro lado de la ecuación y aplicamos ambos lados de esta ecuación a la
primera articulación, para posteriormente hallar el módulo de la diferencia de esos
términos con el punto Li , con lo que obtendremos la ecuación siguiente:
gsh (θ) · gsh (0)−1 · (L − nLi )
=
eξ1 θ1 · eξ2 θ2 · eξ3 θ3 ... eξi θi · (L − nLi )
(4.2)
Hemos operado de este modo para obtener la ecuación anterior en la que las ex-
ponenciales de las variables θ1 , θ1 , ..... θn−1 , no tienen ningún efecto y se pueden
eliminar. Por todo ello, la ecuación tiene el término izquierdo conocido (valor δ) y
un término derecho que solo se ve afectado por el ultimo GDL, por lo que queda
transformada en la ecuación siguiente, que no es sino la formulación del problema
canónico Paden-Kahan. [103]
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 73
pardos−uno
δ =
eξn θn · (L − nLi )
→ eξn θn (4.3)
gsh (θ) · gsh (0)−1 = eξ1 θ1 · eξ2 θ2 · eξ3 θ3 ... eξi θi (4.4)
gsh (θ) · gsh (0)−1 · (L − nLi ) = eξ1 θ1 · eξ2 θ2 · eξ3 θ3 ... eξi θi · (L − nLi ) (4.5)
que tiene el término izquierdo conocido (igual a un punto cualquiera que llamaremos
k’) y un término derecho con el producto de la exponencial de θn por el punto
(L − nLi ), que será también un valor conocido (igual a un punto que llamaremos p0 ),
al haber obtenido θn en el primer paso. De esta forma, la ecuación anterior queda
nueva representación:
padenkahan
k 0 = eξ1 θ1 · eξ2 θ2 · eξ3 θ3 ... eξn−i θn−i · p0 → θ1 , θ2 , θ3 , ...., θn−i , (4.6)
que no es sino la formulación del problema canónico PadenKahan [103], por lo que
por aplicación geométrica de este obtenemos los dos valores posibles para la pareja
de variables θn−i . De esta forma queda resuelto de forma geométrica, determinista,
cerrada y completa el problema cinemático inverso.
tipo continuo con 56 secciónes, los parametros de entrada son los ángulos θ de cada articu-
lacion que se selecionaro de forma aleatoria entre (−π, π) con el fin de observar diferentes
curvas. En la figura 4.22 se puede observar el manipulador robotico con cuatro curvas:
(a) el robot manipulador tiene todos los ángulos de sus eslabones negativos, (b) el robot
manipulador tiene ángulos negativos en los eslabones de 1 al 40 y negativos del 41 al 56,
(c) el robot manipulador tiene todos los ángulos de sus eslabones positivos y (d) el robot
manipulador tiene ángulos positvos en los eslabones de 1 al 30 y negativos del 31 al 56. En
la figura 4.23 se puede observar los marcos de referencia de cada eslabón y la variación del
ángulo cuando se va generando la curva:(a) el robot manipulador tiene ángulos negativos
en los eslabones de 1 al 51 y positivos del 51 al 56 (b) el robot manipulador tiene ángulos
negativos en los eslabones de 1 al 51 y positivos del 51 al 56 y (c) el robot manipulador
tiene ángulos negativos en los todos los eslabones y se puede apreciar la variacion del
ángulo con respecto a la base.
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 75
Li = 0.2m
LSCi = 0.05m
Inercia
Ixx Ixy Ixz 0.00025 0.0 0.0
I = Iyx Iyy Iyz = 0.0 0.0 .
0.00025
Izx Izy Izz 0.0 0.0 0.00125
IE = IC + IS (4.7)
Para comprobar el momento de inercia dentro del simulador, este proporciona un cuadro
de color rosado, si los calculos están correctos debe sobreponerse sobre la figura o cuerpo
rígido del cual se calculo el momento de inercia. En la figura 4.24 se puede observar como
el momento de inercia a través del cuadro rosado coincide en cada eslabón.
Figura 4.25: Centro de graveda de cada eslabón y la base donde se mueve el robot (Autor
: Propia)
Para una interacción dinámica con la simulación se creó una interfaz gráfica de usuario
en Python, este por ser un software libre, multiplataforma y su fácil implementación con
ROS. La interfaz gráfica de usuario se creó con el fin de poder generar de forma dinámica
el número de eslabones en el ambiente virtual y a sí mismo tener control sobre cada
actuador, la interfaz gráfica de usuario también está diseñada para ingresar los valores
de los sensores de forma manual y generar el dataset de entrenamiento para una red
neuronal tipo perceptron multicapa, (ver sección 5.1) . En la figura 4.26 se observa el
diagrama que relaciona la interactividad de ROS, PYTHON Y GAZEBO para este trabajo
de investigación [105].
En la primera capa o capa primaria de control, se genera los programas que modelan el
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 80
Para generar robot dentro del ambiente virtual se utilizó el formato URDF que es
un formato universal usado para describir un robot. La descripción de un robot conlleva
indicar cuáles son los eslabones de los que está compuesto, por qué medios se conectan
unos a otros, qué tipo de articulaciones (prismáticas, cilíndricas...) y las limitaciones de
giro de sus articulaciones además de otras muchas caracteríısticas. Dicho formato incluye
la posibilidad de añadir mallas de puntos que describen la tipología y apariencia 3D de
los eslabones que componen el robot, es decir, su apariencia visual o en su defecto usar
elementos geométricos básicos y poder representarlo por cualquier visualizador.
La interfaz gráfica se desarrolló en tres ventanas; En la figura 4.27 se puede observar la
ventana de inicio de la interfaz, esta ventana se abre cada vez que se inicia el programa
por parte del usuario, en esta ventana se debe colocar el número de eslabones del robot
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 81
con una limitación hasta 100 eslabones, esta limitación se colocó por qué al superar esta el
costo computacional se incrementa y la simulación trabaja de un forma muy lenta lo cual
no permite realizar un análisis correcto del movimiento del robot. La ventana de inicio
también tiene un botón de cerrar que obliga a hilo principal del programa a finalizar todos
los proceso tanto de simulación como los que se ejecutan en segundo plano que son los
programas de Ros y Pyhton, TensorFlow y su librería de keras
En la figura 4.28 se puede observar la segunda ventana que aparece después de presionar
el botón de Numero Eslabones de la ventana de inicio, esta ventana genera cinco espacios
donde se debe colocar manualmente el valor del sensor Lidar en los cinco puntos adquiridos
(ver sección 5.1.1), estos valores serán la información de entrada, esta ventana tiene dos
botones, un botón que permite ingresar más valores y poder aumentar el dataset adquirido
y otro bóton que permite guardar el dataset en formato .xml en un tabla de excel donde
se pueda ver de forma ordenada.
En la figura 4.29 se puede observar la tercera ventana que se crea en paralelo con la segunda
ventana, esta ventana genera automáticamente sliders o barras deslizantes de adquisición
de información de acuerdo al número de eslabones ingresados en la ventana inicial, este
paso también se debe realizar manualmente para llevar al robot a una posición deseada,
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 82
estos valores son tomados como dataset de salida que deberá entregar la red neuronal una
vez entrada. En la parte superior de la tercera ventana hay cuatro botones que actúan
como comandos para posicionar el robot móvil en la posición deseada, cada giro que hace
el robot móvil es de 10 grados con una velocidad de adelanto y retroceso de 2 m/s. En el
anexo 7.4 se puede detallar como se genera el DataSet para entrenar la red neuronal.
Figura 4.28: ventana de adquision de datos del sensor Lidar (Autor : Propia)
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 83
Figura 4.29: ventana de adquision de datos de la posición de los eslabones del robot (Autor
: Propia)
En la figura 4.30 se puede observar la simulación con tres robots de diferente numero
de eslabones: A) 3 eslabones, B) 8 eslabones, C) 20 eslabones y D) 26 eslabones.
En la figura 4.31 se puede observar la simulación de un robot tres eslabones controlando
sus actuadores desde la interfaz gráfica, en la figura 4.32 un robot con ocho eslabones
controlando sus actuadores desde la interfaz gráfica y en la figura 4.33 un robot con quince
eslabones controlando sus actuadores desde la interfaz gráfica.
En la simulación se observo que despues de 10 eslabones, los actuadores que controlan los
primeros eslabones no tiene la suficiente fuerza para llegar a la referencia, esto hace que
el robot no se posicione de forma deseada en el valor enviado desde la interfaz gráfica.
esto es debido al peso que tiene que mover los actuadores de los primeros eslabones.
Para el desarrolló de los siguientes objetivos se hicieron las pruebas con un robot de
ocho eslabones para generar una correcta simulación posicionando de forma deseada los
eslabones, el numero máximo donde el robot llegaba de forma correcta a la referencia es
de diez eslabones y por este motivo los ocho eslabones que se eligieron para las pruebas
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 84
Figura 4.30: Resultados del mundo virtual con un robot continuo tipo discreto con diferente
numero de eslabones (Autor : Propia)
CAPÍTULO 4. DISEÑO DE UN PROTOTIPO DE UN ROBOT CONTINUO 85
Figura 4.31: Simulación de un robot continuo de tres eslabones controlado desde una GUI
(Autor : Propia)
Figura 4.32: Simulación de un robot continuo de ocho eslabones controlado desde una GUI
(Autor : Propia)
Figura 4.33: Simulación de un robot continuo de 15 eslabones controlado desde una GUI
(Autor : Propia)
Capítulo 5
86
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS87
Para los datos de entrada en la red neuronal MPL, el robot continuo en el último
eslabón tiene un sensor de tipo láser Lidar que captura 480 puntos en una área de trabajo
de 180 grados del mundo virtual como se puede observar en la figura 5.1; a) Simulación
del mundo virtual sin obstáculos y b) Simulación del mundo virtual con obstáculos.
(a) Ángulo de trabajo del sensor láser (b) Obstáculo captado por el sensor láser
Figura 5.1: Simulación del robot continuo con un sensor Lidar (Autor : Propia)
P180
αi Di
αr = P0 180 (5.1)
0 Di
puede observar el modelo del perceptron, donde Sn es numero de los ángulos ponderados,
para este caso se lee la información de cinco ángulos distanciados a 45◦ y In es el ángulo
de cada eslabón para la generación de la curva.
En este proyecto de investigación cada neurona tiene una función de activación de (Tanh)
la cual permite tener valores a la salida de la red positvos y negativos.
Figura 5.4: Curvas de Bézier generadas con ocho puntos de control (Autor : Propia)
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS91
Para obtener los datos de los sensores se realizó un obstáculo dinámico en forma de un
robot móvil diferencial controlado a través de una interfaz gráfica. Los robots móviles son
capaces de realizar movimientos en espacios de trabajo ilimitados en comparación a los
robots manipuladores y uno de sus principales objetivos es efectuar de forma autónoma
movimientos planificados con gran exactitud. El robot móvil tiene como función entrenar
el manipulador robótico posicionándose en diferentes lugares y con diferentes orientación.
En la figura 5.5 se puede observar el robot diferencial en una posición inicial y en la figura
5.6 se puede observar al robot girado 20 grados a la izquierda, también se puede observar
la interfaz gráfica usada para mover el robot con los botones Adelante, Girar Derecha,
Girar Izquierda y Retroceder
Figura 5.6: Curvas de Bézier generadas con ocho puntos de control (Autor : Propia)
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS92
El procedimiento utilizado para llevar a cabo el proceso de aprendizaje en una red neu-
ronal se denomina entrenamiento. Aunque hay uno, el de Descenso del Gradiente (versión
diferencial del Ascenso de la Colina) [108], que popularmente se impone sobre los demás
por su facilidad y extensión de uso, hay muchos otros que pueden resultar interesantes,
presentando diferentes características y rendimiento que los pueden hacer más, o menos,
adecuados dependiendo de las características del problema.
El problema de aprendizaje en las redes neuronales se formula en términos de la minimi-
zación de la función de error (o pérdida) asociada [109], normalmente esta función está
compuesta por dos términos, uno que evalúa cómo se ajusta la salida de la red neuronal al
conjunto de datos de que disponemos, y que se denomina término de error, y otro que se
denomina término de regularización, y que se utiliza para evitar el sobreaprendizaje por
medio del control de la complejidad efectiva de la red neuronal. En aprendizaje automá-
tico, el sobreajuste (también es frecuente emplear el término en inglés overfitting) [110],
el efecto de sobreentrenar un algoritmo de aprendizaje con unos ciertos datos para los
que se conoce el resultado deseado. El algoritmo de aprendizaje debe alcanzar un estado
en el que será capaz de predecir el resultado en otros casos a partir de lo aprendido con
los datos de entrenamiento, generalizando para poder resolver situaciones distintas a las
acaecidas durante el entrenamiento. Sin embargo, cuando un sistema se entrena demasia-
do (se sobreentrena) o se entrena con datos extraños, el algoritmo de aprendizaje puede
quedar ajustado a unas características muy específicas de los datos de entrenamiento que
no tienen relación causal con la función objetivo. Durante la fase de sobreajuste el éxito al
responder las muestras de entrenamiento sigue incrementándose mientras que su actuación
con muestras nuevas va empeorando.
Conjugado que puede considerarse como un método intermedio entre el Descenso del Gra-
diente y el método de Newton. la ventaja de utilizar este algoritmo es poder acelerar la
convergencia del entrenamiento, habitualmente lenta, obtenida con el Descenso del Gra-
diente, y a la vez evitar los requisitos de computación asociados a la evaluación, almace-
namiento e inversión del Hessiano, como requiere el método de Newton. Este método ha
demostrado ser más eficaz que el de Descenso del Gradiente, y como no requiere el cálculo
del Hessiano también se recomienda cuando tenemos redes neuronales muy grandes [112]
El modelo fue entrenado para tener un pequeño sobreajuste, esto con el fin de que el ro-
bot pudiera predecir de forma correcta la evasión de obstáculos a situaciones que nunca
ha visto y no quede limitado solo a soluciones que se generaron en el entrenamiento .
En el entrenamiento se probó 1000 iteraciones con un hardware de tarjeta gráfica geforce
GTX960m para generar procesos en paralelo y reducir el tiempo de cómputo.
En la fase de entrenamiento se probaron diferentes tipos de arquitectura esto con el fin de
poder evaluar qué comportamiento de la red, los parámetros observados fueron: Error de
Convergencia y Tiempo de Entrenamiento. De esta manera se logró seleccionar la arqui-
tectura que mejora se ajustará al desarrollo de este objetivo de investigación.
Primera Arquitectura
Figura 5.7: Resultados de una red neuronal con 4 capas de 20 neuronas cada capa (Autor
: Propia)
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS95
Segunda Arquitectura
En la figura 5.8 se puede observar el segundo entrenamiento que se realiza con una
red neuronal de 20 neuronas con 8 capas; 6 ocultas, una capa de entrada y una de capa de
salida, se puede observar con respecto a la red anterior un comportamiento mejor en cuanto
a entrenamiento y el error, tiene un comportamiento en la validación del entrenamiento
en promedio con 90 % ya que oscila entre el 82 % y 100 % el error tiene un porcentaje del
0.02 %.
Figura 5.8: Resultados de una red neuronal con 8 capas de 20 neuronas cada capa (Autor
: Propia)
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS96
Tercera Arquitectura
En la figura 5.9 se puede observar el tercer entrenamiento que se realiza con una red
neuronal de 20 neuronas con 16 capas; 8 ocultas, una capa de entrada y una de capa
de salida, se puede observar con respecto a la red anterior un comportamiento similar
en cuanto a entrenamiento, pero esta arquitectura converge más lento a la arquitectura
anterior y tiene una oscilación mayor, con respecto al error se puede decir que tiene error
mayor al 0.02 %.
Figura 5.9: Resultados de una red neuronal con 16 capas de 20 neuronas cada capa (Autor
: Propia)
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS97
La arquitectura final seleccionada para la red neuronal artificial se puede ver en la tabla
5.1
Figura 5.10: Flujograma del algoritmo propuesto con inteligencia artificial (Autor : Propia)
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS98
Conocer el espacio de trabajo del Robot Continuo ya que es importante el cual servirá
de gran ayuda para optimizar las dimensiones de nuestro robot y también para la
planificación de trayectorias
Conocer las coordenadas de los obstáculos de acuerdo a una marco referencia inercial
Implementar el algoritmo A∗ .
Figura 5.11: Flujograma del algoritmo propuesto con inteligencia artificial (Autor : Propia)
En la figura 5.8 se puede observar simulación del algoritmo A∗ , donde el punto inicial
y final es representado con anillo de color azul y los obstáculos de color rojo diferentes
posiciones.
quiere decir que el algoritmo no trabaja en tiempo real y solo funciona para obstáculos
estáticos.
Acciones Asociada a cada una de las situaciones hay una acción, que determina
la manera en que se debe calcular la dirección de avance del robot. En el caso de
que el robot se encuentre a una distancia prudente de los obstáculos que lo rodean,
se intentará mantener dicha distancia. En caso de que algún obstáculo se encuentre
demasiado cerca, se querrá alejar al robot de éste, manteniendo el movimiento de
avance por la región de navegación. Puesto que el algoritmo original ha resultado
funcionar correctamente, las diferencias entre éste y el desarrollado son reducidas,
siendo el método de cálculo de la dirección de avance el principal punto donde difieren.
Si bien las ecuaciones originales no presentaban ningún problema de funcionamiento,
para simplificar algunos cálculos ha resultado interesante el uso de nuevas ecuaciones
para las situaciones de tipo Low Safety
En la figura 5.16 se puede observar el flujograma del algoritmo Divide and Conquer
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS105
Figura 5.16: Flujograma del algoritmo Divide and Conquer (Autor : Propia)
donde k es el numero de punto del sensor laser, Lt es la longitud total del robot y
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS106
Para la búsqueda de huecos se hace uso del diagrama PND, que contiene toda la infor-
mación necesaria del entorno. Los huecos se definen como discontinuidades en el diagrama
PND. Cuando, para dos ángulos consecutivos, la diferencia P N Dk+1 − P N Dk es igual o
superior a la dimensión máxima del robot, se considera que constituyen un hueco. Se dis-
tinguen dos tipos de huecos: ascendente y descendente. Un hueco ascendente es aquel que,
navegando por el diagrama de derecha a izquierda, produce una discontinuidad positiva,
es decir, el valor del PND en el ángulo Θk+1 es mayor que en el ángulo Θk . Del mismo
modo, un hueco es descendente cuando se produce una discontinuidad negativa, es decir,
el valor del PND en el ángulo Θk+1 es menor que en el ángulo Θk .
Cada región está formada por dos huecos. Si encontramos un hueco descendente, sabe-
mos que en algún momento encontraremos otro ascendente o descendente. En el caso de
un robot con láser de menos de 360 grados de amplitud, los ángulos extremos de visión
serán considerados como huecos. En el ángulo mínimo, alpha V+W , siempre habrá un
hueco de tipo opuesto al hueco siguiente. En el ángulo máximo, alpha VXY , siempre
habrá un hueco de tipo opuesto al hueco anterior. Esto permite la formación de regiones
en los extremos.
Para encontrar la región navegable más cercana al objetivo que cumpla la definición
de navegabilidad, el algoritmo hará un barrido de todas las regiones encontradas, compro-
bando su navegabilidad en orden de cercanía. Una región se define como navegable si la
distancia entre los dos puntos extremos de los obstáculos que forman la región es mayor
que la dimensión máxima del robot. En este caso, se considera que el robot podrá navegar
por la región.
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS107
Figura 5.17: Generación de puntos hacia la zona segura basada en curvatura (Autor :
Propia)
Para ajustar la curva de curvatura constante entre los puntos de ruta P1 y P2 , nece-
sitamos la dirección inicial para mantener la continuidad de la ruta, esta dirección inicial
se puede mantener utilizando el punto vectorial tangente P1 , El nuevo punto Pt que va
P1 (Pt~P1 ) es también tangente en la curva ajustada previamente, tangente en la curva entre
P1 y P2 en el punto P1 . Con esta metodología, también proporcionamos la inicial direc-
ción o tangente de la primera sección del robot continuo, con esta información podemos
encontrar el ángulo de flexión o ángulo central (θ) a través de un triángulo isósceles como
se muestra en figura 5.19. Para encontrar la curvatura se necesita conocer el radio (R) de
curvatura que se puede encontar por medio las propiedades del triangulo isósceles.
CAPÍTULO 5. DESCRIPCIÓN Y ANÁLISIS DE LOS ALGORITMOS IMPLEMENTADOS109
Li
θi = (5.3)
R
x
gsh (θ) = eξ1 θ1 · eξ2 θ2 · eξ3 θ3 ... eξi θi · gsh (0) = y
z
.
Donde los valores X, Y, Z corresponde a las coordenadas donde el robot continuo pasara
para entrar en la zona segura y poder esquivar los obstaculos.
En la figura 5.19 se realizó la simulación en el software de matlab del algoritmo Divide
and Conquer, en este simulación se ingresa a priori los valores de los obstáculos, el punto
final e inicial. La simulación tiene el objetivo de comprobar como el robot se alejaba del
obstaculos y se obtiene los valores correspondientes a XY Z del espacio de trabajo a través
de la cinemática directa
Figura 5.19: Curvatura constaten en la simulación del algoritmo Divide and Conquer (Au-
tor : Propia)
Capítulo 6
PRUEBAS Y COMPARACIÓN DE
ALGORITMOS
Si en algún caso el robot es incapaz de alcanzar el destino, ya sea debido a una colisión
grave o debido a un fallo del algoritmo, la trayectoria se considerará como fracasada, siendo
las métricas de longitud y duración de la trayectoria inválidas.
111
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 112
Figura 6.1: Prueba 1 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
En la prueba 2 el robot móvil se inclina hacia la derecha 20 grados donde solo los puntos
1 y 2 del sensor del manipulador pueden detectar. los valores obtenidos en la figura 6.2
son los valores que el sensor lidar registra en la posición donde se encuentra el robot. En
esta prueba el obstáculo entra en el espacio de trabajo del robot y está siendo detectado
por el método de burbuja en la zona 1 que es la parte izquierda del ángulo de trabajo
del sensor, lo que hace que el robot intenta contraerse para esquivarlo esto simulando una
compresión de un robot tipo continuo blando.
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 114
Figura 6.2: Prueba 2 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
En la prueba 3 el robot móvil se inclina hacia la derecha -20 grados donde solo los
puntos 4 y 5 del sensor del manipulador pueden detectar. En esta prueba el obstáculo
entra en el espacio de trabajo del robot y esta siendo detectado por el método de burbuja
en la zona 2 que es la parte derecha del ángulo de trabajo del sensor lo que hace que el
robot intenta contraerse para esquivarlo esto simulando una compresión de un robot tipo
continuo blando pero en contraste generó una curva de mayor grado con respecto a la
prueba anterior
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 115
Figura 6.3: Prueba 3 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
Figura 6.4: Prueba 4 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 116
Figura 6.5: Prueba 5 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
Figura 6.6: Prueba 6 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
En la prueba 7 el robot móvil se acerca por el lado derecho del manipulador robotico,
el manipulador continuo esquiva de manera precisa el obstáculo. En la figura 6.7 se puede
observar la curvatura del robot continuo.
Figura 6.7: Prueba 7 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 118
En la prueba 8 el robot móvil se aleja por el lado izquierdo del manipulador robotico,
el manipulador continuo esquiva de manera precisa el obstáculo. En la figura 6.7 se puede
observar la curvatura del robot continuo.
Figura 6.8: Prueba 8 con un robot de ocho eslabones implementado algoritmo MPL (Autor
: Propia)
Figura 6.9: Prueba 1 con un robot de cinco eslabones implementado algoritmo MPL (Autor
: Propia)
Figura 6.10: Prueba 2 con un robot de cinco eslabones implementado algoritmo MPL
(Autor : Propia)
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 120
Figura 6.11: Prueba 3 con un robot de cinco eslabónes implementado algoritmo MPL
(Autor : Propia)
En la prueba 4 el robot móvil se dirige al manipulador con una inclinación de grados -12
grados en la figura 6.12 se puede apreciar la curvatura del robot como tratar de esquivar
el robot contrayéndose.
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 121
Figura 6.12: Prueba 4 con un robot de cinco eslabónes implementado algoritmo MPL
(Autor : Propia)
Figura 6.13: Prueba 5 con un robot de cinco eslabónes implementado algoritmo MPL
(Autor : Propia)
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 122
Para la prueba de A∗ Se han generado una serie de escenarios con diferente distribución
de obstáculos. Estas pruebas se realizan con el fin de ver que curvatura podría realizar el
robot, cómo es un algoritmo off-line nos permite tener una mayor precisión de donde
colocar los osbtáculos.
Primera Prueba A*
En la primera prueba se genera con el fin de que el robot realizará una curvatura en
forma de "S" , el robot tiene 15 eslabones de acorde a los puntos de control generados por
el algoritmo de bézier. Figura 6.14 y Figura 6.15
Figura 6.14: Algoritmo planificador de trayectoria local suavisado con Bézier (Autor :
Propia)
Figura 6.15: Algoritmo planificador de trayectoria local suavisado con Bézier simulado en
mundo virtual (Autor : Propia)
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 123
Segunda Prueba A*
En la segunda prueba se genera con el fin de que el robot realizará una curvatura en
forma de espiral, el robot tiene 19 eslabones de acorde a los puntos de control generados
por el algoritmo de bézier. Figura 6.14 y Figura 6.15
Figura 6.16: Algoritmo planificador de trayectoria local suavisado con Bézier (Autor :
Propia)
Figura 6.17: Algoritmo planificador de trayectoria local suavisado con Bézier simulado en
mundo virtual (Autor : Propia)
Para la detección de obstáculos con el algoritmo Divide and Conquer se divide por el
método de la burbuja en tres zonas (ver Figura 6.18) las cuales de acuerdo a la región de
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 124
Figura 6.18: Zonas del algoritmo Divide and Conquer (Autor : Propia)
Figura 6.19: Prueba 1 con el algoritmo Divide and Conquer (Autor : Propia)
CAPÍTULO 6. PRUEBAS Y COMPARACIÓN DE ALGORITMOS 125
Figura 6.20: Prueba 2 con el algoritmo Divide and Conquer (Autor : Propia)
Figura 6.21: Prueba 3 con el algoritmo Divide and Conquer (Autor : Propia)
En la prueba 4 se pretende que el robot entre en la zona 2 para este caso realiza una
curvatura más suave en comparación con la prueba 3, esto debido al ángulo de detección
del obstáculo en la zona de 3 se encuentra muy cercana al robot.
Figura 6.22: Prueba 4 con el algoritmo Divide and Conquer (Autor : Propia)
dos durante la realización de las pruebas. Las pruebas son estandár para los dos tipos
de algoritmos donde el robot continuo tipo discreto esta formado por ocho eslabones y
el obstaculo es el robot diferencial el cual me permite moverme por espacio de trabajo
del manipulador. Ambos algoritmos trabajan con el sensor laser tipo lidar y detectan los
obstáculos mediante la burbuja. Se realizaron cinco pruebas donde el robot diferencial se
ubica en espacio de trabajo del sensor a diferentes grados: 0 grados, 20 grados, -20 grados,
40 grados y -45 grados. Bajo estas condiciones se observó la curvatura generada por todos
los eslabones donde el promedio de los ángulos que generaba la curvatura del robot y el
tiempo computacional en el que generaba la curva. El tiempo computacional se obtuvo del
reloj del software de gazebo.
Se puedo evidencia que el planificador de trayectoria global tiene un menor coste compu-
tacional y el algoritmo de inteligencia artificial tiene una mayor coste computacional cuyo
valor aumentará cuanto mayor y más complejo sea la red neuronal que depende el número
de eslabones del robot continuo.
CONCLUSIONES
Principalmente se ha realizado una clasificación de los robots, así como un estudio del
estado del arte de robots manipuladores e híper-redundantes, analizando las ventajas e in-
convenientes de los mismos. También se han investigado sus diferentes tipos de actuación
y algoritmos de posicionamineto articular usando inteligencia artificial.
En el diseño mecánico se logró evidenciar que los datos obtenidos mediante la simulación de
elementos finitos fueron apropiados, ya que permitieron construir el prototipo en función
de costos de manufactura y resistencia de materiales. A través de la simulación realizada
y datos obtenidos se decidió fabricar un prototipo de dos transmisores por articulación,
de manera que se obtengan dos GdL por sección, con capacidades rotacionales; Entre sus
características se destacan una longitud en reposo de 1050 mm, para lo cual se han usado
10 muelles por disco, logrando un ángulo máximo de curvatura de 120, en el prototipo im-
plementado el coeficiente de rigidez de los muelles afectó la maniobrabilidad del prototipo
con un error del 2 % en movimiento de compresión y al generar la curvatura máxima de
robot.
Al observar el comportamiento de la red neuronal en un robot de ocho eslabones se puedo
generar curvas brusca y no siempre generaba un posicionamiento correcto ya que aunque
se aumenta el número de neuronas los datos de los sensores son muy parecidos en los
diferentes posicionamientos lo cual no hace posible una correcta separación y clasificación
por parte de la red neuronal.
129
CAPÍTULO 7. CONCLUSIONES 130
[2] Kapadia, A. D., Walker, I. D., Dawson, D. M., and Tatlicioglu, E. A model-
based sliding mode controller for extensible continuum robots. In Proceedings of the 9th
WSEAS International Conference on Signal Processing, Robotics and Automation (Ste-
vens Point,Wisconsin, USA, 2010), ISPRA’10, World Scientific and Engineering Academy
and Society (WSEAS), pp. 113–120.
[3] Kim, S., Laschi, C., and Trimmer, B. Soft robotics: a bioinspired evolution in robo-
tics. Trends in biotechnology 31, 5 (2013), 287–294.
[4] Hughes, P. C., Sincarsin, W. G., and Carroll, K. A. Trus sarma variable-geometry-
truss manipulator. Journal of Intelligent Material Systems and Structures 2, 2 (1991),
148–160
[5] Polygerinos, P., Wang, Z., Galloway, K. C., Wood, R. J., and Walsh, C. J. Soft ro-
botic glove for combined assistance and at-home rehabilitation. Robotics and Autonomous
Systems 73 (2015), 135–143
[6] Jones, B. A., and Walker, I. D. Practical kinematics for real-time implementation
of continuum robots. IEEE Transactions on Robotics 22, 6 (2006), 1087–1099.
131
CAPÍTULO 7. CONCLUSIONES 132
[7] Hannan, M. W., and Walker, I. D. Analysis and experiments with an elephant’s
trunk robot. Advanced Robotics 15, 8 (2001), 847–858.
[8] Gokhale, D. P. Kinematic analysis and animation of a variable geometry truss robot.
PhD thesis, Virginia Tech, 1987.
[9] Barrio, A. M., Terrile, S., Barrientos, A., and del Cerro, J. Robots hiper-redundantes:
Clasificación, estado del arte y problemática. Revista Iberoamericana de Automática e In-
formática industrial 15, 4 (2018), 351–362.
[12] Yahya, S., Moghavvemi, M., Yang, S., and Mohamed, H. A. Motion planning of
hyper redundant manipulators based on a new geometrical method. In 2009 IEEE Inter-
national Conference on Industrial Technology (2009), IEEE, pp. 1–5.
[13] Alancay, N., Villagra, S., and Villagra, A. Trajectory metaheuristic algorithms to
optimize problems combinatorics. INFORMES CIENTIFICOS Y TECNICOS 8, 3 (2016),
56–75.
[14] Lyons, L. A., Webster, R. J., and Alterovitz, R. Motion planning for active can-
nulas. In 2009 IEEE / RSJ International Conference on Intelligent Robots and Systems
(2009), IEEE, pp. 801–806.
[15] Míreles, E.N.A., Vela, P. C. C., Bocanegra, C. A. H., Hernández, J. L., Peña, E.
CAPÍTULO 7. CONCLUSIONES 133
[17] Moran, M. E. Rossum’s universal robots: not the machines. Journal of endourology
21, 12 (2007), 1399–1402.
[23] Barrio, A. M., Terrile, S., Barrientos, A., and del Cerro, J. Robots hiper-redundantes:
Clasificación, estado del arte y problemática. Revista Iberoamericana de Automática e In-
formática industrial 15, 4 (2018), 351–362.
[24] Londoño, T. J. C., Zapata, T. S. C., and CTMA, S. Solar mobile robot robot móvil
solar.
[27] Raush, G., Todt, E., and Suárez, R. Clasificación y análisis de los métodos de
coordinación de múltiples robots
[28] Giraldo, L. F., Delgado, E., and Castellanos, G. Cinemática inversa de un bra-
zo robot utilizando algoritmos genéticos. Revista Avances en Sistemas e Informática 3, 1
(2006), 29–34
[29] Molina, J. K., Dominguez, M. J., Onate, C. U., and Salamea, H. T. Development of
a neural controller applied in a 5 dof robot redundant. IEEE Latin America Transactions
12, 2 (2014), 98–106.
[31] Giraldo, L. F., Delgado, E., and Castellanos, G. Cinemática inversa de un bra-
zo robot utilizando algoritmos genéticos. Revista Avances en Sistemas e Informática 3, 1
(2006), 29–34
[32] Roldán, J., Garzon, M., De León Rivas, J., Garzón Ramos, D., Martín-Barrio,
A., Terrile, S., Garía Auñón, P., Ce-rro, J., Rossi, C., and Barrientos, A. Proyecto pric:
Protección robotizada de infraestructuras críticas. pp. 1–6.
[33] Poi, G., Scarabeo, C., and Allotta, B. Traveling wave locomotion hyper-redundant
mobile robot. In Proceedings. 1998 IEEE International Conference on Robotics and Au-
tomation (Cat. No. 98CH36146) (1998), vol. 1, IEEE, pp. 418–423.
[34] Shammas, E., Wolf, A., and Choset, H. Three degrees-of- freedom joint for spatial
hypern redundant robots. Mechanism and machine theory 41, 2 (2006), 170–190.
CAPÍTULO 7. CONCLUSIONES 135
[36] Buss, M., Hashimoto, H., and Moore, J. B. Grasping force optimization for multi-
fingered robot hands. In Proceedings of 1995 IEEE International Conference on Robotics
and Automation (1995), vol. 1, IEEE, pp. 1034–1039
[39] Medina, J., and Vélez, P. “soft robotic”: Una nueva generación de robots. Maskana
5 (2014), 109–118.
[42] Queiruga, C. A., Tzancoff, B., Claudia, M., and López, F. Remotebot: una apli-
cación que combina robots y dispositivos móviles. In XV Workshop de Investigadores en
Ciencias de la Computación (2013).
[43] Krehbiel, J., Brace, L., Theis, R., Pinkus, W., and Kaplan, R. The dynamics ex-
plorer langmuir probe instrument. Space Science Instrumentation 5 (1981), 493–502.
[45] Sabanovic, S., Michalowski, M. P., and Simmons, R. Robots in the wild: Observing
human-robot social interaction outside the lab. In 9th IEEE International Workshop on
Advanced Motion Control, 2006. (2006), IEEE, pp. 596–601.
[46] Gockley, R., Bruce, A., Forlizzi, J., Michalowski, M., Mun- dell, A., Rosenthal, S.,
Sellner, B., Simmons, R., Snipes, K., Schultz, A. C., et al. Designing robots for long-term
social interaction. In 2005 IEEE/RSJ International Conference on Intelligent Robots and
Systems (2005), IEEE, pp. 1338–1343.
[47] Balch, T., and Hybinette, M. Social potentials for scalable multirobot formations.
In Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on
Robotics and Automation. Symposia Proceedings (Cat. No. 00CH37065) (2000), vol. 1,
IEEE, pp. 73–80.
[48] Kohonen, T., and Honkela, T. Kohonen network. Scholarpedia 2, 1 (2007), 1568
[50] Rogers, A. Precision mechatronics lab robot development. PhD thesis, MS thesis,
Texas A and M University, 2007
[56] Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R.,
and Ng, A. Y. Ros: an open-source robot operating system. In ICRA workshop on open
source software (2009), vol. 3, Kobe, Japan, p. 5.
[57] Mittler, R., Vanderauwera, S., Suzuki, N., Miller, G., Tog- netti, V. B., Vande-
poele, K., Gollery, M., Shulaev, V., and Van Breusegem, F. Ros signaling: the new wave?
Trends in plant science 16, 6 (2011), 300–309.
[58] D’Autréaux, B., and Toledano, M. B. Ros as signalling mole- cules: mechanisms
that generate specificity in ros homeostasis. Nature reviews Molecular cell biology 8, 10
(2007), 813
[59] Corvetto, M., Bravo, M. P., Montaña, R., Utili, F., Escu- dero, E., Boza, C., Varas,
J., and Dagnino, J. Simulación en educación médica: una sinopsis. Revista médica de Chile
141, 1 (2013),
70–79.
[60] Salinas, S. A., and Vivas Albán, O. A. Modelado, simulación y control del robot
para cirugía laparoscópica’lapbot’. Ingeniare. Revista chilena de ingeniería 17, 3 (2009),
317–328
[61] Ramírez, P. A. L., and Sosa, H. A. Aprendizaje de y con robótica, algunas expe-
riencias. Revista Educación 37, 1 (2013), 43–63.
CAPÍTULO 7. CONCLUSIONES 138
[62] Koenig, N., and Howard, A. Design and use paradigms for gazebo, an open-source
multi-robot simulator. In 2004 IEEE/RSJ Internatio- nal Conference on Intelligent Robots
and Systems (IROS)(IEEE Cat. No. 04CH37566) (2004), vol. 3, IEEE, pp. 2149–2154.
[63] Abadi, M., Barham, P., Chen, J., Chen, Z., Davis, A., Dean, J., Devin, M., Ghema-
wat, S., Irving, G., Isard, M., et al. Tensorflow: A system for large-scale machine learning.
In 12th USENIX Symposium on Operating Systems Design and Implemen- tation (OSDI
16) (2016), pp. 265–283.
[64] Chollet, F. Deep Learning mit Python und Keras: Das Praxis- Handbuch vom
Entwickler der Keras-Bibliothek. MITP-Verlags GmbH and Co. KG, 2018.
[65] Banik, M. S., and Couvillon Jr, L. A. Robotic endoscope with wireless interface,
Aug. 3 2004. US Patent 6,770,027.
[66] Ismail, I. N., Anuar, A., Sahari, K. S. M., Baharuddin, M. Z., Fairuz, M., Jalal,
A., and Saad, J. M. Development of in-pipe inspection robot: A review. In 2012 IEEE
Conference on Sustaina- ble Utilization and Development in Engineering and Technology
(STU- DENT) (2012), IEEE, pp. 310–315.
[67] Nishihara, T., Osuka, K., and Tamura, I. Development of a simulation model for
inner-gas-pipe inspection robot: Spring. In Pro- ceedings of SICE Annual Conference 2010
(2010), IEEE, pp. 902–904.
[68] Crespi, A., Badertscher, A., Guignard, A., and Ijspeert, A. J. Amphibot i: an amp-
hibious snake-like robot. Robotics and Autonomous Systems 50, 4 (2005), 163–175.
[70] Mishra, A., Mondini, A., Del Dottore, E., Sadeghi, A., Tra- macere, F., and Mazzo-
lai, B. Modular continuum manipulator: analysis and characterization of its basic module.
Biomimetics 3, 1 (2018), 3.
[71] Singer, P. W. Military robots and the laws of war. The New Atlantis, 23 (2009),
25–45.
[72] Sáenz, A., Bugarin, E., and Santibáñez, V. Modelado cinemáti- co y dinámico de
un robot móvil omnidireccional de 4 ruedas conside- rando dinámica de actuadores. Re-
positorio Tecnológico Nacional de México Instituto Tecnológico de la Laguna (2015).
[73] Izaguirre, E., Hernández, L., Rubio, E., Prieto, P. J., and Hernández, A. Control
desacoplado de plataforma neumática de 3- gdl utilizada como simulador de movimiento.
Revista Iberoamericana de Automática e Informática Industrial RIAI 8, 4 (2011), 345–356.
[74] Kitamura, S., and Oka, K. Recognition and cutting system of sweet pepper for
picking robot in greenhouse horticulture. In IEEE International Conference Mechatronics
and Automation, 2005 (2005), vol. 4, IEEE, pp. 1807–1812.
[75] Asua, E., Etxebarria, V., and Garcıa-Arribas, A. Diseño y control de actuadores
basados en materiales con memoria de for- ma. Departamento de Electricidad y Electró-
nica, Facultad de Ciencia y Tecnología, Universidad del Pais Vasco (UPV/EHU) (2007)
[76] Franco, M., Carlos, J., et al. Programación y control de procesos mediante robots
lego mindstorms nxt.
[78] Cúpich Rodríguez, M., and Elizondo Garza, F. J. Actuadores piezoeléctricos. In-
genierías 3, 6 (2000), 22–28
CAPÍTULO 7. CONCLUSIONES 140
[79] Zhao, L., Xiao, Q., Cao, Z., Huang, R., and Fu, Y. Adaptive neural network trac-
king control of snake-like robots via a deterministic learning approach. In 2017 IEEE In-
ternational Conference on Robotics and Biomimetics (ROBIO) (Dec 2017), pp. 2710–2715.
[81] Wu, X., and Ma, S. Cpg-based control of serpentine locomotion of a snake-like
robot. Mechatronics 20, 2 (2010), 326–334.
[82] Fernandez-Leon, J. A., Acosta, G. G., and Mayosky, M. A. Behavioral control th-
rough evolutionary neurocontrollers for autono- mous mobile robot navigation. Robotics
and Autonomous Systems 57, 4 (2009), 411–419
[83] Walker, I. D. Continuous backbone “continuum” robot manipula- tors. Isrn robo-
tics 2013 (2013).
[85] Brockett, R. W. Robotic manipulators and the product of exponen- tials formula.
In Mathematical theory of networks and systems (1984), Springer, pp. 120–129.
[87] Dhillon, B., and Yang, N. Reliability analysis of a repairable robot system. Journal
CAPÍTULO 7. CONCLUSIONES 141
[88] Kohonen, T., and Honkela, T. Kohonen network. Scholarpedia 2, 1 (2007), 1568.
[89] Juan, R. Q., and Mario, C. M. Redes neuronales artificiales para el procesamiento
de imágenes, una revisión de la última década. RIEEandC, Revista de Ingenierıá Eléctrica,
Electrónica y Computación 9, 1 (2011), 7–16.
[90] Yao, X. Evolving artificial neural networks. Proceedings of the IEEE 87, 9 (1999),
1423–1447
[91] Porter, J. R., Takayama, T. K., and Defalco, A. J. Traumatic posterior urethral
injury and early realignment using magnetic urethral catheters. The Journal of urology
158, 2 (1997), 425–430.
[93] Garcia, A., Gonzalez, I., Colomo-Palacios, R., Lopez, J. L., and Ruiz, B. Metho-
dology for software development estimation optimization based on neural networks. IEEE
Latin America Transactions 9, 3 (2011), 384–398.
[94] Riedmiller, M., and Braun, H. A direct adaptive method for faster backpropaga-
tion learning: The rprop algorithm. In Proceedings of the IEEE international conference
on neural networks (1993), vol. 1993, San Francisco, pp. 586–591.
[95] Bentlin, M. R., de Barros Almeida, R. A. M., Coelho, K. I. R., Ribeiro, A. F.,
Siciliano, M. M., Suzuki, A., and Fortaleza, C. M. C. B. Perinatal transmission of yellow
fever, brazil, 2009. Emerging infectious diseases 17, 9 (2011), 1779.
CAPÍTULO 7. CONCLUSIONES 142
[98] Biagiotti, L., and Melchiorri, C. Trajectory planning for auto- matic machines and
robots. Springer Science and Business Media, 2008.
[99] Santibanez, V., Kelly, R., Zavala-Rio, A., and Parada, P. A new saturated nonli-
near pid global regulator for robot manipulators. IFAC Proceedings Volumes 41, 2 (2008),
11690–11695
[100] Biagiotti, L., and Melchiorri, C. Trajectory planning for auto- matic machines
and robots. Springer Science and Business Media, 2008.
[101] Wronka, C. M., and Dunnigan, M. W. Internet remote con- trol interface for a
multipurpose robotic arm. International Journal of Advanced Robotic Systems 3, 2 (2006),
27
[102] Nof, S. Y. Handbook of industrial robotics. John Wiley and Sons, 1999.
[103] Bentlin, M. R., de Barros Almeida, R. A. M., Coelho, K. I. R., Ribeiro, A. F.,
Siciliano, M. M., Suzuki, A., and For- taleza, C. M. C. B. Perinatal transmission of yellow
fever, brazil, 2009. Emerging infectious diseases 17, 9 (2011), 1779
[104] Florez Vergara, D. E., Castro Riveros, F. C., and Casti- llo Estepa, R. A. Planea-
cion y ejecucion de trayectorias en un robot Delta. Scientia et technica 22, 2 (June 2017),
186.
CAPÍTULO 7. CONCLUSIONES 143
[105] Transeth, A., Leine, R., Glocker, C., and Pettersen, K. 3-D Snake Robot Motion:
Nonsmooth Modeling, Simulations, and Experi- ments. IEEE Transactions on Robotics
24, 2 (Apr. 2008), 361–376.
[106] Transeth, A., Leine, R., Glocker, C., Pettersen, K., and Liljeback, P. Snake Robot
Obstacle-Aided Locomotion: Modeling, Simulations, and Experiments. IEEE Transactions
on Robotics 24, 1 (Feb. 2008), 88–104.
[107] Garcìa Haro, J. M., et al. Algoritmo de captura de movimien- to basado en vi-
sión por computador para la teleoperación de robots humanoides. Actas de las XXXVIII
Jornadas de Automática (2017).
[108] Brú, M. V. M., Fleites, G. L., and Barroso, E. M. Una com- paración de dos
métodos de gradiente en el escalamiento multidimen- sional. Ciencias Matemáticas 22, 1
(2004), 44–53.
[109] Gómez-Bravo, F., Cuesta, F., and Ollero, A. Planificación de trayectorias en ro-
bots móviles basada en técnicas de control de sistemas no holónomos. In Proceedings XXIV
Jornadas de Automática (2003).
[110] Batlle, V. F. Robots flexibles: Hacia una generación de robots con nuevas presta-
ciones. Revista Iberoamericana de Automática e In- formática Industrial 3, 3 (2009), 24–41.
[111] Abellanas, B., Abellanas, M., and Vilas, C. Vorest: Modeliza- ción de bosques me-
diante diagramas de voronoi. Actas XII Encuentro de Geometría Computacional (2007),
2249–256.
[112] Hwang, Y. K., and Ahuja, N. A potential field approach to path planning. IEEE
Transactions on Robotics and Automation 8, 1 (1992), 23–32.
CAPÍTULO 7. CONCLUSIONES 144
[113] Koren, Y., and Borenstein, J. Potential field methods and their inherent limita-
tions for mobile robot navigation. In Proceedings. 1991 IEEE International Conference on
Robotics and Automation (1991), IEEE, pp. 1398–1404.
[114] Yao, J., Lin, C., Xie, X., Wang, A. J., and Hung, C.-C. Path planning for virtual
human motion using improved a* star algorithm. In 2010 Seventh international conference
on information technology: new generations (2010), IEEE, pp. 1154–1158.
[115] Zavlanos, M. M., and Pappas, G. J. Potential fields for maintai- ning connectivity
of mobile networks. IEEE Transactions on robotics 23, 4 (2007), 812–816.
[116] Walker, I. D. Robot strings: long, thin continuum robots. In 2013 IEEE Aerospace
Conference (2013), Ieee, pp. 1–12.
[117] Guo, Y., Kang, R., Chen, L., and Dai, J. Dynamic modeling for a continuum ro-
bot with compliant structure. In ASME 2015 In- ternational Design Engineering Technical
Conferences and Computers and Information in Engineering Conference (2015), American
Society of Mechanical Engineers Digital Collection.
[114] Kang, R., Branson, D. T., Guglielmino, E., and Caldwell, D. G. Dynamic mo-
deling and control of an octopus inspired multiple continuum arm robot. Computers and
Mathematics with Applications 64, 5 (2012), 1004–1016
[115] Poi, G., Scarabeo, C., and Allotta, B. Traveling wave loco- motion hyper-redundant
mobile robot. In Proceedings. 1998 IEEE International Conference on Robotics and Au-
tomation (Cat. No. 98CH36146) (1998), vol. 1, IEEE, pp. 418–423
[116] Qi, P., Liu, H., Seneviratne, L., and Althoefer, K. Towards kinematic modeling of
a multi-dof tendon driven robotic catheter. In 2014 36th Annual International Conference
of the IEEE Engineering in Medicine and Biology Society (2014), IEEE, pp. 3009–3012.
CAPÍTULO 7. CONCLUSIONES 145
[117] Hirzinger, G., Brunner, B., Lampariello, R., Landzettel, K., Schott, J., and Stein-
metz, B.-M. Advances in orbital robotics. In Proceedings 2000 ICRA. Millennium Confe-
rence. IEEE International Conference on Robotics and Automation. Symposia Proceedings
(Cat. No. 00CH37065) (2000), vol. 1, IEEE, pp. 898–907.
[118] Transeth, A., Leine, R., Glocker, C., and Pettersen, K. 3-D Snake Robot Motion:
Nonsmooth Modeling, Simulations, and Experi- ments. IEEE Transactions on Robotics
24, 2 (Apr. 2008), 361–376.
[119] Transeth, A., Leine, R., Glocker, C., and Pettersen, K. 3-D Snake Robot Motion:
Nonsmooth Modeling, Simulations, and Experi- ments. IEEE Transactions on Robotics
24, 2 (Apr. 2008), 361–376.
[125] Prautzsch, H., Boehm, W., and Paluszny, M. Métodos de Bézier y B-splines. KIT
CAPÍTULO 7. CONCLUSIONES 146
[126] Vasilescu, M., and Terzopoulos, D. Adaptive meshes and shells: Irregular trian-
gulation, discontinuities, and hierarchical subdivision. In Proceedings 1992 IEEE Compu-
ter Society Conference on Computer Vision and Pattern Recognition (1992), IEEE, pp.
829–832
[127] Amari, S.-i. Backpropagation and stochastic gradient descent method. Neurocom-
puting 5, 4-5 (1993), 185–196.
147
CAPÍTULO 7. CONCLUSIONES 148
CAPÍTULO 7. CONCLUSIONES 149