Full text
Equa ion Chap e 1 Sec ion 1
P oyec o Fin de Ca e a
Ingenie ía Elec ónica, Robó ica y Meca ónica
Na egación de UAVs con Deep Lea ning
Dp o. Ingenie ía de Sis emas y Au omá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Au o : Jo ge Hidalgo Ma ín
Tu o : Begoña C. A ue Ullés
Se illa, 2019
iii
P oyec o Fin de Ca e a
Ingenie ía Elec ónica, Robó ica y Meca ónica
Na egación de UAVs con Deep Lea ning
Au o :
Jo ge Hidalgo Ma ín
Tu o :
Begoña C. A ue Ullés
P o eso i ula
Dp o. Ingenie ía de Sis emas y Au omá ica
Escuela Técnica Supe io de Ingenie ía
Uni e sidad de Se illa
Se illa, 2019
P oyec o Fin de Ca e a: Na egación de UAVs con Deep Lea ning
Au o :
Jo ge Hidalgo Ma ín
Tu o :
Begoña C. A ue Ullés
El ibunal nomb ado pa a juzga el P oyec o a iba indicado, compues o po los siguien es miemb os:
P esiden e:
Vocales:
Sec e a io:
Acue dan o o ga le la cali icación de:
Se illa, 2019
El Sec e a io del T ibunal
ii
A mi amilia
A mis maes os
ix
Ag adecimien os
Es e p oyec o es el que cie a una e apa de mi ida, en es os úl imos años he i ido múl iples expe iencias y
me gus a ía ag adece a odas aquellas pe sonas que han es ado conmigo es e iempo.
Me gus a ía comenza ag adeciendo a oda mi amilia que me ha es ado apoyando es os años, y a lo la go de
odos mis es udios. Aunque pa a algunos soy ‘el que hace los muñecos’, sé que siemp e se in e esan y se
p eocupan po mí.
También ag adece a odos mis amigos an o de ue a como den o de la uni e sidad. En especial a los amigos
de la uni e sidad ag adece les habe es ado jun os es os años, sin ellos no hab ía podido es a odo es e iempo.
Con amigos como oso os queda se has a las 24h haciendo un p oyec o sea en e enido. Con oso os he
compa ido de los mejo es años siemp e acompañados de buenos momen os y g andes anécdo as.
Me gus a ía ambién ag adece a odo el p o eso ado de la Uni e sidad de Se illa po el abajo y la ayuda en
es o es e ayec o. Po ab i me un mundo nue o y man ene mis ganas de segui ap endiendo. Ag adece
especialmen e a Begoña po acompaña me en es e úl imo escalón en la uni e sidad.
Finalmen e me gus a ía ag adece a odas aquellas pe sonas que con ibuyen de alguna o ma a di undi el
conocimien o y hace lo accesible a muchas pe sonas, desde u o iales, p oyec os, pa icipación en o os en e
o as ac i idades, su es ue zo hace que o as pe sonas engamos más ácil pode segui ap endiendo y
desa olla nue o con enido.
Jo ge Hidalgo Ma ín
Se illa, 2019
ÍNDICE DE TABLAS
Tabla 4-1 Signi icado de eclas 17
Tabla 4-2 Codi icación ángulos 22
Tabla 4-3 Codi icación elocidades 24
Tabla 5-1 Tipos de mues a 31
Tabla 5-2 Velocidades x 32
Tabla 5-3 Velocidades y 32
Tabla 5-4 Velocidades z 32
Tabla 5-5 Velocidades ψ 32
x ii
ÍNDICE DE FIGURAS
Figu a 1-1 Vehículo au ónomo 3
Figu a 1-2 Deli e y D one 3
Figu a 2-1 En o no 6
Figu a 2-2 Esquema neu ona a i icial 7
Figu a 2-3 Esquema ANN 7
Figu a 2-4 Ejemplo CNN X’s 9
Figu a 2-5 Ca ac e ís icas ‘X’ 10
Figu a 2-6 Resul ado con olución 10
Figu a 2-7 Resul ado pooling 10
Figu a 3-1 Funcionamien o ROS 14
Figu a 3-2 Ejemplo de en o no en Gazebo 15
Figu a 4-1 In e az an igua 15
Figu a 4-2 In e az nue a 16
Figu a 4-3 Teclado 16
Figu a 4-4 Diag ama de es ados del uncionamien o 18
Figu a 4-5 Diag ama es ados de bloques 18
Figu a 4-6 Imagen de p o undidad 20
Figu a 4-7 Posiciones p opia y obje i o 21
Figu a 4-8 Cambio de e e encia 21
Figu a 4-9 Es uc u a de la ed simpli icada 25
Figu a 4-10 Building edi o Gazebo 25
Figu a 4-11 Columna 26
Figu a 4-12 Pa ed 26
Figu a 4-13 Esquina 27
Figu a 5-1 En o no mo imien o con gi o 33
Figu a 5-2 Va iación posición expe imen o con gi o 34
Figu a 5-3 Posición expe imen o con gi o 34
Figu a 5-4 Va iación posición expe imen o con gi o 2 35
Figu a 5-5 Posición expe imen o con gi o 2 36
Figu a 5-6 Va iación posición expe imen o con obs áculo 37
Figu a 5-7 Posición expe imen o con obs áculo 37
Figu a 5-8 Va iación posición expe imen os con múl iples obs áculos 38
Figu a 5-9 Posición expe imen os con múl iples obs áculos 39
Figu a 5-10 En o no con múl iples obje os 1 39
xix
Figu a 5-11 Va iación posición con múl iples obje os, e e encia dinámica 1 40
Figu a 5-12 Posición con múl iples obje os, e e encia dinámica 1 40
Figu a 5-13 En o no con múl iples obje os 2 41
Figu a 5-14 Va iación posición con múl iples obje os, e e encia dinámica 2 42
Figu a 5-15 Posición con múl iples obje os, e e encia dinámica 2 42
No ación
UAV
Unmanned Ae ial Vehicle
ROS
Robo Ope a ing Sys em
SLAM
Simul anious Loca ion and Mapping
ReLU
Rec i ied Linea Uni
Ψ
Ángulo yaw
0>>
Valo es muy nega i os
0>
Valo es algo nega i os
~0
Valo casi nulo
0<
Valo es algo posi i os
0<<
Valo es muy posi i os
1
1 INTRODUCCIÓN
n los úl imos años la in eligencia a i icial ha a anzado de o ma signi ica i a. A pesa de que mucho de
los concep os ma emá icos ya es aban desa ollados a mi ad del siglo XX, la poca capacidad de cálculo de
la época no ha pe mi ido has a aho a que sea iable es e ipo de opciones. Con la capacidad de cálculo
ac ual, es posible usa es ás écnicas pa a soluciona p oblemas desde el pun o de is a de la in eligencia
a i icial.
1.1 Mo i ación y obje i os
La na egación es uno de los p oblemas más apasionan es de la obó ica, la idea en p incipio es sencilla, llega
de un pun o A hacia un pun o B, pe o en ella in e ienen múl iples ac o es que in luyen, como es la
in e p e ación del en o no, la gene ación de ayec o ias y el mo imien o del ehículo. Pa a pode in e p e a el
en o no, es p eciso el uso de a ios senso es, como los ul asonidos, senso es isuales o senso es LASER. Los
cuales son esenciales pa a cap a lo que ocu e al ededo . También in luye la ipología del ehículo según
dónde se desplace, di e enciando los ehículos e es es, aé eos y ma inos; y den o de ellos exis en ambién
dis in as subca ego ías, como un obo di e encial o un chee ah.
Respec o los obo s aé eos como los e es es, según el ipo de en o no se pod án usa o no una se ie de
senso es u o os. [1] Es os en o nos se pod án di idi en dos g upos, de in e io es y ex e io es; cada uno end á
unas limi aciones, que cambia án la o ma de en en a el p oblema. Es as limi aciones, son gene almen e
elacionados con la localización del obo . Po ejemplo, un obo en in e io es no pod á usa el GPS debido a
que exis en in e e encias haciendo que no pueda unciona co ec amen e, siendo necesa io el uso de sis emas
al e na i os como ul a wide-band, sin emba go, en ex e io el GPS puede se una mejo opción.
También se pod án di e encia según la in o mación sob e el en o no que se enga, basado en mapas, el cual
depende de un mapa del en o no. Basado en la cons ucción de mapas, en la que se usan senso es pa a
cons ui un mapa y de es e ealiza la na egación. Na egación sin mapas, no usa ningún ipo de ep esen ación
del en o no, sino que usa los senso es pa a de ec a obje os gene ando así mo imien os.
En en o nos en los que se conoce el mapa, únicamen e se á necesa io sabe la localización del obo . Pa a ello,
se pod ía usa écnicas de localización como las nomb adas an e io men e. En los en o nos en los que no se
enga in o mación sob e el mapa, se á necesa io el uso de écnicas más a anzadas como SLAM [2]
(Simul aneous Loca ion and Mapping). Es a écnica es muy ú il, ya que pe mi e localiza el obo a la ez que
c ea un mapa del en o no. Respec o de la na egación sin mapas, no se á necesa io la c eación de ninguno, sino
que se in e ac ua á en unción de lo obse ado en el en o no.
La gene ación de ayec o ias [3] es o a pa e impo an e de la na egación ya que es el que se enca ga de
decidi el camino a oma en e el pun o A hacia el pun o B. Es a gene ación de ayec o ia debe ene en
cuen a múl iples elemen os que exis an en e ambos pun os, de acue do con cie as es icciones ex e nas o
p opias del obo . Es os end án como obje i o encon a el camino con el meno cos e posible, en endiendo
cos e como el elemen o que se quie e minimiza , cómo pod ía se el iempo o ene gía. Algunos de es os son
los diag amas de Vo onoi o descomposición de celdas exac as.
E
In oducción
2
Todo lo desc i o an e io men e, es una pequeña in oducción de lo que es la na egación en obó ica. Con los
ecien es a ances en in eligencia a i icial se han conseguido mejo a es os sis emas haciéndolos menos
cos osos y más obus os. A con inuación, se pasa á a explica algunos ejemplos de como puede se de u ilidad
la AI en el campo de la na egación, ya sea pa a complemen a cie as écnicas como pa a sus i ui las.
Median e el uso de edes neu onales se pueden mejo a las écnicas de SLAM adicionales [4], como Kine ic
Fusión o dense SLAM que se basan en cáma as de p o undidad. El uso de es as cáma as iene cie os
incon enien es, p incipalmen e elacionados con el ango de acción o po el exceso de luz. Es o implica que
sea p e e ible ec ea un mapa de p o undidad a pa i de imágenes RGB, lo cual con ayuda de edes
neu onales con olucionales se pueden cons ui mejo es mapas, lo que pe mi e ene una mejo in e p e ación
del en o no y po an o mejo a la na egación.
La in eligencia a i icial no solo pe mi e mejo a el uncionamien o de algunas écnicas, sino que en en o nos
en los que su uso no es posible o es á muy limi ado pueden se sus i uidos po o os [5]. Es e el caso de
en o nos con muchos elemen os en mo imien o, como pe sonas. Es o puede gene a mucho uido en las
mediciones y de ección de landma ks haciendo que el SLAM no sea iable. Po an o, la c eación de mapas o
gene ación de ayec o ias puede se bas an e cos oso e imp eciso. Sin emba go, como el ac o de esqui a
obje os es un ac o eac i o del que solo depende los elemen os ce canos. Con el uso de edes neu onales es
posible pasa a a és de es e ipo de en o no sin colisiona , usando únicamen e los da os di ec os de los
senso es. Y g acias a la capacidad de gene alización es posible en en a lo a dis in os en o nos sin necesidad
de a ia sus pa áme os
Recien emen e, se ha in oducido ambién el uso de ap endizaje e o zado, el cual se u iliza cada ez más pa a
esol e p oblemas de na egación [6]. El concep o gene al sob e el que se basa el ap endizaje e o zado es que
el en enamien o se ealiza a a és de un sis ema de p ueba y e o , en el que se deja un agen e en un en o no
que ealice una se ie de mo imien os y a pa i de es os gene a una se ie de ecompensas. El obje i o del
agen e se á el de maximiza es a ecompensa. Es as écnicas han enido g andes éxi os en juegos de A a i [7] y
a pa i de ellas se pueden ex apola pa a usa las en la na egación. Con es a implemen ación se puede sus i ui
el p ocesado de la in o mación de los senso es, la c eación de mapas y la c eación de ayec o ias po es e
sis ema de ecompensas. Aunque oda ía queda mucho abajo po hace en es a ma e ia pa ece bas an e
p ome edo .
Po lo gene al, el uso de ap endizaje e o zado es deseable, ya que pe mi e educi la complejidad del
p oblema. Sin emba go, el iempo necesa io pa a en ena es e ipo de agen es pa a que esuel an es e ipo de
a eas es ele ado. En es a línea, se han desa ollado mé odos po los cuales se puede educi signi ica i amen e
es e iempo [8]. Se a a de sis emas en los que eúne lo que se ía las dos o mas undamen ales de en ena se,
median e imi ación a un ope a io, lo cual es muy e icien e en núme o de mues as, pe o sin se demasiado
obus o a cambios en el en o no, y po ap endizaje e o zado en enando median e p ueba y e o , lo que es
ine icien e en núme o de mues as, pe o muy obus os a cambios de en o no. Haciendo un en enamien o
escalonado, se puede educi el iempo de en enamien o.
Todo lo mencionado an e io men e puede ene g an can idad de aplicaciones. Po ejemplo, en el mundo del
anspo e de pe sonas [9], dónde se calcula que el 90% de acciden es de á ico son causados po e o es
humanos, el uso de in eligencia a i icial en los ehículos pa a ayudas a la conducción o la conducción
au ónoma pod ía ayuda a dec emen a ese alo .
3
3
Na egación de UAVs con Deep Lea ning
Figu a 1-1 Vehículo au ónomo
También, es de g an u ilidad pa a la en ega de me cancías, ya sea po p opósi o come cial como Amazon [10]
o en luga es donde sea necesa io en ia suminis os como en ope aciones de esca e en luga es de di ícil
acceso.
Figu a 1-2 Deli e y D one
Hay que des aca , que g an pa e del abajo mencionado an e io men e es á ealizado pa a obo s e es es,
debido a que los obo s aé eos son más complejos ya que ambién pueden mo e se ambién en el eje z. Es o
pe mi e educi en cie a medida la di icul ad del p oblema.
Es e p oyec o es á mo i ado po los g andes a ances que unen la in eligencia a i icial con la na egación. Es o
unido con el po encial de los UAVs y sus múl iples aplicaciones, lo con ie en en un campo con muchas
posibilidades. Además, el hecho de pa i con poca base sob e el uso de edes neu onales es un e o añadido
que se iene en es e p oyec o. El obje i o del p oyec o se á c ea una ed neu onal, en la que un UAV al que se
le da una posición obje i o, na egue has a dicha posición esqui ando cualquie obs áculo que se encuen e.
Pa a ello no se end á ningún mapa del en o no ni se á necesa io c ea lo.
Es e p oyec o ambién es á mo i ado en pa e, en uno ealizado an e io men e [11], en es e se p e ende hace
na ega a un UAV en un en o no sin que colisione. Pa a el desplazamien o se usaban ayec o ias p ede inidas
las cuales solo pe mi ían el a ance mien as se gi a a un lado, po an o, el espacio de acciones es muy limi ado
además de que no se pod á mo e en el eje z. Pa a mejo a es o, se ha sepa ado cada una de las cua o
componen es de elocidades pa a que sean independien es. Es o da mayo mo ilidad al UAV, que pod á
ealiza desplazamien os hacia los lados, mo e se hacia a iba y abajo además de pode mo e se hacia a ás.
In oducción
4
1.2 Es uc u a del abajo
El p oyec o se di ide en 6 capí ulos, se comenza á haciendo una b e e in oducción al p oyec o donde se
expond á como ha sido el desa ollo de es e y se in oduci án concep os básicos de elemen os usados en la
elabo ación del p oyec o, en nues o caso las edes neu onales. Pos e io men e, se expond á cual es el so wa e
usado jun o alguno de sus asgos undamen ales.
Una ez ealizada la pa e in oduc o ia, se pasa á a explica los elemen os que han sido necesa io cons ui
pa a llega a la solución inal. En e ellas des aca una in e az g á ica, la es uc u a de la ed y el mo imien o
del UAV.
A con inuación, se pasa á a p esen a los esul ados, los cuales se han di idido en 4 bloques. El p ime o
co esponde á con los da os de la ed después de se en enada. Los siguien es bloques se án los elacionados
con las p uebas, en los cuales, se ha en en ado la ed a dis in os escena ios con ca ac e ís icas dis in as.
Po úl imo, se ha expues o las posibles mejo as en cuan o a endimien o o uncionalidad, así como la o ma en
la que se pod ía ealiza . Además, se ha añadido una e lexión inal a pa i de la que se in oduci á a un
posible abajo u u o.
5
2 DESCRIPCIÓN DEL PROBLEMA
l obje i o de es e p oyec o es c ea una ed neu onal p o unda capaz de hace na ega un UAV po un
en o no e i ando los posibles obs áculos que pueda habe en el camino, sin la necesidad de que exis a un
ope a io con olando el apa a o.
En es e p oceso se pueden di e encia 3 ases dis in as:
1. Toma de mues as
2. En enamien o de la ed
3. Tes eo de la ed en en o no simulado.
En la p ime a ase se ha ealizado una se ie de expe imen os, en los cuales de o ma manual se ha na egado el
d on po un en o no simulado en Gazebo. De es os expe imen os se han sacado una se ie de a iables de
in e és pa a pode en ena pos e io men e la ed neu onal. Es as a iables co esponden a las elocidades que
se p e enden con ola , posición del UAV y las imágenes omadas po la cáma a. Todos es os da os son
almacenados en unos a chi os que se usa án pa a en ena la ed pos e io men e.
Pa a la segunda ase se ha c eado una ed neu onal capaz de ob ene las elocidades de e e encia las cuales se
usa án pa a mo e el UAV. Pa a en ena la, se han usado los da os ob enidos de los dis in os expe imen os, los
cuales as se p ocesados se han usado pa a en ena la ed.
Finalmen e, se ha p obado en el en o no de Gazebo cómo se compo a es a ed en dis in os en o nos,
p e endiendo llega a un obje i o p opues o. Es as p uebas comp enden escena ios pa ecidos a los que se
usa on pa a en ena la ed y nue os escena ios pa a comp oba si se ha ap endido a gene aliza .
E
Desc ipción del p oblema
12
13
13
Na egación de UAVs con Deep Lea ning
3 SOFTWARE
n es e capí ulo se cen a en los p og amas u ilizado pa a ealiza es e p oyec o. Es e p oyec o aba ca el
uso de edes neu onales, na egación y simulación. Po an o, la elección de un buen so wa e que
aba que odos los equisi os de una o ma e icien e es de i al impo ancia.
3.1 ROS
ROS [18] esponde a las siglas de Robo Ope a ing Sys em y es una pla a o ma pa a so wa e de obó ica. Es a
con iene una colección de he amien as, lib e ías y con enciones cuyo obje i o es c ea un so wa e de
p opósi o gene al su icien emen e obus o pa a dis in as pla a o mas.
Como es sabido la in e acción en dis in os en o nos es bas an e compleja y es muy di ícil que un solo
indi iduo, labo a o io o ins i ución pueda hace odo de o ma independien e. Así su ge ROS, pa a anima una
pla a o ma colabo a i a, en la que expe os en dis in as á eas puedan colabo a con algo i mos en el es ado del
a e. Y que es o sea accesible po o as en idades a lo la go del mundo.
3.1.1 ¿Po qué usa ROS?
ROS es una pla a o ma usada a ni el mundial y en su página o icial o ece g an can idad de ayudas pa a odos
los ni eles. En e las p incipales en ajas des aca
• G an can idad de u o iales, de ni el básico, ni el in e medio y a anzado. Con ellos puedes comenza
a amilia iza e con ROS y cómo uncionan cada uno de los elemen os. También exis en u o iales
adicionales que cub en g an pa e de las he amien as de ROS.
• Comunidad, con o os en donde hay discusiones de cómo hace cie as a eas. Además, es muy ú il a
la ho a de soluciona p oblemas que pueden ocu i ya que exis en e e encias pa a casi cualquie ipo
de e o .
O o de los mo i os pa a usa ROS, es la acilidad pa a in eg a paque es de o as pe sonas, al se una
pla a o ma modula basada en nodos, es muy sencillo in e conec a dis in os p og amas c eados po en es
dis in os.
3.1.2 ¿Cómo unciona ROS?
Se iene un wo kspace en el que se encuen an los siguien es a chi os.
• Packages (paque es), es la unidad undamen al de código en ROS. Cada paque e con iene lib e ías,
ejecu ables, código, u o os elemen os.
• Mani es s (mani ies os), es la desc ipción del paque e, es e si a pa a de ini las dependencias en e
paque es y pa a cap u a los me ada os del paque e, como son la e sión, man enedo , licencia, e c.
• Nodes (nodos), es un ejecu able que usa ROS pa a comunica se en e ellos.
• Messages (mensajes), en una es uc u a que se usa cuando se subsc ibe o publica a un opic.
• Topics ( emas), es el luga donde los nodos pueden publica sus mensajes. De la misma mane a se
E
So wa e
14
puede subsc ibi pa a lee es os mensajes.
• Mas e , es el enca gado de ges iona la conexión en e los dis in os elemen os.
• Se ices (se icios), es una o ma al e na i a de comunica se en e nodos, es os pe mi en a los nodos
en ia solici udes y ecibi espues as.
Figu a 3-1 Funcionamien o ROS
De es a o ma, se puede subdi idi el p oblema como dis in os nodos, y median e el sis ema de opics o
se icios, comunica se con o os pa a ealiza una de e minada acción.
3.2 Gazebo
Gazebo [19] es un simulado de dinámica en 3D con la capacidad de simula de o ma p ecisa y e icien e
poblaciones de obo s en en o nos de ex e io e in e io . De o ma pa ecida a algunos mo o es de juego,
Gazebo p opo ciona simulación de las ísicas con mayo g ado de idelidad, una can idad de senso es, e
in e aces pa a los usua ios y p og amas.
En e los usos ípicos de Gazebo se encuen a:
• Tes eo de algo i mos pa a la obó ica.
• Diseño de obo s.
• Tes eo de uncionamien os en escena ios ealis as.
Además, cuen a con mul i ud de modelos de elemen os, pa a pode hace un en o no lo más ealis a posible. Al
igual que en ROS ambién puedes usa modelos c eados po o a gen e ácilmen e. Asimismo, pod ás c ea us
p opios modelos y con la he amien a building edi o pod ás c ea edi icaciones, ú il sob e odo pa a in e io es.
15
15
Na egación de UAVs con Deep Lea ning
Figu a 3-2 Ejemplo de en o no en Gazebo
3.3 Tenso Flow & Ke as
Tenso Flow [20] es una pla a o ma de código abie o pa a machine lea ning. Es e p opo ciona una g an
can idad de he amien as, lib e ías y ecu sos pa a pe mi i a los in es igado es u iliza he amien as en el
es ado del a e de machine lea ning, áciles de cons ui y usa pa a dis in as aplicaciones.
3.3.1 ¿Po qué Tenso Flow?
Al se Tenso Flow de código abie o y an usado a ni el global iene muchas en ajas:
• Exis e una g an comunidad de pe sonas que abajan con es a pla a o ma, po an o, iene una g an
can idad de discusiones sob e cómo ealiza dis in as a eas. También ayuda a soluciona cie os
e o es pudiendo encon a el o igen de es e.
• Una documen ación ex ensa, en la que se encuen an odas las unciones, que signi ica cada uno de
sus pa áme os y el uso que iene. Igualmen e, algunas con ienen algunos ejemplos pa a e cómo se
esc ibi ían.
• Tu o iales, pa a ayuda a comp ende como unciona la pla a o ma y algunos concep os básicos.
• Además, pe mi e múl iples ni eles de abs acción pa a pode elegi el que más se ajus e a us
necesidades. En nues o caso, usa emos Ke as, el cual pe mi e abs ae nos de elemen os de más bajo
ni el. Y nos pe mi e c ea es uc u as su icien emen e complejas como la usada en el p oyec o.
3.4 O as lib e ías
Las lib e ías mencionadas an e io men e, ienen sopo e pa a dis in os lenguajes de p og amación como son
C++ o Py hon. Sin emba go, al se mucho más sencillo u iliza Tenso Flow con Py hon, se ha decidido usa
es e en e a C++, lo que nos pe mi i á aho a iempo de desa ollo. Pa a ealiza el p oyec o se han hecho uso
de o as lib e ías.
3.4.1 NumPy
NumPy [21] es un paque e pa a compu ación con Py hon. Que con iene:
• Vec o es N-dimensionales.
So wa e
16
• Funciones de p edicción.
• He amien as pa a in eg a C/C++
Es e es bas an e más po en e que si usá amos las lis as na i as de Py hon. Además, iene in eg adas
ope aciones pa a ealiza con ma ices las cuales aho a an iempo de compu o.
3.4.2 OpenCV
OpenCV [22] es una lib e ía de código abie o el cual pe mi e ealiza ope aciones con imágenes. Es a lib e ía
iene in e aces pa a C++, Py hon y Ja a y sopo a dis in os sis emas ope a i os.
Es a lib e ía pe mi e abaja ácilmen e con imágenes, y ealiza ope aciones de p ocesado que haciéndolas
manualmen e se ían más len as en iempo de cómpu o. A pesa de ene muchas más uncionalidades, en es e
p oyec o se ha usado p incipalmen e pa a ges iona imágenes y cambia el amaño.
3.4.3 Pygame
Pygame [23] es una lib e ía de código abie o pa a hace aplicaciones mul imedia. Pygame puede co e en
casi cualquie pla a o ma y sis ema ope a i o. Es e nos acili a el pode ene acceso a elemen os como el
eclado o el a ón de una o ma ácil y simple.
Con ella se pueden c ea una aplicación y hace la sensible al a ón pa a cambia algunas opciones o el eclado
pa a manda alguna consigna.
3.4.4 Sys – OS
Es as dos lib e ías [24] [25] son na i as de Py hon y pe mi e accede a elemen os del sis ema ope a i o. La
p incipal u ilidad es ene acceso a los dis in os a chi os desde el p og ama. También pe mi e lee los
pa áme os in oducidos en la línea de comandos.
15
4 MÉTODOS IMPLEMENTADOS
n es e capí ulo amos a desc ibi odos los pun os necesa ios pa a pa a pode llega a ob ene esul ados.
Pa a ello es necesa io c ea una in e az g á ica la cual se usa á pa a manipula el UAV, la c eación de la
ed neu onal pa a c ea un agen e capaz de ealiza la a ea asignada y inalmen e la comunicación con el
con ol de uelo pa a que se pueda ola .
4.1 In e az g á ica
Pa a la ealización de los dis in os expe imen os y comp oba los esul ados es necesa io pode in e ac ua con
el en o no en Gazebo. Es o se ealiza á median e una in e az que pe mi a; con ola el UAV usando el eclado,
isualiza los pa áme os que se en ían y conec a la ed neu onal pa a que sea la que con ole el UAV. Si se
u ie a una in e az que pe mi ie a lo mencionado an e io men e, se pod ía exp imi al máximo la
uncionalidad sin necesidad de cambia líneas de código ni imp imi po pan alla los esul ados.
Desde el Depa amen o de Ingenie ía de Sis emas y Au omá ica de la Uni e sidad de Se illa se ha
p opo cionado un modelo de UAV [26] el cual pe mi ía una se ie de in e aces, con eclado, mando de la
XBOX y gamePAD. En e es as, la que más in e és es la que hace uso del eclado pa a el mo imien o.
Figu a 4-1 In e az an igua
Es a in e az enía una se ie de incon enien es:
• Complejidad de in e az, pa a na ega po ella debes in oduci comandos desde el eclado.
• Con ol de ope a io educido, solo podía pulsa se un bo ón a la ez. Es o impedía que se pudie a
a anza en diagonal, ya que hab ía que i hacia delan e y hacia el lado simul áneamen e, lo que educe
el dinamismo de los expe imen os.
• No exis e la posibilidad de conec a una ed neu onal pa a que ealice el mo imien o.
• No se pueden in oduci e e encias de posición pa a in oduci las en la ed.
Pa a sal a es os incon enien es, se ha cambiado la in e az y uncionalidad de o ma casi comple a. Pa a
pode ealiza lo se ha hecho uso de pygame, la cual se ía la siguien e.
E
Mé odos Implemen ados
16
16
Figu a 4-2 In e az nue a
1. Indicado es de elocidad a la cual a el UAV. El o den es elocidad en x, y, z y yaw.
2. Indicado de alineación con obje i o.
3. Pan alla de e e encias, pe mi e en un ango de 20x20 da una e e encia de posición al d on pa a que
la siga (solo pa a cuando es é conec ado la ed neu onal).
4. Bo ón pa a inicia el despegue. Pe mi e despega a una de e minada al u a (1.5 me os po de ec o).
5. Conec a ed neu onal. Hace que el con ol del d on sea po la acción de la ed. Po de ec o se
con ola á desde el eclado.
4.1.1 Con ol po eclado
Como se ienen 4 ejes de mo imien o pa a el UAV, es necesa io de 4 pa ejas de eclas pa a cub i odos los
mo imien os posibles. Las eclas u ilizadas se án las mismas que las que se enía po de ec o en la in e az que
se enía al p incipio y co esponde án a la misma unción,
Figu a 4-3 Teclado
Cada una de es as eclas iene una unción que es la siguien e:
Teclas A-D
‘A’ gi o en yaw hacia izquie da
‘D’ gi o en yaw hacia de echa
Teclas S-W
‘S’ mo imien o hacia abajo
‘W’ mo imien o hacia a iba
17
17
Na egación de UAVs con Deep Lea ning
Flecha Abajo-A iba
Flecha abajo, mo imien o hacia
a ás
Flecha a iba, mo imien o hacia
delan e
Flecha Izquie da-
De echa
Flecha izquie da, mo imien o hacia
izquie da
Flecha de echa, mo imien o hacia
de echa
Tabla 4-1 Signi icado de eclas
Cada bo ón con o ma una clase en la cual se puede impone un alo co espondien e a la elocidad en esa
di ección. Cuando se impone un alo ambién se debe aco a en e un alo máximo y mínimo ( alo
absolu o) y ambién in o ma del es ado; si es a pulsado o no.
Pa a pode cub i el ango de elocidades en una di ección en ambos sen idos, es necesa io ag upa es as eclas
po pa ejas. Es as pa ejas se han unido o mando una clase que da in o mación sob e el alo de la elocidad
en una de e minada di ección. Es as clases pe mi en que cuando no se pulse ninguna ecla la pe dida de
elocidad sea p og esi a o sea inmedia a, has a un alo nulo. Además, se debe án c ea p io idades en los
casos en que ambas eclas es én ac i as simul áneamen e. Los casos se ían los siguien es, ( ene en cuen a que
‘a iba’ signi ica oma alo es posi i os y ‘abajo’ oma alo es nega i os):
• Si a iba es á ac i o y abajo desac i ado, se inc emen a p og esi amen e hacia alo es posi i os, clase
de ‘a iba’. Mien as se man iene a 0 la clase de ‘abajo’.
• Si a iba es á desac i ado y abajo ac i o, se dec emen a p og esi amen e hacia alo es nega i os,
clase de ‘abajo’. Mien as se man iene a 0 la clase de ‘a iba’.
• Si ambos es án desac i ados, según si el alo e a posi i o o nega i o, se dec emen a á o inc emen a á
su alo espec i amen e.
• Si ambos es án ac i ados, se deja como es aba, es deci , si es aba aumen ando segui á aumen ando y
ice e sa, si es aba disminuyendo segui á haciéndolo.
Cabe des aca la posibilidad de que cuando se quie a aumen a el alo , po ejemplo, es é en un alo nega i o
y que po an o haya que empeza a aumen a desde ahí. Es o puede hace se de 2 o mas, las cuales es án
implemen adas median e una bande a. La p ima o ma se ía lle a lo di ec amen e has a un alo nulo y a pa i
de ahí aumen a la elocidad, o aumen a el alo has a que sea nulo y después segui aumen ando.
4.1.2 Panel de mando
El panel de mando es el enca gado de ges iona las in e acciones del usua io con la in e az. Es as comp enden
la ep esen ación de da os, ges ión de bo ones, cambio de uncionalidades y mo imien o dinámico de la
e e encia.
Pa a c ea los g á icos se ha hecho uso de la lib e ía pygame, con el que se ha c eado una pan alla de 200x350.
Pygame unciona po ciclos, en los que con un eloj in e no que ma ca los pe iodos de la aplicación. En cada
ciclo se ellena la pan alla de un colo de ondo, pa a pode sob esc ibi la in o mación, después se in e ac úa
con ella y se dibujan los elemen os que se quie en mos a , y inalmen e se ac ualiza la pan alla pa a mos a
es os cambios.
4.1.2.1 Funcionamien o
El diag ama de es ados co espondien e a la uncionalidad del panel de mando se á el siguien e,
Mé odos Implemen ados
18
18
Figu a 4-4 Diag ama de es ados del uncionamien o
La uncionalidad po an o se ía la siguien e, en p ime a ins ancia el UAV se encuen a en el es ado de ‘inicio’
pa ado sin hace nada. Pa a pode maneja lo haciendo del eclado, se debe pulsa el bo ón (4) de la in e az, el
cual pe mi e despega a una al u a p ede e minada. Una ez en el ai e, se puede hace uso del eclado pa a
mo e lo po el en o no. Du an e el uelo se mos a á el alo de elocidad a a és de unas ba as en el
indicado de la in e az (1).
Pa a pode u iliza la ed neu onal, se debe ac i a pulsando el bo ón (5), es o se puede hace en cualquie
momen o. Si po ejemplo oda ía no se ha empezado a mo e se cuando se pulse el bo ón, hab á que espe a a
que haya despegado (hab ía que pulsa bo ón (4)) pa a que es e empiece a unciona . Hay que des aca que
pulsando el bo ón (5) se puede ol e a cambia en e el uncionamien o au ónomo y manual.
En el caso en el que es é en modo au ónomo, se necesi a á una e e encia pa a que el d on aya hacia ella. Es a
e e encia se á dada a a és de (3) el cual pe mi e selecciona una posición en ango que a desde -10 a 10 en
el eje x e y. Cabe des aca que en es e caso la posición z inal es a á ma cada po de ec o.
4.1.2.2 Conexión con es o del sis ema
Figu a 4-5 Diag ama es ados de bloques
La in e az y el con olado del UAV co esponden a clases independien es, pe o implemen adas en el mismo
nodo, po lo que la in e az se enca ga de comunica los cambios en los es ados de uncionamien os y el o o
se enca ga de ejecu a las uncionalidades. El manejado de e e encia es el único que se comunica con el es o
del sis ema pa a en ia le la e e encia de las elocidades al nodo del con ol de uelo y pa a ecibi
in o mación del sis ema (como da os de posición).
Es e in e cambio de in o mación en e las 2 clases se hace a a és de una se ie a iables que son:
• Velocidades ob enidas po eclado, se á un ec o de cua o componen es pa a cada una de las
elocidades.
• Bande a de inicio de despegue, pe mi e pasa del es ado de inicio a alguno de los o os 2.
19
19
Na egación de UAVs con Deep Lea ning
• Bande a de conexión al con ol au ónomo, pe mi e pasa en e es ado de con ol manual o au ónomo.
• Posición de la e e encia dinámica.
De la misma o ma que se en ían a iables en una di ección, ambién es necesa io pode mos a in o mación
ace ca del UAV. Las a iables que ecibe la in e az son:
• Una ma iz con in o mación elacionada con el ángulo del UAV y del obje i o. En caso de con ol
manual, el obje i o del ángulo se á 0 g ados.
• Valo de las elocidades, en caso de que se es é en con ol au ónomo es necesa io en ia las
elocidades pa a mos a las.
4.1.3 Comandos po e minal
La in e az an e io deja la uncionalidad en ocasiones limi ada, ya que no es posible ealiza de e minadas
acciones sin modi ica el código como:
• Selecciona la al u a en la que se despega o cambia la al u a a la que se mue e de o ma dinámica.
• De e mina la posición inal exac a, que no sea exclusi amen e pulsando en una ma iz y que solo
pe mi e usa núme os en e os.
Pa a pode sol en a es os incon enien es, sin modi ica el código, se han in oducido una se ie de
e minaciones que pe mi en a ia cie os pa áme os, y que pe mi en soluciona los p oblemas an e io men e
mencionados.
La al u a a la que se despega po de ec o es de 1.5 me os. Pa a pode modi ica lo se debe añadi a la ho a de
ejecu a el p og ama ‘h *num*’, siendo ‘num’ el alo numé ico al cual quie es que se despegue.
Pa a cambia la e e encia a donde se quie e que llegue el d on se debe añadi ‘x *num*’ pa a modi ica la
posición x inal, ‘y *num*’ pa a la y, y ‘z *num*’ pa a la z inal. Po de ec o es os alo es se án nulos pa a las
es componen es. Modi ica cualquie a de es os 3 alo es implica comenza el con ol au ónomo, po an o, se
despega á e i á a la posición de des ino. Si se u iliza es a opción, no se pod á ni cambia la e e encia inal ni
cambia al modo de manejo manual. De mane a independien e se segui á mos ando la in o mación a a és de
la aplicación del pun o an e io .
Finalmen e, si se esc ibe ‘ akeo ’ se e ec ua á di ec amen e el despegue sin necesidad de pulsa el bo ón
co espondien e de la in e az, pasando di ec amen e al modo de con ol manual.
No a que si solo se usan los comandos de h y/o ‘ akeo ’ se puede cambia de opciones en e con ol manual y
au omá ico. Además, odos los comandos se pueden esc ibi en cualquie o den incluso mezclando de dis in o
ipo,
4.2 Red neu onal
Pa a pode na ega po el en o no sin colisiona con ninguno de los obje os se ha usado una ed neu onal
capaz de p opo ciona las elocidades lineales en los ejes (x, y, z) y la elocidad angula en yaw.
Mé odos Implemen ados
26
26
Además, pe mi e in oduci a ios obs áculos simul áneamen e, modi icando la al u a, ancho y g oso de las
pa edes. También pe mi e cons ui nue os pisos en las es uc u as y po an o echos pa a los es os.
O a ca ac e ís ica es que se pueden gua da es os modelos que se c een. Es o se á de u ilidad, sob e odo
cuando se quie en en o nos con g an can idad de obje os. Po an o, es os escena ios se pod ían usa pa a e
cómo uncionan dis in as es uc u as en e el mismo p oblema.
Los obje os básicos con los que se ha abajado son:
Figu a 4-11 Columna
Una columna cuad ada de 1 m y 2.5 me os de al o.
Figu a 4-12 Pa ed
Una pa ed de 3 me os de la go y 2.5 me os de al o.
27
27
Na egación de UAVs con Deep Lea ning
Figu a 4-13 Esquina
Una esquina de 3 me os de la go po cada ca a, o mando un ángulo de 90º y con 2.5 me os de al o.
4.2.5 Expe imen os
Pa a en ena la ed neu onal es necesa io hace una se ie de expe imen os pa a ob ene las en adas y salidas
con la que se en ena á la ed. Pa a ello se ha usado el modo manual pa a na ega po un en o no, gua dando
los da os ecogidos en cada momen o.
La posición (x, y, z, ψ) se ha gua dado en un a chi o de ex o llamado ‘pose.ou ’ en el que se gua dan en cada
ins an e los 4 pa áme os en líneas sepa adas po espacio. Es os alo es es án en me os y se han gua dado con
3 decimales.
Las elocidades lineales (x, y, z) y la angula de yaw se han gua dado en un a chi o de ex o llamado
‘ eloci y.ou ’, en el que se gua dan las elocidades en cada uno de los ejes sepa ados po espacios en líneas
sepa adas. Es os co esponden a los alo es dados po el eclado. Un ejemplo se ía
Las imágenes se ob ienen de la cáma a de p o undidad, como se explicó an e io men e es necesa io ealiza
una se ie de ans o maciones a es as imágenes. Sin emba go, pa a gua da las únicamen e se ha e-escalado
cada uno de los alo es pa a que es é en e 0 y 255. Finalmen e se han gua dado odas las imágenes en una
ca pe a llamada ‘dep h_images’ la cual con iene las imágenes gua dándose cada una en o ma o .png y cuyo
nomb e es un núme o que se asigna c onológicamen e.
Todos es os a chi os gene ados se han ido gua dando en ca pe as di e en es pa a pode accede a odos los
da os de o ma más simple. Quedando pues, una ca pe a donde se incluyen los alo es de elocidad y
posición, y una ca pe a con las imágenes.
Los expe imen os se han di idido en dis in as ca ego ías pa a que sea más ácil localiza y eemplaza algunos
se s de expe imen os. Así se di idi án en dis in as ca ego ías en las que su nomb e se á EXXX_Y, donde XXX
co esponde al núme o de expe imen os y la Y la ca ego ía (ca ac e es). Los expe imen os consis i án en lo
siguien e.
A. En un en o no en el que no hay obs áculos se gi a hacia izquie da o de echa, pa a mi a hacia el
obje i o y pos e io men e a anza ec o hacia el obje i o. Una ez en la posición (x, y) obje i o se
Mé odos Implemen ados
28
28
ele a o desciende hacia la posición z deseada.
B. En un en o no en el que se ha colocado una columna se gi a a izquie da o de echa has a posiciona se
mi ando al obje i o. Pos e io men e se a anza, y cuando localiza la columna la esqui a a de echa o
izquie da. Una ez sob epasada, se gi a pa a eposiciona el obje i o en en e y a anza has a él.
Finalmen e se ele a o desciende has a la posición inal.
C. Se ealiza lo mismo que en los expe imen os de B, pe o en luga de una columna se ha colocado una
pa ed.
D. En línea ec a se colocan dis in os obs áculos algo hacia los lados. Así se desplaza á a izquie da o
de echa pa a e i a dichos obs áculos, es os se sob epasa án po el lado que enga que eco e meno
dis ancia. Una ez sob epasados gi a pa a posiciona el obje i o en en e y a anza hacia él.
Finalmen e se ele a o desciende has a la posición inal.
E. En un en o no sin nada se ele a o desciende y se in en a man ene el d on en una posición.
F. En un en o no con múl iples obs áculos se gi a el d on pa a que mi e a la posición obje i o y a anza
esqui ando los posibles obje os que se encuen e en el camino.
G. Se ealiza lo mismo que en F, pe o con meno can idad de obs áculos pa a que se pueda mo e más
lib emen e.
H. Se ealiza lo mismo que en E, pe o con dis in os obs áculos a la is a.
Como ya se sabe, es necesa io ene en odo momen o un obje i o ya que es e alo se u iliza a la ho a de
calcula las en adas de la ed. Al hace los expe imen os manualmen e, es di ícil sabe de an emano cual se á
la posición inal exac a. Pa a ap oxima ese alo obje i o se ha usado el úl imo alo del a chi o de posición
gene ado. Realmen e es e alo ampoco es necesa io que sea excesi amen e p eciso, po an o, se ha
edondeado al medio me o más ce cano.
4.3 Na egación del UAV
Como se ha explicado an e io men e exis en 2 uncionalidades di e enciadas, la p ime a el con ol po eclado
y la segunda el con ol median e una ed neu onal. A con inuación, se pasa á a explica el uncionamien o
desde el pun o de is a del UAV.
4.3.1 Na egación po eclado
Pa a pode comenza la na egación po eclado se puede bien hace uso del bo ón de despegue o añadiendo
‘ akeo ’ a la ho a de ejecu a el p og ama desde la e minal.
Cuando se empieza a despega se inicia el se icio de despegue que au omá icamen e ele a al d on has a una
cie a posición (modi icable a a és de pa áme os po la e minal). Cuando se haya e minado es e se icio el
colo del bo ón de despegue cambia á de colo a e de.
La o ma en la que se mue e el UAV consis e en lo siguien e, la in e az es la que ges iona los bo ones y po
ende la en ía es as elocidades al UAV. Es e se á el que las en ía al con olado de uelo pa a que las ome
como e e encia pa a adap a la elocidad. Pa a pode en ia es as elocidades es necesa io con ac a con el
nodo que ges iona el con ol de las elocidades. Los pa áme os que se en íen se án los de elocidad.
Pa a hace es a conexión, se á necesa io publica mensajes en el opic ‘ual/se _ eloci y’. Es os mensajes se án
del ipo Twis S amped y en ellos se publican las elocidades en x, y, z, y yaw. Hay que des aca que es as
elocidades que se en ían es án en coo denadas globales. Como las elocidades es án dadas espec o del
29
29
Na egación de UAVs con Deep Lea ning
UAV, se á necesa io gi a es as elocidades.
4.3.2 Na egación au ónoma
Pa a pode comenza la na egación au ónoma se puede hace manualmen e conec ando la ed con el bo ón
asignado pa a ello y luego pulsando el bo ón pa a despega el UAV. O a o ma de hace se ía in oduci las
coo denadas desde la e minal. De es a úl ima o ma no se ía necesa io despega el UAV, se ía au omá ico.
El UAV debe ene en odo momen o una posición obje i o pa a i hacia ella. Es a e e encia se á po de ec o
la posición (0, 0, 0), y es a puede se modi icada. Si se elige la o ma manual, la e e encia se pod á cambia de
o ma dinámica en un ango limi ado, eso sí, sin pode cambia la al u a inal. Po el con a io, si se in oduce
po la e minal se pod á in oduci cualquie posición, pe o no se pod á cambia en ningún momen o.
Con es as en adas, en e las que se encuen a la e e encia, se i á hacia el pun o inal. Pa a mo e se has a el
pun o inal se gi a á has a alinea se con es e pun o, después se mo e á hacia delan e en línea ec a has a la
posición obje i o. En caso de encon a se con algún obs áculo en mi ad del camino, se desplaza á hacia alguno
de los lados, gene almen e hacia el lado que es é más ce ca. Po lo que, si e que el obs áculo es a lige amen e
a la izquie da, se desplaza á a la de echa pa a sob epasa lo y ice e sa. Una ez sob epasado el obs áculo,
gi a á pa a ol e a alinea se con el obje i o y a anza has a llega a es e. Finalmen e, cuando llegue a la
posición obje i o se ele a á o descende á pa a coloca se a la al u a inal. Una ez aquí, se mo e á pa a
ajus a se a la posición inal.
De la misma o ma que en el apa ado an e io , pa a que el d on se pueda mo e se á necesa io en ia le las
elocidades al UAV pa a que las ome como e e encia. Po an o, se usa á la clase ‘Twis S amped’ pa a
en ia es as elocidades. También se á necesa io hace el cambio de e e encia de es as elocidades pa a que
se aduzcan al ma co global. Hay que eco da que la ed únicamen e da p obabilidades de la elocidad que se
debe segui , po an o, se á necesa io con e i es as p obabilidades en elocidades a a és de una abla de
con e sión.
Finalmen e, cabe des aca que la ed necesi a de cie a in o mación que in oduce en es a pa a que saca las
p obabilidades de elocidad. Es a in o mación se á, la imagen de p o undidad, posición hacia obje i o,
longi ud y di e encia en el ángulo. Todas es as in o maciones han sido p ocesadas pa a pode in oduci las a la
ed y pa a ob ene la se ha enido que subsc ibi a dis in os opics.
Pa a ob ene el alo de la posición se ha subsc i o a un opic llamado ‘ual/pose’ del cual se leen mensaje del
ipo ‘PoseS amped’. Con es e se ob iene la posición del UAV en cada momen o.
Respec o la in o mación de la cáma a, se ha subsc i o al opic ‘mbzi c_1/came a_0/dep h/image_ aw’, del cual
se lee una imagen la cual median e una unción se con e i á pa a pode usa la con openCV.
Igual que en el con ol manual, las elocidades se publica án en el opic ‘ual/se _ eloci y’. Las elocidades
que de uel e la ed ambién ienen como e e encia la di ección del UAV, y debe án de gi a se an es de se
en iadas.
Mé odos Implemen ados
30
30
31
31
Na egación de UAVs con Deep Lea ning
5 RESULTADOS
5.1 En enamien o
Pa a en ena a la ed se ha hecho uso de los da os ob enidos a a és de los expe imen os. Realmen e pa a
algunos casos no es necesa io usa odos los da os adqui idos, pe o los esul ados mos ados a con inuación
esponden a la u ilización de odos al mismo iempo.
En o al se han adqui ido al ededo de 15000 pasos con los cual se en ena á la ed, cada uno de es os es án
compues os po la imagen de p o undidad, posición y elocidad. Es os pasos co esponden a unos 25 minu os
de uelo del UAV. De odos es os pasos se han sacado odas las en adas y salidas como bien se explicó en el
capí ulo an e io . En odo es e iempo de en enamien o, exis en dis in os alo es de las elocidades que se
p e ende alcanza , es casi imposible pode equilib a cada uno de es os alo es y, po consiguien e, es
comp ensible que algunos alo es engan pocas mues as. En la siguien e abla se mues an las mues as que
hay de cada ipo.
0 >>
0 >
~ 0
0 <
0 <<
Velocidad x
14
439
9458
1970
3075
Velocidad y
335
962
12978
428
253
Velocidad z
576
200
13578
223
370
Velocidad ψ
265
495
13395
476
325
Tabla 5-1 Tipos de mues a
Pa ece lógico que, si el obje i o es llega a un pun o de e minado, la mayo ía de las elocidades en su eje x
co espondan a alo es posi i os (a ance), ya que los nega i os se ese a án pa a cuando ajus e su posición.
Po o o lado, si se a anza de en e la elocidad ‘y’ es no mal que se man enga en alo es p óximos a 0, algo
pa ecido pasa con la elocidad en z y la elocidad en yaw.
Es os an es de se in oducidos en la ed pa a en ena los se han mezclado de o ma alea o ia pa a mejo a el
esul ado. Los p incipales pa áme os con los que se ha en enado la ed son la asa de ap endizaje el cual iene
un alo de 0.001, cada ba ch con iene 16 pasos y se ha en enado en 5 e apas. T as se en enado es os han
sido los esul ados.
Real Res
0 >>
0 >
~ 0
0 <
0 <<
0 >>
0.286
0.714
0
0
0
0 >
0.011
0.223
0.765
0
0
Resul ados
32
32
~ 0
0
0.004
0.94
0.043
0.013
0 <
0
0
0.304
0.45
0.456
0 <<
0
0
0.02
0.063
0.917
Tabla 5-2 Velocidades x
Real Res
0 >>
0 >
~ 0
0 <
0 <<
0 >>
0.776
0.155
0.069
0
0
0 >
0.018
0.314
0.668
0
0
~ 0
0
0.005
0.992
0.003
0
0 <
0
0
0.535
0.374
0.091
0 <<
0
0
0.016
0.13
0.854
Tabla 5-3 Velocidades y
Real Res
0 >>
0 >
~ 0
0 <
0 <<
0 >>
0.738
0
0.262
0
0
0 >
0.34
0
0.66
0
0
~ 0
0.011
0
0.979
0
0.012
0 <
0
0
0.641
0.02
0.34
0 <<
0
0
0.235
0.011
0.584
Tabla 5-4 Velocidades z
Real Res
0 >>
0 >
~ 0
0 <
0 <<
0 >>
0.683
0.128
0.186
0
0
0 >
0.184
0.147
0.101
0
0
~ 0
0.006
0.003
0.987
0
0.004
0 <
0
0
0.905
0
0.095
0 <<
0
0
0.514
0
0.486
Tabla 5-5 Velocidades ψ
A pesa de que los esul ados pa a algunos casos no pa ezcan su icien emen e buenos, pa a pode asegu a que
33
33
Na egación de UAVs con Deep Lea ning
unciona o no, es necesa io p oba y e cómo se compo a. Las p uebas pa a e la p ecisión de la ed se han
ob enido u ilizando la unción a gmax, el cual da el a gumen o máximo. Al hace lo de es a o ma cabe la
posibilidad de que, si se duda en e 2 opciones, si una u ie a un 1% más de p obabilidad escoge ía esa. Al
saca la elocidad esul an e de la suma ponde ada de las p obabilidades a la salida, puede que en un momen o
de e minado se quie a a anza , pe o la opción que es más p obable es que se encuen e pa ado. Al hace la
suma ponde ada el alo de elocidad pod á se posi i o y a anza en alguna di ección, po an o, se pod ía
deci que es á uncionando co ec amen e.
También se debe no a que en algunos casos el núme o de mues as es muy educido, po lo que es
comp ensible que la p ecisión pa a cie os supues os sea buena.
5.2 Mo imien o con gi o
La p ueba básica pa a na ega en un en o no se ía mo e se po los ejes x, y, z has a llega a la posición
obje i o. Es a ap oximación se ía la más sencilla, sin emba go, si el obje i o inal es se capaces de de ec a
obje os pa a esqui a lo, se hace necesa io pode gi a el UAV apun ando a la posición a la que se quie e
a anza .
En los siguien es expe imen os se iene el UAV en un en o no sin ningún ipo de obs áculo, allí se despega á a
una cie a al u a, se gi a á apun ando hacia la posición obje i o, se a anza á hacia ella y inalmen e se ajus a á
la posición pa a que coincida con el obje i o.
Figu a 5-1 En o no mo imien o con gi o
Es e p ime expe imen o se ha ealizado haciendo uso de la e minal pa a pasa las e e encias exac as.
Resul ados
34
34
Figu a 5-2 Va iación posición expe imen o con gi o
Figu a 5-3 Posición expe imen o con gi o
Desde la Figu a 5-2 se obse a como al p incipio el UAV se encuen a casi es á ico y pos e io men e
comienza a a anza . En los momen os en los que es á casi es á ico, ealmen e se es á gi ando pa a apun a a la
posición obje i o. Cuando se pun a a es a posición se a anza a máxima elocidad has a alcanza la posición x-
y obje i o. Una ez allí se ele a en la posición z y después modi ica su posición has a alcanza la posición de
des ino. De la igu a ambién se puede comp oba cuando una ez que ap oximadamen e llega, la posición x se
35
35
Na egación de UAVs con Deep Lea ning
co ige has a se la posición inal.
En la Figu a 5-3 se puede obse a es a co ección, cuando se pasa del pun o inal y se mue e hacia a ás pa a
llega a la posición obje i o. Después se queda es á ico en o no al pun o.
Aho a se comp oba á como unciona ía si se usa a la he amien a con la que pe mi e cambia las e e encias
de o ma dinámica. El en o no se á el mismo ya que pa a es e supues o no necesi a ningún obs áculo.
Figu a 5-4 Va iación posición expe imen o con gi o 2
Aquí se ap ecia como al cambia la e e encia el d on lo sigue cambiando p ime o su o ien ación y a anzando
ec o has a la posición. Vemos como inalmen e, aunque con algún pequeño e o , se llega a la posición
deseada. Además, es e expe imen o es especialmen e ilus a i o ya que se obse a un enómeno que puede
al e a el compo amien o del UAV. En la Figu a 5-4 se obse a como la posición en z empieza a de e io a se,
po la o ma en la que se han ealizado los expe imen os si se in en a mo e a meno al i ud que 1 me o
comienza a ene compo amien os ex años haciendo la ed más imp ecisa. Además, como es á en enada pa a
que cuando llega al pun o inal cambie de al i ud, di ícilmen e pod á ele a se en mi ad del camino.
Resul ados
42
42
Figu a 5-14 Va iación posición con múl iples obje os, e e encia dinámica 2
Figu a 5-15 Posición con múl iples obje os, e e encia dinámica 2
43
43
Na egación de UAVs con Deep Lea ning
A pesa de ene mayo can idad de obs áculos, la p ecisión es bas an e buena, a simple is a se puede e que
es mejo que la del supues o an e io .
Resul ados
44
44
45
45
Na egación de UAVs con Deep Lea ning
6 CONCLUSIONES Y TRABAJO FUTURO
n es e p oyec o se ha mos ado como usa edes neu onales pa a la na egación con UAVs. El p incipal
e o de es e p oyec o ha sido la c eación de edes con una es uc u a compleja. La na egación es una
a ea que in oluc a g an can idad de a ian es que hay que ene en cuen a. Po lo que c ea un agen e
capaz de esol e dicha a ea es un e o.
En conclusión, es posible c ea un agen e basado en edes neu onales pa a que na egue en un en o no,
pasando las e e encias en elocidad. Respec o del en enamien o, debe des aca que con pocas mues as se
puede consegui en ena de o ma bas an e e icien e el UAV. Además, según la complejidad del en o no en el
que se quie a in e ac ua se necesi a án más o menos mues as. Si no exis ie a ningún obs áculo bas a ía con
menos de 10 minu os de mues as pa a en ena lo, lo que signi ica que el agen e se en ena á ápidamen e. Sin
emba go, cuando la complejidad del en o no aumen a, la can idad de dis in os expe imen os puede hace
eplan ea el uso de ap endizaje p o undo pa a ealiza lo.
El uso de las salidas, que pe mi e ob ene un ango con inuo de elocidades, es un acie o ya que pe mi e
mi iga cie os e o es que come a el agen e a la ho a de ob ene las e e encias. Es o e i a que se pueda queda
pa ado en cie as ci cuns ancias y a o ece a que se llegue al obje i o inal con mayo p ecisión.
En gene al, los esul ados del p oyec o son sa is ac o ios. A con inuación, se p ocede á a comen a cie as
mejo as que se pod ían habe aplicado y algunas alo aciones pa a algún u u o abajo.
6.1 Posibles mejo as
Es e p oyec o ha sido una p ime a ap oximación a la na egación median e el uso de edes neu onales
p o undas. La ampli ud del campo pe mi e añadi di e sas mejo as al p oyec o.
Al ealiza el p oyec o usando edes neu onales es necesa io ealiza dis in os expe imen os que
pos e io men e el agen e in en a á imi a . Po an o, odo lo que quie as que ealice el UAV se á necesa io que
se haga an e io men e y después se pueda gene aliza pa a dis in os casos. Todo es o implica que cualquie
compo amien o que se quie a que enga el UAV es necesa io in oduci lo a la ho a de en ena al agen e.
La ap oximación ealizada en es e p oyec o no iene en cuen a lagunas ace as en la na egación como son:
• Sal a obs áculos, usa las elocidades en la coo denada z pa a sob epasa obs áculos.
• La p ecisión es un ema impo an e según que aplicación. A pesa de ene una p ecisión acep able en
ocasiones a da algo más de iempo pa a llega has a el obje i o, debido a que se ha pasado de
elocidad o es á demasiado al lado. Se pod ía mejo a la apidez con la que llega a es os pun os.
• Du an e el p oceso odos los expe imen os se han hecho a unos 12 me os a la edonda. Es o hace que
cuando se quie e manda a dis ancias mayo es no in e p e e co ec amen e los da os y queda en un
es ado en el que no se mue e.
• T ayec o ia, según lo que a pe cibiendo en cada ins an e se oman las decisiones que lle an has a la
E
Conclusiones y abajo u u o
46
46
posición obje i o. Al no p opo ciona ningún mapa no es posible limi a zonas po las que el UAV no
pueda pasa .
6.2 Re lexión inal y abajo u u o
Recien emen e se han hecho g andes a ances en el uso de la in eligencia a i icial, en los úl imos años se ha
is o como DeepMind [27], ha conseguido c ea agen es capaces de gana a los humanos en juegos de una
ex ao dina ia complejidad. El p ime o ue con AlphaGo en 2015 el cual ue capaz po p ime a ez a un
humano en el juego ‘Go’. Pos e io men e se desa olló AlphaZe o en 2017, la cual ue capaz de ence a los
mo o es de ajed ez más po en es como es ‘S ock ish’. El úl imo ha sido a inales del año pasado 2018 con
AlphaS a [28], el cual ue capaz de gana a jugado es p o esionales en el juego S a C a 2.
Pa a se capaces de domina es os juegos, es necesa io se capaces de ges iona una es a egia a co o y la go
plazo además de in en a p edeci lo que hace el ad e sa io. En caso del S a C a 2 además no se iene
in o mación comple a sob e el enemigo, lo cual aumen a la di icul ad.
Todas es as nue as écnicas hacen plan ea se la posibilidad de inclui los en la na egación pa a obo s mó iles.
En el p oyec o, la solución del agen e pasaba po el en enamien o basado en la imi ación de un ope ado . Es o
limi a bas an e la o ma en la que el agen e se en en a a las si uaciones y po lo gene al no es capaz de
en ende si la o ma de p ocede que es á omando es la co ec a o no. Con el uso de ap endizaje e o zado es
posible sob epasa es os lími es debido a que se ía el p opio UAV el que in e ac ua ía con el en o no pa a
saca sus p opias soluciones. Es o hace que el esul ado sea más di e so y obus o con nue os ipos de
en o nos.
A pa i del pape [6], se puede ob ene ideas pa a inicia en mo imien o con ap endizaje e o zado, sin
emba go, como se dice oda ía no encuen a el camino más co o posible. El cual puede se un pun o
in e esan e pa a un u u o p oyec o. El hecho de usa ap endizaje e o zado puede ambién eque i mayo
capacidad de cómpu o a la ho a de en ena , sin emba go, exis en ejemplos en los que se mezcla el ap endizaje
po imi ación (como en el p oyec o) y el ap endizaje e o zado. Haciendo uso de ambos, se puede disminui el
iempo de en enamien o. Con es e plan eamien o se consegui ía supe a odas las mejo as plan eadas en el
apa ado an e io .
47
47
Na egación de UAVs con Deep Lea ning
REFERENCIAS
[1]
G.N. Desouza, A.C. Kak, «h ps://ieeexplo e.ieee.o g/documen /982903,» 2002. [En línea].
[2]
«h ps://en.wikipedia.o g/wiki/Simul aneous_localiza ion_and_mapping,» [En línea].
[3]
P. B. A. L. R. V. Alessand o Gaspa e o, «Pa h Planning and T ajec o y Planning Algo i hms: A Gene al
O e iew».
[4]
Keisuke Ta eno, Fede ico Tomba i, I o Laina, Nassi Na ab, «h ps://a xi .o g/pd /1704.03489.pd ».
[5]
Tingxiang Fan, Xinjing Cheng, Jia Pan, Dinesh Manocha, Ruigang Yang, «C owdMo e: Au onomous
Mapless Na iga ion in C owded Scena ios,» [En línea].
[6]
Vikas Dhiman, Shu jo Bane jee, B en G i in, Je ey M. Siskind, Jason J. Co so,
«h ps://a xi .o g/pd /1802.02274.pd ,» [En línea].
[7]
Volodymy Mnih, Ko ay Ka ukcuoglu, Da id Sil e , Alex G a es, Ioannis An onoglou, Daan Wie s a,
Ma in Riedmille , «h ps://a xi .o g/pd /1312.5602.pd ,» [En línea].
[8]
M. P ei e , S. Shukla, M.Tu che a, C. Cadena, A. K ause, R. Siegwa , J. Nie o,
«h ps://a xi .o g/pd /1805.07095.pd ,» [En línea].
[9]
Alex Kendall, Je ey Hawke, Da id Janz, P zemyslaw Mazu , Daniele Reda, Hon-Ma k Allen, Vinh-
Dieu Lam, Alex Bewley, Ama Shah, «h ps://a xi .o g/pd /1807.00412.pd ,» [En línea].
[10]
«h ps://www. he e ge.com/2019/6/5/18654044/amazon-p ime-ai -deli e y-d one-new-design-sa e y-
ans o ming- ligh - ideo,» [En línea].
[11]
Shichao Yang, Sandeep Koman, Chen Ma, S ephanie Rosen hal, Manuela Veloso, Sebas ian Sche e ,
«h ps://a xi .o g/pd /1704.08759.pd ,» [En línea].
[12]
G osan, C ina; Ab aham, Aji h, In elligen Sys ems A Mode n App oach, ol. 2, 2011.
[13]
«h ps://blogs.n idia.com/blog/2018/08/02/supe ised-unsupe ised-lea ning/,» [En línea].
[14]
«h ps://en.wikipedia.o g/wiki/A i icial_neu al_ne wo k,» [En línea].
[15]
«h ps://en.wikipedia.o g/wiki/Con olu ional_neu al_ne wo k,» [En línea].
[16]
«h ps://b oh e .gi hub.io/how_con olu ional_neu al_ne wo ks_wo k.h ml,» [En línea].
[17]
Achu a Kadambi, Ayush Bhanda i, Ramesh Raska ,
«h ps://pd s.seman icschola .o g/7bcc/aa4c7a b021d8606 523738e97842b90c1ed.pd ,» [En línea].
[18]
«h ps://www. os.o g/,» [En línea].
Re e encias
48
48
[19]
«h p://gazebosim.o g/,» [En línea].
[20]
«h ps://www. enso low.o g/,» [En línea].
[21]
«h ps://www.numpy.o g/,» [En línea].
[22]
«h ps://openc .o g/,» [En línea].
[23]
«h ps://www.pygame.o g/wiki,» [En línea].
[24]
«h ps://docs.py hon.o g/2/lib a y/sys.h ml,» [En línea].
[25]
«h ps://docs.py hon.o g/2/lib a y/os.h ml,» [En línea].
[26]
«h ps://gi hub.com/,» [En línea].
[27]
«h ps://deepmind.com/,» [En línea].
[28]
«h ps://deepmind.com/blog/alphas a -mas e ing- eal- ime-s a egy-game-s a c a -ii/,» [En línea].
49
49
Na egación de UAVs con Deep Lea ning
APÉNDICE
Apéndice I: Esquema ed comple a