«La perfección no se alcanza cuando no hay nada que añadir, sino cuando no queda nada que quitar»

«La perfección no se alcanza cuando no hay nada que añadir, sino cuando no queda nada que quitar»

Practica 2 - Rescue people

 

Introducción

En esta práctica se dan unas coordenadas aproximadas de un accidente en medio del mar. Se debe manejar un drón hasta dichas coordenadas y recorrer la zona en busca de supervivientes, para después volver a la lancha desde la que despega el drón y comunicar dichas coordenadas.

Nuestra solución consistirá en una serie de subtareas:

  • Alcanzar las coordenadas del accidente.
  • Recorrer la zona del accidente en busca de víctimas.
  • Volver al punto de inicio y aterrizar.

 

Implementación


Alcanzar las coordenadas del accidente.

Estas coordenadas nos son proporcionadas en sistema GPS, por lo que habrá que pasarlas a coordenadas en metros:

Posición de la lancha:      40º 16' 48.2" (GPS)   = 4459162.11 N 430492.15 E (UTM)

Posición del accidente:    40º 16' 47.23" (GPS) = 4459131.76 N 430532.51 E (UTM)

Si restamos estas coordenadas obtenemos la distancia que debemos movernos para alcanzar el lugar del accidente, además de su dirección (North, East):

4459162.11 N 430492.15 E - 4459131.76 N 430532.51 E = 30.35 N -40.36 E

Teniendo en cuenta que en el mundo de gazebo la lancha se sitúa en el (0, 0), tendremos que despegar el drón e ir a las coordenadas (30.35, -40.3) para llegar a la zona del accidente.

 

Recorrer la zona del accidente.

Una vez hemos llegado a las coordenadas, deberemos buscar los supervivientes por la zona, para lo que recorreremos una trayectoria en espiral, que es lo más optimo, sencillo y rápido.

Para recorrer una trayectoria en forma de espiral pondremos una velocidad lineal incremental hacia el frente del robot, es decir, una aceleración constante, y una velocidad angular constante para ir girando a medida que avanzamos.



Mientras recorremos esta trayectoria deberemos ir detectando caras para apuntar sus coordenadas:

Esta detección facial la implementaremos mediante el método de Haar Cascade, pero lo haremos funcionar también para caras que no aparezcan en una orientación vertical. Conseguiremos esto rotando la imagen de entrada 45º, 8 veces, y procesando cada una de estas nuevas 8 imágenes con el método de Haar Cascade:




Cuando detectemos una cara asumiremos que sus coordenadas son aproximadamente las del robot, debido a que volamos relativamente bajo, y de esta manera evitamos también ruido en la imagen.
 

Vuelta a la lancha de rescate.

Volveremos a las coordenadas de la lancha de rescate, que como hemos dicho anteriormente, son (0, 0) en el mundo de gazebo, y cuando lleguemos aterrizaremos.

Este es un vídeo demostrativo de como funciona:



 







Comentarios

Entradas populares de este blog