0% encontró este documento útil (0 votos)
40 vistas73 páginas

Algoritmo

La tesis presenta un sistema de navegación para un vehículo autónomo de superficie (ASV) multipropósito, abordando su diseño y funcionamiento. Se exploran conceptos clave como la cinemática, sistemas de localización, control y algoritmos de aprendizaje por refuerzo. El trabajo incluye experimentos y resultados que validan el método propuesto, así como conclusiones y direcciones para futuras investigaciones.

Cargado por

andresgalban0
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas73 páginas

Algoritmo

La tesis presenta un sistema de navegación para un vehículo autónomo de superficie (ASV) multipropósito, abordando su diseño y funcionamiento. Se exploran conceptos clave como la cinemática, sistemas de localización, control y algoritmos de aprendizaje por refuerzo. El trabajo incluye experimentos y resultados que validan el método propuesto, así como conclusiones y direcciones para futuras investigaciones.

Cargado por

andresgalban0
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Sistema de navegación para un vehículo

autónomo de superficie (ASV) multipropósito

Autor: Tutor:
Dayán Jr. Méndez Vásquez PhD. Winston S. Percybrooks B.

Tesis presentada en cumplimiento


de los requisitos para obtener el grado de
Magíster en Ingeniería Electrónica

Departamento de Ingeniería Eléctrica y Electrónica


División de Ingenierías

Universidad del Norte


Barranquilla, Colombia

Noviembre 2022
Sistema de navegación para un vehículo autónomo de superficie (ASV) multipropósito, ©
Noviembre 2022

Autor:
Dayán Jr. Méndez Vásquez
Tutor:
PhD. Winston S. Percybrooks B.

Universidad:
Universidad del Norte, Barranquilla, Colombia

ii
CONTENIDO

Lista de Figuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . v

Lista de Tablas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii

Firma de Autoría . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix

Agradecimientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . x

1 introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2.1 Pregunta Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.2 Enfoque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 marco teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Vehículos autónomos de superficie . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Sistema de navegación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Sistema de localización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Filtro de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Planificación de ruta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.7 Sistema Operativo Robótico(ROS) . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.8 Aprendizaje por refuerzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.8.1 Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.8.2 Deep Q-Network (DQN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8.3 Double DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.8.4 Dueling DQN (DDQN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1 Vehículos no tripulados de superficie . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.1 Tabla resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4 método propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1 Planteamiento del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.1.1 Modelo ASV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

iii
4.2 Escenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2.1 Representación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3 Sistema de Navegación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.1 Sistema de localización . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.2 Sistema de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.3 Sistema de planificación de ruta . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Algoritmos de aprendizaje por refuerzo (RL) . . . . . . . . . . . . . . . . . . . 33
4.4.1 Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.2 Deep Q-Network (DQN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.4.3 Double DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.4.4 Dueling DQN (DDQN) . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.5 Arquitectura de software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5 experimentos & resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42


5.1 Experimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2 Escenarios sin Modificaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.1 Entrenamiento Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.2 Entrenamiento DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.2.3 Entrenamiento Double DQN . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.4 Entrenamiento DDQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.5 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.3 Escenarios Modificados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.3.1 Prueba cantidad de Episodios . . . . . . . . . . . . . . . . . . . . . . . 53
5.3.2 Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.4 Análisis de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4.1 Entrenamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.4.2 Escenarios Modificados . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

6 conclusiones & trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . 58


6.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2 Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.3 Trabajo Futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

7 bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

iv
L I S TA D E F I G U R A S

Figura 2.1 Sistema de navegación . . . . . . . . . . . . . . . . . . . . . . . . . . . 5


Figura 2.2 Referencia sistema coordenado para embarcaciones . . . . . . . . . . 5
Figura 2.3 Convención velocidades generales de un bote . . . . . . . . . . . . . . 6
Figura 2.4 Ros & Gazebo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Figura 2.5 Diagrama aprendizaje por refuerzo . . . . . . . . . . . . . . . . . . . . 10
Figura 2.6 Agente RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figura 2.7 Representación tabla Q . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figura 2.8 Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figura 2.9 Funcionamiento DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figura 2.10 Funcionamiento Double DQN . . . . . . . . . . . . . . . . . . . . . . . 15
Figura 2.11 Dueling DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figura 3.1 Squirtle ASV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figura 3.2 ASV cooperativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Figura 3.3 Sistema ASV Cooperativo . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figura 3.4 ASV Campos Potenciales . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figura 3.5 Morvarid ASV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 3.6 Mapas de Voronoi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figura 3.7 Simulación ASV en Gazebo . . . . . . . . . . . . . . . . . . . . . . . . 21
Figura 3.8 Heron en Gazebo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Figura 3.9 Simulación planificación de ruta Q-learning . . . . . . . . . . . . . . . 23
Figura 3.10 Ruta planificada con Q-learning . . . . . . . . . . . . . . . . . . . . . . 23
Figura 3.11 Mapa & planificación de ruta con A* . . . . . . . . . . . . . . . . . . . 24
Figura 3.12 Mapa & planificación de ruta con DQN . . . . . . . . . . . . . . . . . 24
Figura 4.1 Heron USV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Figura 4.2 Simulación escenario de navegación . . . . . . . . . . . . . . . . . . . 28
Figura 4.3 Escenarios de navegación . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 4.4 Mapa con cuadrículas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figura 4.5 Sistema de navegación . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figura 4.6 Sistema de Localización . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figura 4.7 Sistema de Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figura 4.8 Sistema de Planificación . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figura 4.9 Modelo DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figura 4.10 Modelo Double DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figura 4.11 Modelo Dueling DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figura 4.12 Arquitectura de software . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figura 5.1 Valores Epsilon por episodios . . . . . . . . . . . . . . . . . . . . . . . 43
Figura 5.2 Victorias Acumuladas con Q-learning . . . . . . . . . . . . . . . . . . 44

v
Figura 5.4 Mapas de calor Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . 44
Figura 5.3 Mapas en cuadrículas sin modificaciones . . . . . . . . . . . . . . . . 45
Figura 5.5 Ruta Final Q-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Figura 5.6 Victorias Acumuladas con DQN . . . . . . . . . . . . . . . . . . . . . 46
Figura 5.7 Mapas de calor DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figura 5.8 Ruta Final DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Figura 5.9 Victorias Acumuladas con Double DQN . . . . . . . . . . . . . . . . . 48
Figura 5.10 Ruta Final Double DQN . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figura 5.11 Mapas de calor Double DQN . . . . . . . . . . . . . . . . . . . . . . . 49
Figura 5.12 Victorias Acumuladas con Dueling DQN . . . . . . . . . . . . . . . . 50
Figura 5.13 Mapas de calor DDQN . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figura 5.14 Ruta Final DDQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Figura 5.15 Escenario 1 con modificaciones . . . . . . . . . . . . . . . . . . . . . . 52
Figura 5.16 Escenario 2 con modificaciones . . . . . . . . . . . . . . . . . . . . . . 53
Figura 5.17 Escenario 3 con modificaciones . . . . . . . . . . . . . . . . . . . . . . 54

vi
L I S TA D E TA B L A S

Tabla 3.1 Resumen trabajos relacionados . . . . . . . . . . . . . . . . . . . . . . 25


Tabla 4.1 Especificaciones Heron USV . . . . . . . . . . . . . . . . . . . . . . . . 27
Tabla 5.1 Entrenamiento Q-learn . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Tabla 5.2 Entrenamiento DQN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Tabla 5.3 Entrenamiento Double DQN . . . . . . . . . . . . . . . . . . . . . . . . 48
Tabla 5.4 Entrenamiento DDQN . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Tabla 5.5 Resultado Entrenamiento Escenarios . . . . . . . . . . . . . . . . . . . 52
Tabla 5.6 Desviación estándar del promedio de victorias . . . . . . . . . . . . . 54
Tabla 5.7 Resultado Escenario 1 Modificado . . . . . . . . . . . . . . . . . . . . 55
Tabla 5.8 Resultado Escenario 2 Modificado . . . . . . . . . . . . . . . . . . . . 55
Tabla 5.9 Resultado Escenario 3 Modificado . . . . . . . . . . . . . . . . . . . . 55
Tabla 5.10 Promedio Victorias Escenarios Modificados . . . . . . . . . . . . . . . 56

vii
RESUMEN

Este documento de tesis se enfoca en proponer un sistema de navegación para un vehículo


autónomo de superficie (ASV) multipropósito, con capacidad de planificar y ejecutar
automáticamente una ruta por la cual transitar evadiendo los obstáculos hasta alcanzar su
destino.

El sistema de navegación para el ASV se desarrolló a través de simulaciones, esto se


implementó en el software (ROS,Robot Operating System) y se simuló su comportamiento
en Gazebo. El sistema de navegación aquí propuesto está conformado por un sistema de
localización, uno de control y uno de planificación de ruta.

El sistema de planificación de ruta emplea diferentes técnicas de aprendizaje por


refuerzo como Q-learning, Deep Q-Network, Double DQN y Dueling DQN logrando así,
que el ASV determine su ruta automáticamente. Los rendimientos de cada técnica serán
evaluados, comparados y validados por medio de experimentos en diferentes escenarios
y en condiciones con variaciones a las inicialmente entrenadas. Esto con la finalidad de
cumplir todos los objetivos propuestos en esta investigación.

viii
FIRMA DE AUTORÍA

Sistema de navegación para un vehículo autónomo de superficie


(ASV) multipropósito

Tesis presentada en cumplimiento


de los requisitos para obtener el grado de
Magíster en Ingeniería Electrónica

Por:

Dayán Jr. Méndez Vásquez

Tutor:

PhD. Winston S. Percybrooks B.

ix
AGRADECIMIENTOS

A Dios, mis padres y hermanos, familia y amigos que han acompañado directa o
indirectamente este camino de la vida. Agradezco y valoro en demasía el apoyo de mi
tutor Winston Percybrooks, que me ha aconsejado en muchos aspectos durante este largo
proceso.

x
INTRODUCCIÓN
1
1.1 motivación

El desarrollo de sistemas de navegación para convertir una plataforma móvil acuática en


una autónoma, que no requiera del control humano para lograr una navegación efectiva
es un gran desafío. Esta capacidad de autonomía es el mayor interés y desarrollo del área,
puesto que tiene diversas formas de utilidad. Debido a las múltiples ventajas y tareas
que podría resolver un vehículo autónomo de superficie (ASV), por ejemplo, monitoreo,
vigilancia, telemetría, exploración hídrica, evitar tareas que representen riesgos para las
personas. Ha permitido que la investigación en los últimos años incremente [1] [2] [3] [4].

El desarrollo de vehículos autónomos presenta grandes desafíos en los sistemas de


localización, control y guía. Este último se encarga de elaborar una ruta segura para el
tránsito del vehículo. Para lograr la no interacción humana, la planificación de ruta debe
generar las reglas y definir las acciones adecuadas que debe tomar el vehículo móvil para
un funcionamiento apropiado y confiable. Dada las tareas complejas que se deben realizar
para la automatización de la navegación en los ASV, el sistema de planificación de ruta
debe tener capacidad para adaptarse y aprender del entorno a enfrentar, por esto el uso
de aprendizaje por refuerzo se ha usado para superar este reto.

Existen trabajos nacionales relacionados en este campo de estudio, por ejemplo, en


control de ASV [5] [6] y en el desarrollo de vehículos semi-autónomo [7], sin embargo, aún
sigue siendo un área poco explorada. Además, nuestra región cuenta con grandes fuentes
hídricas que podrían ser objeto de estudio mayores estudios. Por estas razones, investigar
en esta área se convierte en una fuente de motivación para ampliar el desarrollo del campo.

1.2 objetivos

Este trabajo se enfoca en el desarrollo de un sistema de navegación para que un vehículo


autónomo de superficie posea la capacidad de planificar y ejecutar su ruta a través de
aprendizaje por refuerzo. Comparando el desempeño de los algoritmos en diferentes
escenarios de simulación.

1
2 introducción

• Objetivo General: Desarrollar un algoritmo de control y planificación de rutas para


un vehículo autónomo de superficie (ASV).

• Objetivos Específicos:
- Implementar un sistema de posicionamiento georreferenciado.
- Diseñar y construir un algoritmo para planificación automática de rutas.
- Desarrollar e implementar un algoritmo de seguimiento de rutas y evasión de
obstáculos.
- Realizar pruebas y validar el sistema.

1.2.1 Pregunta Problema

En esta investigación se plantea la siguiente pregunta: ¿Es posible desarrollar un


algoritmo de control y planificación de ruta con la capacidad de convertir una
plataforma móvil acuática en un vehículo autónomo de superficie basado en aprendizaje
por refuerzo y validando su aplicabilidad en un entorno de simulación?

1.2.2 Enfoque

Esta investigación propone desarrollar un sistema de navegación para una plataforma


móvil acuática por medio de un algoritmo de control y planificación de ruta basada
en aprendizaje por refuerzo. Proporcionando así una herramienta con capacidad de
cambiar el control humano a uno autónomo. El sistema propuesto es validado a través
de simulaciones en ROS. Además, incluye una comparación para los métodos de
planificación de ruta en diferentes escenarios de simulación.

El sistema de navegación está conformado esencialmente por tres partes, la localización,


el control y la planificación de ruta. El primero se encarga del posicionamiento y
orientación del bote. El segundo ejecuta los actuadores y el control de los movimientos
del bote. El último se encarga de aprender y definir las acciones que debe ejecutar en cada
paso el bote.

En esta tesis se aborda el desempeño de los algoritmos de planificación de ruta basado


en aprendizaje por refuerzo, teniendo en cuenta el cumplimiento del destino para el bote
y la adaptabilidad de estos a escenarios con condiciones fijas y variantes.

1.3 contribuciones

En esta tesis se presenta un sistema de navegación para un vehículo autónomo de


superficie, con un sistema de planificación de ruta basado en aprendizaje por refuerzo
1.3 contribuciones 3

capaz de adaptarse a entornos cambiantes. Las principales contribuciones que se realizan


son las siguientes.

• Un sistema de navegación inteligente que logra planificar su ruta y controlar un


vehículo autónomo de superficie.

• Proponer y evaluar el desempeño de diferentes modelos de aprendizaje en entornos


inexplorados y cambiantes.
MARCO TEÓRICO
2
En este capítulo se presentan conceptos generales para contextualizar el desarrollo de sistemas
de navegación para vehículos autónomos de superficie. Principalmente, se destacan los conceptos
de planificación de ruta, sistemas de control, sistema de localización, aprendizaje por refuerzo,
Q-learning, DQN, DDQN, cinemática, ROS.

2.1 vehículos autónomos de superficie

Los vehículos autónomos de superficie (ASV, Autonomous Surface Vessels) o también


llamados vehículos de superficie no tripulados (USV, Unmanned Surface Vessels) son
vehículos acuáticos que no requieren de operadores humanos sobre su plataforma.
Por estas características pueden ser usados para diferentes tareas que realizaría una
máquina en vez del hombre, tales como el monitoreo marino, estudios hidrológicos,
búsqueda de objetos, exploración marina, sistemas de seguridad, entre otras aplicaciones
[1][8][9][10][11][12].

2.2 sistema de navegación

Los ASV están compuestos de múltiples actuadores y sensores que son adaptados para
realizar diferentes tareas [2] [13]. Por lo tanto, lograr la autonomía requiere de un sistema
de navegación que le permita al bote desplazarse de un lugar a otro. Así que, basado en
el sistema definido por Fossen, este constaría de tres módulos[14]. Ver en Figura 2.1 la
adaptación del sistema. El sistema de navegación está compuesto de estos tres sistemas,
localización, control y planificación de ruta. El primero se encarga de mantener actualizada
y estimar la posición y orientación del ASV. El sistema de control se encarga de ejecutar
los actuadores del ASV. El último define las acciones basadas en una ruta o estrategias de
navegación.

2.3 cinemática

Según Fossen, para describir el movimiento de una embarcación se toman dos marcos
de referencia. Un sistema coordenado fijo en tierra y otro fijo a la embarcación. Las
embarcaciones se mueven a una velocidad relativamente baja(< 2m/s) por consiguiente
tomar la tierra como un marco inercial es una buena aproximación [14]. El sistema

4
2.3 cinemática 5

Figura 2.1: Sistema de navegación [14]

coordenado fijo en tierra con origen on por lo general toma como dirección positiva
North-East-Down, esto se conoce como NED y se simboliza con n. El sistema coordenado
fijo a la embarcación tiene origen ob en el centro de gravedad del bote y dirección positiva
en proa(frontal,x), estribor(la derecha del bote desde la frontal,y) y abajo(z). En la Figura
2.2 se observa una ilustración del sistema de coordenado.

Figura 2.2: Referencia sistema coordenado para embarcaciones [14]

La orientación de los vehículos este definida a través de los ángulos de Euler,


que corresponden a la rotación que toma n en la orientación de b. Los ángulos son
llamados guiñada ψ-(yaw), cabeceo θ-(pitch), alabaleo ϕ(roll). Por consiguiente, el vector
generalizado que define la posición y orientación del bote es:
 
n
η=  pb/n  = [ N, E, D, ϕ, θ, ψ]T (2.1)
Θ
6 marco teórico

Las velocidades son expresadas en términos del sistema coordenado fijo al bote y se
definen como el vector generalizado de velocidad.
 
n b
ν=  ṗb/n  = [u, v, w, p, q, r ]T (2.2)
b
ωb/n

El vector de velocidad lineal n ṗb = [u, v, w]T es la derivada del vector de posición
b/n
b
de n. Estas velocidades son llamadas surge(u), sway(v) y heave(w). El vector ωb/n =
T
[ p, q, r ] es la velocidad angular del bote respecto a n. Estas velocidades son alabeo(roll),
cabeceo(pitch) y guiñada(yaw) respectivamente. La trayectoria del bote es dada por
la evolución en el tiempo del vector generalizado de la posición η definido en 2.1,
relacionando el vector de posición con las velocidades, por medio del siguiente ecuación:

η̇ = J (η)ν (2.3)

En la Figura 2.3 se ilustra la convención general de las posiciones y velocidades de una


embarcación.

Figura 2.3: Convención velocidades generales de un bote [14]

En la figura de arriba podemos observar como surge es la velocidad lineal del avance
frontal del bote, mientras que la velocidad yaw está relacionada con la orientación de la
proa o cabecera del bote. En el libro [14] se explica con mayor profundidad los aspectos
hidrodinámicos de las embarcaciones.
2.4 sistema de localización 7

2.4 sistema de localización

El sistema de localización se encarga de la ubicación del vehículo, conformada por la


posición, velocidad y orientación. La posición es obtenida generalmente usando un GPS o
algún dispositivo compatible con el sistema global de navegación por satélite por la amplia
cobertura, mientras que la orientación se mide con una unidad de medición inercial(IMU).
Con estos sensores se puede obtener con precisión el estado del vehículo. Además, la
información proveniente de los sensores puede ser combinada basado en técnicas con
filtros de Kalman para obtener una estimación más confiable del estado del vehículo, por
consiguiente una navegación más precisa [2].

2.4.1 Filtro de Kalman

Los filtros de Kalman pueden ser empleados en sistemas lineales y no lineales para
estimar un estado oculto. Por ejemplo, el filtro de Kalman extendido tiene la capacidad
de linealizar sistemas no lineales respecto a la estimación actual. Por otro lado, los
sistemas dinámicos pueden inducir errores debido a fallas en la medida de los sensores
o factores externos como ruidos o perturbaciones, el filtro Kalman tiene en cuenta estas
incertidumbres producidas por el proceso y las mediciones, para alcanzar una estimación
más precisa de la localización. En sistemas de navegación y GPS son muy usados,
generalmente en los ASV se emplea, para combinar la información de los sensores y
estimar con mayor precisión la localización [15][16].

El filtro de Kalman consta de dos etapas, principalmente predicción y actualización de


los estados. Esto se define como:

x̂k|k−1 = f ( x̂k−1|k−1 , uk ) (2.4)

P̂k|k−1 = F k Pk−1|k−1 F ⊤
k + Qk (2.5)

La primera ecuación se conoce como la estimación a priori de los estados y la segunda


es la estimación a priori del vector de covarianza. Donde u son entradas, F es una matriz
de estados de transición, Q es la matriz del proceso de ruido. Por otra parte, la etapa de
actualización se define por:
ỹk = zk − h( x̂k|k−1 ) (2.6)

x̂k|k = x̂k|k−1 + K k ỹk (2.7)

P k | k = ( I − K k H k ) P k | k −1 (2.8)

Donde ỹk es la medición residual o innovación. x̂k|k es la actualización de los estados


estimados. Pk|k es la actualización de la covarianza estimada. K es la ganancia, H es la
matriz de estados de observación.
8 marco teórico

2.5 sistema de control

El sistema de control genera las señales para los actuadores. Regulan la ejecución de los
motores del vehículo, conduciendo el ASV hacia la acción indicada por la planificación
de ruta. Según Bibuli et al. en general, solo controlando las dinámicas de surge y yaw es
suficiente para la navegación en el plano horizontal [17]. Aunque, para las embarcaciones
de mayor tamaño es necesario controlar las dinámicas de sway para estabilizar con más
precisión la navegación [18] [2].

Los grados de libertad de surge y yaw pueden ser separados en velocidad y dirección.
Por consiguiente, se pueden crear dos controles sin que estos tengan que interactuar entre
sí. Típicamente, se utilizan controladores PD o PID para el control lineal(velocidad) y
angular(dirección) del ASV.

2.6 planificación de ruta

Según Zhou et al., la autonomía de un vehículo no tripulado es la habilidad para


generar un plan de acuerdo a algunas reglas y ejecutarlo completamente por el
mismo en ciertos entornos en ausencia de la intervención humana. Una parte muy
importante de esa autonomía es encontrar una ruta segura para el vehículo, esto se
conoce como planificación de ruta(Path planning). La planificación de ruta es un aspecto
muy importante en la resolución de tareas complejas de navegación para los ASV [20].
Según Durrant-Whyte en 1994 las preguntas que describen este aspecto son, "¿dónde
estoy?","¿hacia dónde me dirijo?","¿cómo llego hasta allí?". Básicamente, la planificación
de ruta se encarga de resolver estos aspectos y brindar autonomía a los ASV en la
generación de un trayecto seguro a ejecutar.

Según Wang et al. la planificación de ruta se puede dividir en dos, una planificación
global basada en el conocimiento a priori del entorno, y una planificación local basada
en la percepción de información. La desventaja de la planificación global es que en un
entorno extenso es difícil conocer con certeza todos los elementos que están presentes. En
planificación local requieres de sensores para adquirir información del entorno en tiempo
real, posición, obstáculos, y calcular una ruta óptima en vivo [22]. En la planificación
de ruta se pueden emplear diferentes técnicas, así como fusionar la información para
planificación local, también algoritmos de exploración basado en reglas fijas, programación
a mano o de aprendizaje automático.

2.7 sistema operativo robótico(ros)

ROS es un conjunto de librerías y herramientas de código abierto que ayudan a la


construcción de software para aplicaciones robóticas[23]. Creado hace más de 10 años,
ROS ha promovido el código colaborativo y contribuciones de investigadores cubriendo
2.8 aprendizaje por refuerzo 9

la mayoría de aspectos de la robótica según Zhang et al. [24] desde áreas de la industria
y la academia. El proceso de desarrollo de una aplicación robótica puede ser simplificada
con el uso de módulos en ROS para sensores, navegación, planeación de movimientos,
detección de choques, y simulación.

(a) ROS
(b) Gazebo

Figura 2.4: Ros & Gazebo

Gazebo es una colección de librerías software en código abierto la cual incluye el


simulador Gazebo enfocado en la simulación y manejo de robots. Este es ampliamente
utilizada en el área de robótica para el desarrollo, diseño y educación [25]. Gazebo simula
robots para múltiples campos y cuenta con gráficas de alta calidad así como un motor
robusto para representar la física de los elementos, interfaces que pueden ser programadas
así como integración con ROS. Actualmente, es soportado por Open Robotics [26].

ROS en conjunto con Gazebo son parte esencial de la conexión y visualización de los
diferentes componentes que conforman una simulación. ROS crea una red centralizada
donde los componentes de hardware y software, se convierten en nodos que pueden
comunicarse e intercambiar datos entre ellos. Además, ROS en los últimos años ha sido
usado en numerosos proyectos para simulación de vehículos móviles acuáticos [10][27][28]
[29]. Para esta investigación se ha utilizado la versión Melodic de ROS y la versión 9 de
Gazebo.

2.8 aprendizaje por refuerzo

El aprendizaje por refuerzo(RL,Reinforcement learning) es un campo de la inteligencia


artificial que se ocupa de proveer la capacidad a una computadora de aprender de la
interacción al aplicar acciones sobre un entorno y recibir recompensas en respuesta por
la acción ejecutada. El proceso de aprendizaje se convierte en una búsqueda de ensayo y
error donde el objetivo es aprender a maximizar las recompensas [30] [31].
10 marco teórico

Figura 2.5: Diagrama ciclo aprendizaje por refuerzo

El agente interactúa con el entorno realizando una acción At . El entorno cambia a un


nuevo estado St+1 como resultado de la acción. El agente recibe el nuevo estado y una
recompensa Rt+1 . El agente interpretará si la acción tomada fue buena o mala basada en la
recompensa, entonces si la realimentación es positiva el agente deberá preferir esa acción,
en caso contrario deberá buscar en otras acciones recompensas positivas. Los entornos
pueden ser físicos o virtuales, determinísticos o estocásticos. Pueden ser modificados
mediante acciones, medidos mediantes estados u observaciones y evaluados a través
de recompensas. El agente puede ser físico o virtual, un robot o un programa con la
capacidad de interactuar con el entorno e interpretar sus estados y recompensas, es muy
importante que el agente sea capaz de aprender las mejores acciones que debe realizar
para maximizar la recompensa. Las acciones son un conjunto de señales que el agente
puede usar para modificar el entorno. Los estados u observaciones son un conjunto de
señales que representan el entorno. Las recompensas son un puntaje que le indica al
agente que tan buena fue la acción realizada [32].Los agentes están compuestos de un
algoritmo de aprendizaje por refuerzo y una política llamada policy(π), esta es una función
que se encarga de mapear las observaciones con las acciones. El algoritmo de RL define
el método de optimización utilizado para hallar la política óptima, es decir, maximizar la
recompensa a largo plazo. Ver Figura 2.6.

En todos los algoritmos de aprendizaje por refuerzo es muy relevante aplicar algún
método de exploración. La exploración hace referencia a la forma como se escogen las
acciones, es decir, si se decide de forma aleatoria o se escoge la acción más probable del
algoritmo RL empleado. Entonces, cuando se elige una acción de forma aleatoria se llama
exploración y cuando el algoritmo elige la mejor acción se llama explotación. Un método
muy utilizado y simple es el ϵ-greedy, se define un valor 0 < ϵ < 1 y un factor de
descuento σ. Este valor controla de forma uniforme la tasa de exploración y explotación
en un entrenamiento.
2.8 aprendizaje por refuerzo 11

Figura 2.6: Agente RL

2.8.1 Q-learning

Q-learning es una forma de aprendizaje por refuerzo sin modelo, el cual también puede ser
visto como un método de programación dinámica asíncrona. Provee al agente la capacidad
de aprender a actuar óptimamente, experimentando las consecuencias de las acciones, sin
que esto requiera construir mapas del dominio[33]. Sato et al. describe las variables de
Q-learning de la siguiente forma[34]:

• S es un conjunto finito de estados.

• a es un conjunto finito de acciones.

• P es una matriz de probabilidad de transición de estado, donde P(St , St+1 , at ) es la


probabilidad de alcanzar el estado St+1 cuando se realiza la acción at en el estado St .

• r es la función de recompensa.

• γ es una tasa de descuento, 0 ≤ γ ≤ 1.

• π : S → a es una función de estrategia mapea los estados con las acciones.

El objetivo es construir una tabla Q(St , at ) que mapea los estados y las acciones. Una
serie de episodios constituyen la experiencia de un agente en Q-learning. Inicialmente, los
valores de Q(St , at ) se inician en ceros. El resto del proceso de aprendizaje es resumido en
los siguientes pasos:

1. Observa su estado actual St .

2. Selecciona y ejecuta la acción at .

3. Observa el estado siguiente St+1 .

4. Obtiene un valor de recompensa Rt de retorno.

5. El valor Q es ajustado usando la tasa de aprendizaje α.


12 marco teórico

El valor Q es obtenido de acuerdo a esta fórmula:

Q(St , at ) ← Q(St , at ) + α[rt + γmax a Q(St+1 , a) − Q(St , at )] (2.9)

Luego hallar la política o estrategia (π ) que maximice los valores de la tabla Q. Para esto
se debe tomar el valor más alto de Q y retornar la acción que le corresponda. La Ecuación
2.10 se observa.
π ( a) = argmaxπ Q(St ) (2.10)

En la Figura 2.7 se observa un ejemplo de la tabla Q. Está conformado por todos los
posibles estados y acciones. Los estados son [s1 , s2 , s3 ] y las acciones son [ a1 , a2 ]. Cada
combinación estado-acción tiene una recompensa, este es el valor Q.

Figura 2.7: Representación tabla Q

Una de las desventajas de Q-learning es que debe contener una tabla de todas las
posibles combinaciones de estado-acción, y para problemas donde el número de estados
sea muy grande las combinaciones también aumentarán. Por ejemplo, si se desea entrenar
un agente para jugar Pac-man hay cerca de 150 puntos que se pueden comer, cada uno
puede estar presente o ausente. Por lo tanto, los posibles estados pueden ser 2150 y si se
añaden todas las posibles combinaciones de la posición de los fantasmas y Pac-man los
estados aumentarán. Por esto es difícil mantener un estimado de cada posible valor Q [35].

2.8.2 Deep Q-Network (DQN)

Este tipo de agente emplea redes neuronales profundas para aprender de las interacciones
con el entorno. Según Mnih et al. el objetivo de DQN es aproximar al valor óptimo de la
función Q [36].

Q∗ (s, a) = maxπ E[rt + γrt+1 + γ2 rt+1 + ...|st = s, at = a, π ] (2.11)

El cual es la suma máxima de la recompensa rt descontada por γ en cada paso t, alcanzable


por medio de una política π después de observar(s) y tomar la acción(a). Una forma de ver
la función de la red es que replica el funcionamiento de la tabla de valores Q sin que sea
2.8 aprendizaje por refuerzo 13

explícitamente construida. En la red neuronal ingresan los estados y como salida retorna
los valores Q correspondiente a cada acción.

Figura 2.8: Red Neuronal

El aprendizaje por refuerzo es conocido por ser inestable o incluso diverge cuando una
función de aproximación no lineal como una red neuronal es usada para representar los
valores de la función Q. Esa inestabilidad se debe a varias causas: la correlación presente
en una secuencias de observaciones, el hecho de que pequeñas actualizaciones a los
valores Q puede cambiar la política(π) y, por lo tanto cambiar la distribución de los datos.
También, la correlación entre los valores Q y los valores objetivo r + γmax a′ Q(s′ , a′ ). Por
esto se creó una estructura donde una memoria almacena los datos de las interacciones
con el entorno y luego de forma aleatoria se extrae una muestra, esto ayuda a remover
las correlaciones entre observaciones secuenciales y suaviza los cambios sobre la
distribución de los datos. Además, se usa una actualización iterativa, donde el ajuste
de los valores Q hacia los valores objetivos se hace solo periódicamente, reduciendo así
la correlación entre ambos valores[35]. En la Figura 2.9 se observa un diagrama de la DQN.

También, podemos ver que el agente recibe el estado actual y determina una acción.
Luego el entorno la ejecuta, el resultado es almacenado en una memoria en conjunto con
la acción At , la recompensa Rt , el estado siguiente St+1 y el estado actual St . Luego se
selecciona un minibatch aleatorio de esta memoria y es empleado para optimizar la red
neuronal. El valor-Q usado por DQN es:

YtDQN = Rt+1 + γ max Q(St+1 , a; θt ) (2.12)


a

Donde θt son los pesos de la red neuronal, R la recompensa, S el estado, a las acciones
y γ la tasa de descuento.

2.8.3 Double DQN

Este algoritmo es una variación a DQN propuesto por Van Hasselt et al.[37] como una
mejora al desempeño y estabilización del entrenamiento para DQN. Basados en la
14 marco teórico

Figura 2.9: Funcionamiento DQN

observación que la red neuronal tiende a sobreestimar los valores-Q. La sobreestimación


se refiere al hecho de que los valores-Q para acciones igualmente buenas, no deben tener
diferencias, sin embargo, se presentan valores ligeramente mayores que se deben al azar
y esto nos sesga a tomar siempre el valor-Q más sobreestimado[37][35]. En consecuencia,
las sobreestimaciones cuando no son uniformes y no están concentradas en los estados
de los cuales deseamos aprender más, reducen la capacidad de la red para seleccionar
estos estados[38]. También, en DQN la sobreestimación se hace más probable porque una
misma red selecciona y evalúa una acción. Para solucionar esto, se propuso en vez de una
red neuronal usar dos, una red se encarga de seleccionar las acciones y la otra de valorar
esas acciones selecciones, es decir, estimar los valores-Q [35]. La primera red se llama
Online y la segunda Target.

En el diagrama de funcionamiento para Double DQN se observa que la red Online


selecciona la acción a ejecutar. La red Target provee el valor-Q que es usado para optimizar
la red Online. Luego la red Target se actuliza cada τ con los pesos de la red Online. En la
Ecuación 2.13 se observa el valor-Q usado por Double DQN.

YtDoubleDQN = Rt+1 + γQ(St+1 , argmax Q(St+1 , a; θo ), θt ) (2.13)


a

Donde θo son los pesos de la red Online y θt son los de la red Target, se puede ver que la
mejor acción es la seleccionada por la red Online, mientras que la valoración de esa acción
es realizada por la red Target.
2.8 aprendizaje por refuerzo 15

Figura 2.10: Funcionamiento Double DQN

2.8.4 Dueling DQN (DDQN)

Esta propuesta de Wang et al.[39] cambia la arquitectura red anteriores. En DDQN para
calcular el valor-Q se estiman internamente dos factores, el valor de estado V (s) y el valor
de cada acción sobre el estado, llamado ventaja A(s, a). Estas dos estimaciones luego son
agrupadas para calcular el valor-Q [39] [35]. Según Wang et al. la arquitectura de DDQN
puede aprender intuitivamente cuáles estados son o no valiosos, sin tener en cuenta el
efecto de la acción sobre el estado. Esto puede ser útil en estados donde sus acciones no
afectan el entorno de forma relevante. También, generaliza el aprendizaje a través de las
acciones al normalizar los beneficios de cada una, cuando se calculan las ventajas. En la
figura 2.11 se observa una ilustración de la red.

Figura 2.11: Dueling DQN [39]


16 marco teórico

En la figura de arriba se observa que la red neuronal se divide en dos hilos, uno calcula
el valor del estado y el otro calcula la ventaja de tomar cada acción, estos dos componentes
se agrupan para crear la estimación final del valorQ. La ecuación 2.14 muestra como se
agrupan los valores.
Q(s, a) = V (s) + A(s, a) (2.14)

La ventaja A(s, a) tiene dos formas de calcularse para resolver el problema de


identificabilidad descrito en [39].
 
Q(s, a; θ, α, β) = V (s; θ, β) + A(s, a; θ, α) − max A(s, a′ ; θ, α) (2.15)
a′ ∈| A|

 1 
Q(s, a; θ, α, β) = V (s; θ, β) + A(s, a; θ, α) −
| A| ∑′ A(s, a′ ; θ, α) (2.16)
a

Donde θ representa los parámetros de la red neuronal, α y β son los parámetros de los
dos hilos para la capa fully-connected. La ecuación 2.15 resta la ventaja más alta contra
el resto, convirtiendo Q(s, a; θ, α, β) igual a V (s; θ, β) para la acción con más ventaja. En la
ecuación 2.16 se usa la ventaja promedio para calcular el valor-Q de cada acción. El valor-Q
usado por DDQN para actualizar la red es:

YtDDQN = Rt+1 + γ max Q(St+1 , a; θ ) (2.17)


a

De la ecuación anterior se puede observar que la forma como se calcula el valor objetivo
de la red es igual a DQN, sin embargo, como se ha descrito, la arquitectura interna de esta
red es diferente.
TRABAJOS RELACIONADOS
3
Es necesario tener en cuenta las investigaciones relacionadas, por esto se deben explorar
temáticas que nos acerquen a una visión panorámica del problema a resolver. Lecturas
acerca vehículos no tripulados, planificación de ruta y aprendizaje por refuerzo serán
abordadas.

3.1 vehículos no tripulados de superficie

El desarrollo de Los vehículos autónomos de superficie data desde los años 90. Cuando
el MIT presentó un vehículo llamado ARTEMIS [40]. El objetivo era recolectar muestras
de batimetría en el río. Académicamente, esto generó interés por la investigación, luego
más institutos se sumaron al desarrollo en este campo [41]. Su creciente popularidad
y aplicaciones han conllevado un continuo desarrollo, el cual se podría dividir en
tres categorías principales, (I) diseño y construcción, (II) Control y navegación y (III)
planificación de ruta [42]. En esas tres áreas se concentra la mayoría de investigaciones.

En 2014 Fraga et al. [10] propuso Squirtle ASV, su aplicación era realizar mediciones
batimétricas en un río. Se construyó uniendo dos kayaks con un puente de aluminio y
dos motores. El control y navegación son dirigidos a través de un sistema GPS y cámara
estéreo, para la orientación fue usada una unidad de medición inercial (IMU). También,
una combinación de un láser omnidireccional y un sonar complementan el sistema de
evasión de obstáculos. El control era simple, lograr que el ASV realizara giros cada
cierta cantidad de metros hasta completar un rectángulo. Mientras que, la planificación
de la ruta se basó en realizar dos recorridos rectangulares. El robot era teleoperado
desde la estación base hasta llegar al punto desde el cual iniciaba el recorrido autónomo.
Toda la parte software del bote fue realizada en ROS. En la Figura 3.1 se puede ver la
representación.

17
18 trabajos relacionados

(a) Squirtle ASV (b) Recorrido en ROS

Figura 3.1: Squirtle ASV [10]

Pinto et al. [43] proponen un sistema de navegación para el monitoreo ribereño de


forma cooperativa en lugares no explorados. Un vehículo autónomo aéreo, equipado con
una cámara y un láser, despega desde el vehículo autónomo de superficie y realiza un
mapeo de la zona. Este mapeo del drone sirve para localizar las zonas u obstáculos donde
el ASV podría o no transitar inicialmente. Complementando esto, el ASV cuenta con una
cámara, un láser y un sonar subacuático, con esto se crea un mapa 2D donde se determina
cuáles zonas son navegables y cuáles contienen obstáculos. Al mismo tiempo se realiza
el muestreo de la zona explorada, se genera un mapa y se traza la ruta que debe seguir
la embarcación hasta, completar su tarea. En este trabajo el sistema de control para los
motores se realiza con dos controladores PID, un controlador para la velocidad lineal
y otro para la velocidad angular. Los valores del PID son obtenidos a través de ensayo
y error hasta alcanzar estabilidad y rapidez en la respuesta. El sistema de localización
está compuesto por un GPS y un IMU combinado en un filtro de Kalman extendido.
La planificación de ruta está determinada por un conjunto de puntos en GPS que son
definidos de forma offline en imágenes satelitales. Se puede observar en las Figuras 3.2-3.3.

Figura 3.2: ASV cooperativo [43]


3.1 vehículos no tripulados de superficie 19

(a) Cooperación Visual


(b) Recorridos ASV

Figura 3.3: Sistema ASV Cooperativo [43]

Hong y Arshad [44][45] en su trabajo propone un sistema de navegación que combina


el control y la planificación. Usan los campos potenciales, estos usan fuerzas de repulsión
y atracción para mantener el curso sobre el centro de un río. El ASV en este caso está
equipado con un par de cámaras, observando hacia la izquierda y derecha del bote. Con
las imágenes de las cámaras estiman la distancia a lado y lado del río, esas distancias
son interpretadas como potenciales atractivos o repulsivos. Luego las usan para controlar
la dirección del ASV, por medio de un controlador PD que acciona los dos motores. El
objetivo es mantenerse siempre a la misma distancia de ambas orillas del río, mientras se
toman muestras de batimetría, además bajo el principio de atracción y repulsión de los
campos potenciales, serían capaz de evadir posibles obstáculos. Ver Figura 3.4.

Figura 3.4: ASV campos potenciales [44]


20 trabajos relacionados

Hossein et al. [46] también propone el uso de campos potenciales con un algoritmo
de segmentación de ruta para la planificación de ruta, en su ASV llamado Morvarid. En
este caso, la ruta de planificada está dividida en trayectos cortos, obteniendo así varios
puntos que debe cumplir antes de completar toda la ruta y en caso de aparecer obstáculos
evadirlos aplicando campos potenciales. Para la localización del ASV, se empleó un GPS,
IMU, LIDAR, sondas para la medición de batimetría. Esto se combina en un filtro de
Kalman extendido para generar la localización del bote. Además, crearon un modelo
dinámico del ASV, a partir de ensayos y mediciones físicas, para simular los recorridos
y validar la navegación. En la figura 3.5 se observa el ASV.

Figura 3.5: Morvarid ASV [46]

En los ASV también se han usado los diagramas de Voronoi para planificación de rutas.
Los mapas de Voronoi consisten en crear regiones a partir de un plano con puntos. Estas
regiones son conectadas por vértices y aristas. Xiao et al. [47] propuso usar los diagramas
en un bote de vela autónomo, que sea independiente a la dirección del viento y se genere
una ruta que cumpla el objetivo de arribar al destino y a la vez evada lo más posible
las costas. Este método luego fue aplicado, para crear un mapa de rutas o caminos que
podría seguir un ASV para navegar sin problemas. Niu et al. [48] propone un método de
planificación de ruta, usando diagramas de Voronoi, el algoritmo de Dijkstra e información
de las corrientes marinas, el cual busca minimizar los gastos energéticos del bote. Aquí, se
utilizó un modelo de simulación del bote. En la Figura 3.6 se observa un ejemplo de este
último.

Figura 3.6: Mapas de Voronoi [48]


3.1 vehículos no tripulados de superficie 21

ROS y el simulador 3D Gazebo han sido empleados en diversas investigaciones para el


desarrollo de ASV. Pickem et al. [27] lo empleó para construir completamente el software
de su ASV, realizando la interconexión de todo su hardware. Una de las ventajas es que
ROS puede leer todos los datos de sus sensores y convertir ese sensor en un nodo y
conectarlo con los otros dispositivos en una misma red, centralizado así todos los datos,
además facilitando la lectura y revisión del estado del hardware. En este caso diseñaron
un trimarán que incluye un GPS, IMU, LIDAR y una cámara estéreo. Estos componentes
fueron simulados en Gazebo permitiendo probar el funcionamiento del hardware antes
de hacer el despliegue del bote. El control de los motores se hace por medio de dos
controladores PID uno para la velocidad lineal y otra para la angular. El objetivo del ASV
es mantenerse navegando a través de unas boyas y que pueda evadir obstáculos. El robot
no cuenta con una planificación específica de la ruta, solo debe partir de un punto y llegar
al destino.

Figura 3.7: Simulación ASV en Gazebo [27]

En la propuesta de Pedrosa et al. [28] emplean un ASV de forma cooperativa con un


drone autónomo para la mitigación de derrames de crudo en el mar, las pruebas las
validaron con ROS y Gazebo. El objetivo es planificar la ruta del ASV por el contorno del
derrame y para contenerlo en una zona mientras va dejando microorganismos y nutrientes
capaces de mitigar el crudo. En este caso, el drone identifica las zonas del derrame y los
convierte en puntos. Estos puntos se convierten en obstáculos para el ASV, que aplica
campos potenciales para el control y planificación de ruta del bote, usando las fuerzas de
atracción y repulsión para mantenerlo a una distancia segura del derrame mientras recorre
completamente la zona afectada.
En 2018 Manjanna et al. [29] proponen monitorear la calidad del agua utilizando dos
vehículos autónomos de superficie. Uno de los robots se encarga de explorar y mientras
mide la calidad del agua realiza un mapeo. El otro robot equipado con un dispositivo de
muestreo del agua, toma las decisiones acerca de donde se debe explorar. Ellos usaron
dos ASV de referencia Heron Clearpath y evaluaron su sistema en simulaciones con
ROS y Gazebo, luego en un escenario real. En su propuesta concluyen que el uso del
simulador les permitió observar el desempeño y la factibilidad de su propuesta realizando
mediciones controladas, y luego confirmando en la práctica su utilidad. Lograron esto
usando un modelo físicamente realista del bote Heron Clearpath que se encuentra como
22 trabajos relacionados

un complemento en ROS. La planificación de ruta se realizó mediante la definición previa


de una serie de pasos que debe realizar el explorador, que luego son ajustadas por el ASV
que muestrea para generar los mejores puntos donde se pueden hacer mediciones del
agua.

Figura 3.8: Heron y densidad de Clorofila en el agua simualdo con Gazebo [29]

Wang et al. en 2018[22] propone un método para planificación de ruta en embarcaciones


autónomas de superficie marítimas basado en aprendizaje por refuerzo. En este enfoque
se simula un mapa hecho en Python y Pygame donde la embarcación de gran tamaño usa
Q-learning para hallar una ruta desde el punto de inicio hasta el destino. La embarcación
se enfrenta a un mapa desconocido, el cual mientras explora recibe recompensas y aprende.
El mapa en este caso es una imagen en dos dimensiones y cada pixel tiene asociado una
coordenada y dependiendo si es una zona navegable o un obstáculo recibe la respectiva
recompensa. Estas coordenadas representan los estados u observaciones y el espacio de
acciones son ocho movimientos que la embarcación puede realizar, es decir, el espacio
de acción es discreto. En la Figura 3.9 se puede observar los resultados. Además, Chen
et al. [49] en 2019 también propone aplicar Q-learning para la planificación de ruta en
embarcaciones de carga. En esta investigación se diseñaron cuatro escenarios que se
dividieron en cuadrículas de 5x5 con obstáculos fijos. Aquí, el estado del bote depende
de la posición y orientación del casco y las acciones definen el ángulo que debe tomar
el timón. La planificación de ruta debe llegar al punto de destino mientras evade los
obstáculos, además, realizaron dos enfoques para el aprendizaje por refuerzo, uno donde
no limitaban el espacio de navegación y en el otro sí. Estos resultados obtenidos con
Q-learning lo contrastan con otros algoritmos de planificación de ruta, como A* y RRT.
En la Figura 3.10 se observan los resultados.
3.1 vehículos no tripulados de superficie 23

(a) Simulación iteración 200 (b) Simulación iteración 1500

Figura 3.9: Simulación planificación de ruta Q-learning [22]

Figura 3.10: Ruta con planificación basada en Q-learning [49]

Song et al. [50] propone planificar rutas aplicando el algoritmo de grafos A* para un ASV,
en este enfoque es necesario dividir el mapa en cuadrículas que representen el espacio
de navegación. El mapa es obtenido de una imagen satelital, donde se define un punto
de partida y destino, luego es divido en cuadrículas. Cada cuadrícula es una celda o
nodo de tamaño predefinido, que se interconecta con sus celdas vecinas dependiendo de
los movimientos que pueda realizar el bote. Debido a que es un enfoque práctico para
obtener fácilmente una ruta segura para navegar, se debe conocer previamente todo el
mapa antes de generar la ruta. Además, se propone una optimización de la ruta generada
por el algoritmo de planificación para reducir la cantidad de celdas, con el fin de obtener
movimientos más suaves en el control del ASV.
24 trabajos relacionados

Figura 3.11: Mapa & planificación de ruta con A* [50]

Huang et al. [51] en 2021 propone utilizar aprendizaje por refuerzo profundo,
particularmente Double DQN. Es aplicar redes neuronales profundas para estimar valores
Q. En este enfoque se construyó el algoritmo de planificación de ruta en Python. Se
diseñaron cuatro escenarios estáticos, que son cuadrículas con obstáculos estáticos, donde
el ASV es representado por punto o nodo de partida y tiene un espacio de acción de
cuatro movimientos. El objetivo es que aplicando redes neuronales profundas, el ASV
explore y aprenda del mapa hasta encontrar el destino, evadiendo los obstáculos, también
se contrastaron dos variaciones de DQN.

Figura 3.12: Mapa & planificación de ruta con DQN [51]

Por otra parte, el enfoque de esta investigación será desarrollar un sistema de navegación
que realice una planificación de ruta por medio de aprendizaje por refuerzo en escenarios
desconocidos y con obstáculos. Las rutas planificadas serán validadas a través de
simulación del ASV. Además, serán evaluados y comparados distintos algoritmos de
aprendizaje por refuerzo, como Q-learning, DQN, double DQN y Dueling DQN, ante
las mismas condiciones. En esta recopilación bibliográfica no se encontraron trabajos
relacionados donde se realizaran comparativas para estos algoritmos.
En la tabla 3.1 se encuentra un resumen con algunas referencias anteriormente vistas, las
técnicas y la aplicación de cada uno de esos trabajos.

3.1.1 Tabla resumen

Tabla 3.1: Resumen trabajos relacionados

# Articulo Técnica Tema

1 Fraga et al., 2014 planificación de ruta local, fusión de sensores Diseño y construcción de ASV, software y simulación ROS

3.1 vehículos no tripulados de superficie


2 Pinto et al., 2014 Planificación ruta semi-global, fusión de sensores + drone ASV cooperativo
3 Hong y Arshad,2015 Campos potenciales Sistema de navegación para ASV
4 Hossein et al., 2018 Campos potenciales + segmentación de ruta Sistema de navegación ASV
5 Xiao et al., 2011 Mapas de Voronoi Planificación de ruta para botes de vela autónomos
6 Niu et al.,2019 Mapas de voronoi Planificación de ruta ASV
7 Pickem et al., 2011 Planificación local, fusión de sensores Diseño de ASV con Software en ROS
8 Pedrosa et al., 2018 Campos potenciales + drone Sistema de navegación para ASV en control de derrames.
9 Manjanna et al., 2018 Planificación global + sensores Monitoreo calidad del agua con dos ASV
10 Wang et al., 2018 Q-learning Simulación planificación de ruta
11 Chen et al., 2019 Q-learning Métodos de planificación de ruta para ASV en simulaciones
12 Song et al., 2019 A* Navegación y planificación de ruta para ASV en simulación
13 Huang et al., 2021 Double DQN Planificación de ruta con aprendizaje por refuerzo para un ASV

25
MÉTODO PROPUESTO
4
4.1 planteamiento del problema

El desarrollo de sistemas de navegación para convertir vehículos móviles controlados


por humanos en vehículos de navegación automática ha cobrado relevancia debido a las
múltiples ventajas y tareas que podría resolver. Por ejemplo, en monitoreo, vigilancia,
estudio, exploración hídrica, evitar poner en riesgo a personas en algunas tareas, reducir
costos de personal. Por otro lado, nuestra región cuenta con grandes fuentes hídricas, sin
embargo, el desarrollo e investigación en esta área ha sido poco explorada.

El desarrollo de vehículos autónomos presenta grandes desafíos en los sistemas de


localización, control y planificación de ruta. Este último se encarga de elaborar una ruta
segura para el tránsito del vehículo. Para lograr la no interacción humana, la planificación
de ruta debe generar reglas y definir las acciones adecuadas que debe tomar el vehículo
móvil para un funcionamiento apropiado y confiable. Dada las complejas tareas que
se deben realizar para la automatización de la navegación en los ASV, el sistema de
planificación de ruta debe tener capacidad para adaptarse y aprender del entorno a
enfrentar, por esto el uso de aprendizaje por refuerzo se ha empleado para superar este
reto.

Por otro lado, poner a prueba un sistema de navegación implica mucho tiempo de
ensayo, así que generar pruebas de campo tomarían muchas horas. Además, algunas
zonas no son de fácil acceso o de disponibilidad limitada, por esto el uso de simuladores
como ROS y Gazebo son esenciales para realizar esta tarea. También, para evaluar
eventuales fallos y tareas de navegación complejas, sería menos costoso, ahorrando así
recursos y alargando la vida útil de los dispositivos. Por lo anterior, en muchos casos
los sistemas de navegación son evaluados y/o validados usando simuladores como paso
previo a un posterior desarrollo físico del ASV facilitando así su construcción.

El problema principal implica proponer, desarrollar y evaluar el desempeño de un


sistema de navegación para un ASV. Basado en la aplicación de métodos de planificación
de ruta inteligentes como el aprendizaje por refuerzo, que logre adaptarse a diferentes
escenarios con obstáculos y al mismo tiempo cumplir satisfactoriamente el objetivo de
destino. Debido a que, se encontraron pocas referencias locales que realicen un enfoque en

26
4.1 planteamiento del problema 27

la planificación de ruta con métodos de RL y que realicen una comparación del desempeño
entre los métodos elegidos.

4.1.1 Modelo ASV

El modelo de bote empleado es el Heron USV creado por la compañia Clearpath, este es un
bote portable que cuenta con un modelo de simulación diseñado por la misma compañía
para ROS & Gazebo. En la Figura 4.1 se observa el bote [52] [53].

Figura 4.1: Heron USV [53]

Este es un bote tipo catamarán diseñado con una arquitectura abierta y escalable ideal
para los proyectos de investigación, desarrollo y pruebas de nuevas estrategias para el
control de los vehículos autónomos [54] [55]. En la Tabla 4.1 se observan algunas de las
especificaciones del bote [54].

Tabla 4.1: Especificaciones Heron USV

Longitud[m] 1.35 Ancho[m] 0.9 Altura[m] 0.32

Calado[m] 0.12 Peso[Kg] 28 Vel. Max.[m/s] 1.7

N. Propulsores 2 Min. Radio Giro[m] 0 Comunicación WiFi,RS232

Recarga[h] 8 Batería NiMH Drivers/APIs ROS,C++

Se eligió este modelo debido a que es un bote portable, por lo cual en caso de una
implementación en un entorno real no requeriría grandes espacios o recursos. Además, al
contar con un modelo de simulación del bote provisto por la compañía provee una ventaja
para el acople con las herramientas de simulación.
28 método propuesto

4.2 escenarios

Se generaron tres tipos de escenarios para la navegación del vehículo acuático. Para la
construcción de estos escenarios se tomó como base una de las tareas de la competencia
internacional Virtual RobotX que se organizó en 20191 [56]. Esta competencia es
organizada por RoboNation2 , la Oficina de Investigación Naval3 de Estados Unidos,
en la que se diseñaron diversos entornos de simulación para ROS y Gazebo como una
herramienta de código abierto para la investigación y evaluación de robots autónomos
marítimos, con la finalidad de dar solución a diferentes desafíos en este campo. Por esto,
la competencia es popular y diferentes grupos de investigación universitarios presentan
sus propuestas anualmente.

Figura 4.2: Simulación escenario de navegación

Se eligió un mapa que hace parte de un desafío de navegación, en el cual el ASV debe
navegar hasta llegar a la meta. El escenario cuenta con boyas y obstáculos. Las boyas son
de color rojo y verde, empleándolas como indicador para limitar la zona transitable del
bote. Los obstáculos son objetos flotantes que están ubicados en diferentes lugares dentro
de esta zona. Cada mapa cuenta con 9 obstáculos. En la Figura 4.2 se observa un ejemplo.
Además, se generaron dos escenarios adicionales con las mismas características con el fin
de evaluar el desempeño del ASV en diferentes desafíos de navegación. En la Figura 4.3
se pueden ver.

1 https://github.com/osrf/vrx
2 https://robonation.org/
3 https://www.nre.navy.mil/
4.2 escenarios 29

Figura 4.3: Escenarios de navegación

En la figura de arriba se observan los otros dos escenarios, estos cuentan con un destino
diferente y obstáculos en diferentes posiciones. El punto de partida está dado por la boya
blanca y roja, mientras que el destino es la última pareja de boyas, que está más alejada en
el escenario.

4.2.1 Representación

Para abordar la representación de los escenarios se decidió emplear el método de


cuadrículas, ampliamente utilizado en la literatura. Esta representación ofrece intuitiva
y visualmente una forma de dividir el escenario o mapa en dimensiones iguales y
más pequeñas, llamados nodos o cuadrículas, que permiten facilitar la navegación.
Básicamente, este método requiere definir un tamaño de cuadrícula y la dimensión total
del área a representar. En la Figura 4.4 se observa una ilustración de una cuadrícula de
dimensiones 6x6, cada nodo tiene un número correspondiente que representa un área de
1m2 del mapa.

Figura 4.4: Ejemplo mapa cuadrículas 6x6


30 método propuesto

En esta investigación, se definió que todos los mapas tendrán una dimensión de 60 × 60
y cada cuadrícula representa un área de 4m2 . Con las dimensiones de la grilla se puede
cubrir toda la extensión de los escenarios, por otra parte, el tamaño del robot se ajusta
completamente al espacio de una cuadrícula.

4.3 sistema de navegación

El sistema de navegación propuesto está conformado de tres componentes principales,


el sistema de localización, el sistema de control y la planificación de ruta. Se empleó la
estructura clásica, puesto que es muy útil para el propósito general de esta investigación.

Figura 4.5: Sistema de navegación

En el diagrama anterior se observa que el sistema de localización influye en la


planificación de ruta y control. Así como la planificación de ruta depende del método
de aprendizaje por refuerzo. Por último, el sistema de control ejecuta los actuadores que
modifican el estado del ASV. En las siguientes secciones se explica cada uno de estos
componentes que forman el sistema de navegación.

4.3.1 Sistema de localización

El sistema de localización del ASV se encarga básicamente de proveer la ubicación y


orientación. Para lograr este objetivo, se decidió emplear GPS, IMU y sonar. Basado en
las referencias revisadas y teniendo en cuenta que los escenarios son zonas despejadas,
fusionando estos tres dispositivos un bote puede obtener la ubicación, orientación, y
también detectar obstáculos. Además, los datos provistos por los sensores son ajustados
mediante un filtro de Kalman extendido(EKF), puesto que reduce la varianza y aumenta
la precisión de las mediciones a menos de 1m para el GPS [57][58]. El filtro finalmente
provee la odometría ajustada del ASV. En la Figura 4.6 se ilustra el sistema.
4.3 sistema de navegación 31

Figura 4.6: Sistema de Localización

Los datos de los sensores son entradas del EKF, que usa para estimar y ajustar el vector
de estados que conforman la localización del ASV.

4.3.2 Sistema de control

El sistema de control se encarga de accionar los actuadores del ASV, en este caso son los
dos motores con los que cuenta el bote. El control de los motores se realiza ajustando
la velocidad lineal y angular, entonces, para lograrlo se empleó dos controladores tipo
PD para ambas velocidades. El controlador se encarga de mantener el curso y seguir la
trayectoria dada por la planificación de ruta. La ecuación de control es la siguiente:

ẋ = K p δl + Kd β l (4.1)

θ̇ = K p δa + Kd β a (4.2)

Donde ẋ es la velocidad lineal y θ̇ es la velocidad angular. K p y Kd son las ganancias


proporcionales y diferenciales. Los errores δ y β se refieren a las diferencias lineales del
objetivo deseado y el estado actual. El parámetro K p ajusta la diferencia del valor deseado
con el actual, el valor Kd atenúa la repuesta para obtener un control suave para el bote.
Los valores de K p y Kd fueron 0.4 y 0.06, esto se logró afinar de forma simulada.
32 método propuesto

Figura 4.7: Controlador

Se eligió crear dos controladores por los grados de libertad sobre los que puede actuar
el motor. Como se describe en el capítulo 2 estas velocidades pueden ser controladas de
forma individual. Se decidió el controlador PD, debido a que en las pruebas realizadas el
manejo de los motores fue satisfactorio para el objetivo deseado.

4.3.3 Sistema de planificación de ruta

El sistema de planificación se encarga de generar una ruta segura para el ASV. Para
esto, el sistema de planificación explorará el mapa inicialmente desconocido hallando la
mejor ruta que lo lleve hasta el destino. Para esta labor, se decidió emplear métodos de
aprendizaje por refuerzo con capacidad de aprender del entorno. Los métodos escogidos
fueron Q-learning, DQN, Double DQN y Dueling DQN que pueden ser empleados en
mapas o entornos discretos como el utilizado en este caso. Se eligió un método de RL
clásico como Q-learning que mapea el entorno y las acciones, mientras que, los otros
métodos utilizan redes neuronales con capacidad de aprendizaje.

Estos métodos deben interactuar con los escenarios inicialmente desconocidos hasta
lograr converger. La interacción consiste en explorar los nodos de los mapas, mientras
hace esto aprende de la realimentación provista por el entorno. Es decir, el sistema de
planificación elige las acciones que ejecuta el ASV, teniendo en cuenta la localización
y el objetivo de arribo. Dentro de este sistema se encuentra el agente RL. Finalmente,
una vez el agente ha aprendido del mapa, debe generar una serie de pasos que serán
ejecutados por el sistema de control hasta arribar al destino. En la Figura 4.8 se ilustra
una representación del sistema.
4.4 algoritmos de aprendizaje por refuerzo (rl) 33

Figura 4.8: Sistema de Planificación

En la Figura 4.8 se observa un diagrama de funcionamiento del sistema de planificación,


donde la política de exploración establece si se debe explorar o explotar. La exploración
consiste en elegir una acción al azar y la explotación consiste en elegir una acción basada
en el aprendizaje del algoritmo RL. En esta investigación se decidió emplear ϵ-greedy para
el control de la tasa de exploración y explotación.
Para lograr la implementación de estos algoritmos se incluyo la librería Gym de OpenAI.
Esta librería es útil para simular entornos que requieren algoritmos de aprendizaje por
refuerzo. Se enlazó Gym con ROS y Gazebo creando un entorno el cual hace más simple
la interacción con el agente. En Gym se debe definir las observaciones o estados puede
tomar el ASV dentro del escenario o mapa, las acciones que puede realizar el agente y las
recompensas. La metodología seguida para programar este entorno interactivo se basó en
el paquete de ROS openai_ros [59] [60].

4.4 algoritmos de aprendizaje por refuerzo (rl)

En esta sección se describen cada uno de los algoritmos seleccionados y como se empleó
la estrategia que determina las mejores acciones dentro de los diferentes escenarios.

4.4.1 Q-learning

Este método aprende mediante el mapeo de los estados y acciones con una valoración.
Básicamente, construye una tabla donde cada elemento representa un par estado-acción y
cada par tiene un valor conocido como valor-Q. La implementación en Q-learning debe
34 método propuesto

seguir una secuencia de pasos lógicos para hallar la política que va a determinar las
mejores acciones dentro del entorno hasta maximizar la recompensa y a la vez lograr el
objetivo de destino. El Algoritmo 4.1 resume los pasos que se deben seguir para completar
la tabla Q.

Algoritmo 4.1 Q-learning


Inicializa Q(s, a) para todo s ∈ S, a ∈ A
for episodio = 1, M do
Estado St inicial
for t = 1, T do
Probabilidad ϵ de seleccionar at aleatoria sino selecciona at = max a Q∗ (St , A)
Ejecuta la acción at observa la recompensa rt y el nuevo estado St+1
Calcula el nuevo valor Q:
Q(St , at ) ← Q(St , at ) + α[rt + γmax a Q(St+1 , A) − Q(St , at )]
S t ← S t +1
if St es el estado destino then
Break, iniciar otro episodio
end if
end for
end for

Donde Q(s, a) representa la tabla Q, s el estado, a las acciones, M la cantidad de


episodios, T la cantidad de pasos máximos. Una vez finalizado los episodios se debe
ejecutar la estrategia para hallar la secuencia de acciones que nos llevan a maximizar la
recompensa. En el algoritmo 4.2 se puede observar.

Algoritmo 4.2 Q-learning estrategia


Tomar tabla Q(s, a) para todo s ∈ S, a ∈ A
for t = 1, T do
Selecciona at = max a Q∗ (St , A)
Ejecuta la acción at observa la recompensa rt y el nuevo estado St+1
S t ← S t +1
if St es el estado destino then
Break
end if
end for

Esta secuencia de acciones nos debe llevar al estado con mayor recompensa. Luego, se
puede crear una lista con cada estado visitado y construir la ruta a seguir por el ASV hasta
arribar al destino, completando así la planificación.
4.4 algoritmos de aprendizaje por refuerzo (rl) 35

4.4.2 Deep Q-Network (DQN)

DQN no crea explícitamente una tabla como en el anterior caso, sino que a través de
un modelo de red neuronal se espera que replique el comportamiento de la tabla pero
sin ser programado para ello. En DQN la entrada de la red son los estados y la salida
son las acciones. Para este algoritmo se propuso usar una red neuronal tipo perceptrón
multicapa(Multilayer Perceptron, MLP). La red debe predecir el valor Q de cada acción. La
Figura 4.9 muestra la arquitectura general de la red.

Figura 4.9: Modelo DQN

En la Figura 4.9 se puede observar que se eligió una configuración secuencial de la red
neuronal, también, los estados son la entrada de la red y la salida son los valores-Q para
cada acción. Las capas ocultas son fully-connected y la función de activación ELU. Se
definió esta arquitectura puesto que ayuda a la convergencia de la red. La función ELU
según sus pruebas tiende a converger más rápido y producir resultados más precisos,
además tiene la capacidad de producir valores positivos y negativos [61]. Esto es útil por
el tipo de valores que puede tomar función de recompensa. La red neuronal se actualiza
aplicando back-propagation a cada peso y como función de pérdida se aplicó el error
cuadrático medio(MSE). Su función es minimizar el error entre la valor-Q objetivo y el
valor-Q calculado de la recompensa.
36 método propuesto

Una vez definida la red neuronal, se seleccionó la arquitectura DQN con memoria,
porque ayuda a la red a tener menos sesgo entre las acciones secuenciales y pueda
converger más rápido. El Algoritmo 4.3 describe los pasos que se debe seguir para el
entrenamiento de la red.

Algoritmo 4.3 DQN


Inicializa la memoria B con capacidad N
Inicializa la red MLP con pesos aleatorios(w)
for episodio = 1, M do
Estado St inicial
for t = 1, T do
Probabilidad ϵ de seleccionar at aleatoria sino selecciona at = max a Q∗ (St , A; w)
Ejecuta la acción at observa la recompensa rt y el nuevo estado St+1
Almacena la transición (St , at , rt , St+1 ) en B
S t ← S t +1
if St es el estado destino then
Break, iniciar otro episodio
end if
end for
Selecciona un minibatch(D) aleatorio de las transiciones almacenadas en B
(
rj St+1 destino
Valor-Q y j =
r j + γmax at+1 Q∗ (St+1 , a; w) otro caso
Calcula las pérdidas para cada muestra (y j − Q(St , a j ; w))2 si es MSE
Aplica gradiente descendente para optimizar la red
end for

Donde Q(St , a j ; w) representa una inferencia de la red, y j la etiqueta de salida. Si


revisamos el cálculo del valor-Q para DQN es similar al de Q-learning, la red tiene su
propia tasa de aprendizaje α y las diferencias del valor-Q se calculan a través de las
pérdidas. Cuando el entrenamiento finaliza se ejecuta la estrategia que maximice la
recompensa. Para DQN es igual la estrategia a Q-learning, pero en vez de la tabla que
mapea los estados y las acciones, debemos realizar predicciones a la red neuronal y tomar
la acción con el valor-Q más alto. Ver Algoritmo 4.4.
4.4 algoritmos de aprendizaje por refuerzo (rl) 37

Algoritmo 4.4 DQN estrategia


Tomar la red entrenada Q(s, a; w) para todo s ∈ S, a ∈ A
for t = 1, T do
Selecciona at = max a Q∗ (St , A; w)
Ejecuta la acción at observa la recompensa rt y el nuevo estado St+1
S t ← S t +1
if St es el estado destino then
Break
end if
end for

4.4.3 Double DQN

En esta arquitectura de red se usan dos redes neuronales. Una escoge las acciones(online)
y la otra valora(target) que tan buenas son esas acciones. El uso de dos redes neuronales
en vez de una, puede mejorar el desempeño y la convergencia en el entrenamiento,
además evita la sobreestimación que puede presentarse cuando una misma red selecciona
y valora la acción. Por otra parte, en este enfoque se decidió que las dos redes empleadas
mantengan las mismas capas ocultas de la DQN anterior.

Figura 4.10: Modelo Double DQN

En la Figura 4.10 se observa la estructura de los dos modelos propuestos, el modelo


Target provee la valoración de las acciones con las que se optimiza el modelo Online.
Luego, dependiendo la cantidad de episodios, el modelo Online actualiza los pesos del
38 método propuesto

Target. Por otro lado, para probar la influencia de la arquitectura de red en los modelos
de aprendizaje, no se modificaron las capas ocultas al modelo, esto para contrastar las dos
propuestas de aprendizaje bajo la aplicación de los mismos modelos.

El algoritmo 4.5 describe los pasos que se siguieron para entrenar este tipo de agente.
En este caso también se utilizó Double DQN con una memoria para evitar los problemas
de sesgo entre acciones consecutivas. Los pesos de la red Online se representan wo y la red
Target wt .

Algoritmo 4.5 Double DQN


Inicializa la memoria B con capacidad N
Inicializa dos redes MLP con pesos aleatorios(wo ,wt )
Inicializa U con la cantidad de episodios para actualizar la red
for episodio = 1, M do
Estado St inicial
for t = 1, T do
Probabilidad ϵ de seleccionar at aleatoria sino selecciona acción más valorada
at = max a Q∗online (St , A; wo )
Ejecuta la acción at observa la recompensa rt y el nuevo estado St+1
Almacena la transición (St , at , rt , St+1 ) en B
S t ← S t +1
if St es el estado destino then
Break, iniciar otro episodio
end if
end for
Selecciona un minibatch(D) aleatorio de las transiciones almacenadas en B
for Muestra = 1, D do
Escoger la mejor acción abest = max a Q∗online (St+1 , A; wo )
Calcular valor-Q de la mejor acción Qtarget = Q∗target (St+1 , abest ; wt )
(
rj St+1 destino
Valor-Q y j =
r j + γQtarget otro caso
Calcula las pérdidas para cada muestra (y j − Q∗online (St , a j ; wo ))2 si es MSE
Aplica gradiente descendente para optimizar la red
end for
if episodio mod U = 0 then
Actuliza Q∗target (S, A; wtarget ) con los valores.
end if
end for

La estrategia para Double DQN una vez entrenada, es igual a las anteriores. En cada
estado hacer una inferencia de la red Online y escoger la acción con el valor más alto hasta
arribar al destino.
4.4 algoritmos de aprendizaje por refuerzo (rl) 39

4.4.4 Dueling DQN (DDQN)

La arquitectura de red para DDQN cambia respecto a las anteriores. Internamente en


este modelo se calculan dos valores, el valor de cada estado y la ventaja que luego
son agrupados para estimar el valor-Q. Esta arquitectura de red puede aprender cuáles
estados son valiosos o no y generalizar el beneficio que tiene una acción sobre otra, por
medio de la ventaja. En esta arquitectura se usó un solo modelo de red, aunque puede
aplicarse el esquema de red Online y Target visto anteriormente.

Figura 4.11: Modelo Dueling DQN

En la Figura 4.11 se puede observar el modelo de red, el cálculo del valor del estado V (s)
se hace en la capa, FC |1 mientras que las ventajas A(s, a) se calculan la capa FC |4 luego
se normalizan las ventajas respecto a la máxima. Estos valores se agrupan para calcular
finalmente el valor-Q. Las capas fully-connected se mantienen iguales a los modelos
40 método propuesto

anteriores, para así poder comparar las arquitecturas usando la misma capa básica de
conexiones neuronales.
Por otra parte, el Algoritmo 4.6 describe los pasos lógicos para entrenar el agente con
Dueling DQN. En esta arquitectura como en las anteriores se empleó una memoria para
almacenar experiencias.

Algoritmo 4.6 DDQN


Inicializa la memoria B con capacidad N
Inicializa una red MLP con pesos aleatorios(wo )
for episodio = 1, M do
Estado St inicial
for t = 1, T do
Probabilidad ϵ de seleccionar at aleatoria sino selecciona acción más valorada
at = max a Q∗online (St , A; wo )
Ejecuta la acción at observa la recompensa rt y el nuevo estado St+1
Almacena la transición (St , at , rt , St+1 ) en B
S t ← S t +1
if St es el estado destino then
Break, iniciar otro episodio
end if
end for
Selecciona un minibatch(D) aleatorio de las transiciones almacenadas en B
for Muestra = 1, D do
Calcular valor-Q de la mejor acción Qtarget = maxat+1 ( Q∗target (St+1 , A; wo ))
(
rj St+1 destino
Valor-Q y j =
r j + γQtarget otro caso
Calcula las pérdidas para cada muestra (y j − Q∗target (St , a j ; wo ))2 si es MSE
Aplica gradiente descendente para optimizar la red
end for
end for

Luego de entrenada la red DDQN la estrategia a seguir es igual a los anteriores, se debe
escoger en cada paso la acción que más valor posea para cada estado. De esta forma se
maximiza la recompensa de la red hasta arribar al lugar de destino.

4.5 arquitectura de software

Se desarrollaron diversas herramientas de software para la realización de esta


investigación. Por ello es necesario describir el diseño y función de los principales
componentes que la conforman. La programación del simulador para el ASV como el
entrenamiento de los algoritmos de RL se desarrolló en el lenguaje de programación
Python. ROS para todo el software del robot y Gazebo para la simulación de la parte visual,
4.5 arquitectura de software 41

también se emplearon importantes librerías como TensorFlow, Keras, Gym y OpenAIRos.


La arquitectura de software implementada se puede ver en la Figura 4.12.

Figura 4.12: Arquitectura de software

La arquitectura está constituida de módulos o componentes que pueden ser modificados


sin alterar el funcionamiento principal. Es decir, se puede cambiar el algoritmo RL, los
escenarios o el robot mientras se mantenga el flujo de comunicación propuesto.
Convirtiendo la arquitectura en una herramienta útil para el desarrollo continuo de la
investigación.

En los módulos de la Figura 4.12, se aprecia el de Escenarios que se encarga de los


mapas o mundos en Gazebo donde navegará el robot. El modelo ASV contiene el robot a
simular, luego estos módulos se despliegan juntos sobre Gazebo completando así la parte
visual. El ambiente de conexión se encarga de controlar la simulación y la conexión con el
ASV. Básicamente, se encarga del inicio, pausa y reinicio de la comunicación con Gazebo
para el control del simulador. El ambiente del ASV, se encarga del software del robot los
estados de los sensores y componentes del ASV, aquí se procesan los datos del robot y se
emiten los comandos de control de navegación. Por último, el ambiente de aprendizaje por
refuerzo, se encarga de los modelos de RL desarrollados que emplearán la experiencia de
navegación del ASV.
E X P E R I M E N T O S & R E S U LTA D O S
5
5.1 experimentos

Se diseñaron pruebas para evaluar el desempeño del sistema de navegación propuesto. En


los escenarios mencionados anteriormente serán empleados cada uno de los algoritmos de
aprendizaje por refuerzo en el sistema de planificación de ruta, además, serán comparados
entre ellos y validado su funcionamiento.

5.2 escenarios sin modificaciones

Para evaluar el sistema de navegación, se emplearon los mapas sin modificaciones. En


los diferentes escenarios cada algoritmo de aprendizaje por refuerzo debe ser reentrenado.
En estas pruebas se evaluará la cantidad de pasos que le toma a cada método alcanzar
el destino, además, el porcentaje de victorias por entrenamiento, así como el tiempo que
le tomó a cada mapa. Una victoria se define como arribar al destino en un solo episodio
evadiendo todos los obstáculos. Además, El punto inicial y el destino son obtenidos por
medio de sus coordenadas geográficas. En la Figura 5.3 se pueden observar los escenarios
de prueba.

5.2.1 Entrenamiento Q-learning

Q-learning mapea los estados y las acciones con un valor de recompensa. El objetivo
entonces es maximizar los valores de recompensa para que el agente tome las
mejores acciones dependiendo del estado en que se encuentre. Los parámetros para el
entrenamiento fueron α = 0.8, γ = 0.97,ϵ = 0.999, ϵd = 0.9999 y episodios= 35000.
Los valores de ϵ y ϵd , así como la cantidad de episodios se tomaron de tal forma que
el algoritmo pueda pasar de exploración a explotación con tasas pequeñas, es decir
que pueda explorar mucho al comienzo y luego gradualmente aprovechar lo aprendido
para que realice más explotación. Se decidió esa cantidad de episodios, puesto que la
exploración en ese punto es apenas del 3% con lo cual el aprendizaje adicional que pueda
obtener es pequeño. En la Figura 5.1 se observa. Estos mismos valores fueron usados en
todos los modelos Q-learning. A través de la librería gym de OpenAI en conjunto con ROS
y Gazebo se entrenaron los modelos. Obteniendo los resultados que se pueden ver en la
Tabla 5.1.

42
5.2 escenarios sin modificaciones 43

Figura 5.1: Valores Epsilon por episodios

Además, en la Figura 5.2 se observan las victorias que va acumulando mientras entrena.
La característica principal es que al aumentar los episodios, el algoritmo va obteniendo
victorias de forma creciente. Mostrando así que con el paso de los episodios al aplicar lo
aprendido, el entrenamiento mantiene un aumento en el número de victorias.

Tabla 5.1: Entrenamiento Q-learn

Mapa % Victorias Pasos Prom. Duración[h]

1 27.2 66.84 11.4


2 39.4 63.01 13.21
3 70.9 44.46 8.16

En los mapas de calor de la Figura 5.4 se puede ver las cuadrículas más visitadas
mientras entrenaba en cada escenario. Las zonas con mayor intensidad de rojo suponen
mayor cantidad de visitas. Además, se calculó la ruta que maximiza la recompensa para
cada escenario, ver Figura 5.5.
44 experimentos & resultados

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.2: Victorias Acumuladas con Q-learning

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.4: Mapas de calor Q-learning


5.2 escenarios sin modificaciones 45

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.3: Mapas en cuadrículas sin modificaciones

(a) Mapa 1 (b) Mapa 2 (c) Mapa 3

Figura 5.5: Ruta Final Q-learning

5.2.2 Entrenamiento DQN

El entrenamiento con DQN tiene como entrada los estados para las múltiples capas de
la red y como salida un valor estimado de cada acción. Los parámetros para todos
los entrenamientos fueron ϵ = 0.999 y ϵd = 0.99995. Un resumen de los resultados
46 experimentos & resultados

obtenidos, se pueden ver en la Tabla 5.2. Además, en la Figura 5.6 se observan las victorias
acumuladas.

Tabla 5.2: Entrenamiento DQN

Mapa Episodios % Victorias Pasos Prom. Duración[h]

1 35000 17.6 92.92 7.05


2 35000 61.4 73.3 12.86
3 35000 64.1 42.02 5.63

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.6: Victorias Acumuladas con DQN

Para el caso de DQN podemos observar el mapa de calor en la Figura 5.7. Además, los
resultados obtenidos del cálculo de la ruta final en la Figura 5.8.
5.2 escenarios sin modificaciones 47

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.7: Mapas de calor DQN

(a) Mapa 1 (b) Mapa 2 (c) Mapa 3

Figura 5.8: Ruta Final DQN

5.2.3 Entrenamiento Double DQN

Para el entrenamiento de esta red se mantuvieron los parámetros ϵ y ϵd iguales a los


anteriores. Los resultados para todos los escenarios son descritos en la Tabla 5.3. Las
48 experimentos & resultados

victorias acumuladas se encuentran en la Figura 5.9, las rutas en la Figura 5.10 y el mapa
de calor generado se encuentra en la Figura 5.11.

Tabla 5.3: Entrenamiento Double DQN

Mapa Episodios % Victorias Pasos Prom. Duración[h]

1 35000 40.9 66.65 8.6


2 35000 46.2 66.09 8.91
3 35000 66.5 45.46 6.39

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.9: Victorias Acumuladas con Double DQN


5.2 escenarios sin modificaciones 49

(a) Mapa 1 (b) Mapa 2 (c) Mapa 3

Figura 5.10: Ruta Final Double DQN

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.11: Mapas de calor Double DQN

5.2.4 Entrenamiento DDQN

Para esta red los parámetros ϵ y ϵd son iguales a los anteriores. Los resultados del
entrenamiento están descritos en la tabla 5.4. Las zonas visitadas se pueden observar en el
50 experimentos & resultados

mapa de calor de la Figura 5.13. Así como la ruta que maximiza la recompensa del agente
en la Figura 5.14 y las victorias acumuladas se encuentran en la Figura 5.9.

Tabla 5.4: Entrenamiento DDQN

Mapa Episodios % Victorias Pasos Prom. Duración[h]

1 35000 23 72.8 11.21


2 35000 35.3 68.76 12.53
3 35000 63.6 53.53 10.93

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.12: Victorias Acumuladas con Dueling DQN


5.2 escenarios sin modificaciones 51

(a) Mapa 1 (b) Mapa 2

(c) Mapa 3

Figura 5.13: Mapas de calor DDQN

(a) Mapa 2 (b) Mapa 3

Figura 5.14: Ruta Final DDQN

5.2.5 Resultados

Después del entrenamiento descrito se somete a pruebas los modelos. La prueba consiste
en tomar la acción que posea el valor de recompensa más alto para cada estado, hasta
completar la máxima cantidad de pasos o llegar al destino. Se mide la cantidad de pasos
52 experimentos & resultados

promedio hasta completar un episodio y el porcentaje de victorias en 100 episodios. Los


resultados del entrenamiento para cada uno de los métodos son presentados por mapa en
la siguiente tabla:

Tabla 5.5: Resultado Entrenamiento Escenarios

No. Pasos
Mapa % Victorias Dijkstra Q-learn DQN DB. DQN DDQN

1 100 60 84 77 60 65
2 100 68 68 74 69 73
3 100 38 38 38 39 45

5.3 escenarios modificados

En esta prueba se evalúa el desempeño de los métodos de aprendizaje por refuerzo ante
variaciones de los escenarios. Se han realizado modificaciones respecto a los mapas en que
fueron entrenados. Aquí los obstáculos se desplazan en posiciones aleatorias con referencia
a las iniciales. Los destinos y las boyas se mantienen en las posiciones iniciales, además se
asegura que los desplazamientos de los obstáculos permitan siempre el paso del vehículo
móvil. Se generaron de cada escenario cuatro nuevos mapas modificados. Ver Figura 5.15.

(a) Mapa 1 (b) Mapa 2 (c) Mapa 3

(d) Mapa 4 (e) Mapa sin cambios

Figura 5.15: Escenario 1 con modificaciones


5.3 escenarios modificados 53

Teniendo en cuenta que los escenarios ahora tienen variaciones, los modelos entrenados
deben cambiar su estrategia, por esto se añade un grado de exploración para que el agente
elija sus acciones. Este grado de exploración es definido por el usuario. Para esta prueba
se definió en 10%, este valor se obtuvo a través de pruebas simuladas, es decir, que el
90% de las acciones que tome el modelo serán las de mayor recompensa y el porcentaje
restante serán exploratorias. Por otro lado, las Figuras 5.16, 5.17 contienen el resto de
escenarios modificados.

(a) Mapa 1 (b) Mapa 2 (c) Mapa 3

(d) Mapa 4 (e) Mapa sin cambios

Figura 5.16: Escenario 2 con modificaciones

5.3.1 Prueba cantidad de Episodios

Se estableció una prueba para definir la cantidad de episodios necesarios para encontrar
una media de victorias confiable en los escenarios modificados dado el grado de
exploración añadido en la estrategia. Esta prueba consistió en definir una cantidad(m) de
episodios y repetir n veces el experimento, hasta establecer si la variación del promedio
de victorias es suficientemente pequeña entre repeticiones. Entonces, si la variación del
promedio de victorias a través de las repeticiones es menor al 0.01, se puede establecer
que el número de episodios definidos es suficiente para calcular las victorias del modelo
en un mapa con modificaciones.
54 experimentos & resultados

(a) Mapa 1 (b) Mapa 2 (c) Mapa 3

(d) Mapa 4 (e) Mapa sin cambios

Figura 5.17: Escenario 3 con modificaciones

Para cada modelo se realizaron 1000 episodios y se repitió 100 veces la prueba. Se calculó
la desviación estándar del porcentaje de victorias promedio por repetición. Los resultados
están resumidos en la Tabla 5.6.

Tabla 5.6: Desviación estándar del promedio de victorias

Mapa Q-learn DQN DB. DQN DDQN

1 0.0022 0.0081 0.0095 0.0073


2 0.012 0.012 0.009 0.011
3 0.014 0.012 0.015 0.010

A partir de los resultados, se puede establecer que para 1000 episodios el porcentaje de
victorias promedio no registra grandes variaciones, siendo menor a 0.01 para todos los
métodos de aprendizaje. Este resultado es suficiente para fijar la cantidad de episodios,
que serán aplicados en las pruebas de los escenarios con modificaciones.

5.3.2 Resultados

Una vez establecida la cantidad de episodios en 1000, se ejecutó la prueba en todos los
escenarios modificados. Los resultados obtenidos se resumen en las Tablas 5.7,5.8,5.9.
5.3 escenarios modificados 55

Tabla 5.7: Resultado Escenario 1 Modificado

Esc. 1 Q-learn DQN DB. DQN DDQN

Mod. %V Pasos %V Pasos %V Pasos %V Pasos

1 37.3 70.8 42.2 81.5 5 67.2 0 -


2 38.7 75.5 18.1 84.7 72 64.9 2 121.5
3 38.5 68.7 42.9 82.0 74 65.1 6 130.5
4 35.6 70.1 44.8 81.6 61 65.65 1 132

Prom. 37.52 71.275 37 82.45 53 65.7 2.25 132

Tabla 5.8: Resultado Escenario 2 Modificado

Esc. 2 Q-learn DQN DB. DQN DDQN

Mod. %V Pasos %V Pasos %V Pasos %V Pasos

1 29 78.0 58 78.5 31 74.2 56 82.5


2 36 78 55 79.3 25 75.8 18 90.2
3 26 78.5 44 78.0 60 73.8 12 95
4 39 77.8 54 79.2 20 74.8 49 82.0

Prom. 32.5 78.07 52.75 78.75 34 74.65 33.75 87.4

Tabla 5.9: Resultado Escenario 3 Modificado

Esc. 3 Q-learn DQN DB. DQN DDQN

Mod. %V Pasos %V Pasos %V Pasos %V Pasos

1 64 41.6 75.2 41.3 70 42.4 5 62.6


2 65 41.2 72.1 41.3 62 42.6 3 49
3 66 41.3 71.4 41.3 71 42.0 4 58
4 70 42.0 73.2 41.2 11 44.2 6 62.5

Prom. 66.25 41.5 72.97 41.27 53.5 42.8 4.5 58

Los resultados anteriores se resumen en la siguiente tabla de promedios:


56 experimentos & resultados

Tabla 5.10: Promedio Victorias Escenarios Modificados

RL Esc. 1 Esc. 2 Esc. 3 Prom.

Q-learn 37.52 32.5 66.25 45.23


DQN 37 52.75 72.97 54.22
DB. DQN 53 34 53.5 46.83
DDQN 2.25 33.75 4.5 13.5

5.4 análisis de resultados

En esta sección se analizan las pruebas y resultados obtenidos en las secciones anteriores,
con el fin de demostrar la utilidad, viabilidad y veracidad de los métodos propuestos.

5.4.1 Entrenamiento

Teniendo en cuenta el entrenamiento de los métodos propuestos, se observa que


los algoritmos de aprendizaje por refuerzo son capaces de explorar los escenarios
inicialmente desconocidos y a partir de su interacción, generar una ruta que permita
arribar al destino. En las Figuras [5.5, 5.8,5.10, 5.14] se puede comprobar esto. De las rutas
finales se puede observar que cada agente RL creó una ruta distinta, aunque cuentan con
similitudes, no hay dos rutas finales que coincidan completamente.

Observando los resultados de la Tabla 5.5 que compara la cantidad de pasos que debe
ejecutar cada algoritmo RL en su ruta óptima contra Dijkstra, se puede ver que aunque
existen diferencias son cercanos los resultados y dado que el destino no es un punto en
particular, sino una zona, depende del punto de arribo que cada agente maximizó la
diferencia con Dijkstra. Por otra parte, se puede visualizar en los mapas de calor que no
es necesario explorar todo el mapa para hallar una ruta, en los diferentes mapas de calor
se puede observar que existen zonas de los escenarios donde el agente no necesitó explorar.

De las tablas de entrenamiento [5.1,5.2,5.3,5.4] se puede ver que el escenario 3 resulta


más fácil converger a los algoritmos, es el más corto porque requiere menos pasos.
Mientras que el 2 y 1 revisten de mayor dificultad, puesto que el porcentaje de victorias es
menor. De la duración de los entrenamientos se puede observar que varían dependiendo
el algoritmo empleado, en promedio toma más tiempo entrenar DDQN que el resto, esto
se debe a que son dos redes neuronales y tienen más componentes que los otros métodos.
Por otra parte, de la Tabla 5.5 se puede observar que no hay un algoritmo dominante
respecto a la menor cantidad de pasos, sin embargo, DB. DQN es el más cercano a Dijkstra
en todos escenarios.
5.4 análisis de resultados 57

5.4.2 Escenarios Modificados

De esta prueba se puedo comprobar como reaccionan los algoritmos entrenados ante
modificaciones en los mapas de entrenamiento. En las Tablas [5.7, 5.8,5.9] se observan
que los resultados en este aspecto son variados. En las modificaciones del Escenario
1 el algoritmo DB. DQN obtuvo más victorias que el resto, exceptuando la primera
modificación. Esto se debe a que los obstáculos se desplazan sobre una zona muy
influyente en la toma de decisión para la ruta final. En contraste, DDQN tuvo el peor
desempeño con el 2.25% de victorias. En el escenario 2 DQN obtuvo los mejores puntajes
excepto en la modificación 3 donde DB. DQN lo superó, sin embargo, tuvo la segunda
mejor tasa de victorias. El resto de algoritmos para esta prueba tuvo un desempeño
similar, las diferencias no son mayores a un 3%. Las modificaciones del escenario 3 todos
obtienen puntajes por encima del 53% en victorias excepto DDQN quien nuevamente
tiene resultados por debajo del 5%, esto se debe a que las variaciones introducidas le
generan mayor dificultad, teniendo en cuenta la ruta final aprendida. En esta prueba
DQN obtiene los puntajes más altos en todas las modificaciones.

Uno de los factores que más afecta a los algoritmos de RL en los escenarios modificados
es que los obstáculos ocupen una zona importante sobre su ruta aprendida y dejen
un paso estrecho, menor a 2m2 por el que pueda transitar sin problemas el ASV.
Aunque, en el caso de DDQN se puede decir que la red tiene un sobreajuste(overfitting)
porque ante las variaciones le resulta difícil generar una alternativa diferente a la ruta final.

Luego de observar los resultados de todos los algoritmos, hay varias características
que tiene cada uno. Q-learnig por ejemplo, obtuvo en todas las modificaciones resultados
positivos y su rendimiento en cada escenario tiene muy poca variación, resulta ser el más
consistente. DQN fue el de mejor desempeño general con un 54% de victorias, obteniendo
los mejores puntajes en la mayoría de escenarios modificados, le resulta más fácil adaptarse
a los cambios. DB. DQN es el segundo mejor algoritmo, tiene un buen desempeño,
sin embargo, hay variaciones que le afectan mucho su promedio. DDQN resulta ser el
algoritmo que menos supo adaptarse a los cambios, tuvo el desempeño más bajo, es muy
probable que haya ocurrido un sobre ajuste en los entrenamientos de esta red.
CONCLUSIONES & TRABAJO FUTURO
6
6.1 conclusiones

El sistema de navegación propuesto en esta investigación cumple con el objetivo de


convertir una plataforma móvil acuática en una autónoma basado en aprendizaje por
refuerzo, que no dependa de la acción de un humano para el control de su navegación.
El método propuesto tiene la capacidad de aprender por medio de inteligencia artificial
de un entorno inexplorado y generar una ruta que pueda evadir los obstáculos presentes.
Los algoritmos de aprendizaje por refuerzo empleados pueden adaptarse a escenarios
diferentes a los entrenados y mantener un buen desempeño. Además, no necesitan
explorar completamente un mapa para arribar al destino. Comparativamente, la mejor
red para los escenarios aquí probados es DQN, seguido por Double DQN, ambos
mostraron un buen desempeño en el entrenamiento y en las pruebas con entornos variados,
demostrando su adaptabilidad.

6.2 contribuciones

En esta tesis se presenta un sistema de navegación para un vehículo autónomo de


superficie, con un sistema de planificación de ruta basado en aprendizaje por refuerzo
capaz de adaptarse a entornos cambiantes. Las principales contribuciones que se realizan
son las siguientes.

• Un sistema de navegación inteligente que logra planificar su ruta y controlar un


vehículo autónomo de superficie.

• Proponer y evaluar el desempeño de diferentes modelos de aprendizaje ante


entornos inexplorados y cambiantes. Todos los modelos fueron evaluados en las
mismas condiciones para cada entorno. Los modelos aquí comparados son:
– Q-learning
– DQN
– Double DQN
– Dueling DQN

58
6.3 trabajo futuro 59

6.3 trabajo futuro

Se propone como trabajo futuro direccionar la investigación hacia el desarrollo de un


modelo de inteligencia artificial con capacidad de adaptarse a cualquier entorno. Tenga
la capacidad de ser entrenado en diferentes escenarios y tenga la capacidad con un solo
modelo adecuarse a cualquier escenario de navegación. También, se puede investigar el
desarrollo del sistema de control basado en aprendizaje por refuerzo. Por último, aplicar
el desarrollo de esta investigación a un robot físico.
BIBLIOGRAFÍA
7
[1] J. E. Manley, ‘Unmanned surface vehicles, 15 years of development’, in OCEANS
2008, Ieee, 2008, pp. 1–4.
[2] K. Tanakitkorn, ‘A review of unmanned surface vehicle development’, Maritime
Technology and Research, vol. 1, no. 1, pp. 2–8, 2019.
[3] C. Barrera, I. Padron, F. Luis and O. Llinas, ‘Trends and challenges in unmanned
surface vehicles (usv): From survey to shipping’, TransNav: International Journal on
Marine Navigation and Safety of Sea Transportation, vol. 15, 2021.
[4] C. Byrne, D. Tabare and M. Franklin, A Study of the Feasibility of Autonomous Surface
Vehicles, en. Massachusetts: Worcester Polytechnic Institute, 2012.
[5] J. M. Paez Almentero, ‘Diseño y validacion del sistema de control para la navegacion
de un vehiculo semiautonomo de superficie’, 2018.
[6] L. M. Caro Ramirez et al., ‘Control de trayectoria de un vehiculo submarino
autonomo en superficie’, 2019.
[7] J. Paez, J. Villa, J. Cabrera and E. Yime, ‘Implementation of an unmanned surface
vehicle for environmental monitoring applications’, in 2018 IEEE 2nd Colombian
Conference on Robotics and Automation (CCRA), IEEE, 2018, pp. 1–6.
[8] A. Friebe, M. Olsson, M. Gallic, J. Springett, K. Dahl and M. Waller, ‘A marine
research asv utilizing wind and solar power’, en, de, 2017.
[9] J. Rogers, ‘Robot battleship us navy to build £330m world’s largest robot warship to
patrol the most dangerous seas’, en, The Sun, 2019.
[10] J. Fraga, J. Sousa, G. Cabrita, P. Coimbra and L. Marques, ‘Squirtle: An asv for inland
water environmental monitoring’, en, de, 2014.
[11] N. Technology, Naval technology, en, En línea]. Available: [Online]. Available: https:
//www.naval-technology.com/projects/c-enduro-autonomous-surface-vehicle/
..

[12] M. Ozkan, L. Garcia and S. King, ‘Rescue boat path planning in flooded urban
environments’, en, in de 2019 IEEE International Symposium on Measurement and
Control in Robotics (ISMCR, Houston, 2019.
[13] J. E. Manley, A. Marsh, W. Cornforth and C. Wiseman, ‘Evolution of the autonomous
surface craft autocat’, in OCEANS 2000 MTS/IEEE conference and exhibition. Conference
proceedings (Cat. No. 00CH37158), IEEE, vol. 1, 2000, pp. 403–408.

60
bibliografía 61

[14] T. I. Fossen, Handbook of marine craft hydrodynamics and motion control. John Wiley &
Sons, 2011.
[15] A. Becker. ‘Introduction to kalman filter’. (Jul. 2022), [Online]. Available: https://
www.kalmanfilter.net.

[16] R. E. Kalman, ‘A new approach to linear filtering and prediction problems’, 1960.
[17] M. Bibuli, G. Bruzzone, M. Caccia and L. Lapierre, ‘Path-following algorithms and
experiments for an unmanned surface vehicle’, Journal of Field Robotics, vol. 26, no. 8,
pp. 669–688, 2009.
[18] J. Park et al., ‘Development of an unmanned surface vehicle system for the 2014
maritime robotx challenge’, Journal of field robotics, vol. 34, no. 4, pp. 644–665, 2017.
[19] S. Zhou, Y. Wen, Z. Du, C. Xiao, L. Huang and M. Zhu, ‘The review unmanned
surface vehicle path planning: Based on multi-modality constraint’, en, Ocean
Engineering, vol. 200, 15 Mar. 2020.
[20] R. R. Murphy, Introduction to AI robotics. MIT press, 2019.
[21] H. Durrant-Whyte, ‘Where am i? a tutorial on mobile vehicle localization’, Industrial
Robot: An International Journal, 1994.
[22] C. Wang, X. Zhang, R. Li and P. Dong, ‘Path planning of maritime autonomous
surface ships in unknown environment with reinforcement learning’, International
Conference on Cognitive Systems and Signal Processing, pp. 127–137, 2018.
[23] O. Robotics, Why ros, en, En línea]. Available: [Online]. Available: https://www.ros.
org/blog/why-ros/.

[24] L. Zhang, R. Merrifield, A. Deguet and G.-Z. Yang, ‘Powering the world’s robots-10
years of ros’, Science Robotics, vol. 2, no. 11, eaar1868, 2017. doi: 10 . 1126 /
scirobotics . aar1868. eprint: https : / / www . science . org / doi / pdf / 10 . 1126 /
scirobotics.aar1868. [Online]. Available: https://www.science.org/doi/abs/10.
1126/scirobotics.aar1868.

[25] Gazebo. ‘About gazebo’. (Jul. 2022), [Online]. Available: https://gazebosim.org/


about.

[26] I. Open Source Robotics Foundation. ‘Open platforms for robotics’. (Jul. 2022),
[Online]. Available: https://www.openrobotics.org/.
[27] D. Pickem, D. Morioniti, C. Taylor, S. Balestrini-Robinson and D. Mavris, ‘Captain
hindsight: An autonomous surface vessel’, Georgia Institute of Technology, 2011.
[28] D. Pedrosa, A. Dias, A. Martins, J. Almeida and E. Silva, ‘Control-law for oil spill
mitigation with an autonomous surface vehicle’, 2018 OCEANS-MTS/IEEE Kobe
Techno-Oceans (OTO), pp. 1–6, 2018.
[29] S. Manjanna, A. Li, R. Smith, I. Rekleitis and G. Dudek, ‘Heterogeneous multi-robot
system for exploration and strategic water sampling’, en, de, 2018.
[30] R. S. Sutton and A. G. Barto, Reinforcement learning: An introduction. MIT press, 2018.
62 bibliografía

[31] R. Nian, J. Liu and B. Huang, ‘A review on reinforcement learning: Introduction


and applications in industrial process control’, Computers & Chemical Engineering,
vol. 139, p. 106 886, 2020, issn: 0098-1354. doi: https : / / doi . org / 10 . 1016 / j .
compchemeng.2020.106886. [Online]. Available: https://www.sciencedirect.com/
science/article/pii/S0098135420300557.

[32] C. Buhr, How to train your robot an introduction to reinforcement learning, en, En línea,
MathWorks. [Online]. Available: https : / / www . mathworks . com / content / dam /
mathworks/presentation-loop/how-to-train-your-robot-video-slides.pdf.

[33] C. J. Watkins and P. Dayan, ‘Q-learning’, Machine learning, vol. 8, no. 3, pp. 279–292,
1992.
[34] M. Sato, K. Abe and H. Takeda, ‘Learning control of finite markov chains with an
explicit trade-off between estimation and control’, IEEE transactions on systems, man,
and cybernetics, vol. 18, no. 5, pp. 677–684, 1988.
[35] A. Géron, Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow: Concepts,
tools, and techniques to build intelligent systems. OŔeilly Media, Inc., 2019.
[36] V. Mnih et al., ‘Human-level control through deep reinforcement learning’, nature,
vol. 518, no. 7540, pp. 529–533, 2015.
[37] H. Van Hasselt, A. Guez and D. Silver, ‘Deep reinforcement learning with double
q-learning’, in Proceedings of the AAAI conference on artificial intelligence, vol. 30, 2016.
[38] S. Thrun and A. Schwartz, ‘Issues in using function approximation for reinforcement
learning’, in Proceedings of the 1993 Connectionist Models Summer School Hillsdale, NJ.
Lawrence Erlbaum, vol. 6, 1993, pp. 1–9.
[39] Z. Wang, T. Schaul, M. Hessel, H. Hasselt, M. Lanctot and N. Freitas, ‘Dueling
network architectures for deep reinforcement learning’, in International conference on
machine learning, PMLR, 2016, pp. 1995–2003.
[40] C. D. Rodriguez-Ortiz, ‘Automated bathymetry mapping using an autonomous
surface craft’, 1996.
[41] M. Schiaretti, L. Chen and R. Negenborn, ‘Survey on autonomous surface vessels:
Part i - a new detailed definition of autonomy levels’, en, Computational Logistics.
ICCL 2017, B. T., C. S., M.-S. A. and V. S, Eds., 2017.
[42] M. Caccia, ‘Autonomous surface craft: Prototypes and basic research issues’, en, de,
2006.
[43] E. Pinto, F. Marques, R. Mendonça, A. Lourenço, P. Santana and J. Barata,
‘An autonomous surface-aerial marsupial robotic team for riverine environmental
monitoring: Benefiting from coordinated aerial, underwater, and surface level
perception’, en, in de 2014 IEEE International Conference on Robotics and Biomimetics
(ROBIO 2014, Bali, 2014.
[44] M. Hong and M. Arshad, ‘Modeling and motion control of a riverine autonomous
surface vehicle (asv) with differential thrust’, en, de Jurnal Teknologi, 2015.
bibliografía 63

[45] ——, A balance-artificial potential field method for autonomous surface vessel navigation in
unstructured Riverine Environment, en. de Procedia Computer Science, 2015.
[46] M. Hossein et al., ‘Developing a navigation, guidance and obstacle avoidance
algorithm for an unmanned surface vehicle (usv) by algorithms fusion’, en, Ocean
Engineering, vol. 159, pp. 56–65, 2018.
[47] K. Xiao, J. Sliwka and L. Jaulin, ‘A wind-independent control strategy for
autonomous sailboats based on voronoi diagram’, en, Field Robotics, pp. 110–124,
2011.
[48] H. Niu, A. Savvaris, A. Tsourdos and Z. Ji, ‘Voronoi-visibility roadmap-based path
planning algorithm for unmanned surface vehicles’, en, Journal of Navigation, vol. 72,
no. 4, pp. 850–874, 2019.
[49] C. Chen, X.-Q. Chen, F. Ma, X.-J. Zeng and J. Wang, ‘A knowledge-free path planning
approach for smart ships based on reinforcement learning’, Ocean Engineering,
vol. 189, p. 106 299, 2019.
[50] R. Song, Y. Liu and R. Bucknall, ‘Smoothed a* algorithm for practical unmanned
surface vehicle path planning’, Applied Ocean Research, vol. 83, pp. 9–20, 2019.
[51] Z. Huang, H. Lin and G. Zhang, ‘The usv path planning based on an improved
dqn algorithm’, 2021 International Conference on Networking, Communications and
Information Technology (NetCIT), pp. 162–166, 2021.
[52] C. Robotics. ‘Heron usv tutorials’. (Jul. 2022), [Online]. Available: https : / / www .
clearpathrobotics.com/assets/guides/melodic/heron/index.html.

[53] C. R. Inc. ‘Heron usv gets a new simulator’. (Jul. 2022), [Online]. Available: https:
//clearpathrobotics.com/blog/2019/01/heron-usv-gets-a-new-simulator/.

[54] directindustry. ‘Monitoring usv heron’. (Jul. 2022), [Online]. Available: https://www.
directindustry.com/prod/clearpath-robotics/product-177123-1770837.html.

[55] Geo-matching. ‘Clearpath robotics heron usv’. (Jul. 2022), [Online]. Available: https:
//geo-matching.com/usvs-unmanned-surface-vehicles/heron-usv.

[56] B. Bingham et al., ‘Toward maritime robotic simulation in gazebo’, in Proceedings of


MTS/IEEE OCEANS Conference, Seattle, WA, Oct. 2019.
[57] M. Wickert and C. Siddappa, ‘Exploring the extended kalman filter for gps
positioning using simulated user and satellite track data’, in Proc. 17th Python in
Science Conference, 2018, pp. 84–90.
[58] K. T. Leung, J. Whidborne, D. Purdy, A. Dunoyer and R. Williams, ‘A study on the
effect of gps accuracy on a gps/ins kalman filter’, Sep. 2008.
[59] T. Construct, Openairos wiki. [Online]. Available: http://wiki.ros.org/openai_ros.
[60] ——, Openairos repository. [Online]. Available: https : / / bitbucket . org /
theconstructcore/openai_ros/src/kinetic-devel/.

[61] D.-A. Clevert, T. Unterthiner and S. Hochreiter, ‘Fast and accurate deep network
learning by exponential linear units (elus)’, arXiv preprint arXiv:1511.07289, 2015.

También podría gustarte