Está en la página 1de 9

Guion-H5.

pdf

ByBoniRex777

Aplicaciones Telemáticas Avanzadas

4º Grado en Ingeniería Telemática

Escuela Técnica Superior de Ingeniería y Sistemas de


Telecomunicación
Universidad Politécnica de Madrid

Reservados todos los derechos.


No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Guión H5
1. Portada
Buenas tardes a todos, somos el grupo Z compuesto por Q; y os vamos a presentar nuestro proyecto final.

2. Índice
Primero vamos a empezar con una introducción de la idea de nuestro proyecto junto con la motivación. Después
veremos los objetivos y las soluciones que queremos cumplir con nuestro robot. Seguimos con una puesta en
contexto del estado del arte, y empezamos a contaros las diferentes tecnologías que hemos manejado en nuestro
trabajo. Os mostraremos también una prueba de concepto que hemos hecho, finalmente haremos una pequeña
conclusión y os contaremos las posibles mejoras futuras que podemos implementar.

3. Introducción & Motivación - (1min 30 seg).


Vamos a ponernos en contexto. Solo en la ciudad de Madrid durante el año 2021 hubo una media de 57 intervenciones
de los bomberos, de las cuales 2 de cada 3 fueron incendios, estructuras dañadas o rescates. En estas actuaciones los
efectivos tienen que lidiar con todos los riesgos y peligros a la vez que actúan lo más rápido posible.

Nosotros vamos a utilizar la tecnología más avanzada para ayudar a los cuerpos de emergencia a protegerles y a
aumentar la respuesta de actuación. Vamos a desarrollar un robot que se adentre en las zonas más peligrosas como
un incendio en una vivienda, o en zonas inestables como edificios con estructuras dañadas, con el fin de crear un
mapeo de la zona y poder localizar a las personas o diferentes objetos.

Con este robot primero, reducimos la exposición del riesgo de los efectivos, segundo aportamos diversa información
muy relevante mediante diferentes sensores, y tercero, facilitamos la toma de decisiones en intervenciones complejas
donde el tiempo es el factor más importante.

• Derrumbamiento de edificios debito a una explosión de gas o terremoto.

En este caso, el objetivo principal del robot será recorrer el terreno mapeado. En este recorrido, se pretende detectar
si hay peligros como estructuras debilitadas o zonas en las que el fuego pueda reproducirse debido a fugas de gases
o similares. Al mismo tiempo que estos peligros están siendo detectados, el robot deberá ser capaz de encontrar
posibles víctimas.

Este robot va a ser capaz de transmitir en tiempo real toda la información que va analizando, el mapa que va
construyendo de la zona, y los diferentes peligros que va encontrando.

4. Objetivos
En la creación de nuestro robot, hemos implementado diferentes herramientas centrándonos en las tecnologías de
Mapping, Interpretation y Sensing. Los objetivos de nuestro proyecto sobre 3 topics son:

Mapping

Pensamos en hacer un mapeo del terreno afectado reconociendo los obstáculos y zonas peligrosas utilizando el sensor
LiDAR y para afrontar el problema SLAM haremos uso del paquete gmapping y el software de RVIZ.
Sensing

Los objetivos marcados para este topic son la medición de temperaturas de la zona afectada, con el objetivo de
detectar fugas de gases, zonas de fuego, personas, etc. Para estas funciones haremos uso de las cámaras LWIR.

Otro objetivo es obtener una visión en tiempo real a través de una cámara RGB.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5964875

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
Interpretation

Nuestro objetivo es la evaluación de la situación, es decir, qué dirección va a seguir el robot o como va a reaccionar
en ciertas circunstancias teniendo en cuenta todos los datos obtenidos por los sensores. Para este caso, habíamos
decidido hacer uso de las Redes Bayesianas pero para la implementación del robot hemos visto que era más eficiente
realizan una función de “avoiding obstacles”.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
5. State Of The Art (SOTA) (I)- (2-3 min).

• Robot Mapping for Rescue Robots (2d):

Es un robot encargado en dar apoyo a los servicios de emergencia en situaciones catastróficas creando un mapa de
toda la zona afectada con la ayuda de un scanner y sin información de odometría (información que utilizan los robot's
para estimar su posición relativa a su posición inicial).

• Velodyne LIDAR

Tipo de sensor LIDAR que proporciona un componente esencial para la autonomía y navegación del robot.

Velodyne aporta mayor rango de visibilidad comparado con otros sensores LIDAR y está pensado para aguantar en
situaciones extremas, como es nuestro caso un incendio.

6. State Of The Art (SOTA) (II)-


• Robot Search and Rescue – Comparasion of 3D Mapping Techniques (SLAM 3D y 6D):

Este robot utiliza una técnica llamada SLAM que construye un mapa de un entorno desconocido. Se busca resolver los
problemas que conlleva colocar un robot en un ambiente desconocido y que este sea capaz de ir dibujando un mapa
sobre la marcha y determinar su propia posición en dicho mapa.

• iROBOT PACKBOT 510

El robot antiexplosivo es capaz de participar en misiones de reconocimiento, así como en la detección y anulación de
explosivos y bombas. El objetivo principal de PackBot es evitar poner en riesgo la vida de los soldados en misiones
peligrosas anulando los objetivos. También es capaz de realizar detección de radiación biológica y nuclear. Dispone de
diferentes herramientas, como una cámara térmica LWIR como la que nosotros queremos incorporar.

7. Tecnologías
ROS
ROS es sistema operativo de código abierto que tiene un conjunto de bibliotecas y herramientas que ayudan a crear
aplicaciones de robot. En concreto hemos utilizado la versión ROS kinetic, que está diseñado para trabajar con Ubuntu
16.04.

Ros utiliza nodos para representar diferentes procesos, y la forma de transmitir la información entre los nodos es
mediante un topic, en el que pueden publicar o subscribirse. Otro tipo de comunicación entre nodos es el uso de
servicios, donde los mensajes se transmiten de forma bidireccional, en lugar de los topics que son unidireccionales.

Para poder integrar las diferentes tecnologías de nuestro proyecto hemos decidido utilizar ROS, ya que ofrece un
conjunto de paquetes llamado gazebo_ros_pkgs que proporciona las interfaces necesarias para simular un robot en
Gazebo utilizando mensajes, servicios y gestionar los diferentes topics.

Gazebo
Para poder realizar la simulación del mapeo de la zona hemos utilizado Gazebo, que es un software de código abierto
que permite realizar simulaciones en 3D de robots, sensores y objetos en mundos virtuales. Gazebo también cuenta

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5964875

MSI Raider GE78 HX: Tan rápido como tú saliendo de clase si falta el profesor ¡Descúbrelo aquí!
Aplicaciones Telemáticas Ava...
Banco de apuntes de la
con una simulación realista de la física, donde los robots pueden interactuar con objectos afectando la gravedad o
las colisiones de obstáculos.

Con gazebo nosotros hemos seleccionado un mundo virtual donde se simula una vivienda para hacer la prueba del
concepto. En este mundo hemos importado un robot de código abierto llamado TurtleBot. Este robot nos ha
permitido hacer una simulación de nuestro proyecto ya que tiene unas características similares a nuestro robot.
También incorpora un sensor LIDAR y una cámara.

Rviz

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
RVIZ es una interfaz gráfica de ROS que le permite visualizar mucha información, utilizando complementos para
muchos tipos de temas disponibles. Rviz funciona leyendo e interpretando los diferentes datos contenidos en
mensajes de ROS. Por lo que necesita un generador externo de estos mensajes, como puede ser un robot real o
simulado. En nuestro caso, utilizamos el robot Turlebot del que Rviz leerá los datos en tiempo real obtenidos de la
cámara RBG, el sensor LIDAR o la posición por odometría.

8. Diagrama - EXPLICAR EL DIAGRAMA


En este diagrama podemos tener una vista general de la configuración que hemos montado para la prueba de
concepto, donde vemos las tecnologías que hemos explicado antes.

9. Mapping (I)
gmapping
Para realizar el mapeo de la zona, en presentaciones previas hablamos sobre ORB-SLAM, un software de código
abierto para realizar este mapeo y localizar el robot constantemente. Sin embargo, a la hora de la implementarlo ha
sido un proceso bastante complicado en la instalación y por problemas de compatibilidad no hemos conseguido
realizar una prueba.

Entonces estuvimos investigando y encontramos en ROS el paquete gmapping. Este paquete se basa en el problema
SLAM mediante láseres, como los que usa nuestro sensor LiDAR, creando un mapa en 2D de los datos recogidos.

Este paquete se compone de:

1. El nodo gmapping, que recibe los mensajes del LIDAR y construye el mapa, el cual puede ser obtenido
mediante topics o un servicio.
2. el topic de suscrición scan, que recolecta la información del LIDAR.
3. El topic de publicación map, donde se actualizan los resultados del mapeo.

10.Mapping (II)
Hemos utilizado el TurtleBot que es un robot que integra SLAM (Simultaneous Localization and Maping). Con esto
conseguimos crear un mapa en 2D de la zona. Gmapping contiene varios parámetros que podemos modificar, para
por ejemplo conseguir mayor alcance del láser (maxRange).

Para poder controlar el robot por el área y conseguir que mapee toda la zona utilizamos el paquete Teleop, que
proporciona ROS y permite mover el robot en todas las direcciones posibles y controlar la rotación de éste para que
el sensor pueda llegar a cualquier zona.

Por último, para poder visualizar el mapa que crea el robot utilizamos RVIZ que es una herramienta de ROS para la
visualización 3D que incluso nos permite mostrar la nube de puntos que se va creando con el mapeo según la distancia
a los obstáculos. Nos da la opción de exportar el mapa ya mapeado.

11.Sensing (I)
LIDAR
Como ya vimos en el anterior hito mostramos como es el funcionamiento de este sensor LIDAR y como se desplazan
los haces de rayos láser. Con este tipo de sensor conseguimos crear un mapa de puntos.

Un sistema LIDAR calcula el tiempo que tardan los haces de luz en chocar con un objeto o superficie y reflejarse en el
escáner láser (tiempo de vuelo). La distancia se calcula entonces utilizando la velocidad de la luz. Este sensor es capaz

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5964875

MSI Raider GE78 HX: Tan rápido como tú saliendo de clase si falta el profesor ¡Descúbrelo aquí!
de disparar cientos de miles de pulsos por segundo, donde cada una de estas mediciones láser puede procesarse en
una visualización 3D conocida como "nube de puntos".

Además, este tipo de sensor también nos permite detallar estructuras de forma milimétrica pudiendo identificar, por
ejemplo, fisuras o áreas inestables, para poder anticiparnos al peligro. Al no necesitar luz externa para capturar los
datos, esto hace que sea una tecnología eficaz incluso en malas condiciones climáticas o ausentes de iluminación.

12.Sensing (II)
Cámara RBG
Nuestro otro sensor principal es una cámara frontal que usamos para ver en tiempo real todo lo que tiene delante el
robot. La cámara RGBD se utiliza como sensor para capturar los objetos que rodean al robot. Esta cámara utiliza
imágenes RGB y ayuda al sensor LiDAR a definir un poco más la profundidad aportando al robot información espacial.

Nos permite ver todo en tiempo real, lo cual nos será de gran ayuda para tener cierta información como puede ser si
una estructura está debilitada o a punto de derrumbarse

Cámara LWIR
Las cámaras infrarrojas de onda larga son algo que hemos avanzado teóricamente pero que no hemos llegado a
implementar, por eso hemos decidido dejarlo como uno de nuestros futuros pasos. Estas cámaras nos ayudarán a
detectar personas y fugas de gases.

13.Interpretation (I)
Teóricamente desarrollamos las redes bayesianas para que nuestro robot pudiese realizar un camino seguro con las
medidas que realizaban los sensores que éste tiene incorporados, haciendo así una interpretación del entorno y
encontrando una ruta segura, pero a la hora de implementarlas en nuestro proyecto para la realización de la demo
nos hemos dado cuenta de que aún no están lo suficientemente desarrolladas dentro del mundo de la robótica ya que
puede no llegar a ser lo suficiente eficiente y es por ello que su implementación en nuestro robot queda en un plano
futuro como posible forma de comparación entre éstas y la solución que hemos planteado.

14.Interpretation (II)
Código del Avoiding Obstacles
Hemos investigado como realizar un código en Python para que nuestro robot pudiese llegar a moverse libremente
por cualquier área sin la necesidad de tener una persona detrás controlándolo, así el robot interpretando el entono
consigue esquivar cualquier tipo de obstáculo y puede crear un camino para moverse.

15. Interpretation (III) – DIAGRAMA DE FLUJOS


16. Interpretation (IV)
Para ello necesitamos algunas librerías de ROS y de Python que importaríamos:

import rospy # Python library for ROS

• from sensor_msgs.msg import LaserScan --> #import library for lidar sensor
• from geometry_msgs.msg import Twist --> Importa librerías para el objeto que es el que indica como se va a
mover el robot
• from nav_msgs.msg import Odometry --> #import library for position and orientation data

Para realizar el movimiento, el robot tiene en cuenta la distancia de éste con los obstáculos, por lo que con las
condiciones indicamos que si el obstáculo se encuentra a una distancia mayor a la indicada (en este caso 0.7) que
continue hacia adelante con una determinada velocidad lineal y angular, para que pueda moverse en círculos y
encontrar obstáculos sea más sencillo.

Y si el obstáculo se encuentra a una distancia menor a 0.7 hacemos que el robot se pare y rote para evitar el objeto
hasta que encuentre una ruta de escape por la que pueda continuar su marcha. (Los números entre corchetes de los
if son ángulos)

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5964875

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
17. Video prueba de concepto - (3 min)
En primera instancia ejecutamos Gazebo con nuestro Turtlebot y un entorno por defecto. Borramos los objetos de
por defecto y añadimos el entorno de una casa.

En segunda instancia ejecutaremos el paquete teleop para poder mover el robot ( ej con i avanzamos, con “,” vamos
marcha atrás y con q podemos aumentar la velocidad), adelantamos el robot un poco para que sea vea el
movimiento.

En tercera instancia ejecutaremos el gmapping que nos ofrece el paquete SLAM para mapear y ubicar el robot.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
En cuarta instancia ejecutamos el RVIZ y configuramos los plugins:

- RobotModel para ver el robot en la escena;

- Map para que no cree el mapa en 2D;

- Camara para ver el entorno en tiempo real.

- DepthCloud para crear la nube de puntos y ver los objetos en 3D replicando el funcionamiento del LIDAR

Acto seguido moveremos el robot para crear el mapa del entorno, ver los objetos en tiempo real y en 3D a través del
Depthcloud. Como podemos observar la mesa tanto en la cámara en tiempo real como a través del sistema
Depthcloud.

A continuación, me iré moviendo para que veáis lo rápido que crea el mapa en 2D y con que precisión.

Es verdad que se ve un poco lageado pero con un hardware más potente estoy seguro de que esto funcionaria
mucho mejor.

18. Resultado del mapa


Este es el resultado final del mapa 2D al recorrer con el robot todas las habitaciones.
19. Conclusiones - (2 min)
Hemos desarrollado un proyecto con la motivación de ayudar a los cuerpos de emergencias en situaciones de riesgo
para evitar la exposición al peligro y mejorar sus capacidades de actuación.

Conocer el terreno y la situación es muy útil ante en una situación de emergencia, por eso tener un mapeo de la zona
en el que se puedan coordinar estos cuerpos de emergencias creemos que es imprescindible. Con nuestro robot
podemos generar este mapeo para tener una visión general y conocer sus dimensiones, así como saber dónde se
localiza en cada momento dentro del mismo mapa.

Para este proceso es fundamental utilizar los diferentes sensores como el LIDAR, que nos ayuda a conocer todos los
objetos de alrededor y a visualizarlos en 3D gracias a la nube de puntos que genera, y la cámara RGB, con la que
obtenemos una visión frontal en primera persona de lo mismo que ve nuestro robot.

Por último, para poder hacer una buena prueba de concepto para ver cómo se comportaría nuestro robot, utilizamos
ROS que es el que nos permite simular el comportamiento de éste y manejar toda la información que genera. La
aplicación Gazebo nos ha ayudado simular el entorno por el que trabajará nuestro robot y la aplicación Rviz nos
permitie ver cómo se va realizando el mapeo y la localización simultánea, aparte de ver en tiempo real la nube de
puntos del LIDAR y la cámara.

20. Next Steps


En cuanto a los próximos pasos, nuestro proyecto es solo una primera aproximación y las posibilidades de evolución
que tiene son muy amplias, ya que un robot de estas características puede mejorarse de muchas maneras con la
implementación de otros sensores, como pueden ser detectores de gases o cámaras termográficas.
Tenemos pensado introducir las cámaras LWIR que hemos mencionado anteriormente ya que pensamos que pueden
ser un punto diferencial respecto a ciertas situaciones. Al haber desarrollado teóricamente las redes bayesianas,

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5964875

MSI Raider GE78 HX: Tan rápido como tú saliendo de clase si falta el profesor ¡Descúbrelo aquí!
pensamos que si está tecnología llega a mejorar y desarrollarse en el futuro puede aportarnos un plus en nuestro
proyecto.
Otra forma de aumentar las capacidades de este robot sería otorgándole actuadores, que permitan extinguir
pequeños focos de fuego en lugares poco accesibles, peligrosos o que le corte el paso.
Otro paso que podría mejorar el proyecto es implementar el código de Python de Avoiding Obstacles para que el robot
pudiese llegar a moverse libremente mientras va reconociendo el terreno.

Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
21. Bibliography - (10 s)
22. Slide de despedida - (10 s)

Muchas gracias por habernos escuchado, hasta aquí todo nuestro trabajo del Safety Robot. Si tenéis alguna duda
estaremos encantados de responderla.

a64b0469ff35958ef4ab887a898bd50bdfbbe91a-5964875

MSI Raider GE78 HX: Tan rápido como tú saliendo de clase si falta el profesor ¡Descúbrelo aquí!

También podría gustarte