Sailor

SAILOR

RESPONSABLE: RAFAEL IGNACIO LUQUE MORAÑO

La proliferación de nuevas estructuras industriales marítimas (energías renovables, piscifactorías) y la necesidad de industrias tradicionales de moverse en aguas abiertas para mejorar sus rendimientos (industria del gas y petroquímicas) ha propiciado necesidades de mantenimiento y reparación que actualmente son realizadas por obreros altamente cualificados. Sin embargo, las condiciones en que se realizan dichas tareas son muy peligrosas.

El objetivo de SAILOR es proponer una plataforma robótica submarina con capacidad para ser operada de manera autónoma (tipo UAV) y así mismo, capacidad para ser operada de manera remota (tipo ROV). Para ello, SAILOR dotará a la plataforma resultante de un sistema de navegación autónomo basado en la fusión de información de sensores.

A fin de evaluar la utilidad del sistema, el prototipo se validará en entornos reales simulados. Para ello se contará con la plataforma submarina mixta AUV/ROV perteneciente a uno de los miembros del consorcio, UdC-GII. La arquitectura genérica y flexible de éste vehículo facilita la integración en el mismo de los desarrollos que se realizarán en este proyecto, y por tanto, la convierte en una plataforma de prueba perfecta.

El carácter innovador de SAILOR se basa en una combinación de tecnologías de última generación en localización, mapeado, planificación, comunicaciones y aceleración HW para poder embarcar todas las funcionalidades expuestas anteriormente.

CONSORCIO

Para afrontar el proyecto, se ha constituido un consorcio capaz de proveer a la solución de la innovación necesaria sobre el estado actual de la tecnología, con la viabilidad de esta solución para ser comerciable. Así, el consorcio esta formado por la empresa IXION Industry & Aerospace, que asegura la perspectiva comercial del producto, y dos grupos universitarios punteros en su área que aseguran la innovación tecnológica de la solución.

Estos grupos universitarios son el Grupo GIAA, de la Universidad Carlos III de Madrid, y el grupo GII de la Universidad de la Coruña , ambos con amplia experiencia nacional e internacional en proyectos I+D+I en las áreas de innovación de esta propuesta.

APORTACIÓN DEL GIAA

El grupo GIAA participa en tareas de gestión del proyecto y definición de los requisitos del sistema, así como en el diseño y desarrollo de los componentes SW del sistema de misión. Además de lo anterior, el grupo de investigación será participe del planteamiento de pruebas en aguas restringidas y en escenarios operativos para la validación de la plataforma.

Información adicional de aportación

T1. Gestión del proyecto.

Reuniones mensuales con la empresa IXION para la definición de hitos, comunicación de progreso del proyecto, gestión del presupuesto asignado para adquisición de fungible destinado según requisitos del proyecto.

T2. Ingeniería y Arquitectura del Sistema

Sistemas de sensado

Se consideran cinco tecnologías. El sónar se utiliza para caracterizar la superficie del lecho marino. IMU y DVL son empleados, conjuntamente, para estimar la posición del vehiculo. En ocasiones, las maniobras del vehículo pueden ser apoyadas por el empleo de Visión artificial. Por último, se considera la tecnología LIDAR frente al RADAR, con la ventaja de que al tratarse de un láser, la medida del punto es muy precisa.  Sin embargo, la detección de la luz en entornos oceánicos es realmente compleja y está poco desarrollada. La teoría demuestra que la potencia del láser reflejado disminuye logarítmicamente en función de las propiedades ópticas en un entorno marino cuyas capas son cambiantes en propiedades y características. Para paliar este inconveniente, están saliendo a la luz sistemas comerciales LIDAR bajo el agua, que obtienen los mismos resultados que los LIDAR convencionales.

Sistema de sensado

 Arquitectura de fusión del sistema de navegación

El sistema de navegación será el encargado de proporcionar la posición de los vehículos en tiempo real e ininterrumpidamente. La arquitectura del sistema de navegación propuesta será una arquitectura centralizada donde todos los datos recabados por lo sensores irán a un único nodo central. De esta forma, los sensores con medidas relativas (como la IMU) no comprometerán la calidad del sistema y aportarán información extra cuando otros sensores tomen medidas ruidosas.

Arquitectura de fusión del sistema de navegación

Para la resolución del problema se proponen 3 técnicas cuyo rendimiento debe ser comprobado empíricamente ya que varía dependiendo del problema a tratar:

  • Extended Kalman Filter (EKF)
  • Uncested Kalman Filter (UKF)
  • Filtro de Partículas

Arquitectura de fusión del sistema de detección y evasión

El sistema de detección y evasión debe ser capaz de distinguir los objetos en el escenario cambiante donde se encontrarán los vehículos autónomos y diferenciarlos entre ellos para estimar sus posibles dinámicas. De esta forma se evaluarán cuáles de dichos objetos representan una amenaza para la integridad del AUV y realizar maniobras de evasión.

La arquitectura del sistema de detección y evasión contarán con una arquitectura distribuida. Esta arquitectura ha sido elegida debido a la capacidad de los sensores utilizados en este sistema son capaces de detectar objetos sin información adicional de otros sensores como LIDAR. Por tanto, al realizar varios niveles de fusión el sistema obtendrá mejores resultados.

Arquitectura de fusión del sistema de detección y evasión

T4. Sistema de Navegación y Control

Sistema de Navegación

Para el desarrollo del módulo de navegación IXION proporcionó tres escenarios con datos provenientes de los siguientes sensores embarcados en un dron: GPS, IMU, Barómetro, Magnetómetro.

Los escenarios definían tres casos de uso a los que se enfrentarían los vehículos en entornos reales:

  • Escenario 1: GPS deteriorada
  • Escenario 2: todos los sensores funcionan correctamente
  • Escenario 3: IMU deteriorada

Para una primera aproximación a la solución del sistema propuesta anteriormente, se implementará este filtro de Kalman Extendido (EKF) donde el espacio de estado será la posición, la velocidad y el error de sesgo. Mientras que en EKF se aproxima funciones no lineares en el sistema y en el modelo de coordenadas, UKF aproxima la distribución de probabilidad a posteriori. UKF tiene una complejidad computación similar a EKF y se ha demostrado que en determinados escenarios produce mejores resultados por lo tanto es una opción interesante que quedará pendiente para versiones posteriores.

Sistema de evasión

Antes de realizar pruebas con entornos y robots reales, es necesario aplicar los módulos desarrollados en simulaciones para pulir errores y tener en cuenta posibles casos reales sin que la integridad de los vehículos o los sensores puedan verse comprometidos. Para simular los datos en Gazebo, se optó por construir un modelo de LIDAR que ya se encontrase en el mercado. Las necesidades que tenían nuestro proyecto era que fuese capaz de detectar el entorno por lo que la elección fue el modelo Velodyne HDL-32e LIDAR 360 que mapea el entorno a gran velocidad gracias a los 32 rayos con los que cuenta.

Sistema de evasión
Sistema de evasión

Para la simulación de escenarios reales, y como primera aproximación, se obtienen datos para el desarrollo de algoritmos de clusterización en un plano horizontal. A partir de los datos recopilados en Gazebo, el siguiente paso es generar clúster que detecten y diferencien los objetos en los distintos escenarios. El entorno escogido para realizar esta tarea es Matlab debido a la posibilidad de reutilizar un módulo generado anteriormente para la fusión de datos con radares en la costa.

Sistema de evasión

En la elección del algoritmo de clúster se ha tenido en cuenta dos factores determinantes para este problema. El primero es la precisión en el número de detecciones generadas donde ambos algoritmos obtienen resultados similares en los distintos escenarios. Es importante mencionar que en todos los escenarios los mejores resultados para el modelo de Mixturas Gaussianas han sido con el mismo parámetro y dichos resultados no se podían mejorar. Sin embargo, en algunos casos, DBSCAN obtenían peores resultados inicialmente, pero redefiniendo los parámetros específicamente para el escenario se conseguían resultados iguales o mejores a los proporcionados por el otro algoritmo.

Pero el factor que más impacto en la elección del método de clustering fue el tiempo de ejecución que impacta significativamente en el sistema debido a que el proyecto se genera para entornos con respuesta en tiempo real y escenarios degradados. El algoritmo DBSCAN era capaz de procesar los datos de 27 iteraciones en el mismo tiempo que la Mitxura Gaussiana solo permitía obtener los blancos de una única iteración.

Los centroides de los clústeres descritos anteriormente se emplean como entrada del módulo de fusión, que resuelve los problemas de asociación y estimación.

El problema de asociación consiste en, dado un conjunto de observaciones sobre elementos de un sistema, y otro conjunto que describe los elementos (objetos/obstáculos) que se cree que hay en dicho sistema, asignar las observaciones a los elementos que las han generado.  El algoritmo seleccionado tanto la fase local por cada sensor como la global del sistema es algoritmo Munkers. Tras varias revisiones, el algoritmo tiene un tiempo de ejecución cúbico (𝑛 3 ). El problema de asignación trabaja sobre dos conjuntos de elementos con la misma cardinalidad 𝐴 = {𝑎1, 𝑎2, … , 𝑎𝑛 },𝐵 = {𝑏1, 𝑏2, … , 𝑏𝑛 } y una matriz 𝑀 que expresa el coste de asignar cada elemento de un conjunto al otro: 𝑀𝑎,𝑏 = 𝑐𝑜𝑠𝑡𝑒(𝑎, 𝑏) ∀𝑎 ∈ 𝐴, ∀𝑏 ∈ 𝐵. La solución a este problema consiste en seleccionar el conjunto de asignaciones que minimiza el coste total, sujeto a la restricción de que cada elemento 𝑎 ∈ 𝐴, 𝑏 ∈ 𝐵 puede ser asignado una única vez. Dicho algoritmo necesita proveerse de distancias para poder calcular la matriz de asignación. La distancia usada para dichos algoritmos es la distancia Mahalanobis.

Para la estimación se utilizada el método Extendido del Filtro de Kalman (EKF) para estimar la posición de los obstáculos en ciclos posteriores y de esta forma corregir las medidas ruidosas del GPS.

Es importante mencionar que estos métodos propuestos no son los mejores ya que dependiendo del problema varían el rendimiento de los algoritmos. Por tanto, está pendiente desarrollar y testear nuevos algoritmos junto a métricas que evalúen su rendimiento tanto en validaciones como en escenarios reales.

T6. Validación de la plataforma

Las pruebas realizadas para los sensores de uso común como IMU, se hará uso de la placa de control PixHawk, diseñada por 3D Robotics específicamente para el desarrollo de vehículos no tripulados, junto con los drones propios del GIAA para tomar lecturas. Los resultados obtenidos con los drones serán adaptados a la plataforma submarina perteneciente a la Universidad de la Coruña. Los modelos de sensores facilitados por Ixion son de uso generalizado, por lo que es fácil operar con el mismo modelo.

En cuanto a los sensores de carácter más avanzado como LIDAR y SONAR, será necesario recurrir a alguna plataforma de simulación para avanzar con el desarrollo. Puesto que Ixion ya emplea Gazebo como herramienta de simulación, se hace coherente emplear la misma herramienta. La algoritmia puede ser desarrollada en Matlab y posteriormente traducirla a VHDL cuando se consigan resultados aceptables con Matlab.

Plataforma de real de pruebas

Para realizar las pruebas en entorno real, se ha recurrido a la placa de control de vuelo PixHawk. PX4 es el software de control de PixHawk. Es un sistema operativo basado en NuttX y consta de dos capas principales: PX4 Flight Stack y PX4 Middleware.PX4 Flight Stack es la colección completa de aplicaciones integradas en el hardware PixHawk para control de drones, mientras que PX4 Middleware es la interfaz que permite el flujo de datos desde los sensores hasta las aplicaciones. Los módulos destacados son el controlador de vuelo y el procesamiento de datos del sensor.

Con respecto al procesamiento de datos, PX4 implementa un sistema de navegación llamado AHRS que implementa diferentes algoritmos para estimar la posición local y global, la orientación del vehículo y crea un vector de dirección que permite el desplazamiento no tripulado. Los principales algoritmos de transformación de datos en tiempo real que se ejecutan en el vehículo durante los vuelos son tres: Dirección de matriz de coseno (DCM), Sistema de navegación inercial (INS) y Filtro Kalman extendido (EKF). El proceso de adquisición de datos está siendo respaldado por varias misiones de prueba de vuelo que han tenido lugar en un mismo circuito.

Preprocesado

A continuación, se muestra el resultado de aplicar un filtro FIR de orden diez, a datos reales facilitados por Ixion. En concreto, se puede observar la aceleración de la IMU en el eje X. Filtro FIR de orden 10 con coeficientes calculados con Matlab fir1, asumiendo una frecuencia de muestreo de 100Hz, y un ancho de banda del drone de 2Hz:

Preprocesado

Sistema de fusión

Las pruebas realizadas para testear el software han sido desarrolladas en Matlab a partir de los datos proporcionados por IXION. El proceso de simulación ha consistido en obtener iterativamente las medidas asociadas a la IMU para realizar las estimaciones a priori del modelo. Antes de realizar esta estimación, se comprueba si el instante de tiempo de las medidas GPS está entre la medida de la IMU recibida anteriormente y la actual. Si es así, se procesarán la medida y se realzará el filtrado junto a la estimación anterior de los estados.

A modo de ejemplo, se ilustra una prueba realizada, donde La medida GPS es fiable, pero muy ruidosa y está disponible durante toda la misión. El sistema proporciona una salida muy cercana a la señal GPS.

Sistema de fusión
Aumentar Tamaño del texto Disminuir Tamaño del texto

EQUIPO DE TRABAJO

  •  Rafael Ignacio Luque Moraño
  • Alvaro Luis Bustamante                
  • José Manuel Molina López
  • Miguel Angel Patricio Guisado    
  • Antonio Berlanga de Jesús 
  • Jesús García Herrero (Investigador Principal)

Imagenes

AUTONOMUS
aUV