Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

139
UNIVERSIDAD POLIT ´ ECNICA DE MADRID Escuela T´ ecnica Superior de Ingenieros Industriales Trabajo Fin de M´ aster: Cooperaci´ on Cordada entre Robot Terrestre (UGV) y Robot A´ ereo (UAV) Daniel Aldalur Leal Directores del trabajo fin de m´ aster: Antonio Barrientos Cruz Jorge de Le´ on Rivas Septiembre 2018

Transcript of Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Page 1: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

UNIVERSIDAD POLITECNICA DE MADRID

Escuela Tecnica Superior de Ingenieros Industriales

Trabajo Fin de Master:

Cooperacion Cordada entre Robot Terrestre(UGV) y Robot Aereo (UAV)

Daniel Aldalur Leal

Directores del trabajo fin de master:

Antonio Barrientos Cruz

Jorge de Leon Rivas

Septiembre 2018

Page 2: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 3: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

“La ciencia se compone de errores,

que a su vez son los pasos hacia la verdad.”

Julio Verne

Universidad Politecnica de Madrid I

Page 4: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 5: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Agradecimientos

A Violeta, por su apoyo y animos y por acompanarme en esta aventura en la que me he

embarcado.

A mi familia y en especial a mis padres, por su carino y confianza en mi.

A Jorge, por su guıa y paciencia durante la realizacion del presente Trabajo de Fin de

Master; a Antonio, por darme la oportunidad de realizarlo; y a Pablo, Juanje y Andres,

por su ayuda y consejos durante este tiempo.

A mis companeros y profesores del Master de Automatica y Robotica, por lo mucho que

he aprendido de ellos.

Universidad Politecnica de Madrid III

Page 6: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 7: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Resumen

Este Trabajo de Final de Master presenta un sistema robotico colaborativo entre un

UAV (Unmanned Aerial Vehicle) y un UGV (Unmanned Ground Vehicle), estando ambos

robots unidos mediante un cable. El objetivo del sistema es lograr la coordinacion entre

el vuelo del UAV, el movimiento del UGV en el suelo y la extension del cable que los une,

de forma que no se comprometa la integridad de este ultimo ni tampoco la estabilidad de

vuelo del UAV. Adicionalmente, el UAV debe ser capaz de aterrizar sobre una plataforma

de aterrizaje instalada sobre el UGV por medio de una maniobra de aterrizaje guiada por

el cable.

A este respecto, el trabajo analiza el estado del arte de las investigaciones publicadas

en relacion a la tematica del mismo. Tal y como se detalla, no se ha encontrado ninguna

publicacion que aborde la totalidad de los objetivos establecidos para el presente proyecto,

por lo que este trabajo constituye una solucion novedosa, abordando de forma conjunta

distintos puntos de vanguardia.

El trabajo ha sido elaborado sobre el framework ROS (Robot Operating System), pro-

gramando los algoritmos de control en el lenguaje C++. El sistema se ha implementado

tanto en un entorno simulado, como en robots fısicos reales, utilizando como UAV el robot

aereo AR.Drone 2.0 y como UGV la plataforma robotica terrestre Pioneer 3-AT. Por un

lado, la simulacion se ha realizado sobre la herramienta Gazebo utilizando modelos vir-

tuales del AR.Drone 2.0 y el Pioneer 3-AT, ademas de simular el cable mediante uniones

prismaticas, lo que permite un comportamiento realista de la fısica del sistema. Por otra

parte, la implementacion fısica se ha hecho utilizando modelos reales de los robots citados,

ademas de haber construido un mecanismo que controla la extension del cable utilizando

Universidad Politecnica de Madrid V

Page 8: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

RESUMEN

un motor EMG-30 y una placa Arduino Mega-2560.

El sistema robotico se ha disenado como una maquina de estados, en la que cada uno

de los agentes roboticos varıa su estado en funcion de los eventos ocurridos. A su vez, el

comportamiento de cada uno de los agentes cambia segun el estado en el que se encuentre,

estando el sistema gobernado en cada momento por alguno de los diferentes algoritmos

implementados: coordinacion y seguimiento; aterrizaje; deteccion y esquiva de obstaculos,

constituyendo este ultimo un extra sobre los objetivos originales del proyecto.

Para evaluar el cumplimiento de los objetivos establecidos, se han realizado diferen-

tes experimentos, tanto para el sistema simulado como para la implementacion fısica del

mismo. Se presentan los resultados de dichos experimentos, junto con el analisis de los

mismos, ası como las conclusiones de la ejecucion del presente trabajo, la propuesta de

lıneas futuras de investigacion y el analisis de impacto del proyecto.

VI Daniel Aldalur Leal - M17279

Page 9: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

RESUMEN

Codigos UNESCO

[330419] - ROBOTICA

[120326] - SIMULACION

[120323] - LENGUAJES DE PROGRAMACION

[331102] - INGENIERIA DE CONTROL

[330412] - DISPOSITIVOS DE CONTROL

[120702] - SISTEMAS DE CONTROL

Palabras clave

ROS, sistemas operativos, robotica, UAV, UGV, modelo de simulacion, control, librerıa,

maquinas de estado.

Universidad Politecnica de Madrid VII

Page 10: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 11: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Indice general

Agradecimientos III

Resumen V

Lista de figuras XIII

Lista de tablas XV

1. Introduccion 3

1.1. Motivacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3. Aportaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Estado del arte 9

2.1. Investigaciones y Publicaciones . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1. UAV y Plataforma Terrestre Movil Cordados . . . . . . . . . . . . . 10

2.1.2. UAV Cordado a Tierra . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.1.3. UAVs Cordados entre sı . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.1.4. Coordinacion UAV-UGV . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.5. Aterrizaje de UAV guiado por vision . . . . . . . . . . . . . . . . . . 22

2.2. Soluciones Comerciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3. Conclusiones sobre el Estado del Arte . . . . . . . . . . . . . . . . . . . . . 24

3. Planificacion y Presupuesto 27

3.1. Planificacion Temporal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.1.1. Consideraciones y Condicioantes . . . . . . . . . . . . . . . . . . . . 27

3.1.2. Desglose de Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Universidad Politecnica de Madrid IX

Page 12: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

INDICE GENERAL

3.1.3. Diagrama de Gantt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.2. Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4. Materiales y Herramientas 35

4.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.1.1. Pioneer 3AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.1.2. Parrot AR.Drone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.1.3. Sistema Accionamiento del Cable . . . . . . . . . . . . . . . . . . . . 39

4.2. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2.1. Ubuntu 16.04 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2.2. ROS Kinectic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5. Analisis del Problema 47

5.1. Vision General del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2. Fısica del Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

5.2.1. Capacidad de Carga del AR.Drone 2.0 . . . . . . . . . . . . . . . . . 51

5.2.2. Pruebas de Carga del UAV con Cable . . . . . . . . . . . . . . . . . 52

5.2.3. Alimentacion del AR.Drone 2.0 mediante Cable . . . . . . . . . . . . 54

5.2.4. Conclusiones sobre el Cable . . . . . . . . . . . . . . . . . . . . . . . 54

5.3. Sensorizacion del Cable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5.3.1. Sensores Implementados para la Medicion del Cable . . . . . . . . . 56

5.3.2. Estimacion de la Posicion del UAV . . . . . . . . . . . . . . . . . . . 59

6. Descripcion del Sistema 61

6.1. Vision General de la Solucion . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.2. Sistema Fısico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

6.3. Sistema Simulado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6.3.1. Simulacion de los Elementos del Sistema . . . . . . . . . . . . . . . . 67

7. Algoritmia y Maquina de Estados 71

7.1. Maquinas de Estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7.2. Control del Sistema Robotico . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.2.1. Variables de Control y Parametros PID . . . . . . . . . . . . . . . . 75

7.3. Algoritmos Implementados . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

7.3.1. Algoritmo de Coordinacion y Seguimiento . . . . . . . . . . . . . . . 79

X Daniel Aldalur Leal - M17279

Page 13: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

INDICE GENERAL

7.3.2. Algoritmo de Aterrizaje . . . . . . . . . . . . . . . . . . . . . . . . . 81

7.3.3. Algoritmo de Deteccion y Esquiva de Obstaculos . . . . . . . . . . . 83

8. Estructura de la Solucion en ROS 85

8.1. Descripcion de Nodos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

8.1.1. Nodos Comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

8.1.2. Nodos del Sistema Real . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.1.3. Nodos del Sistema Simulado . . . . . . . . . . . . . . . . . . . . . . . 90

8.2. Topicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

8.2.1. Topicos Grupo guiado . . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.2.2. Topicos Grupo ard2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.2.3. Topicos Grupo p3at . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.2.4. Topicos Grupo cable . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.2.5. Otros Topicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

8.3. Diagrama de la Estructura en ROS . . . . . . . . . . . . . . . . . . . . . . . 92

8.4. Sistemas de Referencia y Transformaciones . . . . . . . . . . . . . . . . . . 94

9. Experimentos y Resultados 97

9.1. Pruebas sobre el Sistema Simulado . . . . . . . . . . . . . . . . . . . . . . . 98

9.1.1. Aterrizaje Sobre Plataforma . . . . . . . . . . . . . . . . . . . . . . . 98

9.1.2. Coordinacion y Seguimiento . . . . . . . . . . . . . . . . . . . . . . . 99

9.1.3. Seguimiento y Aterrizaje . . . . . . . . . . . . . . . . . . . . . . . . . 100

9.1.4. Esquiva Obstaculo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

9.2. Pruebas sobre el Sistema Real . . . . . . . . . . . . . . . . . . . . . . . . . . 103

9.2.1. Aterrizaje Sobre Plataforma . . . . . . . . . . . . . . . . . . . . . . . 104

9.2.2. Coordinacion y Seguimiento . . . . . . . . . . . . . . . . . . . . . . . 106

9.2.3. Seguimiento y Aterrizaje . . . . . . . . . . . . . . . . . . . . . . . . . 107

9.3. Evaluacion de los Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . 108

10.Conclusiones, Lıneas Futuras y Valoracion de Impacto 109

10.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

10.2. Lıneas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

10.3. Valoracion de impactos y de aspectos de responsabilidad legal, etica y pro-

fesional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Universidad Politecnica de Madrid XI

Page 14: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

INDICE GENERAL

11.Bibliografıa 113

A. Codigo de la Solucion 117

B. Reparacion del Pioneer 3-AT 119

B.1. Elementos Danados en la Placa Controladora de los Motores del Pioneer

3-AT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

B.2. Sustitucion de los Elementos Danados . . . . . . . . . . . . . . . . . . . . . 121

XII Daniel Aldalur Leal - M17279

Page 15: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Indice de figuras

2.1. Sistema disenado por Xiao, Dufek y Murphy [1] . . . . . . . . . . . . . . . . 11

2.2. Esquema del sistema analizado por Tognon y Franchi [2] . . . . . . . . . . . 12

2.3. Esquema del sistema analizado por Muttin [3] . . . . . . . . . . . . . . . . . 12

2.4. Sistema disenado por Alarcon y Santamaria [4] . . . . . . . . . . . . . . . . 13

2.5. Renderizado 3D del sistema analizado por Oh, Pathak, Agrawal y col. [5] . 14

2.6. Esquemas de los sistemas analizado por Nicotra, Naldi y Garone [6] [7] . . 15

2.7. Sistema disenado por Xiao, Dufek, Suhail y col. [8] . . . . . . . . . . . . . . 16

2.8. Sistema disenado por Sandino [11] . . . . . . . . . . . . . . . . . . . . . . . 17

2.9. Sistema disenado por Tognon, Testa, Rossi y col. [12] . . . . . . . . . . . . . 18

2.10. Sistema disenado por Zikou, Papachristos y Tzes [13] . . . . . . . . . . . . . 19

2.11. Esquema del sistema analizado por Meissen, Klausen, Arcak y col. [15] . . . 20

2.12. Sistema disenado por Hernandez, Copot, Cerquera y col. [17] . . . . . . . . 21

2.13. Esquema del sistema analizado por Yulong, Bin, Jie y col. [18] . . . . . . . 22

2.14. Drones comerciales cordados de cada companıa . . . . . . . . . . . . . . . . 24

3.1. Tareas planificadas en la ejecucion del TFM . . . . . . . . . . . . . . . . . . 29

3.2. Diagrama de Gantt del TFM - Parte 1 . . . . . . . . . . . . . . . . . . . . . 30

3.3. Diagrama de Gantt del TFM - Parte 2 . . . . . . . . . . . . . . . . . . . . . 31

3.4. Diagrama de Gantt del TFM - Parte 3 . . . . . . . . . . . . . . . . . . . . . 32

4.1. Robot terrestre Pioneer 3-AT . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2. Robot aereo Parrot AR.Drone 2.0 . . . . . . . . . . . . . . . . . . . . . . . . 38

4.3. Placa Arduino MEGA 2560 . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.4. Motor y controladora del mecanismo del cable . . . . . . . . . . . . . . . . . 41

4.5. Sensor inercial MPU-6050 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.6. Logo ROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Universidad Politecnica de Madrid XIII

Page 16: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

INDICE DE FIGURAS

4.7. Logo Gazebo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.8. Logo Rviz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1. Diagrama de fuerzas del sistema [7] . . . . . . . . . . . . . . . . . . . . . . . 50

6.1. Imagenes del sistema robotico completo . . . . . . . . . . . . . . . . . . . . 64

6.2. Imagenes del mecanismo del cable . . . . . . . . . . . . . . . . . . . . . . . 66

6.3. Plataforma de aterrizaje sobre el UGV . . . . . . . . . . . . . . . . . . . . . 66

6.4. Simulacion en Gazebo del Sistema Robotico . . . . . . . . . . . . . . . . . . 68

7.1. Diagramas de estados del sistema robotico . . . . . . . . . . . . . . . . . . . 72

7.2. Arquitectura de control durante la coordinacion y seguimiento . . . . . . . 81

7.3. Arquitectura de control durante el aterrizaje . . . . . . . . . . . . . . . . . 83

7.4. Arquitectura de control durante la esquiva de obstaculos . . . . . . . . . . . 84

8.1. Diagrama de la estructura de nodos y topics en ROS . . . . . . . . . . . . . 93

8.2. Arbol de frames de la simulacion en ROS . . . . . . . . . . . . . . . . . . . 95

9.1. Pruebas Simulacion - Aterrizaje Plataforma . . . . . . . . . . . . . . . . . . 99

9.2. Pruebas Simulacion - Coordinacion y Seguimiento . . . . . . . . . . . . . . 100

9.3. Pruebas Simulacion - Seguimiento y Aterrizaje . . . . . . . . . . . . . . . . 101

9.4. Pruebas Simulacion - Deteccion y Esquiva de Obstaculo . . . . . . . . . . . 102

9.5. Pruebas Sistema Real - Aterrizaje con UAV estatico . . . . . . . . . . . . . 104

9.6. Pruebas Sistema Real - Aterrizaje con UAV en movimiento . . . . . . . . . 105

9.7. Pruebas Simulacion - Coordinacion y Seguimiento . . . . . . . . . . . . . . 106

9.8. Pruebas Sistema Real - Seguimiento y Aterrizaje . . . . . . . . . . . . . . . 107

B.1. Placa Motor Power Board Revision M (ELC1587) del Pioneer 3-AT . . . . . 120

B.2. Desmontaje para la reparacion del Pioneer 3-AT . . . . . . . . . . . . . . . 121

XIV Daniel Aldalur Leal - M17279

Page 17: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Indice de cuadros

3.1. Presupuesto de personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2. Presupuesto de materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.3. Total Presupuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.1. Capacidad de carga teorica del UAV . . . . . . . . . . . . . . . . . . . . . . 52

Universidad Politecnica de Madrid XV

Page 18: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 19: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 20: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 1

Introduccion

1.1. Motivacion

La robotica movil se postula como uno de los campos con mayor potencial de creci-

miento y de expansion economica durante los proximos anos. La dotacion de capacidad de

toma de decisiones autonoma a robots moviles revolucionara la manera de llevar a cabo

multiples tareas y actividades de negocio y consumo, permitiendo la aparicion de nuevas

oportunidades y fuentes de valor que actualmente no son viables.

La evolucion de este tipo de robotica durante los ultimos anos ha propiciado su salto

desde los laboratorios de investigacion a su uso en sectores como el industrial o logıstico.

Los exitos cosechados en dichos sectores, en donde la robotica ha mejorado la eficiencia y

reducido el coste de los procesos en los que participan, al amplio recorrido de desarrollo

tecnologico todavıa posible, auguran unas cotas de adopcion de la robotica movil mucho

mayores.

Adicionalmente, las aplicaciones de esta tecnologıa no se circunscribe unicamente a

entornos estructurados, como son los sectores mencionados, si no que su potencial va mas

alla con usos potenciales en entornos libres como en el transporte, agricultura, busqueda

y rescate, vigilancia o defensa. A medida que mejore su capacidad para aportar soluciones

a problemas reales y se mejores su eficiencia en coste, este tipo de tecnologıa empezara a

convertirse en ubicua en nuestro dıa a dıa.

Universidad Politecnica de Madrid 3

Page 21: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 1. INTRODUCCION

Actualmente, dentro de la robotica movil pueden distinguirse dos tipos, la robotica

aerea y la terrestre, cada una de ellas con unas capacidades diferenciadas. Por una parte,

la robotica aerea proporciona una alta versatilidad en las operaciones que es capaz de

llevar a cabo, permitiendo la exploracion, inspeccion y acceso a zonas que de otra manera

serıa de imposible hacerlo o para los que habrıa que utilizar medios mucho mas costosos.

Por otra parte, la robotica terrestre permite un control fiable y el transporte de cargas

pesadas, todo ello con una alta seguridad en las operaciones. Sin embargo, a pesar de sus

ventajas, ambas tecnologıas cuentan con serios inconvenientes por solventar.

Los actuales sistemas de robotica aerea tienen una autonomıa de vuelo muy limitada,

por lo que en las operaciones que desarrollan, el tiempo de vuelo es un recurso escaso que

dificulta el exito de las mismas. Adicionalmente, el peso constituye una de caracterıstica

de construccion crıtica, obligando a que los sistemas a bordo sean ser ligeros. Por consi-

guiente, este factor limita la capacidad de procesamiento de la que disponen en vuelo, al

implementar ordenadores lo mas ligeros posible.

Por su parte, a pesar de que los sistemas terrestres disponen de una mayor autonomıa y

que pueden llevar ordenadores con una alta capacidad de computo, se ven limitados por el

conocimiento del entorno, especialmente cuando este es no estructurado. Incluso contando

con multiples sensores capaces de aportar una gran cantidad de datos sobre lo que rodea

al robot, el obtener esta informacion desde el plano del suelo implica un alto coste de

tiempo dedicado a realizar una exploracion exhaustiva, lo que conlleva una disminucion

en las probabilidades de exito de las misiones.

Con el fin de solventar las desventajas de ambas tecnologıas, se han propuesto diferentes

sistemas mixtos entre robots aereos y terrestres. Algunas de estas soluciones proponen el

uso de plataformas terrestres moviles como base de operaciones para los robots aereos,

aumentando su autonomıa e implementando sistemas de comunicaciones que permitan

que estos puedan transmitir la informacion que estan captando para su procesamiento en

tierra. Otras, centradas en solventar las desventajas de los sistemas terrestres, utilizan los

robots aereos para escanear y mapear el entorno, lo que permite una planificacion eficiente

del movimiento en el suelo.

4 Daniel Aldalur Leal - M17279

Page 22: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

1.1. MOTIVACION

En este sentido, el presente trabajo propone una alternativa de sistema robotico terres-

tre y aereo mixto con una coordinacion cordada entre ambos, es decir, unidos mediante

un cable. Esta union puede multiplicar la autonomıa del robot aereo gracias a que podra

ser alimentado directamente por las baterıas del terrestre, las cuales tienen una mayor

capacidad. Como beneficio adicional de este hecho, no sera necesario que el robot aereo

cargue con baterıas propias, por lo que dispondra de una mayor capacidad de carga, la cual

podra ser utilizada para incluir una mayor sensorizacion o para el transporte de objetos.

Ası mismo, cabe destacar la posibilidad de poder utilizar un cable que permita la trans-

mision de datos entre ambos robots, consiguiendo una transmision de datos mas rapida

y fiable que mediante conexiones inalambricas. Esto permitirıa realizar el procesamiento

de la informacion obtenida en tierra, donde presumiblemente se contara con una mayor

capacidad de computo.

A su vez, el robot terrestre se beneficia de poder disponer de mayor informacion sobre

el entorno, la cual se obtiene desde un punto elevado, lo que aporta datos sobre zonas que

no son accesibles desde la perspectiva de tierra. Por consiguiente, es posible realizar una

mejor planificacion de la ruta y se mejora su capacidad para sortear obstaculos. Ademas de

todo ello, la sensorizacion del propio cable permite fusionar los datos de posicion adquiridos

por cada elemento del sistema gracias al conocer la posicion relativa entre ellos, lo que

aporta robustez al sistema con un bajo coste computacional.

Por lo tanto, el sistema propuesto combina por tanto las ventajas de ambos tipos

tecnologıas roboticas, abriendo un nuevo abanico de posibilidades de uso. Por ejemplo,

gracias a que el robot aereo cuenta con una autonomıa de vuelo mejorada, podra ser

utilizado en aplicaciones de busqueda y rescate extensivas. En ellas, el robot aereo se

encargara de obtener la mayor cantidad de informacion posible del entorno y el robot

terrestre podra transportar gran cantidad de material de ayuda. Con este mismo principio,

el sistema podrıa ser utilizado para labores de vigilancia de infraestructuras crıticas o

eventos, dotando de una amplia autonomıa de vuelo a los robots aereos.

Ası mismo, podrıa ser utilizado en labores de agricultura, en donde el robot aereo

preceda a la maquinaria terrestre mientras escanea el cultivo y obtiene diferente informa-

cion referente a plagas, malas hierbas o madurez de la cosecha. Igualmente, ofrece amplias

Universidad Politecnica de Madrid 5

Page 23: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 1. INTRODUCCION

posibilidades en la inspeccion de lugares de difıcil acceso como puentes o lıneas de alta

tension.

1.2. Objetivos

El principal objetivo del presente proyecto consiste en desarrollar la coordinacion cor-

dada entre un robot terrestre, en adelante UGV o plataforma terrestre, y uno aereo, en

adelante UAV o drone. Como requisitos especıficos se establecen los siguientes:

El control debe ser tal, que si se mueve el UAV, el robot UGV debe ir acompanandolo

para evitar que el enlace se rompa.

El UAV debe ser capaz de aterrizar y despegar en cualquier momento del UGV.

El sistema debe ser simulado mediante ROS y posteriormente implementado en robot

reales.

1.3. Aportaciones

Para la ejecucion del presente proyecto ha sido necesario la creacion e implementa-

cion de una serie de aportaciones propias por parte del autor, las cuales se detallan a

continuacion:

Simulacion, en ROS y Gazebo, del sistema robotico propuesto, la cual permite la

realizacion de pruebas y la mejora de los algoritmos.

Montaje del sistema fısico de los robots, disenando y construyendo del mecanismo

de control del cable.

Se ha disenado el sistema de control para la coordinacion entre UGV y UAV el cual

se encarga ademas de controlar la extension y recogida del cable en funcion de los

parametros de control.

6 Daniel Aldalur Leal - M17279

Page 24: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

1.4. ESTRUCTURA DE LA MEMORIA

Sensorizacion del cable para extraer la informacion necesaria para el control del

sistema.

Programacion de los algoritmos de control en el entorno ROS utilizando el lenguaje

de programacion C++.

1.4. Estructura de la memoria

El presente documento esta dividido en diferentes capıtulos, cada uno de los cuales

se centra en abordar un aspecto especıfico del proyecto. A continuacion, se muestra la

estructura de la presente memoria junto con una descripcion del contenido de cada uno

de los capıtulos.

Capıtulo 2 - Estado del arte: presenta la investigacion y el analisis de soluciones

de vanguardia desarrolladas y publicadas por terceros en relacion con los objetivos

del presente trabajo.

Capıtulo 3 - Planificacion y Presupuesto: detalla la planificacion realiza al

comienzo del proyecto para la ejecucion de las tareas de este, ası como el desglose

de los costes del mismo.

Capıtulo 4 - Materiales y Herramientas: se incluye la relacion de componentes

utilizados en el proyecto.

Capıtulo 5 - Analisis del Problema: se detalla la problematica a resolver para

la consecucion de los objetivos establecidos, abordando en detalle los puntos identi-

ficados como mas limitantes.

Capıtulo 6 - Descripcion del Sistema: se realiza la descripcion del funciona-

miento del sistema robotico y su implementacion tanto fısica como simulada.

Capıtulo 7 - Algoritmia y Maquina de Estados: detalla los algoritmos utiliza-

dos en la solucion junto con el esquema de control del sistema.

Capıtulo 8 - Estructura de la Solucion en ROS: describe la implementacion

en ROS, detallando la relacion de paquetes utilizados, ası como la descripcion de los

principales nodos y topicos.

Universidad Politecnica de Madrid 7

Page 25: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 1. INTRODUCCION

Capıtulo 9 - Experimentos y Resultados: descripcion de las pruebas realizadas

sobre la solucion simulada y fısica.

Capıtulo 10 - Conclusiones, Lıneas Futuras y Valoracion de Impacto: prin-

cipales conclusiones extraıdas de la realizacion del presente trabajo y relacion de

propuesta de lıneas futuras de desarrollo del mismo.

Capıtulo 11 - Bibliografıa: relacion de las fuentes utilizadas para el presente

proyecto.

Adicionalmente, se incluye la siguiente relacion de anexos, los cuales amplıan la infor-

macion sobre el presente proyecto contenida en los capıtulos anteriores.

Anexo A - Codigo de la Solucion: codigo desarrollado durante la ejecucion del

presente proyecto.

Anexo B - Reparacion del Pioneer 3-AT: detalle de la reparacion de la con-

troladora de los motores del UGV Pioneer 3-AT realizada durante la ejecucion del

presente trabajo.

8 Daniel Aldalur Leal - M17279

Page 26: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 2

Estado del arte

Con el fin de salvar las desventajas de los sistemas roboticos aereos y terrestres por

separado, durante los ultimos anos se han desarrollado diversas soluciones, tanto a nivel de

investigacion como de productos comerciales. Entre dichas soluciones, pueden encontrarse

diferentes tipos de sistemas roboticos cordados. Estos incluyen alguno o varios de los

aspectos relevantes de la solucion propuesta en el presente documento.

La presente investigacion del estado del arte se ha basado en buscar los avances ob-

tenidos desde dos puntos de vista distintas: las publicaciones sobre investigaciones y los

productos comerciales con las caracterısticas senaladas disponibles en el mercado.

2.1. Investigaciones y Publicaciones

Los apartados a continuacion detallan el estado del arte sobre investigaciones y publi-

caciones. Este analisis se ha divido en diferentes categorıas, las cuales se distinguen segun

el grado de cercanıa a los objetivos del presente proyecto:

UAV y plataforma terrestre movil cordados, donde un sistema robotico aereo

esta unido mediante cable a una plataforma movil terrestre. Este campo del estado

del arte se divide a su vez en: soluciones de movimiento coordinado entre los robots

Universidad Politecnica de Madrid 9

Page 27: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

y soluciones de aterrizaje cordado.

UAV cordado a tierra, donde el drone esta unido a un punto fijo en tierra. Este

campo del estado del arte se divide a su vez en: control del vuelo cordado, aterrizaje

cordado y alimentacion del UAV mediante el cable.

Dos o mas UAVs cordados entre sı, los cuales estan principalmente orientados

al manejo y transporte de cargas.

Coordinacion UAV-UGV, algoritmos de coordinacion de sistemas con diferentes

agentes los cuales incluyen tanto robots terrestres como aereos.

Aterrizaje de UAV guiado por vision, cuyas soluciones no utilizan ningun tipo

de cable, pero que presentan alternativas que podrıan ser relevantes para la imple-

mentacion algoritmos de coordinacion basados en vision por computador.

2.1.1. UAV y Plataforma Terrestre Movil Cordados

Esta categorıa incluye aquellas soluciones basadas en la union mediante cable de una

plataforma terrestre y un drone. Debido a que ambas partes del sistema tienen capacidad de

movimiento independiente, es especialmente importante asegurar una coordinacion entre

ambos para evitar tiranteces que puedan romper el cable o que desestabilicen al UAV.

Los artıculos citados a continuacion, recogen el estado del arte sobre este punto. Sin

embargo, es importante resaltar que no se ha encontrado ninguna publicacion aborde todos

los objetivos cubiertos por el presente proyecto bajo un mismo sistema funcional. Como

puede verse en el resumen que se hace de los artıculos, estos unicamente implementan

soluciones fısicas parciales o abordan los objetivos de forma teorica.

Movimiento Coordinado

Xiao, Dufek y Murphy [1] presentan una solucion fısica de una plataforma movil y un

drone unidos mediante cable enfocada a mejorar la percepcion del espacio tridimensional

en labores de teleoperacion. En esta solucion, el UGV es el robot primario siendo el UAV

un asistente que proporciona informacion visual desde una perspectiva diferente al robot

10 Daniel Aldalur Leal - M17279

Page 28: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.1. INVESTIGACIONES Y PUBLICACIONES

terrestre. Debido a que el sistema esta pensado para funcionar en entornos de alto riesgo,

especialmente en interiores, el posicionamiento mediante GPS no es una opcion viable, por

lo que para determinar la posicion relativa del UAV con respecto a la plataforma terrestre

hacen uso de la sensorizacion del cable midiendo su longitud ası como su inclinacion

con respecto al suelo ası como su orientacion con respecto a los ejes del UGV. Con esta

informacion, y conociendo la rotacion del drone, proponen un sistema de transformadas

para conocer la posicion relativa entre los robots y ası poder enfocar la camara del drone

al objetivo a telemanipular por el UGV. En el estado actual de desarrollo de la solucion, el

UAV se utiliza para aportar una perspectiva adicional del punto de interes, siendo capaz

de enfocar de forma autonoma dicho punto. Sin embargo, el UAV carece de capacidad de

aterrizaje y despegue propia, ni de seguimiento del UGV en movimiento. La figura 2.1

muestra el sistema disenado e implementado por los autores del citado artıculo.

Figura 2.1: Sistema disenado por Xiao, Dufek y Murphy [1]

Con el objetivo de controlar un UAV unido pasivamente mediante cable a una plata-

forma terrestre con movimiento independiente, Tognon y Franchi [2] proponen un modelo

teorico de un controlador no lineal para el seguimiento de la posicion del drone con res-

pecto al UGV. El modelo supone el movimiento en un espacio 3D tanto del UAV como

del UGV u otro tipo de plataforma terrestre, siendo el cable pasivo, es decir, sin control

de la longitud ni orientacion del mismo. Se propone, por tanto, un modelo de control en el

espacio C de trabajo de los robots a partir de la modelizacion de la dinamica del sistema.

El modelo de control propuesto no se implementa en un sistema real, sino que los autores

evaluan su rendimiento basandose en simulaciones. La figura 2.2 muestra el esquema del

sistema robotico en el que se basa el citado estudio.

Universidad Politecnica de Madrid 11

Page 29: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

Figura 2.2: Esquema del sistema analizado por Tognon y Franchi [2]

Con el objetivo de detectar manchas de petroleo en el mar, Muttin [3] propone el uso

de un UAV unido con cable a un barco, de manera que el drone preceda a este mientras

realiza una inspeccion visual de la superficie marina. Esta publicacion se centra en analizar

teoricamente las necesidades estructurales del cable en las diferentes fases del vuelo del

drone, como son el despegue, el vuelo estatico o el aterrizaje. Finalmente, se propone un

modelo numerico para la modelizacion del cable y poder calcular las necesidades de control

derivadas de la union del drone al barco mediante un cable de larga longitud. Dentro de

las conclusiones de este artıculo, se remarca la dificultad del control de UAV y el cable,

debido las fuerzas, especialmente las laterales, ejercidas por este ultimo sobre el drone y la

diferencia en los tiempo de respuesta de UAV para contrarrestarlas. La figura 2.3 muestra

el esquema del sistema robotico en el que se basa el citado estudio.

Figura 2.3: Esquema del sistema analizado por Muttin [3]

Aterrizaje

En el caso de un UAV cordado a un UGV, que el primero sea capaz de aterrizar sobre

el segundo de forma autonoma es un punto crıtico, evitando de esta forma la dependencia

12 Daniel Aldalur Leal - M17279

Page 30: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.1. INVESTIGACIONES Y PUBLICACIONES

humana para posicionar el drone sobre el UGV. Alarcon y Santamaria [4] proponen una

solucion para este problema que hace uso de la informacion obtenida de la IMU de un

helicoptero autonomo junto con la informacion obtenida del cable que le une a una plata-

forma movil. A partir de las diferentes fuentes de informacion, el modelo propuesto estima

tanto la posicion absoluta como la relativa del helicoptero con respecto a la plataforma

mediante un algoritmo de fusion sensorial. Este transforma las diferentes magnitudes me-

didas en posicion y orientacion con respecto al punto de anclaje a la plataforma. Con esta

informacion, se realizaron pruebas sobre un modelo real, consiguiendo que el helicopte-

ro aterrizara sobre la plataforma tanto quieta como en movimiento lineal. La figura 2.4

muestra el sistema disenado e implementado para el citado artıculo.

Figura 2.4: Sistema disenado por Alarcon y Santamaria [4]

Oh, Pathak, Agrawal y col. [5] proponen un sistema de aterrizaje autonomo de he-

licopteros no tripulados sobre un barco en movimiento, estando ambos unidos mediante

un cable. El sistema teorico propuesto utiliza dos esquemas de control diferenciados. El

primero, el modo posicion, se utiliza cuando la distancia entre el helicoptero autonomo

y el barco es grande. El segundo, basado en un control de la altura e inclinacion de la

aeronave, se utiliza durante las fases finales del aterrizaje. Este segundo modo es, ademas,

especialmente indicado cuando las condiciones del mar provocan movimientos y cabeceo

en el barco, lo cual implica tener que alinear las inclinaciones de ambos vehıculos para un

aterrizaje seguro. El citado estudio se basa unicamente en simulaciones, no implementando

el modelo de control en un sistema real. La figura 2.5 muestra una imagen renderizada en

3D del sistema robotico estudiado en el citado artıculo.

Universidad Politecnica de Madrid 13

Page 31: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

Figura 2.5: Renderizado 3D del sistema analizado por Oh, Pathak, Agrawal y col. [5]

2.1.2. UAV Cordado a Tierra

Las soluciones dentro de esta categorıa eliminan el factor de movimiento terrestre,

uniendo el drone mediante cable a un punto fijo en tierra. De esta manera, el control se

simplifica. La principal desventaja de este tipo de soluciones es que se pierde versatilidad

al eliminarse la capacidad del movimiento en tierra.

Control del vuelo cordado

Nicotra, Naldi y Garone [6] proponen una ley de control para la estabilizacion de un

UAV atado a tierra mediante un cable tenso. El objetivo de este estudio es ser capaz de

conseguir que el robot aereo se mantenga en la posicion objetivo a la vez que el cable esta

tenso en todo momento. Para ello, se propone un esquema de control en cascada, el cual

es capaz de lidiar con la no-linealidades del sistema. Este esquema cuenta con dos bucles

de control, uno exterior y otro interior, basando el primero su ley de control en estabilizar

la posicion objetivo, y el segundo, en controlar la orientacion del UAV y, a partir de esta,

deducir la posicion del mismo, lo que se utiliza para alimentar el primer bucle.

Un trabajo posterior de Nicotra, Naldi y Garone [7] amplian el anterior desarrollo

14 Daniel Aldalur Leal - M17279

Page 32: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.1. INVESTIGACIONES Y PUBLICACIONES

proponiendo un sistema de control que incluye la regulacion de la fuerza aplicada sobre

el cable. Al incluir este control adicional, es posible alcanzar nuevos puntos de equilibrio

estable, ası como mantener el UAV sin rotaciones con respecto al suelo y el cable tenso.

Ambos artıculos abordan el problema desde un punto de vista teorico sin implementar

los sistemas de control desarrollados en sistemas fısicos reales. Las imagenes de la figura

2.6 muestran los esquemas de los sistemas roboticos analizados en dichos artıculos.

(a) Artıculo [6] (b) Artıculo [7]

Figura 2.6: Esquemas de los sistemas analizado por Nicotra, Naldi y Garone [6] [7]

Xiao, Dufek, Suhail y col. [8], continuando con el trabajo del primer artıculo citado de

los mismos autores[1], proponen dos planificadores para la generacion de trayectorias para

UAVs cordados volando en espacios con obstaculos. En el caso de este artıculo, los autores

eliminan la variable del UGV, uniendo el UAV a un punto fijo en tierra mediante el cable.

El estudio se centra en realizar una comparativa entre los dos tipos de planificadores:

el primero, que evita cualquier contacto del cable con los obstaculos, y el segundo, que

planifica conscientemente los contactos del cable con los mismos, ası como la relajacion de

la tension del cable para asegurar la estabilidad del vuelo. Las conclusiones del estudio,

basadas en experimentos en un sistema real, son que el primer planificador ofrece una

mayor precision en la navegacion del UAV, a costa de reducir el espacio alcanzable por

este. El segundo planificador permite al UAV alcanzar un mayor numero de posiciones,

pero la precision de vuelo se ve comprometida por el contacto del cable con los obstaculos.

La figura 2.7 muestra el sistema disenado e implementado para el citado artıculo.

A pesar de que actualmente en robotica aerea los quadricopteros y similares son los

mas utilizados por su facilidad de control, los helicopteros autonomos continuan siendo

objetivo de estudio dado que aportan cualidades adicionales a los primeros, como una

Universidad Politecnica de Madrid 15

Page 33: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

Figura 2.7: Sistema disenado por Xiao, Dufek, Suhail y col. [8]

mayor capacidad de carga o autonomıa. Sandino [9] propone una ley de control teorica

de helicopteros autonomos unidos mediante cable a tierra. Como parametro de actuacion,

se regula la tension del cable. Para ello, se propone la implementacion en el sistema de

un mecanismo que se encargue de realizar la regulacion de dicha tension, el cual podra

instalarse tanto en tierra como en el propio helicoptero. Para comprobar cual de las dos

alternativas de posicionamiento del mecanismo ofrecıa mejores resultados, se realizaron

simulaciones para ambos casos. Dichas simulaciones mostraban un mejor control del UAV

en el caso de que el mecanismo estuviera situado en el helicoptero. Aunque el presente

artıculo se trata de un analisis teorico, se utilizo como base para los artıculos que se citan

a continuacion, tambien de los mismos autores.

Aterrizaje

En un artıculo posterior, Sandino, Santamaria, Bejar y col. [10] realiza mejoras sobre

el metodo de control propuesto en el artıculo [9] con el fin de mejorar el rendimiento de los

helicopteros autonomos en el aterrizaje con guiado por cable. Concretamente, sustituye la

estimacion del posicion mediante GPS por una estimacion lineal basada en la altura del

helicoptero y la extension del cable. A partir de la fusion de dicha informacion, se obtiene

un posicionamiento de la aeronave en relacion a la estacion de tierra, lo que permite realizar

un aterrizaje con precision sobre plataformas inmoviles. Adicionalmente, dentro del alcance

de este artıculo se analizo la capacidad de estabilizar el vuelo del helicoptero a traves de

la aplicacion de tension sobre el cable. Durante la experimentacion sobre un sistema real,

se concluyo que, efectivamente, el comportamiento del helicoptero mejoraba si se aplica

tension al cable con respecto al caso de no hacerlo. Para ello, en dichos experimentos, se

sometio a la aeronave a distintas perturbaciones y se midio las respuestas de esta y los

16 Daniel Aldalur Leal - M17279

Page 34: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.1. INVESTIGACIONES Y PUBLICACIONES

tiempos de estabilizacion.

A partir de los dos trabajos anteriores [9] [10], Sandino [11] realiza pruebas en un he-

licoptero real al que se implementa el esquema de control propuesto y al que se somete a

diferentes tipos de perturbaciones. Los resultados de dichas pruebas muestra que, aunque

el cable contribuye a la estabilizacion frente a perturbaciones externas, anade un par no

deseado entre las dinamicas lineales y rotacionales. Ası mismo, dichas pruebas muestran

que la informacion obtenida del cable, orientacion, inclinacion y longitud, permite una es-

timacion de la posicion independiente de la obtenida mediante GPS. La figura 2.8 muestra

el sistema disenado e implementado para el citado artıculo.

Figura 2.8: Sistema disenado por Sandino [11]

Tognon, Testa, Rossi y col. [12] presentan un estudio sobre el aterrizaje y despegue

de quadricopteros en terrenos inclinados, lo que conlleva un mayor dificultad debido a las

perturbaciones causadas por la inclinacion de la superficie. En su artıculo, realizan una

comparativa entre la ejecucion de dichas maniobras en modo de vuelo libre de un UAV con

respecto al caso de unirlo mediante un cable a un punto fijo en el suelo. El control del UAV

se realiza mediante el control de la velocidad de rotacion de cada uno de los rotores. Como

informacion del estado del sistema se utilizar la posicion e inclinacion del drone, ası como

la informacion inercial obtenida a traves de una IMU a bordo del UAV. Los resultados

experimentales indican que la realizacion de las maniobras asistidas con cable mejoran la

Universidad Politecnica de Madrid 17

Page 35: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

estabilidad del drone y reducen los tiempos de ejecucion de las mismas. Adicionalmente, el

sistema de aterrizaje cordado reduce la capacidad de proceso necesaria para la maniobra

de aterrizaje, al permitir realizarlas sin necesidad de utilizar un planificador. La figura 2.9

muestra el sistema disenado e implementado para el citado artıculo.

Figura 2.9: Sistema disenado por Tognon, Testa, Rossi y col. [12]

Alimentacion del UAV

Zikou, Papachristos y Tzes [13] abordan el problema de la baja autonomıa de los UAV

proponiendo un sistema de alimentacion para drones de pequeno tamano mediante un cable

unido a una base fija en tierra. Para ello, proponen el diseno de un carrete motorizado

para el cable, el cual permite la alimentacion de UAV con corriente continua durante el

vuelo. Dicho carrete cuenta, ademas, con dos grados de libertad que permiten enrollar y

desenrollar el cable, ası como rotar carrete con respecto al eje vertical. Junto con el citado

mecanismo, se desarrollo el algoritmo de control del sistema que se encarga de extender y

retraer el cable, ademas de orientarlo en funcion del movimiento del UAV en el espacio.

Este algoritmo utiliza como variables de control la longitud del cable, la tension el mismo

y la altura de vuelo del UAV. Los resultados experimentales del sistema demostraron la

viabilidad del mismo, tanto para controlar el UAV cordado, como para la trasmision de

una tension continua que permita el funcionamiento estable del drone. Sobre este ultimo

punto, cabe resaltar que, a pesar de la longitud relativamente corta de cable, siendo de 8

metros, se observaron fluctuaciones en la tension de alimentacion, si bien no afectaron al

funcionamiento del UAV. La figura 2.10 muestra el sistema disenado e implementado para

el citado artıculo.

18 Daniel Aldalur Leal - M17279

Page 36: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.1. INVESTIGACIONES Y PUBLICACIONES

Figura 2.10: Sistema disenado por Zikou, Papachristos y Tzes [13]

2.1.3. UAVs Cordados entre sı

Las soluciones de robots cordado entre sı estan principalmente destinadas al manejo y

transporte de cargas que no serıan capaces de elevar cada uno de los UAVs por sı solos. En

este tipo de soluciones, la longitud del cable tiende a ser fija, aunque se anade la dificultad

del manejo de la carga en sı.

Tartaglione, D’Amato, Ariola y col. [14] proponen un modelo teorico de control distri-

buido multinivel entre un enjambre de UAV para el transporte de una carga unida a ellos

por medio de un cable. Se propone obtener la trayectoria de la carga mediante un mo-

delo matematico de optimizacion con restricciones y posteriormente inferir la trayectoria

de cada uno de los UAV a partir de la formacion del enjambre. El modelo se basa en la

aplicacion de un control predictivo junto con controladores PID, permitiendo ademas la

esquiva de obstaculos en el espacio. Las conclusiones del artıculo se basan en simulaciones

realizadas sobre el sistema propuesto.

Para la resolucion de un problema similar al anterior, Meissen, Klausen, Arcak y col.

[15] proponen transportar una carga suspendida mediante cables utilizando una formacion

pasiva de UAV. El modelo propuesto se basa en el control de cada uno de los UAV por

separado, a traves de su propio ciclo de retroalimentacion de datos, junto con un control

conjunto que regula la posicion relativa de cada uno de los drones en la formacion. Esta

solucion permite mantener el equilibrio de la carga durante todo el recorrido, consiguiendo

que todos los cables esten en tension. El sistema se ha analizado desde un punto de vista

teorico basado en simulaciones. La figura 2.11 muestra el esquema del sistema robotico en

Universidad Politecnica de Madrid 19

Page 37: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

el que se basa el citado estudio.

Figura 2.11: Esquema del sistema analizado por Meissen, Klausen, Arcak y col. [15]

Al contrario que otros trabajo previos sobre transporte de cargas con varios UAV,

Fagiano [16] presenta un modelo el cual considera que los cables que unen la carga con los

drones son elasticos. Adicionalmente, permite ajustar la longitud de los cables mediante

poleas en los drones, lo que dota al sistema propuesto de una mayor versatilidad para

abordar diferentes tareas. El control propuesto se basa en una aproximacion jerarquica,

con controles independientes para cada drone y su polea, junto con un modelo de control

predictivo de toda la formacion que permite la aplicacion de restricciones operacionales

sobre la misma. El artıculo aborda el problema desde un punto de vista teorico, basando

las conclusiones en simulaciones sobre el modelo dinamico del mismo.

2.1.4. Coordinacion UAV-UGV

El presente apartado describe diferentes algoritmos destinados a la coordinacion de

sistemas roboticos multi-agente compuestos por UAVs y UGVs. Debido a las restricciones

diferenciadas a las que se enfrentan la robotica aerea y la terrestre, la coordinacion entre

ambos tipos de robots implica la utilizacion de algoritmos sean capaces de solventar los

problemas derivados.

Uno de los problemas a los que se enfrentan los sistemas roboticos multiagentes es la

dificultad de coordinar los diferentes robots que lo componen. A este respecto, Hernandez,

20 Daniel Aldalur Leal - M17279

Page 38: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.1. INVESTIGACIONES Y PUBLICACIONES

Copot, Cerquera y col. [17] propone un sistema robotico combinado con dos o mas UGV

y un UAV que actua como observador de la escena. Este ultimo proporciona un punto de

vista adicional sobre las posiciones de los UGV en el espacio. Para ello, el UAV utiliza

informacion de vıdeo de la escena, identificando cada uno de los UGV en la misma y

determinando su posicion y orientacion, lo que permite al sistema una coordinacion precisa

de los agentes terrestres. El sistema esta compuesto un UGV lıder, al cual siguen el resto

de agentes. La figura 2.12 muestra el sistema disenado e implementado para el citado

artıculo.

Figura 2.12: Sistema disenado por Hernandez, Copot, Cerquera y col. [17]

Yulong, Bin, Jie y col. [18] propone un algoritmo de planificacion que optimiza las

trayectoria de vuelo de un UAV en un escenario con multiples UGV, de manera que la

aeronave sea capaz de situarse encima de cada uno de los robots terrestres con la trayectoria

mas eficiente posible. Para ello, el algoritmo se basa en la resolucion del problema del

viajante asociado a la posicion de cada uno de los UGV, determinando el coste de llegar

hasta cada uno de ellos. Para ello, se propone la resolucion del problema en dos fases

diferenciadas: la primera, determinar el orden en el que el UAV debe visitar a los UAV; y

la segunda, optimizar el acceso de UAV a los vecinos de cada UGV. El algoritmo propuesto

no se implementa en un sistema real, sino que los autores evaluan su rendimiento basandose

en simulaciones. La figura 2.13 muestra el esquema del sistema robotico en el que se basa

el citado estudio.

Abaunza, Ibarra, Castillo y col. [19] propone un metodo para el seguimiento de un

UGV por parte de un UAV, de forma que este ultimo sea capaz de trazar trayectorias

circulares alrededor del primero. Este trabajo realiza simulaciones del escenario descrito,

incluyendo las fase de despegue, vuelo y aterrizaje. Los investigadores proponen describir

la trayectoria circular como una serie ecuaciones diferenciales basadas en ciclos lımites.

Universidad Politecnica de Madrid 21

Page 39: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

Figura 2.13: Esquema del sistema analizado por Yulong, Bin, Jie y col. [18]

Adicionalmente, se utilizan cuaternios como unidad de control para estabilizar la rotacion

del UAV durante el seguimiento de la trayectoria. El artıculo aborda el problema desde

un punto de vista teorico, validando las conclusiones mediante simulaciones.

2.1.5. Aterrizaje de UAV guiado por vision

Adicionalmente a los sistemas cordados de guıa para el aterrizaje de UAV, en el es-

tado del arte existen diversas soluciones basadas en la deteccion visual de los puntos de

aterrizaje, realizando el guiado de esta maniobra con dicha informacion. Si bien, estas

investigaciones no coinciden con los objetivos establecidos para el presente proyecto, se

ha considerado importante incluirlas debido a que podrıan servir como base para futuras

mejoras del sistema.

Araar, Aouf y Vitanov [20] proponen una solucion para la estimacion de la posicion

de la plataforma movil desde un UAV volando tanto a alta como baja altura. La solucion

propuesta se basa en la utilizacion conjunta de informacion visual e informacion inercial

obtenida a alta frecuencia. La fusion de ambas informaciones, mediante la aplicacion del

filtro de Kalman, permite realizar un seguimiento preciso de la plataforma, incluso en

condiciones en las que puedan existir oclusiones de corta duracion en la imagen.

Para el aterrizaje de un UAV sobre barcos Xu, Zhang, Ji y col. [21] proponen un

sistema de guiado visual utilizando el espectro infrarrojo. El algoritmo propuesto analiza

las imagenes obtenidas, distinguiendo el objetivo del fondo a traves del uso de los momentos

invariantes de la imagen. Los experimentos realizados muestran que esta tecnica tiene un

tiempo de deteccion del objetivo de aterrizaje reducido, 17,2 ms de media, lo que la hace

22 Daniel Aldalur Leal - M17279

Page 40: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.2. SOLUCIONES COMERCIALES

adecuada para su uso en situaciones reales.

Con un objetivo similar, Rakotomamonjy y Truong [22] proponen una solucion para el

aterrizaje de helicopteros sobre barcos basada en la estimacion de la posicion y velocidad

del barco. Esta informacion alimentan un ciclo de control de dos niveles que se encarga

de compensar tanto el movimiento del propio barco como el generado por las olas. El

ciclo de control exterior, esta basado en la identificacion y posicionamiento de las marcas

visuales del helipuerto en el barco, mientras que el ciclo interno de control esta basado en

la informacion inercial del UAV.

Uno de los problemas principales del guiado basado basado en vision de UAVs es el alto

nivel de ruido que pueden presentar las imagenes debido a las vibraciones transmitidas

desde los motores a la camara. Dentro de este campo, Xu, Qi, Zeng y col. [23] proponen un

algoritmo de deteccion de plataformas moviles, en imagenes con mucho ruido, basado en

la estimacion de la posicion esta mediante el principio del punto de fuga de la imagen. De

esta manera, el balanceo del UAV se obtiene directamente a partir de dicho punto de fuga,

mientras que la guinada se obtiene a partir de la localizacion del objetivo en la imagen.

Otro de los problemas a los que se enfrentan este tipo de tecnicas, es el alto coste

computacional de deteccion de los objetivos. Zhao y Pei [24] proponen un algoritmo SURF

mejorado, que realice la deteccion de los objetivos de forma mas eficiente. Este algoritmo

se basa en tres pasos: en primer lugar se detecta la region que ocupa el objetivo en la

imagen mediante el uso Camshift ; seguidamente, se buscan los puntos caracterısticos de

dicha region de la imagen; por ultimo, se encuentran las asociaciones de puntos entre la

imagen y una plantilla de referencia del objetivo.

2.2. Soluciones Comerciales

Las soluciones comerciales actualmente en el mercado buscan principalmente aumentar

la autonomıa de vuelo de los UAVs, con el fin de poder mantenerlos en el aire durante

periodos prolongados de tiempo para la realizacion de tareas de vigilancia de instalaciones

y lugares. Debido al objetivo de esta aplicacion, este tipo de producto sacrifica la mo-

Universidad Politecnica de Madrid 23

Page 41: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 2. ESTADO DEL ARTE

vilidad de los UAV uniendolos mediante cable a un punto fijo en tierra para alimentar

electricamente al drone.

Adicionalmente, los productos comerciales actuales priman el cumplimiento de la fun-

cionalidad frente a la innovacion tecnologica, por lo que estas soluciones funcionan de forma

teleoperada mediante control remoto. Consecuentemente, carecen de capacidades de vuelo

autonomo mas alla de los bucles de control para la estabilizacion de los UAV. Dentro de

estas categorıas de producto, las companıas NTP Drone, Drone Aviation Corp y Hoverfly

Technologies ofrecen productos similares [25] [26] [27] en cuanto a las caracterısticas de

control del drone y del cable se refiere.

(a) NTP Drone (b) Drone Aviation Corp (c) Hoverfly Technologies

Figura 2.14: Drones comerciales cordados de cada companıa

Consciente de valor que aporta la capacidad de vuelo autonomo del UAV, varias em-

presas han anunciado productos con dicha capacidad. A pesar de ello y debido a que son

futuros lanzamientos, se ha decidido no incluirlos en el presente estado del arte.

2.3. Conclusiones sobre el Estado del Arte

El analisis realizado sobre el estado del arte en referencia a los objetivos perseguidos

en el presente trabajo no ha detectado ninguna solucion que por sı sola de respuesta a la

totalidad de los mismos. Ademas, varios de los trabajos publicados abordan los problemas

unicamente desde el punto de vista teorico o de simulacion, no habiendo implementado

las soluciones que proponen en robots reales.

Por todo ello, el desarrollo realizado y presentado en los siguientes capıtulos, tiene

24 Daniel Aldalur Leal - M17279

Page 42: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

2.3. CONCLUSIONES SOBRE EL ESTADO DEL ARTE

un alto componente innovador al implementar, de forma tanto simulada como real, un

sistema robotico aereo y terrestre capaz de moverse de forma coordinada en el espacio,

con un control activo sobre el cable que une ambos robots, y que ademas permite el

aterrizaje del UAV sobre la plataforma terrestre.

Universidad Politecnica de Madrid 25

Page 43: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 44: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 3

Planificacion y Presupuesto

En el presente capıtulo se detalla la planificacion realizada para la ejecucion del presente

TFM, ası como el coste presupuestado del mismo.

3.1. Planificacion Temporal

La planificacion del presente TFM divide los objetivos a cumplir en multiples tareas,

las cuales se organizan ordenadamente a lo largo del tiempo de ejecucion del mismo. Para

ello, se ha disenado un diagrama de Gantt, el cual se ha utilizado como guıa durante

la realizacion del proyecto. Ası mismo, para la elaboracion de los anteriores puntos, es

importante tener en cuenta las consideraciones y condicionantes que rigen la elaboracion

del presente TFM.

3.1.1. Consideraciones y Condicioantes

Para la realizacion de la planificacion temporal de la ejecucion del presente TFM se

ha tenido en cuenta las fechas de inicio y final previsto del mismo, ası como el tiempo de

dedicacion disponible por parte del autor en los diferentes meses de ejecucion del mismo.

La fecha en la que se inicio el proyecto fue 27 de febrero del presente ano, con una

Universidad Politecnica de Madrid 27

Page 45: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 3. PLANIFICACION Y PRESUPUESTO

fecha de finalizacion prevista del 27 de julio del mismo ano. A lo largo de este periodo, la

disponibilidad del autor para la ejecucion del proyecto varıa debido que lo compatibiliza

con la actividad docente derivada de la ejecucion del Master en Automatica y Robotica.

En el mes de febrero y marzo, el autor tendra un disponibilidad de 4 horas diarias, si bien

habra varias semanas en las que dicha disponibilidad se vera considerablemente mermada

debido al periodo de examenes. Desde el mes de abril hasta la finalizacion del proyecto, el

autor contara con una disponibilidad de 6 horas diarias para la ejecucion del proyecto.

Junto con las fechas y disponibilidad del autor, para la planificacion ha de tenerse en

cuenta el tiempo de ejecucion marcado por parte de la Universidad para la realizacion del

TFM, el cual esta marcado en 12 ECTs, lo que equivale 360 horas de dedicacion.

3.1.2. Desglose de Tareas

A la hora de dividir los diferente objetivos en tareas, se ha establecido el condicionante

de que estas deben ser abordables en un tiempo corto de tiempo, el cual se ha establecido

en menos de 40 horas, y que su ejecucion no se reparta en un periodo de mas de tres

seguidas. Con esta consideraciones, cualquier tarea que durante la fase de planificacion

superara cualquiera de ambos criterios, ha sido dividida en subtareas.

Sin embargo, es importante recalcar que existen dos excepciones a dichas reglas, que

son la documentacion continua y la redaccion de la presente memoria.

La imagen 3.1 muestra las tareas planificadas para la ejecucion del proyecto, incluyendo

el detalle de las fechas previstas de inicio y fin, ası como de las horas estimadas necesarias

para completarlas. Adicionalmente, las tareas se agrupan bajo diferentes categorıas.

28 Daniel Aldalur Leal - M17279

Page 46: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

3.1. PLANIFICACION TEMPORAL

Figura 3.1: Tareas planificadas en la ejecucion del TFM

3.1.3. Diagrama de Gantt

Para poder llevar a cabo una ejecucion ordenada del TFM, se ha planificado una

distribucion de las anteriores tareas a lo largo del tiempo teniendo en cuenta las relaciones

de dependencia entre ellas. Esta organizacion se muestra en el siguiente diagrama de Gantt.

Universidad Politecnica de Madrid 29

Page 47: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 3. PLANIFICACION Y PRESUPUESTO

Figura 3.2: Diagrama de Gantt del TFM - Parte 1

30 Daniel Aldalur Leal - M17279

Page 48: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

3.1. PLANIFICACION TEMPORAL

Figura 3.3: Diagrama de Gantt del TFM - Parte 2

Universidad Politecnica de Madrid 31

Page 49: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 3. PLANIFICACION Y PRESUPUESTO

Figura 3.4: Diagrama de Gantt del TFM - Parte 3

3.2. Presupuesto

Para el calculo del presupuesto del presente TFM se han tenido en cuenta diferentes

conceptos. Por una parte, se contabiliza el coste del personal necesario para la ejecucion

del proyecto, tal y como se muestra en el cuadro 3.1. A este respecto, es importante tener

en cuenta que la dedicacion final del autor a la ejecucion del presente trabajo fue de 380

horas.

32 Daniel Aldalur Leal - M17279

Page 50: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

3.2. PRESUPUESTO

Concepto EUR/h Horas Dedicadas Total

Coste del Tutor 50,00 40 2000,00

Coste del Alumno 20,00 380 7600,00

Cuadro 3.1: Presupuesto de personal

Por otra parte, se contabiliza el coste de las herramientas y materiales necesarios, tal

y como se muestra en el cuadro 3.2. Respecto a dichos costes, se han tenido en cuenta las

siguientes consideraciones:

Debido a que se ha utilizado software libre, no se contempla ningun coste en este

campo.

Unicamente se contemplan los costes de amortizacion de los robots, el AR.Drone 2.0

y el Pioneer 3-AT, derivados del tiempo de uso de los mismos para la ejecucion del

proyecto, debido a que estos eran propiedad de la UPM previamente a la ejecucion

del trabajo.

Concepto EUR/ud Uds Dedicacion Total

HP Probook 450 500,00 1 20 % 100,00

Robot Pioneer 3-AT 10.000,00 1 10 % 1.000,00

Parrot ARDrone 2 400,00 1 50 % 200,00

Placa Arduino 20,00 2 100 % 40,00

Motor MG25 40,00 1 100 % 40,00

Ordenador Pioneer 501,90 1 100 % 501,90

Cuadro 3.2: Presupuesto de materiales

El presupuesto total de la ejecucion del TFM se muestra en el cuadro 3.3.

Universidad Politecnica de Madrid 33

Page 51: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 3. PLANIFICACION Y PRESUPUESTO

Concepto EUR

Coste de Personal 9.600,00

Coste de Materiales 1.881,90

Total 11.481,90

Cuadro 3.3: Total Presupuesto

34 Daniel Aldalur Leal - M17279

Page 52: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 4

Materiales y Herramientas

En el presente capıtulo se describen los materiales y herramientas con los que se ha

llevado a cabo el presente TFM. Estos pueden dividirse en elementos de hardware y en

elementos de software. Los apartados a continuacion incluyen el detalle para cada una de

las categorıas.

4.1. Hardware

A nivel hardware, el presente proyecto a utilizado tres elementos diferenciados:

Plataforma robotica terrestre Pioneer 3-AT, ver figura 4.1], la cual se utiliza tanto

como plataforma de aterrizaje como soporte para el mecanismo del cable.

Robot aereo Parrot AR.Drone 2.0, ver figura 4.2, el cual esta unido mediante el cable

al UGV.

Mecanismo del cable, construido por el autor, que cuenta con un motor y electronica

para controlar el enrolle y desenrolle del cable.

Universidad Politecnica de Madrid 35

Page 53: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 4. MATERIALES Y HERRAMIENTAS

Figura 4.1: Robot terrestre Pioneer 3-AT

4.1.1. Pioneer 3AT

El Pioneer 3-AT se trata de un robot movil terrestre multiproposito con capacidad para

operar tanto en interiores como en exteriores. Fabricado por Mobile Robotics, se trata de

un robot robusto y ampliamente probado, con mas de quince anos en el mercado y que ha

sido utilizado de forma intensiva para la investigacion de robots moviles terrestres.

Construido con una configuracion de cuatro ruedas, cada una de las cuales esta ac-

cionada por un motor independiente, lo que permite un control preciso y robusto de la

velocidad y direccion, ademas de proporcionarle una gran maniobrabilidad. Adicional-

mente, la construccion de las ruedas lo hacen capaz de moverse por terrenos con pequenas

irregularidades, como el asfalto o el adoquinado, lo que permite su operacion en exteriores.

El Pioneer 3-AT lleva un ordenador de a bordo, lo que permite montar programas

para su operacion autonoma ası como capacidad de computo para procesar informacion

proveniente de diferentes fuentes, como sus sensores u otros robots. Durante la ejecucion

del presente proyecto, se decidio sustituir el ordenador original del robot, que tenıa un

procesador Samung a 800Mhz con 1 GB de RAM y 8GB de almacenamiento en una

tarjeta flash, por uno actual, proporcionandole una mayor capacidad de procesamiento y

compatibilidad con sistemas operativos Ubuntu 16 o superiores. Las caracterısticas de este

ordenador se detallan mas adelante en este mismo apartado.

36 Daniel Aldalur Leal - M17279

Page 54: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

4.1. HARDWARE

Este robot tiene capacidades nativas para albergar diferentes tipos de sensores, como

ultrasonidos, camaras o LIDAR. Sin embargo, el modelo utilizado para la elaboracion del

presente proyecto, cuenta con sensores odometricos en las ruedas, GPS e IMU.

Mobile Robotics ha disenado un framework nativo, ARIA, para el Pioneer 3-AT que

permite tanto el control de los motores como el intercambio de datos con el ordenador.

ARIA incluye elementos open source que permiten su integracion con software de terceros,

como por ejemplo, ROS (Robot Operating System).

Respecto a su autonomıa, tiene capacidad para albergar hasta tres baterıas de plomo

de 7,2 Ah, lo que le otorga mas de dos horas de operacion completa sin estar conectado

a la corriente electrica o hasta 24 horas de funcionamiento del ordenador de a bordo, sin

movimiento del robot.

Ordenador Pioneer

Tal y como se ha mencionado anteriormente en el presente apartado, durante la ejecu-

cion del proyecto se sustituyo el ordenador de a bordo original del Pioneer 3-AT por uno

actual. Las caracterısticas del ordenador escogido, son:

Placa base GA-H110N de Gigabyte: permite la instalacion de procesadores de 6a y

7a generacion de Intel; dispone de canales DDR4; tiene 4 puertos USB 2.0, 2 puertos

USB 3.0 y puerto COM nativos; integracion con discos SSD.

Procesador: Intel Core ı5-7500 a 3.40 GHz.

Disco duro: disco SSD M.2 con capacidad de 256 GB.

Memoria RAM: Kingston 8Gb DDR4 2400MHz.

4.1.2. Parrot AR.Drone 2.0

El AR.Drone 2.0 se trata de un quadricoptero volador no tripulado. Esta fabricado por

la companıa Parrot y se trata de un UAV versatil dado que permite tanto su teleoperacion

como dotarle de capacidades de vuelo autonomo.

Universidad Politecnica de Madrid 37

Page 55: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 4. MATERIALES Y HERRAMIENTAS

Figura 4.2: Robot aereo Parrot AR.Drone 2.0

El robot esta construido con un cuerpo central que alberga el microprocesador, las

camaras, los sensores y la baterıa, junto con una estructura en forma de en cruz con un

motor electrico independiente en cada uno de los extremos. Esta configuracion, unida al

sistema de control y de sensores integrados permite un buen control de la estabilizacion

del UAV durante el vuelo.

El AR.Drone 2.0 tiene la capacidad de crear su propia red Wi-Fi o puede configurarse

para que el drone se conecte a redes inalambricas generadas por otros dispositivos, lo que

permite que otros dispositivos se conecten a ella para el control del UAV. Aunque original-

mente fue disenado para ser controlado desde dispositivos Android o iOS, su versatilidad

como robot aereo ha propiciado que se desarrollen sistemas de control adicionales para

otras plataformas entre las que se incluye ROS.

El drone cuenta con dos camaras integradas, una en la parte frontal y otra en la base

del mismo. Gracias a las capacidades de comunicacion inalambricas, es capaz de transmitir

la informacion captada por ellas a elementos externos, tanto para el uso de la imagen en

teleoperacion como en aplicaciones con control por vision por computador.

Ası mismo, el drone cuenta una serie de sensores adicionales para su navegacion y

vuelo. Por un lado, dispone de una unidad inercial de 6 grados de libertad, que permite

aportar informacion sobre su orientacion en vuelo. Junto con este, tambien dispone de un

sensor de ultrasonidos situado en la base del drone, que permite la medicion de la altura

de vuelo del UAV sobre el suelo u otros objetos que estuviera sobrevolando.

Respecto a la autonomıa del UAV, esta es bastante limitada si se compara con la del

UGV. Monta una baterıa de polımeros de litio de tres celdas, con capacidades de entre

38 Daniel Aldalur Leal - M17279

Page 56: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

4.1. HARDWARE

1.000 y 1.500 mA/h dependiendo del modelo, lo que le otorga un un maximo de 12 minutos

de autonomıa en condiciones de vuelo ideales. Adicionalmente, su rango de vuelo se ve

limitado por el alcance de la conexion Wi-Fi, la cual puede llegar entre 50 y 120 metros en

exteriores o verse una mas aun limitada en interiores dependiendo de los obstaculos que

pudiera haber en el entorno.

El sistema informatico integrado del AR.Drone 2.0 se ve limitado por los requerimientos

de poco peso de la construccion del mismo. Tiene un microprocesador ARM9 de 32 bits y

468 MHz, ası como 128 MB de RAM. El drone tiene un sistema operativo de nucleo linux.

4.1.3. Sistema Accionamiento del Cable

Para el desarrollo del presente proyecto, ha sido necesaria la construccion de un meca-

nismo de control del cable que une el UGV y el UAV. En el presente apartado se describen

los elementos individuales que componen dicho mecanismo, cuya configuracion se describe

en el capıtulo 6 Descripcion del Sistema.

Arduino MEGA 2560

Las placas Arduino se enmarcan dentro de un proyecto de electronica open source1.

Estan enfocadas a la creacion de sistemas embebidos en proyectos multidisciplinarios y se

distribuyen bajo la licencia GNU2, lo que permite que estas placas sean fabricadas por

multiples fabricantes.

Arduino MEGA 2560 es un microcontrolador basado en el ARmega2560. Tiene 54

pines digitales de entrada y salida, 16 de los cuales pueden utilizarse como salidas PWM,

16 pines analogicos de entrada, 4 puestos seriales hardware ası como un conector USB.

1Software publicado bajo licencia de codigo abierto la cual permite a los usuarios utilizar, cambiar y

redistribuir dicho software, a cualquiera, para cualquier proposito, tanto de forma modificada o en su forma

original2Licencia Publica General, la cual tiene un doble proposito: por una parte declarar que la publicacion

cubierta por esta licencia es libre, y por otra, protegerlo de intentos de apropiacion que restrinjan esas

libertades a nuevos usuarios cada vez que la obra es distribuida, modificada o ampliada

Universidad Politecnica de Madrid 39

Page 57: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 4. MATERIALES Y HERRAMIENTAS

Figura 4.3: Placa Arduino MEGA 2560

La placa funciona con un voltaje de 5 V con una entrada recomendada de entre 7 y 12

V. Su velocidad de reloj es de 16 MHz, con 8 KB de SRAM y una memoria flash de 256

KB.

Permite una programacion flexible, pudiendo modificar el programa en el microcontro-

lador conectandolo a un PC y utilizando el software proporcionado por Arduino, el cual

es de libre distribucion. Adicionalmente, es capaz de comunicarse en tiempo real con otros

dispositivos Arduino, multiples tipos de sensores y ordenadores. Es importante resaltar

que dispone de una librerıa para su comunicacion con ROS.

Motor EMG 30 y Controladora MD-25

El EMG30 es un motor de 12V con reductora integrada de 30:1, capaz de proporcionar

un par maximo de 1,5 Kg/cm y una velocidad de 170 rpm. Incluye tambien un encoder

de cuadratura que mide el giro del rotor, con una resolucion de 360 pulso por vuelta.

La controladora MD25 se ha disenado para el control del anterior motor y esta formada

por un doble puente H que permite controlar hasta dos motores DMG30. Ademas, permite

su comunicacion con microcontroladores externos a traves de una conexion I2C.

40 Daniel Aldalur Leal - M17279

Page 58: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

4.2. SOFTWARE

(a) Motor EMG 30 (b) Controladora MD-25

Figura 4.4: Motor y controladora del mecanismo del cable

MPU-6050

La IMU MPU-6050 se trata de un sensor inercial que integra un acelerometro y un

giroscopio. Cada uno de los subsensores proporciona 3 DOF, por lo que el MPU-6050

dispone de 6 DOF. El sensor se comunica con el microcontrolador a traves de una comu-

nicacion por bus I2C. Su tension de alimentacion es de bajo voltaje, de entre 2,4 y 3,6

V.

Figura 4.5: Sensor inercial MPU-6050

4.2. Software

A continuacion, se describen los elementos de software que se han utilizado para el

desarrollo del presente proyecto.

4.2.1. Ubuntu 16.04

El sistema operativo utilizado en la solucion desarrollada es Ubuntu 16.04 64 bits. Este

se trata de un sistema operativo de codigo abierto, siendo una distribucion Linux basado

en la arquitectura Debian. Cuenta con el apoyo de una extensa comunidad ademas del

Universidad Politecnica de Madrid 41

Page 59: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 4. MATERIALES Y HERRAMIENTAS

patrocinio de la empresa Canonical, la cual provee mantiene y provee de soporte a esta

distribucion.

En el presente proyecto, Ubuntu se ha sido utilizado tanto para el diseno y programa-

cion de la solucion, como el sistema operativo que mueve la solucion disenada. Para este

segundo caso, Ubuntu ha sido instalado en la UGV Pioneer 3-AT e integrado con el UAV

y el mecanismo del cable a traves de ROS.

La razon de la eleccion de Ubuntu es que es el sistema operativo para el que ha

sido desarrollado ROS, que se describe en el siguiente capıtulo. Adicionalmente, Ubuntu

cuenta con amplias caracterısticas de configuracion, permitiendo una ejecucion por medio

de terminal, es decir, sin interfaz grafica y a traves de comandos texto. Gracias a ello, puede

ejecutarse consumiendo pocos recursos computacionales para el propio sistema operativo,

dejandolos libres para su uso en tareas de procesamiento de elementos propios de la solucion

robotica. Ası mismo, cuenta con capacidades nativas de acceso por terminal desde otros

dispositivos, por lo que pueden enviarse comandos desde otros ordenadores al computador

del robot. Este hecho es especialmente relevante a la hora de realizar pruebas o ejecutar la

mision de los robot en situaciones reales, porque permite realizar ajustes en la configuracion

de forma remota sin necesidad llevar el robot al laboratorio.

4.2.2. ROS Kinectic

Robotic Operating System o, por sus siglas, ROS es un middleware disenado para apli-

caciones de robotica. Se trata de un proyecto open source que cuenta con el apoyo de una

importante comunidad de desarrolladores ası como multiples universidades y centros de

investigacion a nivel global. A pesar de que ROS no se trata de un sistema operativo como

tal, proporciona servicios de abstraccion de hardware, control de bajo nivel de dispositi-

vos, implementa funcionalidades utilizadas habitualmente, permite en envıo y recepcion

de datos entre dispositivos y programas, ası como un sistema de manejo de ficheros.

Figura 4.6: Logo ROS

42 Daniel Aldalur Leal - M17279

Page 60: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

4.2. SOFTWARE

El desarrollo de soluciones en esta plataforma se basa en una estructura de paquetes

que ROS se encarga de organizar cuando esta se ejecuta. Esto permite que cada uno

de los paquetes pueda ser desarrollado de forma independiente de los demas, no siendo

necesario que estos esten integrados a nivel de codigo. Simplemente, es necesario que

aquellos paquetes que han de interactuar entre sı compartan la informacion de forma

ordenada bajo las condiciones de desarrollo definidas, como los tipos de variables o el

nombre la informacion a intercambiar.

Las principales ventajas que aporta ROS como plataforma de desarrollo para aplica-

ciones de robotica son:

Proporciona independencia del lenguaje de programacion al ser capaz de integrar

aplicaciones desarrollas multiples lenguajes, entre los que destacan C++, Python y

Lisp.

Cuenta con amplias librerıas y paquetes ya desarrollados, lo que facilita el desarrollo

de aplicaciones mas completas al poder utilizar trabajos de otros desarrolladores e

investigadores como base para desarrollos posteriores.

Cuenta con potentes herramientas de simulacion y visualizacion desarrolladas para

el, gracias a los cuales pueden reducirse los tiempos necesarios para la ejecucion de

pruebas y la depuracion del codigo.

Es multiplataforma y permite un control distribuido, por lo que se pueden crear solu-

ciones distribuidas a lo largo de multiples robots, ordenadores y microcontroladores.

Respecto al funcionamiento de una aplicacion desarrollada en ROS, este se basa en los

siguientes puntos:

Una estructura de nodos, cada uno de los cuales representa un programa encargado

de algun o varios aspectos concretos de la solucion.

Los diferentes nodos se comunican entre sı publicando mensajes, que contienen di-

ferentes tipos de variables y que estan identificados bajo un topic.

Universidad Politecnica de Madrid 43

Page 61: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 4. MATERIALES Y HERRAMIENTAS

Los topic permiten que el nodo principal de ROS, llamado roscore, pueda coordinar

los mensajes enviados por cada uno de los nodos para que lleguen a aquellos nodos

que sean sus receptores. Esto se hace a traves de un sistema de publishers y subscriber.

Adicionalmente, los nodos pueden proporcionar acciones y servicios a otros nodos,

los cuales constituyen la ejecucion de tareas programadas, como por ejemplo el pro-

cesamiento de una imagen.

La version de ROS utilizada para el desarrollo del presente proyecto es Kinetic. La razon

de la eleccion de esta version es porque en el momento de inicio de los trabajos, se trataba

de la ultima version LTS, con soporte a largo plazo, disponible. Otro punto a favor, es que

gracias a que lleva mas de anos en distribucion, la gran mayorıa de los paquetes de apoyo de

ROS ya han sido migrados a ella, lo que evita errores por incompatibilidades de versiones.

Adicionalmente, se trata de al unica version LTS de ROS desarrollada especıficamente

para Ubuntu 16.04.

Gazebo

Gazebo es un simulador dinamico en 3D disenado para trabajar con ROS. Permite

llevar a cabo simulaciones precisas y eficientes de robots, tanto en entornos interiores

como exteriores, siendo capaz de simular formas, fısicas, colisiones e informacion captada

por lo sensores.

Figura 4.7: Logo Gazebo

Rviz

Es un visualizador 3D de los datos proporcionados por los sensores y el estado de la

informacion de ROS. Permite visualizar en el ordenador la informacion captada por el

sistema robotico, representando la misma segun los diferentes sistemas de coordenadas

incluidos en la solucion.

44 Daniel Aldalur Leal - M17279

Page 62: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

4.2. SOFTWARE

Figura 4.8: Logo Rviz

Universidad Politecnica de Madrid 45

Page 63: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 64: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 5

Analisis del Problema

El diseno de una solucion de efectiva ingenierıa parte del analisis del problema a re-

solver, dado que esto permite la acotacion y comprension del mismo. El presente capıtulo

recoge el analisis realizado sobre la problematica del proyecto, dividiendose en los siguien-

tes apartados:

Descripcion general de la problematica, abarcando los multiples aspectos de esta.

Debido a la importancia del cable y su fısica dentro del sistema robotico, se realiza

un analisis con mayor profundidad sobre el mismo, presentando la base teorica y

experimental concerniente a este y su fısica.

Por tratarse de un sistema robotico, ha de analizarse tambien las necesidades de

sensorizacion ası como los dispositivos necesarios para extraer e interpretar dicha

informacion sobre el mundo fısico.

5.1. Vision General del Problema

La solucion a disenar ha de enfrentarse a los problemas que presentan los UAV y UGV

por separado, ası como los retos que genera un sistema colaborativo entre robots junto con

Universidad Politecnica de Madrid 47

Page 65: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

los derivados de las restricciones debidas a que el UGV y el UAV esten unidos mediante

un cable. Los principales problemas derivados de esta situacion son:

Debido a que ambos robots estaran conectados mediante una union fısica, es impor-

tante asegurar la estabilidad del drone en todo momento, siendo este la parte mas

vulnerable del sistema tanto la diferencia de tamano como por el hecho de estar en

vuelo. Por ello, es importante evitar tirones en el cable, generados por cualquiera de

los robots, y que el UGV ejerza fuerzas desestabilizadoras sobre el UAV.

El propio cable representa un punto de vulnerabilidad, especialmente en el caso de

utilizar uno muy ligero. Por ello, relacionado con el punto anterior, es necesario evitar

tensiones sobre el cable que comprometan su integridad fısica.

Debido a que el cable supone una union no rıgida entre los robots, la sensorizacion

del mismo representa un reto en sı mismo. Maxime, cuando la solucion planteada

requiere de una medicion con precision de varios parametros del cable para poder

realizar un guiado efectivo de los robots del sistema.

Unido al anterior punto, para que las mediciones de los parametros medidos del cable

sean validas, se requiere que este se mantenga constantemente en tension, evitando

que pierda rigidez y, por lo tanto, las mediciones sean equıvocas.

Como suma de todos los anteriores puntos, es necesario lograr una coordinacion

efectiva del movimiento del UAV, UGV y el cable, estableciendo algoritmos de control

que mantengan a los tres elementos dentro de los rangos optimos.

Dado que el UGV y UAV poseen caracterısticas y capacidades de movimiento dife-

rentes, un sistema de este tipo debe evitar que alguno de los robots conduzca al otro

por una ruta imposible para este ultimo.

La union cordada anade un elemento de complejidad extra a la planificacion de las

rutas de los robots, dado que ha de asegurarse que este no se enrolle con posibles

obstaculos que hubiera en el entorno.

Adicionalmente a los anteriores puntos, los objetivos establecidos para el proyecto

anaden la problematica del aterrizaje de UAV sobre la plataforma terrestre:

48 Daniel Aldalur Leal - M17279

Page 66: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

5.2. FISICA DEL CABLE

Realizar el aterrizaje con la plataforma terrestre inmovil pone a prueba los elementos

presentados anteriormente, siendo necesario mantener una sensorizacion efectiva del

cable, la tension del mismo y un control preciso de este y del UAV.

El aterrizaje en movimiento anade una componente de dificultad adicional a lo an-

terior, dado que ha de tenerse en cuenta la posicion futura del UGV para lograr un

aterrizaje con precision sobre el mismo.

El desarrollo de la presente solucion requiere, ademas, del diseno un diseno mecanico

robusta, efectivo y de bajo coste para lograr la competitividad del sistema.

Por ultimo, aunque no por ello menos importante, el sistema debe lidiar con los retos

propios de cualquier sistema robotico cooperativo como son el mantener una comunicacion

continua entre los robots y el lograr que estos trabajen de forma coordinada en todo

momento.

5.2. Fısica del Cable

El principal efecto de la union cordada entre el UAV y UGV es la aparicion de un

intercambio de fuerzas entre ambos robots, siendo este hecho altamente relevante, dado

que afecta al control de los agentes.

A pesar de que las fuerzas afectan a ambos robots del sistema, podemos despreciar las

ejercidas sobre el UGV debido a que la masa de este y la fuerza de los motores del mismo

superan en dos ordenes de magnitud a las fuerzas ejercidas por el UAV. El Pioneer 3-AT

tiene un peso de 12 kg y sus motores pueden llegar a generar un par capaz de mover 10 kg

adicionales de carga. Por el contrario, el AR.Drone 2.0 tiene unicamente un peso de 380

gramos, contando con una capacidad de carga maxima de 120 gramos.

Sin embargo, este mismo hecho provoca que el UGV puede ejercer fuerzas sobre el

UAV excedan la capacidad de reaccion de este ultimo. Esto podrıa afectar al control del

mismo, pudiendo llevarlo a situaciones de inestabilidad que provoquen incluso que este se

estrelle. Por lo tanto, es crıtico que el que control disenado para el sistema robotico, evite

Universidad Politecnica de Madrid 49

Page 67: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

dichos excesos en la transmision de las fuerzas.

A continuacion, se analizaran las fuerzas ejercidas sobre el UAV. La figura Diagrama de

fuerzas del sistema [7] muestra el diagrama de fuerzas que actuan sobre el UAV, supuesto

un modelo planar. Este diagrama se basa en el propuesto por Nicotra, Naldi y Garone

en la Fig. 1 de su artıculo [7]. Sobre el diagrama original, el cual fue propuesto para un

UAV cordado a un punto fijo en el suelo y en el cual se desprecia el peso del cable, se ha

anadido la velocidad propia de la UGV, ademas de considerarse el peso del cable.

Figura 5.1: Diagrama de fuerzas del sistema [7]

A continuacion, se detalla la nomenclatura utilizada para la representacion de las

diferentes variables fısicas y las asunciones realizadas sobre el sistema fısico.

Nomenclatura

Se considera que el UAV una tiene una masa ”m” y un momento de inercia I” y que

esta fısicamente conectado al UGV mediante un cable con una longitud ”L”, siendo todas

las magnitudes anteriores mayores que 0. Sean la posicion radial r” mayor que 0 y el

50 Daniel Aldalur Leal - M17279

Page 68: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

5.2. FISICA DEL CABLE

angulo de inclinacion ”α ∈ [0, π”] las coordenadas polares del UAV y ”θ” el cabeceo del

UAV con respecto al plano del suelo.

Ası mismo, se considera que el UGV tiene una masa ”mUGV ”, mientras que la masa

del cable es ”mcable” y que este tiene un momento de inercia ”Icable”, con todas estas

magnitudes mayores que 0. Adicionalmente, se considera una tension ”T” del cable, la

cual es mayor o igual a 0.

Todo el sistema se ve afectado por la fuerza de gravedad g. El UAV cuenta con em-

puje ”u1” mayor que 0 y un par ”u2”. El UGV tiene una velocidad ∈ R. Sobre el cable

mecanismo del cable actua un par u3 y se considera un momento de inercia ”κ” para la

bobina en la que se enrolla el cable.

Asunciones

Se realizan las siguientes asunciones sobre el modelo fısico del sistema:

1. No se considera la dinamica de las helices del UAV, ni rozamientos del UGV o del

mecanismo del cable.

2. El cable es inextensible y carece de capacidad de compresion. Adicionalmente, esta

atado al centro del gravedad del UAV. Como se ha detallado anteriormente en este

mismo apartado, se considera que tiene una masa”mcable” y un momento de inercia

”Icable”.

3. La viscosidad del aire es despreciable.

5.2.1. Capacidad de Carga del AR.Drone 2.0

El UAV AR.Drone 2.0 cuenta con una capacidad reducida para cargar con peso adicio-

nal, siendo capaz de levantar 120 gramos ademas de su propio peso en el caso volar sin la

carcasa de proteccion u 80 gramos si la lleva. Debido a ello, el peso del cable es un factor

importante en el comportamiento del sistema, dado que un peso excesivo de este debido,

bien a su densidad o a la longitud del mismo, afectarıa al vuelo del UAV.

Universidad Politecnica de Madrid 51

Page 69: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

El cuadro 5.1 muestra la longitud teorica maxima del cable que el AR.Drone 2.0 es

capaz de cargar durante el vuelo para las distintas densidades de cable probadas:

Densidad Cable [g/m] Seccion Cable [mm]Longitud Maxima [m]

Sin carcasa Con carcasa

5 g/m 0,6 mm 24 m 16 m

16 g/m 1,7 mm 7,5 m 5 m

23 g/m 3,0 mm 3,6 m 5,4 m

Cuadro 5.1: Capacidad de carga teorica del UAV

Es importante resaltar que la densidad de 23 g/m equivale a la que tendrıa un cable

de alimentacion para el AR.Drone 2.0.

5.2.2. Pruebas de Carga del UAV con Cable

Adicionalmente a los calculos detallados en el apartado anterior, se han realizado prue-

bas experimentales del comportamiento del AR.Drone 2.0 cargando con los diferentes tipos

de cable. Las pruebas realizadas han consistido en:

La realizacion de vuelos teleoperados, en los que se ha atado los diferentes tipos de

cables al centro de gravedad UAV, dejando el otro extremo del cable libre.

Una vez el UAV alcanza un vuelo estable, se somete a un tiron en el cable para

evaluar el comportamiento del drone ante las fuerzas ejercidas.

El principal objetivo de dichas pruebas consistio en analizar la estabilidad del vuelo del

UAV y confirmar su capacidad para cargar con los valores teoricos de longitud maxima de

cable. A continuacion, se detallan las observaciones realizadas en las diferentes pruebas.

Cable 5 g/m sin carcasa

Capacidad de vuelo: no se aprecian diferencias significativas en el vuelo del AR.Drone

52 Daniel Aldalur Leal - M17279

Page 70: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

5.2. FISICA DEL CABLE

2.0 comparando con el vuelo sin carga.

Reaccion frente a perturbaciones: estas provocan inestabilidades leves en el vuelo

que son rapidamente corregidas, en menos de 2 segundos, por el control del UAV,

estabilizando tanto las oscilaciones como la altura de vuelo.

Cable 5 g/m con carcasa:

Capacidad de vuelo: no se aprecian diferencias significativas comparandolas con el

vuelo del UAV con carcasa pero sin otra carga adicional. Notese, que el vuelo con

carcas del AR.Drone 2.0 tiene un rendimiento significativamente peor que al volar

sin ella, tanto en la altura alcanzada como en la velocidad de reaccion a las senales

de control.

Reaccion frente a perturbaciones: estas provocan una perdida significativa de altura

en el vuelo, cercanas a 1 metro de media segun los sensores del AR.Drone 2.0. Las

oscilaciones provocadas tardan mas en corregirse que en el caso anterior, entre 3 y 4

segundos.

Cable 16 g/m sin carcasa:

Capacidad de vuelo: la velocidad de ascenso vertical se reduce a la mitad, ademas

de sufrir ocasionales perdidas de altura de hasta 0,5 metros durante el vuelo.

Reaccion frente a perturbaciones: estas pueden provocar mayores perdidas de altura,

de hasta 1 metro segun los sensores del AR.Drone 2.0. El UAV sigue estabilizando

las oscilaciones en el vuelo en un tiempo entre 3 y 4 segundos.

Cable 16 g/m con carcasa:

Capacidad de vuelo: esta se ve seriamente comprometida, siendo incapaz de superar

una altura de vuelo de mas de 1,5 metros. Tampoco es capaz, ademas, de mantener

esta altura de forma estable, sino que sufre continuos ciclos de perdida y recuperacion

de altura.

Universidad Politecnica de Madrid 53

Page 71: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

Reaccion frente a perturbaciones: se agravaban los problemas de la estabilidad en el

vuelo descritos. Ocasionalmente pueden provocar que el UAV acabe chocando contra

el suelo.

Es importante resaltar que se descarto la realizacion de pruebas con el cable de densidad

de 23 g/m debido a los resultados del vuelo del UAV con el cable de 16 g/m. Estos ultimos

resultados no fueron lo suficientemente satisfactorios como para asegurar una solucion

robusta, por lo que la adicion de un peso mayor unicamente los empeorarıa.

5.2.3. Alimentacion del AR.Drone 2.0 mediante Cable

Tal y como se detalla en el apartado 1.1 Motivacion, la posibilidad de alimentar el

UAV desde la plataforma terrestre constituye un elemento de mejora de alto interes, dado

que ampliarıa su autonomıa de vuelo. Para comprobar la viabilidad de la implementacion

de esta alimentacion en el presente proyecto, se conecto el AR.Drone 2.0 a la salida de la

alimentacion de 12 V del Pioneer 3-AT. Sin embargo, a pesar de que el AR.Drone 2.0 se

inicia con normalidad, las comprobaciones de seguridad que este implementa evitan que

alce el vuelo. Concretamente, se activa la alerta de ausencia de baterıa del AR.Drone 2.0,

cortando inmediatamente la corriente hacia los rotores del UAV.

5.2.4. Conclusiones sobre el Cable

Para el diseno de la solucion se van a tomar como referencia los resultados empıricos

de las pruebas de carga del UAV descritos en el subapartardo anterior. En vista de los

resultados, se descarta el uso de los cables con densidad de 16 y 23 g/m, dado que afectan

seriamente a la capacidad de vuelo del UAV

Por razones similares, se descarta el uso de la carcasa de proteccion del AR.Drone 2.0,

dado que el UAV tiene un rendimiento muy superior cuando vuela sin carcasa con respecto

a cuando esta esta montada.

Adicionalmente, los resultados de las pruebas de alimentacion del drone desde el UGV

impiden la utilizacion de esta alternativa durante la ejecucion del presente proyecto, debido

54 Daniel Aldalur Leal - M17279

Page 72: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

5.3. SENSORIZACION DEL CABLE

a que deberıa abordarse el problema de evitar las comprobaciones de seguridad indicadas

en el apartado 5.2.3. Sin embargo, tal y como se detalla en el apartado 10.2 10.2, se

considera que podrıan constituir una lınea futura de desarrollo de alto interes.

Por lo tanto, para el diseno de la solucion robotica, se utilizara el cable de densidad de

5 g/m, volando el UAV sin su carcasa de proteccion.

5.3. Sensorizacion del Cable

El cumplimiento del objetivo de coordinacion entre el UAV y el UGV, de manera que no

se comprometa la integridad del cable, requiere de la extraccion de diferente informacion

sobre el cable. Concretamente, las principales magnitudes que pueden medirse de este,

desde el punto de vista del cumplimiento de los objetivos del proyecto, son: su longitud,

su orientacion con respecto al eje Z del sistema de referencia del UGV, su inclinacion con

respecto al plano del suelo y la tension del cable.

La mayor problematica para la sensorizacion del cable proviene en que este no es un

elemento rıgido, sino que es capaz de plegarse sobre sı mismo sin oponer fuerzas en contra

de este hecho. Por lo tanto, el cable solo impide que los robots se separen mas que su

longitud, pero no evita que estos se acerquen. Este hecho provoca que la informacion

obtenida de los sensores pudiera ser relevante para el control del sistema.

Una posible solucion a este problema consistirıa en implementar un control del sistema

robotico que asegure que el cable permanezca tenso en todo momento, de manera que la

forma del mismo se aproxime a una lınea recta. Mediante este metodo, la longitud del

cable marcarıa la distancia entre UAV y la plataforma, lo que junto con la orientacion e

inclinacion del cable permitirıan estimar la posicion relativa entre el UAV y el UGV. Sin

embargo, tal y como se expone en el siguiente sub-apartado, no es factible la implemen-

tacion de es control en el sistema fısico debido a las restricciones derivadas del modelo de

UAV utilizado.

Universidad Politecnica de Madrid 55

Page 73: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

5.3.1. Sensores Implementados para la Medicion del Cable

A continuacion, se describen los sensores implementados para la medicion de cada una

de las magnitudes senaladas.

Longitud

Esta magnitud se mide mediante el encoder incremental que incorpora el motor EMG-

30. Mediante este, se cuenta el numero de vueltas que gira la bobina del cable, aproximando

la longitud del cable mediante el siguiente polinomio:

L = nvueltas ∗ncapas∑i=0

(lpor vuelta − kreduccion capa ∗ i);

siendo lpor vuelta = 0.015 m, kreduccioncapa = 0.001 m.

Cada vuelta de la bobina del cable equivale a 360 pulsos del encoder.

Los valores del polinomio han sido ajustados empıricamente. Ası mismo, se han

realizado pruebas para medir su precision, estimando un error menor del 3 % en

longitudes del cable inferiores a 3 metros.

Orientacion e Inclinacion

La medicion de estas magnitudes puede realizarse por medio de dos metodos diferentes:

Medicion directa mediante una unidad de medicion inercial o IMU.

Calculo de las mismas a traves de la estimacion de las poses del UAV y el UGV.

La medicion mediante IMU resulta un metodo mucho mas preciso para la medicion

de ambas magnitudes. Sin embargo, es necesario que el cable este tenso para que las

mediciones obtenidas sean representativas del sistema robotico. En el caso de no estarlo,

56 Daniel Aldalur Leal - M17279

Page 74: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

5.3. SENSORIZACION DEL CABLE

la IMU medirıa unicamente la orientacion e inclinacion de una seccion del cable, lo que no

permitirıa estimar posicion del UAV con respecto al UGV, que es realmente la informacion

necesaria para el control del sistema robotico. Adicionalmente, este tipo de sensores pueden

fallar en el caso de que ocurran movimientos bruscos, como los debidos a tirones.

Por su parte, la precision del calculo a partir de las poses de los robots esta limitada

por la precision de la estimacion de estas ultimas. Debido a que para la ejecucion del

presente trabajo, unicamente se dispone de los sensores odometricos e inerciales de los

robots para la estimacion de sus poses, la precision de estas medidas es baja. Ademas de

ello, tienen un error acumulativo que hace que las medidas sean cada vez menos precisas

a lo largo del tiempo.

A continuacion, se describen ambos metodos.

Medicion Mediante IMU

Ambas magnitudes pueden medirse utilizando una unica IMU, gracias a que este tipo

de sensor es capaz de dar informacion angular respecto a tres ejes diferenciados. Para

obtener una medida fiable, tiene importancia crıtica la adecuada colocacion fısica de este

sensor. Por tratarse de un cable cuya longitud variara en funcion del control que se realice

sobre el, se ha decidido hacer pasar este a traves de un tubo flexible de plastico colocado

en el centro de la plataforma de aterrizaje. A su vez, la IMU se instalara acoplado a dicho

tubo, de forma que el sistema de referencia del sensor coincida con el del UGV. Gracias a

la baja resistencia a deformaciones elasticas de este tubo, este adopta tanto la inclinacion

como la orientacion del cable cuando este ultimo este tenso.

La IMU implementada, un sensor MPU-6050 que proporcionan mediciones de los movi-

mientos transnacionales y rotacionales. A partir de estas mediciones, se utiliza el algoritmo

propuesto por Madgwick [28] dado que permite realizar una fusion sensorial eficiente de

estas medidas inerciales. El algoritmo utiliza una representacion en quaternios de dichas

mediciones, lo que permite su derivacion analıtica y la aplicacion del metodo del gradiente

para el calculo del error del giroscopio. Las ventajas de este metodo son su bajo coste

computacional y su efectividad a bajas frecuencias de lecturas del sensor. Como resultado

Universidad Politecnica de Madrid 57

Page 75: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

de la fusion sensorial, el algoritmo devuelve la rotacion actual de la IMU con respecto al

sistema de coordenadas inicial.

A partir de esta informacion, se calcula las magnitudes de orientacion e inclinacion

mediante las siguientes formulas:

θ = arctan (cos β, cos α)

ψ = mın (sen β, sen α)

siendo ψ la orientacion del cable, θ su inclinacion, α la medida de rotacion de la IMU

sobre el eje X, β la medida de rotacion sobre el eje Y.

Estimacion a traves de las Poses del UAV y el UGV

Este metodo no proporcionara una medida referente al cable, sino que su objetivo es

determinar la orientacion e inclinacion del UAV con respecto al UGV en el sistema de

referencia de este ultimo. Para ello, conociendo las poses de ambos robots en el sistema de

referencia del mundo, puede transformarse la pose del UAV a la base del UGV. En el pre-

sente proyecto, esto se realiza mediante la herramienta tf de ROS. Posteriormente, pueden

calcularse las magnitudes de orientacion e inclinacion mediante las siguientes formulas:

θ = arctan (yUAV , xUAV )

ψ = arc sen ( zUAV√(xUAV )2 + (yUAV )2 + (zUAV )2

)

siendo xUAV , (yUAV , (zUAV las coordenadas de la posicion del UAV en los ejes X, Y,

Z del sistema de referencia del UAV.

Tension

A pesar de que la medicion de esta magnitud proporcionarıa una informacion util sobre

el sistema, permitiendo conocer si el cable esta tenso o no y permitirıa de poder llevar a

58 Daniel Aldalur Leal - M17279

Page 76: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

5.3. SENSORIZACION DEL CABLE

cabo el mencionado control en fuerza del sistema, se ha descartado su medicion.

Esto se debe a que para poder medir esta magnitud, es necesario la instalacion de un

sensor de medicion de fuerza de traccion en el cable. El lado del UGV al que se une el

cable esta formado por una bobina de cable que gira sobre sı misma, como se detalla en

el apartado 6.2, lo que impide que dicho sensor sea instalado ahı. Por ello, este debera

instalarse en la union del cable al UAV.

El tener que instalar dicho sensor en el AR.Drone 2.0 junto con una placa controladora

con capacidad de transmision wi-fi e incluir una estructura de soporte para ambos que los

una al drone, supondrıa un peso adicional equivalente al de la carcasa de proteccion de este

modelo de drone. En vista de los resultados de las pruebas de carga realizadas, detalladas

en el apartado 5.2.2, este peso afectarıa sensiblemente a la estabilidad de vuelo del drone.

Adicionalmente, hay que tener en cuenta que la medicion de la tension del cable solo

da una informacion significativa cuando este esta tenso. Para conseguir este hecho, es el

AR.Drone 2.0 el agente que debera generar la fuerza necesaria para tensar el cable, lo que

supone una carga adicional para los propelentes del mismo, traduciendose en una peor

estabilidad del vuelo.

Por lo tanto, los hechos anteriores imposibilitan la medicion de esta magnitud con este

modelo de drone, que es, sin embargo, el que se dispone para la realizacion del proyecto.

Es por ello que se ha tomado la decision mencionada.

5.3.2. Estimacion de la Posicion del UAV

Disponer del cable tenso permite la estimacion de la posicion relativa entre el UAV

y UGV utilizando la mediciones de las magnitudes longitud del cable, orientacion con

respecto al eje Z del UGV e inclinacion con respecto al plano del suelo. Debido a la

imposibilidad de la instalacion de un sensor de fuerza, por las razones expuestas, no puede

implementarse un control que mantenga el cable tenso durante el seguimiento del UAV

por parte del UGV. Sin embargo, para la maniobra de aterrizaje sı que es posible asegurar

la tension del cable, dando al UAV una velocidad lineal el eje Z constante y mayor que

Universidad Politecnica de Madrid 59

Page 77: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 5. ANALISIS DEL PROBLEMA

cero, lo que provoca su ascenso, a la vez que se recoge el cable.

Gracias a este hecho, las distancias relativas entre el UAV y UGV pueden hallarse

mediante las siguientes ecuaciones:

~d =

dx = L ∗ cos θ ∗ cos ψ

dy = L ∗ cos θ ∗ senψ

dz = L ∗ sen θ

siendo ~d = [dx, dy, dz], L la longitud del cable, ψ su orientacion y θ su inclinacion.

Con respecto a la simulacion del sistema, debido a que el cable se simula median-

te uniones prismaticas de multiples cilindros, tal y como se detalla en el apartado 6.3

Sistema Simulado, este tiene siempre forma de lınea recta. Por lo tanto, sı puede utili-

zarse las anteriores ecuaciones para la estimacion de la posicion relativa entre el UAV y

el UGV en todas las fases de la coordinacion del sistema robotico simulado: seguimiento,

aterrizaje y esquiva de obstaculos. Estas fases se describen en el apartado 7.3 Algoritmos

Implementados.

60 Daniel Aldalur Leal - M17279

Page 78: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 6

Descripcion del Sistema

En este capıtulo se presenta los sistemas fısico y simulados implementados para cumplir

con los objetivos establecidos para el proyecto.

En primer lugar, se muestra una vision general de la solucion disenada, ası como los

principios, asunciones y restricciones tenidos en cuenta.

Posteriormente, se presenta la implementacion fısica del sistema real para cumplir

con los requisitos, describiendo los diferentes elementos que componen este.

Posteriormente, se detallara la simulacion realizada de este sistema fısico en el en-

torno ROS y el simulador Gazebo, el cual facilita la realizacion de pruebas y depu-

racion de los programas y algoritmos desarrollados.

Adicionalmente a la informacion contenida en el presente capıtulo, el detalle de la

solucion completa se complementa con la informacion relativa a la algoritmia, los paquetes

de ROS implementados y las pruebas realizadas las cuales se detallan posteriormente en

los capıtulos 7 ”Algoritmia y Maquina de Estados, 8 Estructura de la Solucion en ROS y

9 ”Experimentos y Resultados” respectivamente, ademas de la informacion ya descrita en

el capıtulo 5.1 Vision General del Problema.

Universidad Politecnica de Madrid 61

Page 79: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 6. DESCRIPCION DEL SISTEMA

6.1. Vision General de la Solucion

La solucion disenada consiste en la integracion en un unico sistema robotico colabo-

rativo un UAV, un UGV y un cable con control activo que une ambos robots. Para ello

se implementan una serie de algoritmos cuya finalidad es la coordinacion de los diferentes

agentes que componen la solucion, evitando tensiones en el cable que desestabilicen el

vuelo del UAV o comprometan la integridad del cable.

Para el desarrollo de la solucion se ha optado por descartar la utilizacion de algoritmos

de vision por computador, con el proposito de disenar una solucion ligera desde el punto de

vista de coste computacional. La informacion que se utilizara para el control del sistema

provendra de sensores odometricos e inerciales de los robots, ası como de la sensoriza-

cion implementada en el cable. Esta independencia de la solucion de metodos de vision

por computador, permitirıa aumentar la robustez de futuros sistemas que implementasen

ambos metodos, al disponer de informacion proveniente de fuentes diferentes.

Las principales claves de la solucion disenada son:

El UAV actua como agente principal, siendo el UGV el que sigue a este mediante el

algoritmo del Modo de Seguimiento. Como parte de los objetivos del presente pro-

yecto, el sistema debera cumplir con las siguientes restricciones. Dichas restricciones

son configurables mediante los parametros de lanzamiento de la solucion:

• Proyeccion maxima de la distancia entre ambos robots sobre el plano del suelo.

• Longitud maxima del cable.

• El algoritmo controla el sistema para que ambas magnitudes no superen los

lımites establecidos. Sin embargo, en el caso de que alguna de ellas alcanzara

dicho lımite, se incorporan mecanismos de emergencia en el sistema robotico.

Para la alimentacion de los algoritmos de control, se utiliza la informacion proceden-

tes de los sensores odometricos e inerciales de ambos robots junto con los instalados

en el cable. Estos ultimos miden la longitud del cable, ası como su orientacion e

inclinacion con respecto al plano del suelo.

62 Daniel Aldalur Leal - M17279

Page 80: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

6.2. SISTEMA FISICO

Es posible realizar tanto un control teleoperado del UAV como el movimiento au-

tomatico del mismo hasta las coordenadas que se indiquen.

Las variables de control del sistema son:

• UAV: posicion y orientacion del UAV en el sistema de referencia del mundo.

• UGV: posicion y orientacion del UGV en el sistema de referencia del mundo.

• Cable: longitud del mismo.

Las variables de manipulacion sobre la que actuan los controladores del sistema son:

• UAV: velocidad lineal en sus ejes X, Y y Z, ası como la velocidad angular con

respecto al eje Z.

• UGV: velocidad lineal en su eje X y velocidad de angular con respecto a su eje

Z.

• Cable: velocidad y sentido de giro del motor del mecanismo del cable.

Adicionalmente, para el caso particular de la simulacion del sistema, se implementa

un algoritmo de esquiva de obstaculos. La deteccion de obstaculos se realiza mediante

la comparacion de la diferencia entre la altura de vuelo del UAV, dada por los sensores

de ultrasonidos del mismo, y la estimacion de la posicion del UAV obtenida con la

informacion de la sensorizacion del cable.

No se controla la tension del cable.

6.2. Sistema Fısico

El sistema robotico presentado puede dividirse en tres componentes diferenciados:

Mecanismo del cable: disenado expresamente para el presente proyecto. Permite

realizar un control activo de la extension del cable, ası como extraer informacion del

mismo a traves de los sensores instalados.

Plataforma robotica terrestre: la cual incluye ligeras modificaciones para permitir al

UAV un aterrizaje seguro, ademas de ser el anclaje del mecanismo del cable.

Universidad Politecnica de Madrid 63

Page 81: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 6. DESCRIPCION DEL SISTEMA

Drone: el cual ha sido unido al cable sin modificaciones.

Los tres elementos se encuentran unidos entre sı. Por una parte, la base del mecanismo

del cable se atornilla al UGV, haciendo pasar el cable a traves del centro de la plataforma

robotica. Por otra parte, el cable se ata al drone en su centro de gravedad, de forma que

este ve limitados sus movimientos en funcion de la longitud del cable y de las fuerzas

ejercidas.

La figura 6.4 muestra el sistema robotico completo disenado para el desarrollo del

presente proyecto.

Figura 6.1: Imagenes del sistema robotico completo

A continuacion, se describen en detalle los elementos fısicos mencionados.

Mecanismo del Cable

Tal y como se ha senalado, el mecanismo del cable ha sido disenado expresamente

para el presente proyecto, el cual se muestra en la figura 6.2. Este consta a su vez de las

siguientes partes:

Sistema de traccion del cable: tiene la funcion de recoger o extender el cable segun

la senal del controlador del sistema. Esta compuesto por el motor EMG-30 y la

controladora MD-25, descritos en el apartado 4.1.3, ademas del carrete en el que

se enrolla el cable y un eje de aluminio. Este ultimo se encarga de transmitir las

fuerzas generadas por el motor al carrete y, consiguientemente, al cable. La recogida

64 Daniel Aldalur Leal - M17279

Page 82: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

6.2. SISTEMA FISICO

y extension del cable es accionada por el motor, permitiendo establecer con precision

la longitud del mismo. Se ha optado por esta solucion, en detrimento de una extension

y recogida pasiva, para poder tener el control completo del sistema y evitar fuerzas

no controladas sobre el UAV ganando en precision en la ejecucion de la mision.

Adicionalmente, el motor EMG-30 cuenta con un encoder incorporado, que permite

determinar el numero de vueltas de carrete y, con ello, estimar la longitud extendida

del cable.

Soporte del sistema de traccion: se ha disenado para acoplar de forma robusta el

sistema de traccion del eje sobre el robot. Esta compuesto por tres piezas de plastico

impresas en 3D que han sido disenadas por el autor. Estas se acoplan sobre el Pioneer

3-AT.

Sensorizacion: esta parte esta compuesta por la IMU MPU-6050, que se encarga de

captar tanto la orientacion como inclinacion del cable con respecto al sistema de

referencia del Pioneer 3-AT. Tal y como se ha descrito, se hace pasar el cable por

un tubo de plastico flexible, que copia la inclinacion y orientacion del cable cuando

este ultimo esta tenso. Para la toma de datos, la IMU se ha acoplado a dicho tubo.

La sensorizacion del cable se completa con el encoder del motor EMG-30.

Cable: con el fin de que sea lo mas resistente y ligero posible, se ha decidido utilizar

hilo de pescar con una densidad de 5 g/m. Tal y como se detalla en el apartado 5.2.4

Conclusiones sobre el Cable, se ha elegido este tipo de cable dado que su reducido

peso no afecta a la estabilidad de vuelo del UAV. Ası mismo, tal y como se expone

en dicho apartado, se ha descartado la alimentacion del UAV por cable debido a que

el AR.Drone 2.0 incluye en su construccion mecanismos de seguridad que se activan

en caso de no detectar la baterıa propia de este drone. Sin embargo, se considera que

esta es una prometedora lınea de desarrollo futura, tanto para este modelo de drone

como otros que pudieran utilizarse.

Universidad Politecnica de Madrid 65

Page 83: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 6. DESCRIPCION DEL SISTEMA

(a) Sistema de traccion y su soporte (b) IMU del cable

Figura 6.2: Imagenes del mecanismo del cable

Plataforma Robotica Terrestre

Con el fin de que el UAV pueda aterrizar de forma segura y estable, sobre el UGV se

ha instalado una plataforma de aterrizaje. Esta ha sido unida al fuselaje del Pioneer 3-AT

mediante cuatro perfiles de aluminio. La plataforma de aterrizaje tiene un radio de 0,3

metros, lo que representa una superficie de aterrizaje de 0,28 m2.

Adicionalmente, se ha instalado una plancha de metacrilato, con el fin de que actue

como base del mecanismo del cable, aportando robustez al diseno de este. Esta se muestra

en la figura 6.3.

Figura 6.3: Plataforma de aterrizaje sobre el UGV

66 Daniel Aldalur Leal - M17279

Page 84: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

6.3. SISTEMA SIMULADO

Drone

Esta parte del sistema corresponde al Parrot AR.Drone 2.0. Tal y como se ha men-

cionado al principio del presente apartado, no se ha implementado ninguna modificacion

sobre el UAV, salvo el hecho de unirlo al cable. Con el fin de afectar lo menos posible a la

estabilidad del drone, ademas de evitar posibles incidentes con las aspas, la union entre el

cable y el UAV se ha realizado en su centro de gravedad.

6.3. Sistema Simulado

Uno de los objetivos principales del presente proyecto es la simulacion del sistema.

Esta constituye un entorno ideal para la mejora del sistema y de los algoritmos del mismo.

Para la simulacion del sistema se ha utilizado la herramienta Gazebo. Tal y como se

ha descrito en el capitulo 4 ”Materiales y Herramientas”, se ha optado por utilizar este

software debido a su integracion nativa con ROS y a que permite la simulacion integral

de sistemas roboticos, desde su medio de locomocion hasta su sensorizacion.

A continuacion, se describen los metodos utilizados para la simulacion de sistema

anteriormente descrito en presente capıtulo.

6.3.1. Simulacion de los Elementos del Sistema

La simulacion del sistema fısico se ha realizado integrando diferentes paquetes ya exis-

tentes, ası como creando nuevos urdf 1 por parte del autor:

Ha sido necesaria la creacion de un paquete especıfico para la simulacion del cable.

Debido a que ROS no tiene capacidad nativa para la simulacion de elementos de

tipo catenaria, se ha optado, tras probar diversas alternativas, por simular el cable

mediante un conjunto de cilindros unidos entre sı mediante uniones prismaticas. Este

metodo permite simular la extension del cable, restringiendo la separacion entre ellos

1Unified Robot Description Format

Universidad Politecnica de Madrid 67

Page 85: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 6. DESCRIPCION DEL SISTEMA

y transmitiendo fuerzas a traves del cable simulado. Para simular la capacidad de

rotacion del cable, se ha incluido en los extremos del cable simulado sendas uniones

esfericas con 3 DOF, una de ellas al UGV y la otra al UAV. Las pruebas realizadas

sobre la simulacion muestran que el metodo implementado es capaz de ofrecer una

simulacion realista.

Para la simulacion del Pioneer 3-AT se ha utilizado como base el paquete de ROS

amr-ros-config [29].

Para la simulacion del Parrot AR.Drone 2.0 se ha utilizado como base el paquete

tum simulator [30].

Los tres paquetes anteriores se han integrado en un unico paquete, formando la si-

mulacion del sistema robotico completo. Para ello, ha tenido que solventarse diversas

incompatibilidades entre los paquetes, como, por ejemplo, el que tum simulator solo estu-

viera preparado para un entorno simulado con un unico robot. Este hecho derivo en que el

controlador del AR.Drone 2.0 fuera incapaz de estabilizar el vuelo del UAV simulado. Para

solucionarlo, fue necesario investigar las causas raız del problema, analizando el codigo de

los controladores de ambos robots. Una vez hecho esto, se redefinio los frames asociados

a cada uno de los robots y se renombraron los topicos utilizados por los controladores de

ambos robots.

La imagen 6.4, muestra el sistema robotico simulado en Gazebo.

Figura 6.4: Simulacion en Gazebo del Sistema Robotico

68 Daniel Aldalur Leal - M17279

Page 86: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

6.3. SISTEMA SIMULADO

Capacidades Simulacion

La simulacion disenada cumple con los objetivos marcados para el presente proyecto,

ya que permite simular todos los aspectos del comportamiento de este:

Permite controlar tanto el UAV como el UGV, pudiendo hacerlo de forma teleoperada

o automatica.

El cable restringe los movimientos del UAV y es capaz de transmitir las fuerzas

ejercidas por el UGV al drone.

Es capaz de simular la coordinacion de los robots en movimiento.

Permite la simulacion completa de la maniobra de aterrizaje.

Simula los algoritmos de control disenados, los cuales se describen en el capıtulo 7

Algoritmia y Maquina de Estados.

Simula la informacion leıda por los diferentes sensores del sistema.

Universidad Politecnica de Madrid 69

Page 87: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 88: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 7

Algoritmia y Maquina de Estados

Este capıtulo presenta los algoritmos utilizados en el diseno de la solucion, los funda-

mentos del control del sistema robotico y los estado que pueden adoptar cada uno de los

agentes del mismo. Los siguientes apartados se estructuran de acuerdo a:

El sistema robotico se ha disenado como una maquina de estado, en el que el com-

portamiento de cada robot cambia tanto en funcion de su propio estado como del de

el otro.

Estructura de control de cada robot del sistema.

Descripcion de los algoritmos implementados:

• Algoritmo coordinacion entre UAV y UGV durante el movimiento los robots.

• Algoritmo de aterrizaje del UAV sobre el UGV.

• Algoritmo de deteccion de obstaculos, basado en la informacion obtenida del

cable en comparacion con la de los sensores propios del UAV.

Universidad Politecnica de Madrid 71

Page 89: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

7.1. Maquinas de Estado

El sistema robotico se ha disenado como una maquina de estados, de manera que el

comportamiento de cada uno de los agentes cambia en funcion del estado en el que se

encuentre. A su vez, los estados evolucionan en funcion de los eventos ocurridos o debido

a acciones del usuario. La figura 7.1 muestra los diagramas de estado del UAV y el UGV,

indicando el flujo de evolucion de los mismos.

(a) Diagrama de estados del UAV

(b) Diagrama de estados del UGV

Figura 7.1: Diagramas de estados del sistema robotico

Los estados marcados en verde en la figura 7.1 unicamente han sido implementados

en el entorno de simulacion. Estos corresponden al algoritmo de deteccion y esquiva de

obstaculos, que se describe en el apartado 7.3.3.

72 Daniel Aldalur Leal - M17279

Page 90: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

7.1. MAQUINAS DE ESTADO

A continuacion, se describe el comportamiento de cada uno de los agentes en funcion

de su estado. Esta informacion se amplıa con la descripcion de los algoritmos detallada en

el apartado 7.3 Algoritmos Implementados.

Estados UAV

Vuelo sobre plataforma: en este estado, el UAV se encuentra volando sobre el UGV,

pudiendo ser su control teleoperado o automatico.

Vuelo sobre suelo: estado analogo al anterior, salvo por el hecho de que el UAV

vuela fuera del UAV. El UAV cambia entre este estado y el anterior segun se este

volando encima de la superficie de la plataforma de aterrizaje o fuera de ella.

A Pioneer: el UAV se dirige hacia el UGV con el fin de situarse volando sobre este

ultimo.

Aterrizando: el UAV realiza la maniobra de aterrizaje, segun el algoritmo descrito

en el apartado 7.3.2 Algoritmo de Aterrizaje.

En plataforma: el UAV se encuentra posado en la plataforma de aterrizaje.

Marcaje Obstaculo: en caso de deteccion de un obstaculo, tal y como se describe en

el apartado 7.3.3 Algoritmo de Deteccion y Esquiva de Obstaculos, el UAV mantiene

una posicion fija sobre este hasta que el UGV completa la esquiva del mismo. Nota:

este estado solo ha sido implementado en el entorno simulado.

Emergencia: se devuelve el control del UAV al usuario para su teleoperacion. Si el

usuario liberase el ”boton del hombre muerto”, el UAV aterrizarıa en el sitio.

Estados UGV

Modo Seguimiento: el UGV sigue al UAV tal y como se describe en el apartado 7.3.1

7.3.1. El objetivo de este algoritmo es realizar la coordinacion entre ambos robots,

de manera que se eviten tirones sobre el cable.

Universidad Politecnica de Madrid 73

Page 91: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

Esperando ARD2: el UGV se detiene esperando a que el UAV se situe volando

sobre el. Cuando el UGV se encuentra en este estado, el UAV estara en los estados

A Pioneer o Aterrizando.

Control directo Pioneer: se habilita el control directo del UGV por parte del usuario.

Para evitar accidentes, el UGV solo puede estar en este estado cuando el del UAV

es En tierra.

Esquiva obstaculo: el UGV realiza una esquiva del obstaculo detectado por el UAV,

trazando un cuarto de circunferencia alrededor de la posicion en la que se estima

que esta el obstaculo. El radio de la circunferencia es un parametro de lanzamiento

del algoritmo descrito en el apartado 7.3.3 Algoritmo de Deteccion y Esquiva de

Obstaculos.

Emergencia: el UGV detiene su movimiento.

Estados Mecanismo del Cable

Dentro de la maquina de estados, el agente del mecanismo del cable no tiene ningun

estado propio, sino que modifica su comportamiento en funcion de los estados del resto

de agentes. Concretamente, el mecanismo del cable tiene dos comportamientos, normal y

emergencia:

Normal: el mecanismo del cable extiende y recoge el cable en funcion de la posicion

de los robots, de manera que haya en todo momento un margen para el movimiento

entre ellos. Dicho margen es un parametro de lanzamiento del sistema, por lo que

puede ser ajustado en funcion de las necesidades de cada mision. En el caso de al-

canzar la longitud maxima establecida, que tambien es otro parametro configurable,

el UAV cambiarıa al estado A Pioneer y el UGV a Espera ARD2.

Emergencia: se detiene el motor del cable, por lo que la longitud de este se mantiene

fija.

74 Daniel Aldalur Leal - M17279

Page 92: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

7.2. CONTROL DEL SISTEMA ROBOTICO

7.2. Control del Sistema Robotico

El sistema robotico desarrollado durante la ejecucion del presente proyecto es un sis-

tema colaborativo multiagente, el cual esta sujeto a las restricciones derivadas de la union

cordada del UAV y el UGV. Por ello, el control del sistema integra el control individual

de cada uno de los agentes para que trabajen de forma coordina.

Debido a que los objetivos para el sistema se dividen en diferentes tareas a ejecutar,

el control se ha dividido en diferentes arquitecturas. Cada una de las arquitecturas estan

asignadas a un unico algoritmo. Todas ellas estan formadas por multiples bucles de control,

cada uno de los cuales se encarga del control de un agente en concreto, mientras comparten

la informacion relevante con el resto de bucles. Los apartados 7.3.1, 7.3.2 y 7.3.3 detallan

las arquitecturas de control de cada uno de los algoritmos descritos.

El control de cada agente incorpora controladores PID que tienen el objetivo de con-

seguir que las variables controladas alcancen los valores objetivo mediante la actuacion

sobre las variables manipuladas. Debido a las diferentes caracterısticas de cada agente y

de sus variables controladas y manipuladas, sus controladores PID son diferentes.

7.2.1. Variables de Control y Parametros PID

A continuacion, se detallan las variables controladas y manipuladas de cada agente, ası

como los parametros de configuracion de los PID asociados. A pesar de que la arquitectura

de control del sistema varıa, las variables controladas, las manipuladas y los parametros

PID de cada agente se mantienen comunes para todas ellas.

El ajuste de los PID se ha llevado a cabo mediante un proceso de ajuste iterativo,

hasta conseguir que los agentes tengan un buen rendimiento en el cumplimiento de los

objetivos. Adicionalmente, es importante resaltar se ha establecido una velocidad maxima

de movimiento para el UAV y el UGV, la cual restringe el valor las variables manipuladas

que superaran dichos lımites. Con el mismo principio, se establecen lımites a la longitud

maxima y mınima que puede alcanzar el cable.

Universidad Politecnica de Madrid 75

Page 93: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

UAV

Las variables controladas del UAV son:

Posicion: posicion del UAV en los ejes X, Y, Z del sistema de referencia del mundo.

• Para evitar variaciones en la altura de vuelo del UAV cuando este este volando

sobre la plataforma o fuera de ella, se utiliza como medicion de su posicion Z

la fusion sensorial de la informacion del sonar y de la IMU del UAV.

Orientacion: ginada del UAV con respecto al eje Z del sistema de referencia del

mundo.

Las variables manipuladas y los parametros de configuracion de los PID asociados son

los siguientes:

vx, vy, vz: Velocidades lineales en los ejes X, Y y Z respectivamente, segun el sistema

de referencia del UAV.

• Los PID establecidos para el control de estas variables comparten los mismos

parametros:

PIDvUAV =

kp = 0, 4

ki = 0, 0012

kd = 0, 07

• Lımite velocidad: 0,1 m/s durante el vuelo normal y 0,2 m/s durante el aterri-

zaje.

ωz: Velocidad angular respecto a su eje Z.

PIDωUAV =

kp = 1, 2

ki = 0, 001

kd = 0, 1

• Lımite velocidad: 0,8 rad/s

76 Daniel Aldalur Leal - M17279

Page 94: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

7.2. CONTROL DEL SISTEMA ROBOTICO

UGV

Las variables controladas del UGV son:

Posicion: posicion del UGV los ejes X e Y del sistema de referencia del mundo.

Orientacion: ginada del UGV con respecto al eje Z del sistema de referencia del

mundo.

Las variables manipuladas y los parametros de los PID asociados son:

vx: Velocidad lineal en el eje X del sistema de referencia del UGV.

PIDvUGV =

kp = 0, 5

ki = 0, 001

kd = 0, 07

• Lımite velocidad: 0,2 m/s durante el seguimiento del UAV y 0,1 m/s durante

el aterrizaje de este.

ωz: Velocidad angular respecto a su eje Z.

PIDωUGV =

kp = 1, 0

ki = 0, 001

kd = 0, 1

• Lımite velocidad: 0,5 rad/s

Cable

Las variables de controladas del mecanismo del cable son:

L: longitud del cable que une el UAV y el UGV, medida desde el centro de la

plataforma de aterrizaje hasta la union con el UAV.

Universidad Politecnica de Madrid 77

Page 95: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

• Longitud maxima: 3,0 metros

• Longitud mınima: 0,0 metros

Las variables manipuladas y los parametros del PID asociado son:

ωmotor: velocidad de giro del motor del mecanismo del cable.

PIDLcable=

kp = 1, 2

ki = 0, 002

kd = 0, 1

7.3. Algoritmos Implementados

Se ha decidido abordar el cumplimiento de la mision del sistema mediante la division

de la misma en diferentes tareas, disenando un algoritmo especıfico para cada uno de ellos.

Tal y como se ha descrito en el apartado 7.1 Maquinas de Estado, el algoritmo que controla

el sistema en cada momento viene determinado por los estados del UAV y el UGV en dicho

instante.

La mision se ha dividido en las siguientes tareas:

Vuelo, coordinacion y seguimiento: regulada por el algoritmo de coordinacion y se-

guimiento.

Aterrizaje: regulado por el algoritmo de aterrizaje.

Esquiva de obstaculo: tarea que unicamente se ha implementado en el entorno de

simulacion. Esta regulada por el algoritmo de deteccion y esquiva de obstaculos.

Tal y como se ha mencionado en el apartado 7.2, la arquitectura de control del sistema

varıa para cada algoritmo, adaptandose para cumplir con los objetivos de la tarea a resolver

por este.

78 Daniel Aldalur Leal - M17279

Page 96: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

7.3. ALGORITMOS IMPLEMENTADOS

Por ultimo, es importante resaltar que existe un mecanismo de emergencia, el cual

puede ser activado en cualquier momento por parte del usuario. Este devuelve el control

teleoperado del UAV al usuario a la vez que detiene el UGV y el motor del mecanismo del

cable. Una vez que el usuario ha evitado la situacion de peligro, puede volver a activar los

diferentes algoritmos. Notese, que el modo de emergencia es diferente de los mecanismos

de proteccion del cable que se describiran a continuacion.

7.3.1. Algoritmo de Coordinacion y Seguimiento

Este algoritmo se encarga de la coordinacion entre el UAV y el UGV de manera que no

se comprometa la integridad del cable que los une, tanto durante la fase de despegue como

durante el vuelo del mismo. Para conseguir este objetivo, el funcionamiento del algoritmo

viene determinado por dos parametros, los cuales pueden configurarse en el lanzamiento

de la solucion ROS. Los detalles de esta se describen en el capıtulo 8 Estructura de la

Solucion en ROS. Dichos parametros son:

Distancia a UAV : es la distancia maxima proyectada sobre el plano del suelo a la

que puede estar el UGV del UAV. Dicho plano corresponde al plano XY del sistema

de referencia del mundo.

Longitud maxima del cable: marca el lımite de extension del cable antes de activar

los mecanismos de proteccion del cable.

A continuacion se describe el comportamiento de cada uno de los agentes durante el

algoritmo. Las variables controladas y manipuladas, ası como los parametros de cada uno

de los controladores han sido detallados en el apartado 7.2.

UAV : puede ser teleoperado por el usuario o controlado estableciendo unas coorde-

nadas X, Y de destino en el sistema de referencia del mundo. En este segundo caso,

es necesario establecer una altura Z que sera a la cual volara el UAV. En ambos

casos, el UAV tendra los estados Vuelo sobre plataforma o Vuelo sobre suelo.

Universidad Politecnica de Madrid 79

Page 97: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

• Teleoperacion: el usuario realiza todo el control del UAV, dirigiendo el mismo

a la velocidad deseada. En cualquier momento puede activarse el control au-

tomatico o iniciar el aterrizaje autonomo. En el caso de activarse los mecanismos

de proteccion del cable, estos actuaran de forma autonoma hasta que cumpla

la accion posteriormente descrita. Una vez desactivado, devuelve el control al

usuario.

• Control automatico: el controlador PID del UAV se encarga de generar las velo-

cidades lineales y angulares para que el drone se aproxime al destino marcado.

Se establece tambien una altura de vuelo que el controlador se encarga de man-

tener para el UAV. La altura de vuelo es configurable durante el lanzamiento de

la solucion de ROS. Se considera que el UGV ha alcanzado su destino cuando el

centro de su sistema de referencia se encuentra dentro de una esfera de 0,3 me-

tros de radio que tiene su centro en las coordenadas objetivo. En el caso de que

el despegue se realice de forma automatica, se establece un objetivo intermedio

antes de dirigirse a las coordenadas marcadas. Las coordenadas X e Y y Z de

este primer objetivo coinciden con la posicion X e Y del UGV en el sistema del

mundo respectivamente. La coordenada Z es la altura establecida. Una vez el

UAV alcanza el destino final, el sistema robotico pasa a estar controlado por el

Algoritmo de Aterrizaje.

UGV : el algoritmo se encarga de controlar el UGV de manera que este se mantenga

siempre dentro de la distancia marcada, siendo el estado del UGV es Modo Segui-

miento. Dado que unicamente se contemplan velocidades positivas de desplazamiento

lineal para el UGV, el algoritmo se divide en dos pasos:

1. Mientras el valor absoluto de la medicion de la orientacion del cable sea mayor

que 0,5, el algoritmo unicamente orienta el UGV rotandolo para disminuir el

valor de la orientacion. Durante este paso, el UGV solo tiene velocidad de

rotacion, siendo la velocidad lineal igual a cero.

2. Siempre que la orientacion del cable se mantenga en dicho rango, el controlador

PID continua calculando las velocidades de rotacion necesarias para alinear el

eje X del UGV con el cable, ademas de asignar la velocidad lineal necesaria al

UGV para mantener la distancia objetivo con respecto al UAV.

Cable: el controlador PID del mecanismo del cable controla que la longitud del cable

80 Daniel Aldalur Leal - M17279

Page 98: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

7.3. ALGORITMOS IMPLEMENTADOS

sea igual a la distancia que hay entre ambos robots multiplicada por un factor de

holgura. Este se define durante el lanzamiento de la solucion de ROS. El factor de

holgura tiene el objetivo de dar capacidad de maniobra al UAV. Por defecto, el factor

multiplicador esta establecido en 1,1 veces la distancia entre los robots.

En el caso de que la longitud del cable supere los lımites establecidos, se activa el modo

de proteccion del cable. El UAV y el UGV pasan a los estado A Pioneer y Esperando ARD2

respectivamente. En este modo, el UGV detendrıa su movimiento y el UAV tendrıa como

objetivo situarse volando sobre el primero. El control del cable se sigue ejecutando de

la misma manera. Una vez se detecta que el UAV esta volando sobre la plataforma de

aterrizaje, se desactiva este modo de proteccion y se continua ejecutando el algoritmo.

Arquitectura de Control

La arquitectura de control del presente algoritmo se muestra en la figura 7.2.

Figura 7.2: Arquitectura de control durante la coordinacion y seguimiento

7.3.2. Algoritmo de Aterrizaje

El presente algoritmo tiene el cometido de controlar los agentes del sistema robotico

durante el aterrizaje del UAV. El algoritmo puede ser activado por el usuario mediante

teleoperacion o de forma automatica cuando el UAV alcanza el objetivo establecido. A

Universidad Politecnica de Madrid 81

Page 99: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

continuacion, se detalla el comportamiento de cada uno de los agentes durante el mismo.

El esquema de la arquitectura de control de este algoritmo se muestra en la figura 7.3.

UAV : el aterrizaje sobre la plataforma se realiza unicamente de forma automatica.

Una vez activado este modo, se establece como objetivo para el UAV que se situe

volando sobre el centro del UGV a la altura de vuelo definida. Cuando el centro del

UAV este dentro de una esfera de radio 0,3 metros cuyo centro es el punto objetivo,

se establece que la velocidad lineal del UAV en el eje Z es positiva e igual a 0,1

m/s. Esta velocidad se mantendra durante el resto de la maniobra de aterrizaje.

Esto provocara el ascenso del UAV, tensando el cable. Gracias a ello se consigue que

las medidas extraıdas de la IMU del cable sean representativas del sistema, tal y

como se expone en el apartado 5.3.1 Sensores Implementados para la Medicion del

Cable. El descenso del UAV sobre la plataforma de aterrizaje se consigue mediante

la traccion ejercida por el cable al recogerse debido a la accion del motor. Durante

el descenso, el controlador del UAV regula las velocidades lineales en sus eje X e Y

para que este se mantenga centrado sobre el centro de la plataforma de aterrizaje.

Cuando los sensores del UAV detectan que la altura con respecto a la plataforma de

aterrizaje es inferior a 20 cm, los motores de este se detienen.

UGV : el comportamiento del UGV puede variarse mediante parametros de lanza-

miento de la solucion de ROS. Puede establecerse que el UGV se detenga por com-

pleto o que continue en movimiento. En el segundo caso, se transforma la velocidad

del UGV a los ejes del sistema de referencia del UAV y se anade esta velocidad como

elemento de control de este ultimo.

Cable: mientras el UAV no tenga la mencionada velocidad de ascenso, el compor-

tamiento del cable es el mismo que el descrito en el apartado 7.3.1 Algoritmo de

Coordinacion y Seguimiento. Una vez el UAV este ascendiendo de forma constante,

se establece una longitud objetivo del cable de 5 cm. Esto provoca que el motor

empiece a recoger el cable. Cuando el UAV esta a una altura inferior de 20 cm con

respecto a la plataforma, el motor del mecanismo del cable se detiene.

82 Daniel Aldalur Leal - M17279

Page 100: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

7.3. ALGORITMOS IMPLEMENTADOS

Arquitectura de Control

La arquitectura de control del presente algoritmo se muestra en la figura 7.3.

Figura 7.3: Arquitectura de control durante el aterrizaje

7.3.3. Algoritmo de Deteccion y Esquiva de Obstaculos

El proposito de este algoritmo es la deteccion de posibles obstaculos mediante el uso

de la informacion obtenida del cable comparandola con la informacion de los sensores del

UAV. Para ello, se realiza la estimacion de la posicion del UAV a partir de los datos de

la sensorizacion del cable, tal y como se describe en el apartado 5.3.2 Estimacion de la

Posicion del UAV. Posteriormente, se compara la altura estimada mediante este metodo

con la medida del sensor de ultrasonidos del UAV, el cual da la altura relativa del UAV

con respecto a la superficie mas cercana. En el caso de que haya una diferencia mayor

que el umbral establecido, que es 0,5 metros por defecto, y que esta diferencia se repita

durante mas de 10 ciclos de medicion seguidas, se estima que el UAV esta volando sobre un

obstaculo. Estas comprobaciones para la deteccion de los obstaculos se realizan mientras

el algoritmo de coordinacion y seguimiento esta activo. Una vez detectado un obstaculo,

se activa el procedimiento de esquiva que se describe a continuacion.

Este algoritmo permite proporcionar informacion sobre el entorno de movimiento del

UGV de una forma economica desde el punto de vista computacional. El objetivo es que

pueda integrarse en un futuro con otros metodos mas sofisticados, como algoritmos de

vision por computador. Sin embargo, debido a la imposibilidad de mantener el cable tenso

en todo momento, tal y como se describe en el apartado 5.3.1 Sensores Implementados

para la Medicion del Cable, unicamente se ha implementado en el sistema simulado.

Universidad Politecnica de Madrid 83

Page 101: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 7. ALGORITMIA Y MAQUINA DE ESTADOS

UAV : el UAV mantiene fija la posicion en la que se encontraba en el momento de

la deteccion del obstaculo, tanto de las coordenadas X e Y, como de la altura de

vuelo Z. Tal y como se ha descrito anteriormente, para la medicion de la altura de

vuelo del UAV se utiliza la fusion sensorial de la informacion del sonar y de la IMU

del mismo. Una vez el UGV ha finalizado la esquiva, el UAV vuela hasta situarse

sobre el UGV. Cuando el UAV esta volando sobre el UGV, el sistema vuelve a ser

dirigido por algoritmo de coordinacion y seguimiento. En el caso de volver a detectar

un obstaculo, se repetirıa el ciclo de esquiva.

UGV : tras la deteccion del obstaculo, se genera una trayectoria de esquiva circu-

lar alrededor de la posicion que se estima que esta este. Esta trayectoria cubre un

cuarto de circunferencia, de manera que al finalizarla el UGV continua paralelo a

la trayectoria que tenıa en el momento de la deteccion del obstaculo. El radio de

la circunferencia, ası como el numero de puntos que tendra la trayectoria pueden

configurarse en el momento del lanzamiento de la solucion en ROS. El controlador

del UGV se encarga de controlar su velocidad para que este pase secuencialmente

por los diferentes puntos de la trayectoria de esquiva.

Cable: el comportamiento del cable es el mismo que el descrito en el apartado 7.3.1

Algoritmo de Coordinacion y Seguimiento.

El esquema de la arquitectura de control de este algoritmo se muestra en la figura 7.4.

Arquitectura de Control

La arquitectura de control del presente algoritmo se muestra en la figura 7.4.

Figura 7.4: Arquitectura de control durante la esquiva de obstaculos

84 Daniel Aldalur Leal - M17279

Page 102: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 8

Estructura de la Solucion en ROS

Tal y como se ha mencionado en capıtulos anteriores, se ha elegido ROS para imple-

mentar la presente solucion. Las razones de esta eleccion son: que se trata del framework

mas extendido en robotica; que cuenta con multiples librerıas y paquetes desarrollados por

la comunidad de programadores, universidades e investigadores; que permite crear solu-

ciones modulares, pudiendo agregar o quitar paquetes en funcion de los objetivo a llevar

a cabo; que tiene una gran independencia del hardware lo que permite la implementacion

de las soluciones desarrolladas en diferentes dispositivos; y que cuenta con un potente y

robusto simulador de proposito general como es Gazebo.

En los siguientes apartados se va a describir como se ha llevado a cabo la implemen-

tacion en ROS de: los algoritmos descritos; los controladores de actuadores y sensores; y

la comunicacion entre los diferentes robots y sistemas fısicos que componen la solucion.

Para un mayor claridad, el presente capıtulo se estructura de acuerdo a:

Descripcion de los nodos de la solucion, los cuales contienen los programas necesarios

para el funcionamiento de la misma.

Principales topicos publicados y subscritos por los diferentes nodos.

Diagrama general de la estructura de nodos y topicos de ROS.

Universidad Politecnica de Madrid 85

Page 103: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 8. ESTRUCTURA DE LA SOLUCION EN ROS

Sistema de referencia de los diferentes elementos de la solucion, los cuales son fun-

damentales para el calculo de las transformadas de coordenadas y velocidades.

8.1. Descripcion de Nodos

Los nodos tienen un papel central en cualquier solucion disenada en ROS. Cada uno

de los nodos contiene un programa con un fin particular dentro la solucion global, por

lo que para que esta funcione correctamente es necesario una estructura de comunicacion

que permita el intercambios de datos e informacion entre los diferentes nodos.

La estructura de comunicacion de los nodos de ROS se organiza en torno a los llamados

topicos o topics en ingles. Estos constituyen una forma de identificar un mensaje concreto,

como por ejemplo la posicion del UGV o la altura medida por el sonar del UAV. Cada

nodo de ROS puede suscribirse a los topics que necesite para su funcionamiento y publicar

sus propios topics para que sean accesibles por otros nodos. El apartado 8.2 amplıa la

informacion referente al funcionamiento de los topicos.

De esta forma, definiendo que cada nodo publique y se subscriba a los topics que

necesite para su funcionamiento, se genera una estructura en forma de grafo, donde cada

uno de los vertices son los propios nodos y cada una de las aristas son los topics. A

este respecto, es importante senalar la existencia de un nodo central, roscore, que se

encarga de articular las comunicaciones entre el resto de nodos, llevando un registro de

las publicaciones y subscripciones del conjunto de nodos del sistema.

Esta estructura flexible es la que permite la modularidad de ROS, dado que no es

necesario la modificacion del codigo de cada nodo para su integracion con los demas.

Unicamente con ajustar los parametros de lanzamiento de los nodos, puede reorganizarse

toda la estructura. Adicionalmente, esta estructura flexible permite anadir nuevos nodos

o eliminar existentes.

A continuacion, se describe el proposito y funcionamiento de cada uno de los nodos

de la solucion. Estos se agrupan bajo tres categorıas: comunes, sistema real y sistema

86 Daniel Aldalur Leal - M17279

Page 104: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

8.1. DESCRIPCION DE NODOS

simulado. Adicionalmente, en el Anexo A Codigo de la Solucion, se incluye un enlace a un

repositorio online, el cual contiene el codigo de la solucion.

8.1.1. Nodos Comunes

Los nodos comunes son aquellos que estan presentes tanto en la implementacion de

ROS en el sistema fısico real como en la simulacion.

Nodo Principal de la Solucion

/control dual es el nodo central que articula la solucion disenada, cumpliendo con

varios cometidos y actuando como orquestador de las acciones de los robots. Las funciones

que realiza son:

Organiza las acciones a realizar para el cumplimiento de la mision, llevando a cabo el

control sobre los estados de los robots. Para ello, el nodo modifica dichos estados en

funcion de los eventos ocurridos en el entorno o de la interaccion con el usuario. Tal

y como se ha detallado en el apartado 7.1 Maquinas de Estado, el comportamiento

de los agentes del sistema se ve alterado en funcion de su estado y el del resto de los

agentes.

Evalua el cumplimiento de los objetivos de la mision y de las tareas dentro de la

misma, como por ejemplo, haber alcanzado una determinada posicion o que el UAV

despegue o aterrice de forma autonoma sobre el UGV.

Implementa los algoritmos de control del UAV, el UGV y del cable definidos en el

apartado 7.3 Algoritmos Implementados.

Implementa los controladores del UAV, el UGV y del motor del cable.

Nodo de Interaccion Humano-Robots

El nodo /ard2 joystick cumple varias funciones en la solucion disenada. Por una parte,

permite la teleoperacion de los robots. Para ello, se encarga de transformar las acciones

Universidad Politecnica de Madrid 87

Page 105: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 8. ESTRUCTURA DE LA SOLUCION EN ROS

del usuario sobre el joystick en velocidades, tanto para el UAV como para el UGV. Incor-

pora tambien mecanismos de emergencia para tomar el control de los robots en caso de

emergencia o parar todo el sistema si fuera necesario. Adicionalmente, este nodo permite

la activacion y cancelacion del modo automatico y el modo de aterrizaje, descritos en el

apartado 7.3.

Ası mismo, este nodo interactua con el nodo /control dual modificando y leyendo los

diferentes estados de cada uno de los robots, lo que modifica el comportamiento de los

robots.

Para el diseno de este nodo, se ha utilizado como base el programa /ardrone joystick

creado por Engelhard [31]. Sin embargo este ha sido modificado en la practica totalidad

por parte del autor del presente trabajo para adecuarlo a las necesidades del proyecto.

Nodos de Conversion de Mensajes

Tal y como se describe en el apartado 8.2, es necesario enviar el mismo tipo de men-

saje a traves de un determinado topico. Por ello, los nodos /sonar height a odometry y

/navdata a odometry tienen el cometido de convertir los mensajes de los topics a los que

estan subscritos en mensajes del tipo Odometry.

Nodo Joystick

El nodo /joy node tiene la funcion de leer la informacion del joystick, el cual se utiliza

tanto para la teleoperacion de los robots, como para la activacion del modo automatico y

modo de aterrizaje. Su cometido es, por lo tanto, leer los valores de los distintos botones y

crucetas del mando y traducirlos a variables entre 0 y 1. Estas son utilizadas por el nodo

/ard2 joystick para determinar las velocidades o acciones a realizar. El paquete, creado por

Quigley, Gerkey, Watts y col. [32], se incorpora sin realizar modificaciones a la presente

solucion.

8.1.2. Nodos del Sistema Real

Son aquellos que estan presentes unicamente en el sistema fısico real de la implemen-

tacion de la solucion en ROS.

88 Daniel Aldalur Leal - M17279

Page 106: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

8.1. DESCRIPCION DE NODOS

Nodo de Control del Parrot AR.Drone 2.0

El nodo /ardrone driver es el encargado de establecer la comunicacion entre ROS y

el AR.Drone 2.0. Este nodo pertenece al paquete Ardrone Autonomy[33] desarrollado por

AutonomyLab, el cual ha sido utilizado la presente solucion sin modificaciones.

Nodo de Control del Pioneer 3-AT

De forma analoga al nodo anterior, /RosAria establece la comunicacion entre ROS

y el Pioneer 3-AT. Tal y como se especifico en el capıtulo 4 Materiales y Herramientas,

el UGV utiliza el driver ARIA para controlar el movimiento del robot e intercambiar la

informacion de los sensores. Para ello, este nodo actua como interfaz entre ROS y ARIA.

Ha sido desarrollado por Juric-Kavelj [34] y se utiliza sin modificaciones en la presente

solucion. Dentro del funcionamiento de este nodo, es importante resaltar que la velocidad

de control del Pioneer 3-AT ha de ser publicada bajo el topico /RosAria/cmd vel.

Nodo de Control del Pioneer 3-AT

Tal y como se describe en el punto anterior, el nodo /RosAria necesita leer la velocidad

a transmitir al robot del topic /RosAria/cmd vel. El presente nodo /rosaria publisher se

encarga, en la implementacion fısica del sistema, de publicar las velocidades de control del

UGV en dicho topico.

Nodo de Control del Sistema del Cable

Este nodo se encarga de realizar el control a bajo nivel del motor EMG-30 del meca-

nismo del cable, para hacer que el cable se enrolle o se extienda segun las necesidades del

sistema. Para ello, el nodo se subscribe al topico /guiado/longitud objetivo que contiene

la longitud que el cable debe tener en cada momento.

Nodo de Sensores del Cable

El nodo /sensores cable real se encarga de leer la informacion sobre el cable por los

sensores del mismo y calcular la posicion estimada del UAV con respecto al UGV.

Universidad Politecnica de Madrid 89

Page 107: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 8. ESTRUCTURA DE LA SOLUCION EN ROS

8.1.3. Nodos del Sistema Simulado

Son aquellos que estan presentes unicamente en el sistema simulado de la implemen-

tacion de la solucion en ROS.

Nodo de Simulacion

El nodo /gazebo es el programa central de la simulacion encargandose de iniciar y

mantener abierto el simulador Gazebo. Adicionalmente, se encarga de suscribirse a aquellos

topicos necesarios para realizar la simulacion, ası como publicar los datos de la misma.

Nodo de Sensores Simulados del Cable

El nodo /sensores cable sim realiza una funcion analoga al nodo /sensores cable real

pero en el ambito de la simulacion.

8.2. Topicos

Los topicos o topics son, junto con los nodos descritos en el apartado anterior, otro

de los elementos articuladores de cualquier solucion disenada en ROS. Como se ha men-

cionado, los topics son una forma de identificar la informacion que cada nodo comparte

con el resto del sistema. De esta manera, cuando un nodo necesita acceder a un tipo de

informacion, no es necesario que tenga en cuenta que otros nodos son la que la generan ni

como lo hacen, si no que basta unicamente con que este se subscriba al topic en cuestion.

De forma analoga, cuando un nodo tiene que transmitir cierta informacion, basta con que

publique esta bajo el paraguas de un determinado topic, independientemente de que otros

nodos vayan a utilizar dicha informacion.

Adicionalmente, ROS incluye un elemento validador extra con el fin de evitar incom-

patibilidades en la informacion transmitida y esperada por los diferentes nodos, que es el

tipo de mensaje. En ROS, un mensaje es la agrupacion de variables bajo una estructura

fija. Esta estructura puede definirse en funcion de las necesidades durante la declaracion

de mensajes, determinando el numero de variables que contiene y su tipo. Un ejemplo de

un tipo de mensaje serıa twist, que esta formado por seis variables tipo double ordenadas

90 Daniel Aldalur Leal - M17279

Page 108: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

8.2. TOPICOS

en una estructura concreta y se utiliza para transmitir las velocidades lineales y angulares

respecto a los ejes de un sistema de referencia. Por consiguiente, para que cada nodo sea

capaz de utilizar la informacion contenida en un mensaje, unicamente es necesario que

este conozca la estructura del mismo.

ROS combina ambos elementos teniendo que definir que tipo de mensaje se transmitira

en cada uno de los topic. De esta forma, se evita que diferentes nodos transmitan diferente

tipo de informacion sobre un mismo topic.

Tal y como puede observarse en la imagen 8.1, la cual muestra el diagrama de la

estructura de nodos y topicos de ROS, la mayor parte de los topics se agrupa en bajo una

serie de grupos, ard2, p3at, guiado, cable, que se corresponden con elementos principales

de la solucion. A continuacion, se incluye la lista de topics publicados en cada uno de los

grupos.

8.2.1. Topicos Grupo guiado

/guiado/accion_ard2

/guiado/accion_p3at

/guiado/joy_ard2_vel

/guiado/joy_p3at_vel

/guiado/longitud_objetivo

/guiado/modo_aterrizaje

/guiado/modo_automatico

/guiado/modo_emergencia

/joy

8.2.2. Topicos Grupo ard2

/altimeter

/ardrone/altura_a_suelo

/ardrone/imu

/ardrone/kalman_odom

/ardrone/kalman_sonar

/ardrone/land

/ardrone/navdata

/ardrone/odom

/ardrone/odom_sonar_height

/ardrone/reset

/ardrone/takeoff

/cmd_vel

/ground_truth/state

/joint_states

/magnetic

/pressure_height

/sonar_height

Universidad Politecnica de Madrid 91

Page 109: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 8. ESTRUCTURA DE LA SOLUCION EN ROS

8.2.3. Topicos Grupo p3at

/p3at/cmd_vel

/p3at/kalman_odom

/p3at/odom

/RosAria/cmd_vel

8.2.4. Topicos Grupo cable

/cable/drone_pos

/cable/inclinacion

/cable/longitud

/cable/orientacion

/cable/proyeccionXY

8.2.5. Otros Topicos

/clock

/gazebo/link_states

/gazebo/model_states

/gazebo/parameter_descriptions

/gazebo/parameter_updates

/gazebo/set_link_state

/gazebo/set_model_state

/rosout

/rosout_agg

/set_pose

/tf

/tf_static

8.3. Diagrama de la Estructura en ROS

La figura 8.1 muestra el diagrama completo de la estructura de nodos y topics de la

implementacion fısica de la solucion. En dicho diagrama, los nodos se identifican rodeando-

los con una elipse, mientras que los topicos se senalan rodeandolos con un rectangulo. Ası

mismo, las agrupaciones de topics se senalan con un rectangulo titulado dentro del cual

se incluyen varios topicos.

92 Daniel Aldalur Leal - M17279

Page 110: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

8.3. DIAGRAMA DE LA ESTRUCTURA EN ROS

Figura 8.1: Diagrama de la estructura de nodos y topics en ROS

Universidad Politecnica de Madrid 93

Page 111: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 8. ESTRUCTURA DE LA SOLUCION EN ROS

8.4. Sistemas de Referencia y Transformaciones

Los sistemas de referencia o, en adelante, frames tienen una importancia capital en

ROS, dado que es el metodo sobre el que ROS se basa middleware para determinar las

relaciones de un elemento con respecto a otro. Los frames son ası los ejes de coordenadas

unidos solidariamente a un elemento de la solucion en ROS o, dicho de otra manera, la

base del sistema de referencia de cada uno. Debido a ello, es necesario que en la definicion

de cualquier elemento en ROS se especifique un frame para el mismo.

Como condicion adicional, es necesario que todos los elementos de un mismo sistema

pertenezcan al mismo arbol de frames. Estos arboles especifican la relacion entre los frames

de los distintos elementos, permitiendo que ROS sea capaz de calcular las transformadas

entre los mismos. Para ello, el software calcula sucesivamente las transformaciones o cam-

bios de base entre todos los nodos intermedios de la rama que une a cualquier dupla de

elementos del sistema. Ası mismo, es importante resaltar, que debido a que la estructura de

frames es en forma de arbol, debe existir un frame principal, sobre el cual estan referidos

el resto de frames mediante relaciones de padre-hijo entre frames sucesivos.

Los anteriores cambios de base se realizan mediante la herramienta tf de ROS, la cual

calcula las matrices de transformaciones entre los diferentes frames de un mismo arbol.

Cabe resaltar, que debido a las anteriores restricciones, en el caso de que dos elementos no

formaran parte del mismo arbol de frames, ROS considerarıa que pertenecen a sistemas

diferentes, como por ejemplo un robot y un obstaculo del mundo, y que la herramienta tf

no serıa capaz de hallar la matriz de transformacion entre ellos.

La siguiente imagen muestra el arbol de frames de la simulacion en ROS.

94 Daniel Aldalur Leal - M17279

Page 112: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

8.4. SISTEMAS DE REFERENCIA Y TRANSFORMACIONES

Figura 8.2: Arbol de frames de la simulacion en ROS

Universidad Politecnica de Madrid 95

Page 113: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 8. ESTRUCTURA DE LA SOLUCION EN ROS

Tal y como puede verse en en la figura 8.2, todos los frames de la solucion robotica

dependen de /odom. Este representa el origen de la simulacion y sobre es sobre el que

estan referidos el resto de sistemas de referencias del resto elementos. A su vez, cada uno

de los robots del sistema tiene un nodo principal, del que dependen el resto los elementos

de dicho robot. En el caso del AR.Drone 2.0, el /base footprint y, en el del Pioneer P-3AT,

es /base link.

96 Daniel Aldalur Leal - M17279

Page 114: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 9

Experimentos y Resultados

Para validar la consecucion de los objetivos planteados para el presente proyecto, se

han realizado una serie de pruebas sobre la solucion disenada, la cual ha sido descrita a

lo largo de los capıtulos anteriores. Como parte dichos objetivos, se encontraba el diseno

de un sistema simulado y su posterior implementacion fısica en robots reales. Por ello, las

pruebas ejecutadas se dividen en dos categorıas:

Pruebas sobre el sistema simulado

Pruebas sobre el sistema fısico

Cada una de las dos categorıas de pruebas anteriores consta de una baterıa de expe-

rimentos. Con el fin de poder comparar el comportamiento de la simulacion con respecto

al sistema real, los experimentos de ambas categorıas son los mismos, con la salvedad

que para el caso del sistema simulado, se incluye un experimento sobre el algoritmo de

deteccion y esquiva de obstaculos.

Por ultimo, al final del presente capıtulo se realiza una evaluacion de los resultados de

las pruebas.

Universidad Politecnica de Madrid 97

Page 115: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 9. EXPERIMENTOS Y RESULTADOS

9.1. Pruebas sobre el Sistema Simulado

Tal y como se ha descrito anteriormente, se ha utilizado Gazebo como herramienta

de simulacion del sistema robotico. Por lo tanto, las pruebas sobre el sistema simulado se

circunscriben a este software. Para ello, se han ejecutado los distintos paquetes de ROS que

conforman la solucion, alimentandolos con los datos e informacion generados por Gazebo.

Las pruebas de esta simulacion se han centrado en la validacion de dos aspectos fun-

damentales:

Comportamiento realista de la simulacion, especialmente en lo referente al cable.

Funcionamiento de los algoritmos disenados de acuerdo con los objetivos del proyec-

to.

A continuacion, se describen cada uno de los experimentos realizados, ası como los

resultados obtenidos.

9.1.1. Aterrizaje Sobre Plataforma

Uno de los objetivos fundamentales del proyecto es lograr que el UAV sea capaz de

aterrizar sobre el UGV guiado por el cable que los une. La presente prueba ha consistido

en hacer volar al drone hasta la altura de vuelo de 1,5 metros y que se encuentre volando

fuera de la vertical de la plataforma de aterrizaje con el UGV detenido. Posteriormente,

se ejecuta el algoritmo de aterrizaje y se comprueba que sea capaz de aterrizar sobre la

plataforma de aterrizaje.

Por lo tanto, el requisito para considerar el exito del sistema en el experimentos es:

Que el UAV aterrice sobre la plataforma de aterrizaje de forma controlada.

98 Daniel Aldalur Leal - M17279

Page 116: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

9.1. PRUEBAS SOBRE EL SISTEMA SIMULADO

Resultados

Las imagenes en la figura 9.1 muestran los resultados de este experimento.

Figura 9.1: Pruebas Simulacion - Aterrizaje Plataforma

Se han ejecutado este experimento 10 veces, con un resultado positivo en el 100 % de

las ocasiones. Por lo tanto, el UAV es capaz de aterrizar sobre el plataforma de aterrizaje.

9.1.2. Coordinacion y Seguimiento

La coordinacion de los movimientos del UGV y el UAV es otro de los objetivos fun-

damentales del proyecto. Esta prueba tiene el fin de comprobar que el algoritmo de segui-

miento y coordinacion funciona adecuadamente. Para ello, se teleopera el UAV haciendo

que este se mueva en todas las direcciones de forma pseudoaleatoria. La velocidad de

movimiento del UAV en la simulacion es de 0,3 m/s.

Los requisitos de exito del experimentos son:

Que el UGV siga al UAV manteniendo como maximo la distancia de seguimiento.

Universidad Politecnica de Madrid 99

Page 117: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 9. EXPERIMENTOS Y RESULTADOS

Resultados

Las imagenes en la figura 9.2 muestran los resultados de este experimento.

Figura 9.2: Pruebas Simulacion - Coordinacion y Seguimiento

Con una muestra de 10 experimentos ejecutados, 9 han sido exitosos, lo que da una

tasa de exito del 90 %. En el experimento fallido, el UGV ha seguido en todo momento

al UAV, pero en una parte de la ejecucion los robots se han separado una distancia de

mas de 3 metros, cuando el objetivo era que estuviera a menos de 2 metros. A pesar de

que el UGV posteriormente ha recuperado la distancia correcta, se considera experimento

fallido.

De cualquier forma, con una tasa de exito del 90 % se considera que la solucion cumple

con el objetivo planteado.

9.1.3. Seguimiento y Aterrizaje

La presente prueba consiste en enviar al UAV a unas coordenadas marcadas, compro-

bando que el UGV lo siga correctamente, y que una vez el UAV alcance las coordenadas

objetivo, se active el algoritmo de aterrizaje, efectuando dicha maniobra sobre el UGV. Du-

rante la maniobra de aterrizaje, el UGV dejara de seguir al UAV y continuara moviendose

hasta las coordenadas marcadas.

Los requisitos de exito del experimentos son:

100 Daniel Aldalur Leal - M17279

Page 118: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

9.1. PRUEBAS SOBRE EL SISTEMA SIMULADO

Que el UAV se desplace hasta las coordenadas marcadas.

Que el UGV siga al UAV manteniendo como maximo la distancia de seguimiento.

Que el UAV aterrice sobre la plataforma de aterrizaje de forma controlada.

Resultados

Las imagenes en la figura 9.3 muestran los resultados de este experimento.

Figura 9.3: Pruebas Simulacion - Seguimiento y Aterrizaje

Se ha ejecutado este experimento 10 veces, con un resultado positivo en el 100 % de las

ocasiones. Por lo tanto, se determina que la integracion de los algoritmos de seguimiento

y aterrizaje es correcta.

9.1.4. Esquiva Obstaculo

El objetivo de este experimento ha sido validar la capacidad del algoritmo de deteccion

de obstaculos para detectar estos, ademas comprobar que el UGV esquive el obstaculo sin

colisionar con el. Para ello, se ha incluido en la simulacion un obstaculo de dimensiones

0,5x0,5x1 metros que se encuentra dentro la trayectoria de los robots hasta las coordenadas

objetivo.

Los requisitos de exito del experimentos son:

Universidad Politecnica de Madrid 101

Page 119: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 9. EXPERIMENTOS Y RESULTADOS

Detectar el obstaculo, en el caso de que estuviera en su lınea de movimiento.

Generar una trayectoria para que el UGV lo esquive.

Que no se den falsos positivos

Adicionalmente, que complete los objetivos del experimento de seguimiento y ate-

rrizaje descrito en el apartado 9.1.3.

Resultados

Las imagenes en la figura 9.4 muestran los resultados de este experimento.

Figura 9.4: Pruebas Simulacion - Deteccion y Esquiva de Obstaculo

Tras la ejecucion de 10 experimentos de este tipo, 7 han resultado positivos, lo que

da una tasa de exito del 70 %. Los fallos se han debido a: en una ocasion, una separacion

excesiva entre el UGV y el UAV; en otra, un falso positivo en la deteccion de un obstaculo;

y la ultima, una colision con el obstaculo al retomar el camino hacia la coordenada objetivo,

aunque previamente habıa ejecutado correctamente la maniobra de esquiva.

Por lo tanto, con esta tasa de exito, puede determinarse que el algoritmo de deteccion

funciona adecuadamente, si bien su rendimiento podrıa mejorarse.

102 Daniel Aldalur Leal - M17279

Page 120: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

9.2. PRUEBAS SOBRE EL SISTEMA REAL

9.2. Pruebas sobre el Sistema Real

El paso de un sistema simulado a un sistema real supone uno de los mayores retos en

el desarrollo de cualquier solucion robotica. Por ello, con las presentes pruebas se persigue

poder comparar el rendimiento del sistema real con respecto al simulado, a la vez que se

comprueba su capacidad para cumplir con los objetivos marcados.

En el caso del presente proyecto, se han encontrado una serie de dificultades a la hora

de ejecutar las pruebas en el sistema real. El principal de ellos, ha sido la inestabilidad en

el vuelo del drone AR.Drone 2.0 del que se disponıa. Este mostraba derivas a la hora del

despegue, lo que provocaba no ascendiera en vertical, sino que se desviara una distancia

de hasta dos metros medida desde el punto de despegue. Para comprobar que dicha deriva

no era causada por la solucion disenada en el presente proyecto, se realizaron pruebas

controlando el drone mediante su aplicacion oficial. El resultado de estas pruebas fue que

la deriva persistıa. Ası mismo, en un intento de corregirla se sustituyeron los propelentes

del AR.Drone 2.0 por unos nuevos y se recalibro su IMU. Sin embargo, la deriva continuo

existiendo. El principal problema causado por esta situacion, es que anadıa un error de

posicionamiento. Esto se debıa a que la IMU el AR.Drone 2.0 no era capaz de captar

correctamente el desvıo que habıa efectuado.

Durante la ejecucion de las pruebas, el Pioneer 3-AT sufrio una averıa en la placa que

controla sus motores durante el traslado del robots hasta el pabellon donde se realizaban las

pruebas. Esta se debio a que, cuando el Pioneer 3-AT es empujado sin estar encendido, los

motores de las ruedas generan corriente electrica. Sin embargo, la electronica del Pioneer

3-AT no cuenta con la debida proteccion frente a esta corriente, por lo que un pico de

tension dano los circuitos encargados del control de los motores de las ruedas derechas

del robot. Debido a la antiguedad de este modelo de robot fue necesario la reparacion del

mismo en el marco del TFM, dado que no existen empresas que realicen reparaciones o

soporte. El anexo B Reparacion del Pioneer 3-AT describe el detalle de las reparaciones

realizadas.

Adicionalmente, mencionar que la plataforma de aterrizaje tiene un radio de 0,3 metros,

Universidad Politecnica de Madrid 103

Page 121: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 9. EXPERIMENTOS Y RESULTADOS

lo que anade dificultad adicional debido a que dicha no es mucho mayor que el AR.Drone

2.0.

Por ultimo, para la ejecucion de las pruebas sobre el sistema real, se establecio una

velocidad maxima del UAV de 0,1 m/s y de 0,2 m/s para el UGV, tal y como se detalla

en el apartado 7.2 Control del Sistema Robotico.

9.2.1. Aterrizaje Sobre Plataforma

El experimento realizado es analogo al descrito en el apartado 9.1.1.

Resultados

Las imagenes en la figura 9.5 muestran los resultados de este experimento con el UGV

estatico sin movimiento.

Figura 9.5: Pruebas Sistema Real - Aterrizaje con UAV estatico

Las imagenes en la figura 9.6 muestran los resultados del aterrizaje del UAV sobre el

UGV con movimiento.

104 Daniel Aldalur Leal - M17279

Page 122: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

9.2. PRUEBAS SOBRE EL SISTEMA REAL

Figura 9.6: Pruebas Sistema Real - Aterrizaje con UAV en movimiento

Tal y como muestran las figuras, se ha realizado el experimento de aterrizaje tanto

en condiciones del UAV parado como en movimiento lineal. Cada uno de ellos, ha sido

ejecutado 5 veces, lo que hace un total de 10 pruebas de aterrizaje. La tasa de resultados

positivos ha sido del 60 % en ambos casos, es decir, 3 resultados positivos para cada uno.

En tres ocasiones, el fallo en la maniobra de aterrizaje se ha debido a que, antes de

activarla, el cable se habıa enrollado mal en su bobina, haciendo que se invirtiera el sentido

de giro que lo recogıa. Este problema viene derivado por la falta de tension en el mismo,

que provoca que cuando el motor desenrolla el cable, este no se estire completamente

sino que parte se quede destensado alrededor de la bobina. Esto causa ocasionalmente que

cuando el motor recoge el cable, este se pliegue sobre sı mismo provocando un nudo, lo que

deriva en que se invierta el sentido de giro que hace recoger y extender el cable, lo que a

su vez provoca que falle la maniobra de aterrizaje, a pesar de que el controlador del motor

funciona correctamente. En otra ocasion, el UAV aterrizo en el borde de la plataforma de

aterrizaje, provocando que el UAV quedara colgando sobre la misma.

Por lo tanto, puede determinarse que el algoritmo de aterrizaje disenado funciona, dado

que las principales causas de fallo se han debido a problemas mecanicos. Sin embargo,

serıa necesario solucionar el citado problema del cable para aumentar la tasa de exito de

aterrizajes sobre la plataforma.

Universidad Politecnica de Madrid 105

Page 123: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 9. EXPERIMENTOS Y RESULTADOS

9.2.2. Coordinacion y Seguimiento

El experimento realizado es analogo al descrito en el apartado 9.1.2. Debido a la ba-

ja precision de los sensores odometricos y la problematica descrita del sistema real, se

decidio rebajar el nivel de dificultad con respecto al experimento simulado. Para ello, se

simplificaron las trayectorias del UAV haciendo que se moviera en lınea recta.

Resultados

Las imagenes en la figura 9.7 muestran los resultados de este experimento.

Figura 9.7: Pruebas Simulacion - Coordinacion y Seguimiento

Se ha ejecutado este experimento 10 veces, con un resultado positivo en el 50 % de las

veces. En dos ocasiones, los fallos han sido provocados por la inversion en del sentido de

giro del cable, cuya causa se describe en el apartado 9.2.1. En las tres ocasiones restantes,

el fallo en el seguimiento ha venido derivado por la falta de precision en los sensores de

los robots, que provoca errores en la estimacion de la posicion de los agentes.

En vista de las pruebas puede determinarse que el algoritmo de coordinacion funciona

correctamente. Sin embargo, el sistema robotico tiene un bajo ındice de exito en el cum-

plimiento de la mision debido al mencionado problema mecanico y a que la informacion

que miden los sensores no es lo suficientemente precisa.

106 Daniel Aldalur Leal - M17279

Page 124: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

9.2. PRUEBAS SOBRE EL SISTEMA REAL

9.2.3. Seguimiento y Aterrizaje

El experimento realizado es analogo al descrito en el apartado 9.1.3, con la salvedad

de que el guiado del UAV ha sido mediante teleoperacion.

Resultados

Las imagenes en la figura 9.8 muestran los resultados de este experimento.

Figura 9.8: Pruebas Sistema Real - Seguimiento y Aterrizaje

Este experimento ha sido ejecutado en 10 veces, aunque no se ha conseguido ningun

exito completo en el mismo. Sin embargo, se han conseguido exitos parciales en el 40 %

de las veces, logrando que el UAV aterrizara en el borde la plataforma o a menos de

15 centımetros del UGV. Es importante tener en cuenta que la plataforma de aterrizaje

utilizada tiene un radio de 0,3 metros, lo que hace que el AR.Drone 2.0 la ocupe casi en su

totalidad. En el caso de utilizar una plataforma mayor, la tasa de exito del experimento

aumentarıa. En un 30 % de las ocasiones el experimento ha fallado debido al problema

mecanico del cable y en el otro 30 % debido al mal posicionamiento de los agentes durante

la fase de seguimiento y coordinacion.

Universidad Politecnica de Madrid 107

Page 125: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 9. EXPERIMENTOS Y RESULTADOS

A pesar de los resultados, las causas de la falta de exito del cumplimiento de la mision

siguen estando acotadas a problemas mecanicos y de sensorizacion.

9.3. Evaluacion de los Resultados

A la vista de los resultados, puede concluirse que el sistema simulado funciona correc-

tamente, siendo una adecuada plataforma para la realizacion de pruebas y mejoras de los

algoritmos.

Por el contrario, la implementacion en el sistema real arroja exitos parciales. Se han

conseguido llevar a cabo los objetivos de aterrizaje y coordinacion de los robots. Sin

embargo, la tasa de exito de los experimentos ha sido reducida. Tal y como se describe en

el apartado 9.2, los sensores odometricos de los robots utilizados tienen una baja precision,

ademas de que el AR.Drone 2.0 utilizado tiene derivas durante su despegue, lo que causa

una mayor incertidumbre a la estimacion de su posicion. Adicionalmente, la falta de tension

en el cable provoca que ocasionalmente se creen nudos cuando el motor lo enrolla, lo que

hace que el sentido de recogida y extension de este se invierta.

Respecto al comportamiento de los algoritmos en el sistema real, estos han funcionado

correctamente, tal y como habıan sido disenados, ası como probados en el entorno de

simulacion.

108 Daniel Aldalur Leal - M17279

Page 126: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 10

Conclusiones, Lıneas Futuras y

Valoracion de Impacto

10.1. Conclusiones

En general, el presente trabajo cumple con los objetivos marcados para el mismo.

Se han desarrollado diferentes algoritmos que permiten tanto un movimiento coor-

dinado entre un UAV y un UGV unidos entre sı por medio de un cable, ası como el

aterrizaje del primero sobre el segundo.

Se ha creado un entorno de simulacion que permite la ejecucion de pruebas sobre el

sistema.

Se ha disenado y construido un sistema fısico con robots reales.

Se han implementado los algoritmos tanto en el sistema simulado como en el real.

Los resultados de los experimentos realizados muestran que los algoritmos funcionan

cumplen con los objetivos marcados. En el entorno simulado, los algoritmos tienen

alta tasa de exito en el cumplimiento de las diferentes misiones. Sin embargo, el

sistema real tiene una menor tasa de exito debido a problemas mecanicos y de la

Universidad Politecnica de Madrid 109

Page 127: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 10. CONCLUSIONES, LINEAS FUTURAS Y VALORACION DEIMPACTO

precision de los sensores de los robots utilizados.

Ademas de los objetivos marcado, se ha desarrollado un algoritmo de deteccion de

obstaculos a partir de la informacion obtenida mediante el cable de union entre los

agentes. Los resultados de las pruebas realizadas en el entorno de simulacion mues-

tran que tiene un potencial prometedor, lo que permitirıa la deteccion de obstaculos

con un bajo coste computacional.

Por todo ello, puede determinarse que, a pesar de haber puntos de mejora, especialmen-

te sobre el sistema con robots reales, el proyecto ha cumplido con los objetivos marcados.

Adicionalmente, se considera relevante poner en valor lo ambicioso de dichos objetivos, no

habiendose encontrado en el estado del arte ninguna investigacion que aborde la totalidad

de los objetivos de este trabajo bajo un unico estudio.

10.2. Lıneas Futuras

A continuacion, se propone una serie de lıneas de futuras para la mejora del siste-

ma robotico anteriormente descrito en la presente memoria, de forma que se amplıen las

capacidades del mismo permitiendo la ejecucion de misiones con mas complejidad:

Mejora de la estimacion de la posicion de los agentes: una de las dificultades detec-

tadas en el paso del sistema simulado a un entorno real ha sido la dificultad de la

estimacion de la posicion de tanto el UAV como el UGV. Dicha dificultad deriva de

que los sensores odometricos e inerciales con los que cuentan estos no son lo sufi-

cientemente precisos, ademas de tener un error acumulativo. Por ello, se propone la

implementacion de nuevos sensores, como el sistema OptiTrack, o la utilizacion de

algoritmos de vision por computador que permitan una estimacion precisa de la po-

sicion de los robots. Esto presumiblemente permitirıa que el sistema fısico alcanzara

un rendimiento similar al que tiene en el entorno simulado.

Medicion de la tension del cable: la implementacion de sensores que den informacion

sobre la tension del cable permitira establecer un control de fuerza sobre el mismo.

110 Daniel Aldalur Leal - M17279

Page 128: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

10.3. VALORACION DE IMPACTOS Y DE ASPECTOS DE RESPONSABILIDADLEGAL, ETICA Y PROFESIONAL

Esto permitirıa probar una configuracion cable en la que el cable se mantenga tenso

en todo momento, pudiendo realizar una comparativa con respecto a los resultados

del sistema propuesto en la presente memoria. Adicionalmente, mantener el cable

tenso en todo momento, permitira mejorar la sensorizacion implementada en el pre-

sente trabajo, evitando los problemas de la IMU del cable senalados en el capıtulo

9 Experimentos y Resultados.

Mejora del mecanismo del cable: implementar medidas mecanicas que eviten que el

cable se enrolle sobre sı mismo lo que provoca que se invierta el sentido de giro de

la bobina que recoge o extiende el cable.

Alimentacion del UAV mediante el cable: sustitucion del cable de la solucion actual

por uno que permita la transmision de energıa electrica desde el UGV al UAV. De

esta forma, se conseguira la ampliacion de la autonomıa de vuelo del UAV, alargando

los tiempos de ejecucion de misiones. Notese, que en vista de las pruebas de carga

descritas en el apartado 5.2.2 Pruebas de Carga del UAV con Cable, se considera que

para poder llevar a cabo esta mejora debera sustituirse el AR.Drone 2.0 por otro

modelo de drone con una mayor capacidad de carga y fuerza de propulsion.

10.3. Valoracion de impactos y de aspectos de responsabi-

lidad legal, etica y profesional

Se considera que el impacto social del presente TFM es enteramente positivo, dado

que no trata de sustituir ningun trabajo no peligroso realizado actualmente por seres

humanos. Por el contrario, intenta habilitar nuevos campos en los que pueda aportarse un

valor anadido a la sociedad y, que por lo tanto, generen nuevos puestos de trabajo. Este

hecho, unido a los beneficios de los potenciales usos del sistema, como tareas de busqueda

y rescate o vigilancia de infraestructuras clave, permiten concluir el impacto positivo del

proyecto.

Adicionalmente, las pruebas con el sistema han sido realizadas en espacios cerrados,

respetando la legislacion vigente en materia de UAVs en Espana.

Universidad Politecnica de Madrid 111

Page 129: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 130: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Capıtulo 11

Bibliografıa

Artıculos

[1] X. Xiao, J. Dufek y R. Murphy, “Visual Servoing for Teleoperation Using a Tethered

UAV”, pag. 7, 28 de feb. de 2018.

[2] M. Tognon y A. Franchi, “Position Tracking Control for an Aerial Robot Passi-

vely Tethered to an Independently Moving Platform**This work has been partially

funded by the European Union’s Horizon 2020 research and innovation programme

under grant agreement No 644271 AEROARMS.”, IFAC-PapersOnLine, 20th IFAC

World Congress, vol. 50, n.o 1, pags. 1069-1074, 1 de jul. de 2017, issn: 2405-8963.

doi: 10.1016/j.ifacol.2017.08.242. direccion: http://www.sciencedirect.

com/science/article/pii/S2405896317305542.

[3] F. Muttin, “Umbilical deployment modeling for tethered UAV detecting oil pollution

from ship”, Applied Ocean Research, pag. 12, 2011.

[4] F. Alarcon y D. Santamaria, “UAV helicopter relativeI state estimation for autono-

mus landing on moving platform in GPS-denied scenarios”, pag. 6, 2015.

[5] S.-R. Oh, K. Pathak, S. Agrawal, H. Pota y M. Garratt, “Approaches for a tether-

guided landing of an autonomous helicopter”, Robotics, IEEE Transactions on, vol.

22(3), pags. 536-544, 1 de jul. de 2006. doi: 10.1109/TRO.2006.870657.

Universidad Politecnica de Madrid 113

Page 131: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 11. BIBLIOGRAFIA

[6] M. M. Nicotra, R. Naldi y E. Garone, “Taut Cable Control of a Tethered UAV”,

pag. 6, 2014.

[7] ——, “Nonlinear control of a tethered UAV: The taut cable case”, pag. 11, 2017.

[8] X. Xiao, J. Dufek, M. Suhail y R. Murphy, “Motion Planning for a UAV with a

Straight or Kinked Tether”, pag. 7, 1 de jul. de 2018.

[9] L. A. Sandino, “Modelado y control en vuelo estacionario de helicopteros autonomos

con cable de fijacion a tierra”, Revista Iberoamericana de Automatica e Informatica

industrial, pag. 15, 2013.

[11] ——, “First experimental results on enhancing hovering performance of unmanned

helicopters by using a tethered setup”, Robotics and Autonomous Systems, pag. 9,

2016.

[13] L. Zikou, C. Papachristos y A. Tzes, “The Power-over-Tether system for powering

small UAVs: Tethering-line tension control synthesis”, pags. 681-687, 1 de jun. de

2015. doi: 10.1109/MED.2015.7158825.

[14] G. Tartaglione, E. D’Amato, M. Ariola, P. S. Rossi y T. A. Johansen, “Model predic-

tive control for a multi-body slung-load system”, Robotics and Autonomous Systems,

pag. 11, 2017.

[15] C. Meissen, K. Klausen, M. Arcak, T. I. Fossen y A. Packard, “Passivity-based

Formation Control for UAVs with a Suspended Load”, IFAC-PapersOnLine, 20th

IFAC World Congress, vol. 50, n.o 1, pags. 13 150-13 155, 1 de jul. de 2017, issn:

2405-8963. doi: 10.1016/j.ifacol.2017.08.2169. direccion: http://www.

sciencedirect.com/science/article/pii/S2405896317328380.

[16] L. Fagiano, “Systems of Tethered Multicopters: Modeling and Control Design”,

IFAC-PapersOnLine, 20th IFAC World Congress, vol. 50, n.o 1, pags. 4610-4615,

1 de jul. de 2017, issn: 2405-8963. doi: 10.1016/j.ifacol.2017.08.653. direccion:

http://www.sciencedirect.com/science/article/pii/S240589631731039X.

[17] A. Hernandez, C. Copot, J. Cerquera, H. Murcia y R. De Keyser, “Formation Control

of UGVs using an UAV as Remote Vision Sensor”, IFAC Proceedings Volumes, 19th

IFAC World Congress, vol. 47, n.o 3, pags. 11 872-11 877, 1 de ene. de 2014, issn:

1474-6670. doi: 10.3182/20140824-6-ZA-1003.01660. direccion: http://www.

sciencedirect.com/science/article/pii/S1474667016435056.

114 Daniel Aldalur Leal - M17279

Page 132: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

ARTICULOS

[18] D. Yulong, X. Bin, C. Jie, F. Hao, Z. Yangguang, G. Guanqiang y D. Lihua, “Path

Planning of Messenger UAV in Air-ground Coordination”, IFAC-PapersOnLine,

20th IFAC World Congress, vol. 50, n.o 1, pags. 8045-8051, 1 de jul. de 2017, issn:

2405-8963. doi: 10.1016/j.ifacol.2017.08.1230. direccion: http://www.

sciencedirect.com/science/article/pii/S2405896317317366.

[19] H. Abaunza, E. Ibarra, P. Castillo y A. Victorino, “Quaternion based control for

circular UAV trajectory tracking, following a ground vehicle: Real-time validation”,

IFAC-PapersOnLine, 20th IFAC World Congress, vol. 50, n.o 1, pags. 11 453-11 458,

1 de jul. de 2017, issn: 2405-8963. doi: 10.1016/j.ifacol.2017.08.1816. direc-

cion: http://www.sciencedirect.com/science/article/pii/S2405896317324382.

[20] O. Araar, N. Aouf y I. Vitanov, “Vision Based Autonomous Landing of Multirotor

UAV on Moving Platform”, Journal of Intelligent & Robotic Systems, vol. 85, n.o 2,

pags. 369-384, 1 de feb. de 2017, issn: 0921-0296, 1573-0409. doi: 10.1007/s10846-

016-0399-z. direccion: https://link.springer.com/article/10.1007/s10846-

016-0399-z.

[21] G. Xu, Y. Zhang, S. Ji, Y. Cheng y Y. Tian, “Research on computer vision-based

for UAV autonomous landing on a ship”, Pattern Recognition Letters, vol. 30, n.o

6, pags. 600-605, 15 de abr. de 2009, issn: 0167-8655. doi: 10.1016/j.patrec.

2008.12.011. direccion: http://www.sciencedirect.com/science/article/

pii/S0167865509000051.

[22] T. Rakotomamonjy y Q. H. Truong, “Helicopter ship landing using visual servoing

on a moving platform 11This work has been accomplished within the frame of the

Research Project CONTAHCT, funded by ONERA general scientific grants.”, IFAC-

PapersOnLine, 20th IFAC World Congress, vol. 50, n.o 1, pags. 10 507-10 512, 1 de

jul. de 2017, issn: 2405-8963. doi: 10.1016/j.ifacol.2017.08.1275. direccion:

http://www.sciencedirect.com/science/article/pii/S2405896317317901.

[23] G. Xu, X. Qi, Q. Zeng, Y. Tian, R. Guo y B. Wang, “Use of land’s cooperative object

to estimate UAV’s pose for autonomous landing”, Chinese Journal of Aeronautics,

vol. 26, n.o 6, pags. 1498-1505, 1 de dic. de 2013, issn: 1000-9361. doi: 10.1016/

j.cja.2013.07.049. direccion: http://www.sciencedirect.com/science/

article/pii/S1000936113001854.

Universidad Politecnica de Madrid 115

Page 133: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

CAPITULO 11. BIBLIOGRAFIA

[24] Y. Zhao y H. Pei, “An Improved Vision-based Algorithm for Unmanned Aerial

Vehicles Autonomous Landing”, Physics Procedia, 2012 International Conference on

Medical Physics and Biomedical Engineering (ICMPBE2012), vol. 33, pags. 935-941,

1 de ene. de 2012, issn: 1875-3892. doi: 10.1016/j.phpro.2012.05.157. direccion:

http://www.sciencedirect.com/science/article/pii/S1875389212014708.

[28] S. O. H. Madgwick, “An Efficient orientation filter for inertial and inertial/magnetic

sensor arrays”, pag. 32,

Paginas Web

[25] N. Drone. (). Drone Products by Powerlinle — NTPDrone.com, direccion: http:

//www.ntpdrone.com/product/.

[26] D. A. Corp. (). FUSE Tether System :: Drone Aviation Holding Corp. (DRNE),

direccion: https://www.droneaviationcorp.com/solutions/fuse- tether-

system.

[27] H. Technologies. (). Hoverfly - Tethered Drone Technology For Infinite Flight Time,

direccion: https://hoverflytech.com/.

[30] H. Huang y J. Sturm. (). Tum simulator - ROS Wiki, direccion: http://wiki.ros.

org/tum_simulator.

[31] N. Engelhard. (). Autonavx ardrone: Code for AR.Drone Exercises, direccion: https:

//github.com/tum-vision/autonavx_ardrone.

[32] M. Quigley, B. Gerkey, K. Watts y B. Gassend. (). Joy - ROS Wiki, direccion:

http://wiki.ros.org/joy.

[33] AutonomyLab. (). Ardrone autonomy - ROS Wiki, direccion: http://wiki.ros.

org/ardrone_autonomy.

[34] S. Juric-Kavelj. (). ROSARIA - ROS Wiki, direccion: http://wiki.ros.org/

ROSARIA.

116 Daniel Aldalur Leal - M17279

Page 134: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Anexo A

Codigo de la Solucion

El codigo de la sistema robotico descrito en la presente memoria puede encontrase en

el siguiente repositorio online:

https://github.com/daleal87/TFM

Dicho repositorio incluye la totalidad de los paquetes necesarios para el funcionamien-

to de la solucion, tanto en su implementacion real como su simulacion. Tal y como se

ha detallado en el apartado 8.1 Descripcion de Nodos, estos paquetes incluyen tanto los

desarrollados por el autor como los desarrollados por terceros. El apartado citado incluye

la relacion de paquetes que pertenecen a una categorıa u otra.

Universidad Politecnica de Madrid 117

Page 135: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...
Page 136: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

Anexo B

Reparacion del Pioneer 3-AT

Tal y como se menciona en el capıtulo 9 Experimentos y Resultados, durante la eje-

cucion de las pruebas el AGV Pioneer 3-AT sufrio una averıa en la placa controladora

de los motores. Dicha averıa se produjo durante el traslado del robots hasta el pabellon

donde se realizaban las pruebas y se debio a que, cuando el Pioneer 3-AT es empujado

sin estar encendido, los motores de las ruedas generan corriente electrica. Sin embargo, la

electronica del Pioneer 3-AT no cuenta con la debida proteccion frente a esta corriente,

por lo que un pico de tension dano los circuitos encargados del control de los motores de

las ruedas derechas del robot.

Debido a la antiguedad de este modelo de robot, no existen empresas que provean

servicios de reparacion y soporte del mismo. Por ello, fue necesario realizar un proceso

de analisis e investigacion del problema en el robot, dado que en el momento de la averıa

se desconocıa la naturaleza de la misma y su alcance. Finalmente, tras realizar dicha

investigacion, se identificaron una serie de elementos danados en la placa controladora de

los motores. Dado que tampoco se comercializan repuestos de la placa controladora, fue

necesario llevar a cabo la reparacion de la misma, durante la ejecucion del presente TFM,

sustituyendo los elementos electronicos danados.

A continuacion, se detallan los elementos danados en esta averıa, ası como las repara-

ciones llevadas a cabo, con el fin de que pueda servir como referencia futura en caso de

Universidad Politecnica de Madrid 119

Page 137: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

ANEXO B. REPARACION DEL PIONEER 3-AT

que volviera a ocurrir este mismo problema.

B.1. Elementos Danados en la Placa Controladora de los

Motores del Pioneer 3-AT

La figura B.1 muestra la placa controladora de los motores del Pioneer 3-AT, Motor

Power Board Revision M (ELC1587), indicando los elementos danados por el pico de

corriente.

Figura B.1: Placa Motor Power Board Revision M (ELC1587) del Pioneer 3-AT

El listado de los elementos a sustituir, segun la numeracion indicada en la figura B.1,

son:

1 : circuito integrado de puente H con la referencia HIP4081AIBZ.

2 : MOSFET de potencia con la referencia IRFZ48.

3 y 4 : Resistencias de 10 kΩ cada una.

120 Daniel Aldalur Leal - M17279

Page 138: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

B.2. SUSTITUCION DE LOS ELEMENTOS DANADOS

B.2. Sustitucion de los Elementos Danados

Para la sustitucion de los elementos danados, fue necesario el desmontaje de la Pioneer

3-AT, dado que la placa controladora de los motores se encuentra situada en el punto mas

interno del mismo, atornillada a la caja metalica en la que se insertan las baterıas del robot.

Las imagenes en la figura B.2 muestra el proceso para llevar a cabo dicho desmontaje.

(a) Paso 1: retirar tapa supe-

rior

(b) Paso 2: retirar placas de

indicadores y conectores

(c) Paso 3: soltar placa con-

troladora del motor

Figura B.2: Desmontaje para la reparacion del Pioneer 3-AT

A continuacion de describen los pasos a efectuar para la extraccion de la placa contro-

ladora de los motores. Es importante recalcar que para realizar este proceso con seguridad,

es necesario haber quitado previamente las baterıas y desconectar el Pioneer 3-AT de la

red electrica.

1. Figura B.2a: es necesario retirar la tapa superior metalica que cubre el Pioneer 3-AT,

de color negro en la figura. Para ello, hay que desatornillar los tornillos que la unen

al chasis del robot.

2. Figura B.2b: una vez abierto el Pioneer 3-AT, no se tiene un acceso directo a la

placa controladora de los motores, dado que se encuentra situada debajo del panel

de indicadores y de la placa de conexion de perifericos. Es necesario, por lo tanto,

retirar ambas antes de proceder al siguiente paso.

3. Figura B.2c: una vez retirados los elementos anteriores, la placa controladora de los

motores ya es accesible. Sin embargo, para poder llevar a cabo la sustitucion de los

Universidad Politecnica de Madrid 121

Page 139: Cooperaci on Cordada entre Robot Terrestre (UGV) y Robot A ...

ANEXO B. REPARACION DEL PIONEER 3-AT

diferentes componentes de una forma comoda, es necesario soltarla de su soporte.

Para ello, hay que soltar las conexiones que la unen a la fuente de alimentacion del

robot, ası como las salidas de alimentacion hacia los motores.

Una vez extraıda la placa controladora de los motores, se puede proceder a la susti-

tucion de los elementos danados. Para ello, es necesario retirar las soldaduras de estano

con ayuda de un soldador adecuado para este material y una bomba desoldadora. Pos-

teriormente, se procedera a la colocacion de los nuevos elementos y su soldadura a la

placa.

Finalmente, hay que realizar el proceso de montaje del Pioneer 3-AT, el cual es el

inverso al de desmontaje. En este punto es importante prestar atencion a las conexiones de

los motores a la placa controladora, dado que el orden de conexion de los motores del lado

izquierdo del robot esta invertido con respecto a los del derecho. La propia placa incluye

indicaciones de como deben ser las conexiones. En el caso del montaje, la instalacion de las

baterıas en el robot y su conexion a la red electrica deberan ser el ultimo paso a realizar,

garantizando ası la seguridad del proceso.

122 Daniel Aldalur Leal - M17279