diff --git a/memoria/bibliografia.bib b/memoria/bibliografia.bib index 5e73f8f..4ca3092 100644 --- a/memoria/bibliografia.bib +++ b/memoria/bibliografia.bib @@ -155,6 +155,85 @@ @article{logic-theorist doi = {10.1177/154193120605000904} } +@misc{christl2020visionbased, + title={Vision-Based Autonomous Drone Control using Supervised Learning in Simulation}, + author={Max Christl}, + year={2020}, + eprint={2009.04298}, + archivePrefix={arXiv}, + primaryClass={cs.RO} +} + +@article{wang2019unsupervised, + title = {Unsupervised Anomaly Detection with Compact Deep Features for Wind Turbine Blade Images Taken by a Drone}, + author = {Wang, Y. and Yoshihashi, R. and Kawakami, R. and others}, + journal = {IPSJ Transactions on Computer Vision and Applications}, + volume = {11}, + number = {3}, + pages = {1-10}, + year = {2019}, + doi = {10.1186/s41074-019-0056-0}, + url = {https://doi.org/10.1186/s41074-019-0056-0}, + received = {14 March 2019}, + accepted = {30 April 2019}, + published = {04 June 2019} +} + +@Article{electronics10090999, + AUTHOR = {Azar, Ahmad Taher and Koubaa, Anis and Ali Mohamed, Nada and Ibrahim, Habiba A. and Ibrahim, Zahra Fathy and Kazim, Muhammad and Ammar, Adel and Benjdira, Bilel and Khamis, Alaa M. and Hameed, Ibrahim A. and Casalino, Gabriella}, + TITLE = {Drone Deep Reinforcement Learning: A Review}, + JOURNAL = {Electronics}, + VOLUME = {10}, + YEAR = {2021}, + NUMBER = {9}, + ARTICLE-NUMBER = {999}, + URL = {https://www.mdpi.com/2079-9292/10/9/999}, + ISSN = {2079-9292}, + ABSTRACT = {Unmanned Aerial Vehicles (UAVs) are increasingly being used in many challenging and diversified applications. These applications belong to the civilian and the military fields. To name a few; infrastructure inspection, traffic patrolling, remote sensing, mapping, surveillance, rescuing humans and animals, environment monitoring, and Intelligence, Surveillance, Target Acquisition, and Reconnaissance (ISTAR) operations. However, the use of UAVs in these applications needs a substantial level of autonomy. In other words, UAVs should have the ability to accomplish planned missions in unexpected situations without requiring human intervention. To ensure this level of autonomy, many artificial intelligence algorithms were designed. These algorithms targeted the guidance, navigation, and control (GNC) of UAVs. In this paper, we described the state of the art of one subset of these algorithms: the deep reinforcement learning (DRL) techniques. We made a detailed description of them, and we deduced the current limitations in this area. We noted that most of these DRL methods were designed to ensure stable and smooth UAV navigation by training computer-simulated environments. We realized that further research efforts are needed to address the challenges that restrain their deployment in real-life scenarios.}, + DOI = {10.3390/electronics10090999} +} + +@INPROCEEDINGS{9636053, + author={Song, Yunlong and Steinweg, Mats and Kaufmann, Elia and Scaramuzza, Davide}, + booktitle={2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}, + title={Autonomous Drone Racing with Deep Reinforcement Learning}, + year={2021}, + volume={}, + number={}, + pages={1205-1212}, + doi={10.1109/IROS51168.2021.9636053} +} + +@article{CHEN2022939, + title = {Deep Q-learning for same-day delivery with vehicles and drones}, + journal = {European Journal of Operational Research}, + volume = {298}, + number = {3}, + pages = {939-952}, + year = {2022}, + issn = {0377-2217}, + doi = {https://doi.org/10.1016/j.ejor.2021.06.021}, + url = {https://www.sciencedirect.com/science/article/pii/S0377221721005361}, + author = {Xinwei Chen and Marlin W. Ulmer and Barrett W. Thomas}, + keywords = {Transportation, Same-day delivery, Reinforcement learning, Dynamic vehicle routing}, + abstract = {In this paper, we consider same-day delivery with vehicles and drones. Customers make delivery requests over the course of the day, and the dispatcher dynamically dispatches vehicles and drones to deliver the goods to customers before their delivery deadline. Vehicles can deliver multiple packages in one route but travel relatively slowly due to the urban traffic. Drones travel faster, but they have limited capacity and require charging or battery swaps. To exploit the different strengths of the fleets, we propose a deep Q-learning approach. Our method learns the value of assigning a new customer to either drones or vehicles as well as the option to not offer service at all. In a systematic computational analysis, we show the superiority of our policy compared to benchmark policies and the effectiveness of our deep Q-learning approach. We also show that the combination of state and action features is very valuable and that our policy can maintain effectiveness when demand data and the fleet size change moderately.} +} + +@Article{s23010188, + AUTHOR = {Kabiri, Meisam and Cimarelli, Claudio and Bavle, Hriday and Sanchez-Lopez, Jose Luis and Voos, Holger}, + TITLE = {A Review of Radio Frequency Based Localisation for Aerial and Ground Robots with 5G Future Perspectives}, + JOURNAL = {Sensors}, + VOLUME = {23}, + YEAR = {2023}, + NUMBER = {1}, + ARTICLE-NUMBER = {188}, + URL = {https://www.mdpi.com/1424-8220/23/1/188}, + PubMedID = {36616782}, + ISSN = {1424-8220}, + ABSTRACT = {Efficient localisation plays a vital role in many modern applications of Unmanned Ground Vehicles (UGV) and Unmanned Aerial Vehicles (UAVs), which contributes to improved control, safety, power economy, etc. The ubiquitous 5G NR (New Radio) cellular network will provide new opportunities to enhance the localisation of UAVs and UGVs. In this paper, we review radio frequency (RF)-based approaches to localisation. We review the RF features that can be utilized for localisation and investigate the current methods suitable for Unmanned Vehicles under two general categories: range-based and fingerprinting. The existing state-of-the-art literature on RF-based localisation for both UAVs and UGVs is examined, and the envisioned 5G NR for localisation enhancement, and the future research direction are explored.}, + DOI = {10.3390/s23010188} +} + @Electronic{history-ai, Title = {\textit{The History of Artificial Intelligence}}, howpublished= {\url{https://sitn.hms.harvard.edu/flash/2017/history-artificial-intelligence/}}, @@ -418,4 +497,4 @@ @Electronic{poly-info howpublished= {\url{https://www.geeksforgeeks.org/how-to-check-if-a-given-point-lies-inside-a-polygon/}}, author = {geeksforgeeks}, year = {2023} -} \ No newline at end of file +} diff --git a/memoria/capitulos/capitulo1.tex b/memoria/capitulos/capitulo1.tex index 484cc2d..6e2b086 100644 --- a/memoria/capitulos/capitulo1.tex +++ b/memoria/capitulos/capitulo1.tex @@ -47,7 +47,7 @@ \section{Robots} \subsection{Drones} \label{subsec:drones} -Los \ac{UAS} tienen origen en la primera guerra mundial, con el biplano llamado \textbf{Kettering bug}. Se trataba de un torpedo que era lanzado desde una carretilla, capaz de volar de forma no tripulada, hasta que se liberaba de sus alas y caía sobre el objetivo \footnote[7]{\url{https://www.nationalmuseum.af.mil/Visit/Museum-Exhibits/Fact-Sheets/Display/Article/198095/kettering-aerial-torpedo-bug/}}. Más tarde, entre la primera y segunda guerra mundial (1935), se diseño el \textbf{Queen Bee}, de donde surgió el termino \emph{``drone''}, como abeja macho en busca de la reina, que se trataba de un avión no tripulado, con el fin de servir de objetivo para realizar prácticas de artillería aérea \footnote[8]{\url{https://www.dehavillandmuseum.co.uk/aircraft/de-havilland-dh82b-queen-bee/}}. Sin embargo, no fue hasta \textbf{Operation Aphrodite}, en la segunda guerra mundial, donde realmente se vió el primer dron radio tripulado, con el fin de poder volar en entornos ``sucios'' o dirty, dado el nuevo paradigma de las bombas atómicas \footnote[9]{\url{https://warfarehistorynetwork.com/article/operation-aphrodite/}}.\\ +Los drones tienen origen en la primera guerra mundial, con el biplano llamado \textbf{Kettering bug}. Se trataba de un torpedo que era lanzado desde una carretilla, capaz de volar de forma no tripulada, hasta que se liberaba de sus alas y caía sobre el objetivo \footnote[7]{\url{https://www.nationalmuseum.af.mil/Visit/Museum-Exhibits/Fact-Sheets/Display/Article/198095/kettering-aerial-torpedo-bug/}}. Más tarde, entre la primera y segunda guerra mundial (1935), se diseño el \textbf{Queen Bee}, de donde surgió el termino \emph{``drone''}, como abeja macho en busca de la reina, que se trataba de un avión no tripulado, con el fin de servir de objetivo para realizar prácticas de artillería aérea \footnote[8]{\url{https://www.dehavillandmuseum.co.uk/aircraft/de-havilland-dh82b-queen-bee/}}. Sin embargo, no fue hasta \textbf{Operation Aphrodite}, en la segunda guerra mundial, donde realmente se vió el primer dron radio tripulado, con el fin de poder volar en entornos ``sucios'' o dirty, dado el nuevo paradigma de las bombas atómicas \footnote[9]{\url{https://warfarehistorynetwork.com/article/operation-aphrodite/}}.\\ \begin{figure} [h] \centering @@ -82,23 +82,23 @@ \subsection{Drones} Tal y como fue mencionado, la gran ventaja del uso de vehículos aéreos es poder evitar las irregularidades del terreno, sin embargo, hay ligados al uso de estos dispositivos ciertos problemas, como son el clima, la carga de pago que afecta a la autonomía (peso de las baterías), los interiores (afectan a la señal GPS), entre otros.\\ -Agrupando la robótica y los drones, se pueden observar múltiples ejemplos de uso, uno muy conocido es el de un dron \emph{``sigue-persona''}, el cual permite a un \ac{SUAV} detectar y moverse al son de un objetivo móvil, tal y como puede ser una persona; o bien para controlar desastres naturales, como por ejemplo un incendio, donde mediante visión artificial se puedan localizar y controlar los focos activos \footnote[13]{https://www.euronews.com/2023/09/19/could-ai-powered-drones-be-the-solution-to-europes-wildfire-problems}. +Agrupando la robótica y los drones, se pueden observar múltiples ejemplos de uso, uno muy conocido es el de un dron \emph{``sigue-persona''}, el cual permite a un \ac{SUAV} detectar y moverse al son de un objetivo móvil, tal y como puede ser una persona; o bien para controlar desastres naturales, como por ejemplo un incendio, donde mediante visión artificial se puedan localizar y controlar los focos activos \footnote[13]{https://www.euronews.com/2023/09/19/could-ai-powered-drones-be-the-solution-to-europes-wildfire-problems}.\\ + +Estos comportamientos, son especialmente complejos debido a que se navega por entornos desconocidos (es decir, sin un mapa disponible), además de estar sujetos a una reactividad elevada, lo que requiere un procesamiento de datos eficiente y una baja latencia en las comunicaciones, lo cual está directamente relacionado con las condiciones del entorno y su contexto. \section{Inteligencia artificial} \label{subsec:inteligencia_artificial} -% La \ac{IA} ha tenido un auge importante en los últimos años, especialmente en el ámbito de la robótica dado su amplio abanico de soluciones sinérgicas con la misma, sin embargo, conviene conocer lo origenes. Quizás, la primera pregunta que se buscó responder fue la siguiente \textbf{¿Puede una máquina pensar?}, formulada en \emph{``Computing Machinery and Intelligence''} (Alan Turing, 1950), de donde surgió el famoso test de Turing, entre otras ideas \cite{turing-paper}. La búsqueda de la \ac{IA} enfrentó desafíos iniciales debido a la incapacidad de las primeras computadoras para almacenar datos y su elevado precio. Sin embargo, en 1956, se presentó el primer programa de \ac{IA} llamado \textbf{Logic Theorist} en el \textbf{Dartmouth Summer Research Project on Artificial Intelligence} \cite{logic-theorist}. Con el tiempo, la IA progresó con mejores algoritmos y mejoras en la capacidad de las computadoras. A pesar de esto, lograr los objetivos finales de la IA, como comprender el lenguaje humano y el pensamiento abstracto, sigue siendo un desafío a día de hoy \cite{history-ai}.\\ - La \ac{IA} ha tenido un auge importante en los últimos años, especialmente en el ámbito de la robótica dado su amplio abanico de soluciones sinérgicas con la misma, desde \emph{``Computing Machinery and Intelligence''} (Alan Turing, 1950), donde se buscó responder fue la siguiente \textbf{¿Puede una máquina pensar?}, formulada en \emph{``Computing Machinery and Intelligence''} (Alan Turing, 1950); pasando por \textbf{Logic Theorist} en el \textbf{Dartmouth Summer Research Project on Artificial Intelligence} \cite{logic-theorist}; hasta la actualidad, donde los algoritmos mejoraron a la par de la capacidad de computación, destacando por ejemplo la navegación autónoma, empleada en drones entre otros vehículos \footnote[14]{\url{https://sitn.hms.harvard.edu/flash/2017/history-artificial-intelligence/}}.\\ En general, la \ac{IA} es capaz de abordar los siguientes problemas de aprendizaje: \begin{enumerate} - \item \textbf{Supervisado}: es decir, se emplea un conjunto de datos del que se conocen tanto las salidas cómo las entradas a las que pertenecen. La idea es conseguir obtener una salida precisa dada una entrada concreta. Por ejemplo, dados los metros cuadrados de una vivienda (entrada), obtener su precio estimado (salida). + \item \textbf{Supervisado}: es decir, se emplea un conjunto de datos del que se conocen tanto las salidas cómo las entradas a las que pertenecen. La idea es conseguir obtener una salida precisa dada una entrada concreta. Por ejemplo, para detectar obstrucciones mediante datos etiquetados, en una imagen de un dron \cite{christl2020visionbased}. - \item \textbf{No supervisado}: donde se tiene un conjunto de datos de entrada de los que no se conoce la salida. Básicamente, se encarga de distribuir dicho conjunto en sets con características comunes. Un ejemplo común es la segmentación de imagenes, donde se clasifica cada elemento de la imagen según su naturaleza. + \item \textbf{No supervisado}: donde se tiene un conjunto de datos de entrada de los que no se conoce la salida. Básicamente, se encarga de distribuir dicho conjunto en sets con características comunes. Un ejemplo común es la segmentación de imagenes, donde se clasifica cada elemento de la imagen según su naturaleza, como puede ser el caso de detectar turbinas defectuosas o no defectuosas, en aeronaves empleando reconocimiento por imagen \cite{wang2019unsupervised}. - \item \textbf{Por refuerzo}: resuelve un problema a base de prueba y error, mediante un sistema de recompensas. Como por ejemplo \emph{``Stockfish''}, que es un modelo entrenado para ganar una partida de ajedrez en el menor número de movimientos posible, superando incluso a grandes maestros de la actualidad \footnote[15]{\url{https://stockfishchess.org/about/}}. + \item \textbf{Por refuerzo}: resuelve un problema a base de prueba y error, mediante un sistema de recompensas. Como por ejemplo \emph{``Stockfish''}, que es un modelo entrenado para ganar una partida de ajedrez en el menor número de movimientos posible, superando incluso a grandes maestros de la actualidad \footnote[15]{\url{https://stockfishchess.org/about/}}, o por ejemplo, en un caso más relacionado, para mejorar la navegación en drones \cite{electronics10090999}. \end{enumerate} \footnote[16]{\url{https://www.springboard.com/blog/data-science/regression-vs-classification/}} \begin{figure} [H] @@ -124,26 +124,22 @@ \subsection{Aprendizaje por refuerzo} \label{fig:reinforcement_learning} \end{figure} -Cabe destacar que, este enfoque está directamente extraido de la \textbf{psicología} y el estudio del comportamiento, donde en función de recompensas y castigos se induce al aprendizaje en distintas tareas, como por ejemplo, enseñar a jugar al ping pong a dos palomas \footnote[19]{\url{https://pressbooks.online.ucf.edu/lumenpsychology/chapter/operant-conditioning/} \url{https://pressbooks-dev.oer.hawaii.edu/psychology/chapter/operant-conditioning/}}.\\ +Cabe destacar que, este enfoque está directamente extraido de la \textbf{psicología} y el estudio del comportamiento, donde en función de recompensas y castigos se induce al aprendizaje en distintas tareas, como por ejemplo, enseñar a jugar al ping pong a dos palomas \footnote[19]{\url{https://pressbooks.online.ucf.edu/lumenpsychology/chapter/operant-conditioning/} \url{https://pressbooks-dev.oer.hawaii.edu/psychology/chapter/operant-conditioning/}}, o más en relación a aplicaciones con aeronaves, para obtener rutas óptimas en carreras de drones \cite{9636053}.\\ Entre los distintos modelos, encontramos \textbf{Q-Learning}, que busca generar una tabla numérica donde cada fila se interprete como un estado del robot, que puede ser su posición; y cada columna sea una determinada acción, como puede ser moverse hacia algún lugar. De este modo, y a través de una \textbf{función de recompensa}, se rellenan los valores de la tabla, los cuales, según el tipo de función escogida, convergerá comportamientos de un tipo u otro. Una vez obtenida la tabla, el robot solo debe identificar en que estado se encuentra (fila) y elegir la columna con mayor valor numérico, lo que se traducirá en la mejor acción para dicho estado \footnote[20]{\url{https://towardsdatascience.com/reinforcement-learning-explained-visually-part-4-q-learning-step-by-step-b65efb731d3e}}.\\ -Existen múltiples ejemplos de aplicación de esta metodología a casos reales, vease para controlar de forma adaptativa una señal de tráfico; para jugar a la Atari 2600; o para realizar un control híbrido sobre la navegación de un robot, entre otros. \cite{q-learning-app}\\ +Existen múltiples ejemplos de aplicación de esta metodología a casos reales, vease para controlar de forma adaptativa una señal de tráfico; para jugar a la Atari 2600; o para realizar un control híbrido sobre la navegación de un Robot \cite{q-learning-app}; o para seleccionar que vehículos reduce costes y mejorar la eficiencia, de cara a entregar mercancía (vía aerea empleando drones o vía terrestre) \cite{CHEN2022939}. \section{Vigilancia del espectro electromagnético} \label{subsec:señales} -Las comunicaciones inalámbricas son aquellas donde tanto el emisor como el receptor se intercambian información sin el uso de cables u otros medios similares. En su defecto usan ondas electromagnéticas moduladas transmitidas generalmente por el aire. En este caso concreto, hablamos de señales \ac{RF}, como son por ejemplo Wi-Fi, radio FM, 4G, 5G, entre otros tipos de señales distribuidas a lo largo del espectro.\\ +Las comunicaciones inalámbricas son aquellas donde tanto el emisor como el receptor se intercambian información mediante ondas electromagnéticas. En su defecto usan ondas electromagnéticas moduladas transmitidas generalmente por el aire. En este caso concreto, hablamos de señales \ac{RF}, como son por ejemplo Wi-Fi, radio FM, 4G, 5G, entre otros tipos de señales distribuidas a lo largo del espectro.\\ -Dicho espectro se divide por bandas de frecuencia, que se reparten para diversos uso. El ejemplo más claro es la banda FM de radio, que se reparte entre los 87-108 MHz para España, donde cada emisora tiene un ancho asignado para emitir. \footnote[21]{\url{https://www.wikiwand.com/en/FM_broadcast_band}}\\ +Dicho espectro se divide por bandas de frecuencia, que se reparten para diversos uso. El ejemplo más claro es la banda FM de radio, que se reparte entre los 87-108 MHz para España, donde cada emisora tiene un ancho asignado para emitir, o por ejemplo la banda GPS, dispuesta para el posicionamiento, situada en 1565 MHz, o también la banda GSM, que distribuye la telefonía móvil y se encuentra entre 900 y 1800 MHz. \footnote[21]{\url{https://www.wikiwand.com/en/FM_broadcast_band}}\\ -De este modo, se pueden encontrar soluciones a problemas como el rastreo de una señal de móvil para una persona perdida en la montaña, o seguir emisores concretos, como pueden ser convoys, o también en casos de ataques del tipo jamming (introducción de interferencias para invalidar la comunicación), donde se necesite hallar el origen del ataque, entre otros. Lo único que hay que establecer, es la banda de frecuencia adecuada y establecer un comportamiento que permita navegar hasta la señal de manera autónoma.\\ +De este modo, se pueden encontrar soluciones a problemas como el rastreo de una señal de móvil para una persona perdida en la montaña, o seguir emisores concretos, como pueden ser convoys, o también en casos de ataques del tipo jamming (introducción de interferencias para invalidar la comunicación), donde se necesite hallar el origen del ataque, entre otros. Lo único que hay que establecer, es la banda de frecuencia adecuada y establecer un comportamiento que permita navegar hasta la señal de manera autónoma. Otro ejemplo de uso, es para mejorar la localización en robots, mediante el uso de redes 5G \cite{s23010188}. \section{Síntesis} \label{subsec:sintesis} -Este proyecto se centra en desarrollar un comportamiento autónomo de un dron, basado en aprendizaje por refuerzo, con el fin de identificar un transmisor \ac{RF} en un entorno dinámico, es decir, en el cual se sorteen obstáculos de camino al origen de la señal. - -% Para finalizar, cabe destacar algunos proyectos relacionados, donde se puede ver el uso conjunto de drones y robótica para la creación de un módulo ROS, en el que se engloban las comunicaciones para programar un sigue-persona \cite{tfm-pedro}, junto con el uso de estas aeronaves en síntesis con la \ac{IA}, para lograr la navegación en interiores de la misma \cite{paper-ia-dron}\\ - -En nuestro caso, se usará un dron del tipo \ac{SUAV}, provisto de un receptor \ac{RF} como sensor. Se le agregarán algoritmos sistemáticos para compararlos con soluciones Q-Learning. \ No newline at end of file +Este proyecto se centra en desarrollar un comportamiento autónomo de un dron, basado en aprendizaje por refuerzo, con el fin de detectar el origen de una señal \ac{RF} en un entorno dinámico, esto es, un escenario con obstáculos sobre el cual se navegue hasta la fuente de la señal. \ No newline at end of file diff --git a/memoria/capitulos/capitulo2.tex b/memoria/capitulos/capitulo2.tex index ec2028a..0f4354c 100644 --- a/memoria/capitulos/capitulo2.tex +++ b/memoria/capitulos/capitulo2.tex @@ -8,16 +8,16 @@ \section{Descripción del problema} Los drones son una herramienta tremendamente versátil, ya que permiten solventar los inconvenientes orográficos de forma sencilla, y pueden ser provistos de múltiples sensores, lo que incrementa su adaptabilidad para solucionar un gran abanico de retos ingenieriles.\\ -Por tanto, el foco de este \ac{TFG} consistirá en desarrollar un comportamiento autónomo en un dron, para detectar una señal \ac{RF}. Esto puede ser especialmente útil en labores de rastreo e identificación de objetivos, tales como en casos de escenarios catastróficos donde se deben localizar personas perdidas.\\ +Por tanto, el foco de este \ac{TFG} consistirá en desarrollar un comportamiento autónomo en un dron, para detectar y localizar el origen de una señal \ac{RF}. Esto puede ser especialmente útil en labores de rastreo e identificación de objetivos, tales como en casos de escenarios catastróficos donde se deben localizar personas perdidas o de rastreo de señales en entornos indoor.\\ Para ello, se establecen los siguientes objetivos: \begin{enumerate} - \item Desarrollo de una aplicación, enfocada a teleoperar un cuadracóptero, empleando herramientas de simulación y visualización así cómo el tratamiento del código. - \item Implementación de un modelo sencillo de propagación de señales. - \item Desarrollo de un comportamiento autónomo capaz de identificar y navegar hacia una señal \ac{RF}. + \item Desarrollo de una aplicación, enfocada a teleoperar un \ac{UAV}, empleando herramientas de simulación y visualización. + \item Implementación de un modelo de propagación de señales. + \item Desarrollo de un comportamiento autónomo capaz de detectar y navegar hacia la fuente de una señal \ac{RF}. \item Comparativa frente a los algoritmos navegación tradicionales. - \item Desarrollo de un comportamiento autónomo en un escenario con obstáculos. + \item Desarrollo de un comportamiento autónomo en un escenario dinámico. \end{enumerate} \section{Requisitos} @@ -28,8 +28,8 @@ \section{Requisitos} \begin{enumerate} \item El modelo de propagación de señal debe ser el modelo de Friis. \item Se debe usar \ac{ROS} como middleware robótico y Gazebo como herramienta de simulación. - \item Se debe seleccionar el algoritmo que navegue de forma más óptima. - \item Se debe seleccionar el algoritmo más seguro. + \item Se debe seleccionar el algoritmo que navegue de forma más eficiente. + \item Se debe seleccionar el algoritmo más seguro en cuanto a salvaguardar la integridad del dispositivo y sus alrededores. \end{enumerate} \section{Metodología} @@ -67,4 +67,4 @@ \section{Plan de trabajo} \item A continuación, se realizó una fase de pruebas y extracción de información sobre la que se realizaron diversas comparativas. \item Cerrando la fase de desarrollo, lo último fue implementar soluciones sobre escenarios más realistas que incluían obstáculos. \item Finalmente, se realizó la redacción de la memoria. -\end{enumerate} \ No newline at end of file +\end{enumerate} \ No newline at end of file diff --git a/memoria/capitulos/capitulo3.tex b/memoria/capitulos/capitulo3.tex index a70f5fc..e4002d8 100644 --- a/memoria/capitulos/capitulo3.tex +++ b/memoria/capitulos/capitulo3.tex @@ -20,9 +20,11 @@ \subsection{Python} #! /usr/bin/env python if __name__ == "__main__": - print("Hello world!") + C = 3.0 * (10 ** 8) + freq = 5 * (10 ** 9) + lmbda = C / freq \end{lstlisting} -\caption[Hello world en Python]{\emph{Hello world} en Python} +\caption[Obtención del parámetro lambda en función de una frecuencia (en este caso 5G)]{Obtención del parámetro $\lambda$ en función de una frecuencia (en este caso 5G)} \label{cod:helloworld_python} \end{code} @@ -49,9 +51,9 @@ \subsection{C++} \section{\ac{ROS}} \label{sec:ros} -Si se habla de robótica, se habla de \ac{ROS}, ya que es el medio predilecto para el desarrollo de soluciones de este ámbito, pero, ¿qué es exactamente \ac{ROS}?.\\ +Si se habla de robótica, se habla de \ac{ROS}, ya que es el framework para el desarrollo de soluciones de este ámbito, pero, ¿qué es exactamente \ac{ROS}?.\\ -Se trata de un \emph{middleware}, es decir, una infraestructura software situada entre el sistema operativo y el desarrollador, que incluye una serie de módulos y funcionalidades enfocadas al desarrollo de aplicaciones robóticas \cite{middleware-def} \cite{ros-def}. La idea detrás, busca estandarizar soluciones que no dependan de los drivers de cada sensor y actuador presentes. De forma general, se trata de una arquitectura basada en el paradigma de publicador-suscriptor, donde una serie de nodos se comunican entre sí, transmitiendo mensajes propios, a través de canales compartidos llamados \emph{topics}, esto es, un nodo suscriptor se suscribirá a un determinado topic, que permita la transmisión de un tipo de mensaje concreto, quedando en espera de que un nodo pulicador, envíe mensajes de este tipo a ese topic. Todo se gestiona de manera centralizada, es decir, existe un master que se encarga de gestionar las peticiones de todos los nodos y el envío de mensajes a todos los topics activos.\\ +Se trata de un \emph{middleware}, es decir, una infraestructura software situada entre el sistema operativo y el desarrollador, que incluye una serie de módulos y funcionalidades enfocadas al desarrollo de aplicaciones robóticas \cite{middleware-def} \cite{ros-def}. La idea detrás, busca estandarizar soluciones que no dependan de los drivers de cada sensor y actuador presentes. De forma general, se trata de una arquitectura basada en el paradigma de publicador-suscriptor, donde una serie de nodos se comunican entre sí, transmitiendo mensajes propios, a través de canales compartidos llamados \emph{topics}, esto es, un nodo suscriptor se suscribirá a un determinado topic, que permita la transmisión de un tipo de mensaje concreto, quedando en espera de que un nodo pulicador, envíe mensajes de este tipo a ese topic. Todo se gestiona de manera centralizada, es decir, existe un master que se encarga de gestionar el registro de todos los nodos a los topics pertinentes.\\ Concretamente, se usa para desarrollar todos los algoritmos robóticos y para realizar las comunicaciones necesarias en la simulación del dron.\\ diff --git a/memoria/memoria.aux b/memoria/memoria.aux index f2169fa..b4cced0 100644 --- a/memoria/memoria.aux +++ b/memoria/memoria.aux @@ -95,7 +95,6 @@ \acronymused{SAR} \@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Drones}{3}{subsection.1.1.1}\protected@file@percent } \newlabel{subsec:drones}{{1.1.1}{3}{Drones}{subsection.1.1.1}{}} -\acronymused{UAS} \citation{data-link-definicion} \@writefile{lof}{\contentsline {figure}{\numberline {1.3}{\ignorespaces Historia de los drones\relax }}{4}{figure.caption.20}\protected@file@percent } \newlabel{fig:drone_history}{{1.3}{4}{Historia de los drones\relax }{figure.caption.20}{}} @@ -116,24 +115,28 @@ \AC@undonewlabel{acro:SUAV} \newlabel{acro:SUAV}{{1.1.1}{5}{Drones}{section*.23}{}} \acronymused{SUAV} -\@writefile{toc}{\contentsline {section}{\numberline {1.2}Inteligencia artificial}{5}{section.1.2}\protected@file@percent } -\newlabel{subsec:inteligencia_artificial}{{1.2}{5}{Inteligencia artificial}{section.1.2}{}} +\citation{christl2020visionbased} +\citation{wang2019unsupervised} +\citation{electronics10090999} +\@writefile{toc}{\contentsline {section}{\numberline {1.2}Inteligencia artificial}{6}{section.1.2}\protected@file@percent } +\newlabel{subsec:inteligencia_artificial}{{1.2}{6}{Inteligencia artificial}{section.1.2}{}} \acronymused{IA} \acronymused{IA} -\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces Clasificación de aprendizaje máquina}}{6}{figure.caption.24}\protected@file@percent } -\newlabel{fig:ai_types}{{1.5}{6}{Clasificación de aprendizaje máquina}{figure.caption.24}{}} +\citation{9636053} +\@writefile{lof}{\contentsline {figure}{\numberline {1.5}{\ignorespaces Clasificación de aprendizaje máquina}}{7}{figure.caption.24}\protected@file@percent } +\newlabel{fig:ai_types}{{1.5}{7}{Clasificación de aprendizaje máquina}{figure.caption.24}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Aprendizaje por refuerzo}{7}{subsection.1.2.1}\protected@file@percent } \newlabel{subsec:aprendizaje_por_refuerzo}{{1.2.1}{7}{Aprendizaje por refuerzo}{subsection.1.2.1}{}} \@writefile{lof}{\contentsline {figure}{\numberline {1.6}{\ignorespaces Aprendizaje por refuerzo}}{7}{figure.caption.25}\protected@file@percent } \newlabel{fig:reinforcement_learning}{{1.6}{7}{Aprendizaje por refuerzo}{figure.caption.25}{}} \citation{q-learning-app} +\citation{CHEN2022939} \@writefile{toc}{\contentsline {section}{\numberline {1.3}Vigilancia del espectro electromagnético}{8}{section.1.3}\protected@file@percent } \newlabel{subsec:señales}{{1.3}{8}{Vigilancia del espectro electromagnético}{section.1.3}{}} \acronymused{RF} -\@writefile{toc}{\contentsline {section}{\numberline {1.4}Síntesis}{8}{section.1.4}\protected@file@percent } -\newlabel{subsec:sintesis}{{1.4}{8}{Síntesis}{section.1.4}{}} -\acronymused{RF} -\acronymused{SUAV} +\citation{s23010188} +\@writefile{toc}{\contentsline {section}{\numberline {1.4}Síntesis}{9}{section.1.4}\protected@file@percent } +\newlabel{subsec:sintesis}{{1.4}{9}{Síntesis}{section.1.4}{}} \acronymused{RF} \@writefile{toc}{\contentsline {chapter}{\numberline {2}Objetivos}{10}{chapter.2}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} @@ -145,6 +148,7 @@ \newlabel{sec:descripcion_problema}{{2.1}{10}{Descripción del problema}{section.2.1}{}} \acronymused{TFG} \acronymused{RF} +\acronymused{UAV} \acronymused{RF} \@writefile{toc}{\contentsline {section}{\numberline {2.2}Requisitos}{11}{section.2.2}\protected@file@percent } \newlabel{sec:requisitos}{{2.2}{11}{Requisitos}{section.2.2}{}} @@ -176,8 +180,8 @@ \citation{c-history} \citation{middleware-def} \citation{ros-def} -\@writefile{locode}{\contentsline {code}{\numberline {3.1}{\ignorespaces Hello world en Python}}{14}{code.caption.27}\protected@file@percent } -\newlabel{cod:helloworld_python}{{3.1}{14}{Hello world en Python}{code.caption.27}{}} +\@writefile{locode}{\contentsline {code}{\numberline {3.1}{\ignorespaces Obtención del parámetro lambda en función de una frecuencia (en este caso 5G)}}{14}{code.caption.27}\protected@file@percent } +\newlabel{cod:helloworld_python}{{3.1}{14}{Obtención del parámetro lambda en función de una frecuencia (en este caso 5G)}{code.caption.27}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}C++}{14}{subsection.3.1.2}\protected@file@percent } \newlabel{subsec:cplusplus}{{3.1.2}{14}{C++}{subsection.3.1.2}{}} \@writefile{locode}{\contentsline {code}{\numberline {3.2}{\ignorespaces Hello world en C++}}{14}{code.caption.28}\protected@file@percent } @@ -188,16 +192,16 @@ \acronymused{ROS} \acronymused{ROS} \citation{rviz-def} -\citation{gazebo-def} \@writefile{lof}{\contentsline {figure}{\numberline {3.1}{\ignorespaces Esquema de comunicaciones en ROS}}{15}{figure.caption.29}\protected@file@percent } \newlabel{fig:ros}{{3.1}{15}{Esquema de comunicaciones en ROS}{figure.caption.29}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Rviz}{15}{subsection.3.2.1}\protected@file@percent } \newlabel{subsec:rviz}{{3.2.1}{15}{Rviz}{subsection.3.2.1}{}} \acronymused{ROS} \acronymused{RF} -\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Ejemplo de uso de Rviz}}{15}{figure.caption.30}\protected@file@percent } -\newlabel{fig:rviz}{{3.2}{15}{Ejemplo de uso de Rviz}{figure.caption.30}{}} +\citation{gazebo-def} \citation{vscode-def} +\@writefile{lof}{\contentsline {figure}{\numberline {3.2}{\ignorespaces Ejemplo de uso de Rviz}}{16}{figure.caption.30}\protected@file@percent } +\newlabel{fig:rviz}{{3.2}{16}{Ejemplo de uso de Rviz}{figure.caption.30}{}} \@writefile{toc}{\contentsline {section}{\numberline {3.3}Gazebo 11}{16}{section.3.3}\protected@file@percent } \newlabel{sec:gazebo}{{3.3}{16}{Gazebo 11}{section.3.3}{}} \acronymused{ROS} @@ -219,26 +223,26 @@ \@writefile{toc}{\contentsline {subsection}{\numberline {3.5.1}OpenCV}{17}{subsection.3.5.1}\protected@file@percent } \newlabel{subsec:opencv}{{3.5.1}{17}{OpenCV}{subsection.3.5.1}{}} \citation{matplotlib-def} -\citation{flight-controller} -\citation{px4-def} \@writefile{lof}{\contentsline {figure}{\numberline {3.5}{\ignorespaces Interfaz gráfica usando OpenCV}}{18}{figure.caption.33}\protected@file@percent } \newlabel{fig:opencv}{{3.5}{18}{Interfaz gráfica usando OpenCV}{figure.caption.33}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.5.2}Matplotlib}{18}{subsection.3.5.2}\protected@file@percent } \newlabel{subsec:matplotlib}{{3.5.2}{18}{Matplotlib}{subsection.3.5.2}{}} \acronymused{RF} -\@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Representación de un mapa de calor usando matplotlib}}{18}{figure.caption.34}\protected@file@percent } -\newlabel{fig:matplotlib}{{3.6}{18}{Representación de un mapa de calor usando matplotlib}{figure.caption.34}{}} +\citation{flight-controller} +\citation{px4-def} \citation{px4-mavlink} \citation{px4-mavros} -\citation{jderobot-ref} +\@writefile{lof}{\contentsline {figure}{\numberline {3.6}{\ignorespaces Representación de un mapa de calor usando matplotlib}}{19}{figure.caption.34}\protected@file@percent } +\newlabel{fig:matplotlib}{{3.6}{19}{Representación de un mapa de calor usando matplotlib}{figure.caption.34}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.5.3}PX4 autopilot}{19}{subsection.3.5.3}\protected@file@percent } \newlabel{subsec:px4}{{3.5.3}{19}{PX4 autopilot}{subsection.3.5.3}{}} \acronymused{GCS} \acronymused{ROS} -\@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Controlador PX4}}{19}{figure.caption.35}\protected@file@percent } -\newlabel{fig:px4autopilot}{{3.7}{19}{Controlador PX4}{figure.caption.35}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.6}Iris}{19}{section.3.6}\protected@file@percent } -\newlabel{sec:iris}{{3.6}{19}{Iris}{section.3.6}{}} +\citation{jderobot-ref} +\@writefile{lof}{\contentsline {figure}{\numberline {3.7}{\ignorespaces Controlador PX4}}{20}{figure.caption.35}\protected@file@percent } +\newlabel{fig:px4autopilot}{{3.7}{20}{Controlador PX4}{figure.caption.35}{}} +\@writefile{toc}{\contentsline {section}{\numberline {3.6}Iris}{20}{section.3.6}\protected@file@percent } +\newlabel{sec:iris}{{3.6}{20}{Iris}{section.3.6}{}} \acronymused{RF} \@writefile{lof}{\contentsline {figure}{\numberline {3.8}{\ignorespaces Iris drone en Gazebo 11}}{20}{figure.caption.36}\protected@file@percent } \newlabel{fig:irisdrone}{{3.8}{20}{Iris drone en Gazebo 11}{figure.caption.36}{}} @@ -405,54 +409,60 @@ \bibcite{10.3389/fmech.2020.00011}{{3}{}{{}}{{}}} \bibcite{data-link-definicion}{{4}{}{{}}{{}}} \bibcite{logic-theorist}{{5}{}{{}}{{}}} -\bibcite{q-learning-app}{{6}{}{{}}{{}}} -\bibcite{tiobe}{{7}{}{{}}{{}}} -\bibcite{python-history}{{8}{}{{}}{{}}} -\bibcite{python-def}{{9}{}{{}}{{}}} -\bibcite{compiled-vs-interpreted}{{10}{}{{}}{{}}} -\bibcite{c-history}{{11}{}{{}}{{}}} +\bibcite{christl2020visionbased}{{6}{}{{}}{{}}} +\bibcite{wang2019unsupervised}{{7}{}{{}}{{}}} +\bibcite{electronics10090999}{{8}{}{{}}{{}}} +\bibcite{9636053}{{9}{}{{}}{{}}} \@writefile{toc}{\contentsline {chapter}{Bibliograf\'{\i }a}{53}{appendix*.77}\protected@file@percent } -\bibcite{middleware-def}{{12}{}{{}}{{}}} -\bibcite{ros-def}{{13}{}{{}}{{}}} -\bibcite{rviz-def}{{14}{}{{}}{{}}} -\bibcite{gazebo-def}{{15}{}{{}}{{}}} -\bibcite{vscode-def}{{16}{}{{}}{{}}} -\bibcite{github-def}{{17}{}{{}}{{}}} -\bibcite{opencv-def}{{18}{}{{}}{{}}} -\bibcite{matplotlib-def}{{19}{}{{}}{{}}} -\bibcite{flight-controller}{{20}{}{{}}{{}}} -\bibcite{px4-def}{{21}{}{{}}{{}}} -\bibcite{px4-mavlink}{{22}{}{{}}{{}}} -\bibcite{px4-mavros}{{23}{}{{}}{{}}} -\bibcite{jderobot-ref}{{24}{}{{}}{{}}} -\bibcite{flight-modes}{{25}{}{{}}{{}}} -\bibcite{basics-signals}{{26}{}{{}}{{}}} -\bibcite{friis-1}{{27}{}{{}}{{}}} -\bibcite{poly-info}{{28}{}{{}}{{}}} -\bibcite{rae-robotica}{{29}{}{{}}{{}}} -\bibcite{revista-de-robots}{{30}{}{{}}{{}}} -\bibcite{industrial-robot}{{31}{}{{}}{{}}} -\bibcite{mobile-robot}{{32}{}{{}}{{}}} -\bibcite{4-d}{{33}{}{{}}{{}}} -\bibcite{agv-vs-amr}{{34}{}{{}}{{}}} -\bibcite{kettering-bug}{{35}{}{{}}{{}}} -\bibcite{queen-bee}{{36}{}{{}}{{}}} -\bibcite{operation-aphrodite}{{37}{}{{}}{{}}} -\bibcite{uas-definicion}{{38}{}{{}}{{}}} -\bibcite{gcs-definicion}{{39}{}{{}}{{}}} -\bibcite{drone-regulation}{{40}{}{{}}{{}}} -\bibcite{turing-paper}{{41}{}{{}}{{}}} -\bibcite{history-ai}{{42}{}{{}}{{}}} -\bibcite{reg-class}{{43}{}{{}}{{}}} -\bibcite{chess}{{44}{}{{}}{{}}} -\bibcite{learn}{{45}{}{{}}{{}}} -\bibcite{props-learn}{{46}{}{{}}{{}}} -\bibcite{psicologia-aprendizaje}{{47}{}{{}}{{}}} -\bibcite{skinner}{{48}{}{{}}{{}}} -\bibcite{q-learning}{{49}{}{{}}{{}}} -\bibcite{bandw}{{50}{}{{}}{{}}} -\bibcite{friis-2}{{51}{}{{}}{{}}} -\bibcite{friis-3}{{52}{}{{}}{{}}} -\bibcite{tfm-pedro}{{53}{}{{}}{{}}} -\bibcite{paper-ia-dron}{{54}{}{{}}{{}}} +\bibcite{q-learning-app}{{10}{}{{}}{{}}} +\bibcite{CHEN2022939}{{11}{}{{}}{{}}} +\bibcite{s23010188}{{12}{}{{}}{{}}} +\bibcite{tiobe}{{13}{}{{}}{{}}} +\bibcite{python-history}{{14}{}{{}}{{}}} +\bibcite{python-def}{{15}{}{{}}{{}}} +\bibcite{compiled-vs-interpreted}{{16}{}{{}}{{}}} +\bibcite{c-history}{{17}{}{{}}{{}}} +\bibcite{middleware-def}{{18}{}{{}}{{}}} +\bibcite{ros-def}{{19}{}{{}}{{}}} +\bibcite{rviz-def}{{20}{}{{}}{{}}} +\bibcite{gazebo-def}{{21}{}{{}}{{}}} +\bibcite{vscode-def}{{22}{}{{}}{{}}} +\bibcite{github-def}{{23}{}{{}}{{}}} +\bibcite{opencv-def}{{24}{}{{}}{{}}} +\bibcite{matplotlib-def}{{25}{}{{}}{{}}} +\bibcite{flight-controller}{{26}{}{{}}{{}}} +\bibcite{px4-def}{{27}{}{{}}{{}}} +\bibcite{px4-mavlink}{{28}{}{{}}{{}}} +\bibcite{px4-mavros}{{29}{}{{}}{{}}} +\bibcite{jderobot-ref}{{30}{}{{}}{{}}} +\bibcite{flight-modes}{{31}{}{{}}{{}}} +\bibcite{basics-signals}{{32}{}{{}}{{}}} +\bibcite{friis-1}{{33}{}{{}}{{}}} +\bibcite{rae-robotica}{{34}{}{{}}{{}}} +\bibcite{revista-de-robots}{{35}{}{{}}{{}}} +\bibcite{industrial-robot}{{36}{}{{}}{{}}} +\bibcite{mobile-robot}{{37}{}{{}}{{}}} +\bibcite{4-d}{{38}{}{{}}{{}}} +\bibcite{agv-vs-amr}{{39}{}{{}}{{}}} +\bibcite{kettering-bug}{{40}{}{{}}{{}}} +\bibcite{queen-bee}{{41}{}{{}}{{}}} +\bibcite{operation-aphrodite}{{42}{}{{}}{{}}} +\bibcite{uas-definicion}{{43}{}{{}}{{}}} +\bibcite{gcs-definicion}{{44}{}{{}}{{}}} +\bibcite{drone-regulation}{{45}{}{{}}{{}}} +\bibcite{turing-paper}{{46}{}{{}}{{}}} +\bibcite{history-ai}{{47}{}{{}}{{}}} +\bibcite{reg-class}{{48}{}{{}}{{}}} +\bibcite{chess}{{49}{}{{}}{{}}} +\bibcite{learn}{{50}{}{{}}{{}}} +\bibcite{props-learn}{{51}{}{{}}{{}}} +\bibcite{psicologia-aprendizaje}{{52}{}{{}}{{}}} +\bibcite{skinner}{{53}{}{{}}{{}}} +\bibcite{q-learning}{{54}{}{{}}{{}}} +\bibcite{bandw}{{55}{}{{}}{{}}} +\bibcite{friis-2}{{56}{}{{}}{{}}} +\bibcite{friis-3}{{57}{}{{}}{{}}} +\bibcite{tfm-pedro}{{58}{}{{}}{{}}} +\bibcite{paper-ia-dron}{{59}{}{{}}{{}}} +\bibcite{poly-info}{{60}{}{{}}{{}}} \providecommand\NAT@force@numbers{}\NAT@force@numbers diff --git a/memoria/memoria.bbl b/memoria/memoria.bbl index 55e9f02..79bcd7f 100644 --- a/memoria/memoria.bbl +++ b/memoria/memoria.bbl @@ -29,12 +29,50 @@ Leo Gugerty. \newblock {\em Proceedings of the Human Factors and Ergonomics Society Annual Meeting}, 50:880--884, 10 2006. +\bibitem{christl2020visionbased} +Max Christl. +\newblock Vision-based autonomous drone control using supervised learning in + simulation, 2020. + +\bibitem{wang2019unsupervised} +Y.~Wang, R.~Yoshihashi, R.~Kawakami, et~al. +\newblock Unsupervised anomaly detection with compact deep features for wind + turbine blade images taken by a drone. +\newblock {\em IPSJ Transactions on Computer Vision and Applications}, + 11(3):1--10, 2019. + +\bibitem{electronics10090999} +Ahmad~Taher Azar, Anis Koubaa, Nada Ali~Mohamed, Habiba~A. Ibrahim, Zahra~Fathy + Ibrahim, Muhammad Kazim, Adel Ammar, Bilel Benjdira, Alaa~M. Khamis, + Ibrahim~A. Hameed, and Gabriella Casalino. +\newblock Drone deep reinforcement learning: A review. +\newblock {\em Electronics}, 10(9), 2021. + +\bibitem{9636053} +Yunlong Song, Mats Steinweg, Elia Kaufmann, and Davide Scaramuzza. +\newblock Autonomous drone racing with deep reinforcement learning. +\newblock In {\em 2021 IEEE/RSJ International Conference on Intelligent Robots + and Systems (IROS)}, pages 1205--1212, 2021. + \bibitem{q-learning-app} Beakcheol Jang, Myeonghwi Kim, Gaspard Harerimana, and Jong~Wook Kim. \newblock Q-learning algorithms: A comprehensive classification and applications. \newblock {\em IEEE Access}, 7:133653--133667, 2019. +\bibitem{CHEN2022939} +Xinwei Chen, Marlin~W. Ulmer, and Barrett~W. Thomas. +\newblock Deep q-learning for same-day delivery with vehicles and drones. +\newblock {\em European Journal of Operational Research}, 298(3):939--952, + 2022. + +\bibitem{s23010188} +Meisam Kabiri, Claudio Cimarelli, Hriday Bavle, Jose~Luis Sanchez-Lopez, and + Holger Voos. +\newblock A review of radio frequency based localisation for aerial and ground + robots with 5g future perspectives. +\newblock {\em Sensors}, 23(1), 2023. + \bibitem{tiobe} Tiobe. \newblock \textit{TIOBE Index for August 2023}. diff --git a/memoria/memoria.blg b/memoria/memoria.blg index 2e50024..5e1ca0b 100644 --- a/memoria/memoria.blg +++ b/memoria/memoria.blg @@ -28,118 +28,118 @@ Warning--entry type for "gcs-definicion" isn't style-file defined Warning--entry type for "drone-regulation" isn't style-file defined --line 126 of file bibliografia.bib Warning--entry type for "history-ai" isn't style-file defined ---line 158 of file bibliografia.bib +--line 237 of file bibliografia.bib Warning--entry type for "reg-class" isn't style-file defined ---line 165 of file bibliografia.bib +--line 244 of file bibliografia.bib Warning--entry type for "chess" isn't style-file defined ---line 172 of file bibliografia.bib +--line 251 of file bibliografia.bib Warning--entry type for "learn" isn't style-file defined ---line 179 of file bibliografia.bib +--line 258 of file bibliografia.bib Warning--entry type for "props-learn" isn't style-file defined ---line 186 of file bibliografia.bib +--line 265 of file bibliografia.bib Warning--entry type for "psicologia-aprendizaje" isn't style-file defined ---line 193 of file bibliografia.bib +--line 272 of file bibliografia.bib Warning--entry type for "skinner" isn't style-file defined ---line 200 of file bibliografia.bib +--line 279 of file bibliografia.bib Warning--entry type for "q-learning" isn't style-file defined ---line 207 of file bibliografia.bib +--line 286 of file bibliografia.bib Warning--entry type for "bandw" isn't style-file defined ---line 225 of file bibliografia.bib +--line 304 of file bibliografia.bib Warning--entry type for "friis-1" isn't style-file defined ---line 232 of file bibliografia.bib +--line 311 of file bibliografia.bib Warning--entry type for "friis-2" isn't style-file defined ---line 239 of file bibliografia.bib +--line 318 of file bibliografia.bib Warning--entry type for "friis-3" isn't style-file defined ---line 246 of file bibliografia.bib +--line 325 of file bibliografia.bib Warning--entry type for "tfm-pedro" isn't style-file defined ---line 253 of file bibliografia.bib +--line 332 of file bibliografia.bib Warning--entry type for "tiobe" isn't style-file defined ---line 269 of file bibliografia.bib +--line 348 of file bibliografia.bib Warning--entry type for "python-history" isn't style-file defined ---line 276 of file bibliografia.bib +--line 355 of file bibliografia.bib Warning--entry type for "python-def" isn't style-file defined ---line 283 of file bibliografia.bib +--line 362 of file bibliografia.bib Warning--entry type for "compiled-vs-interpreted" isn't style-file defined ---line 290 of file bibliografia.bib +--line 369 of file bibliografia.bib Warning--entry type for "c-history" isn't style-file defined ---line 297 of file bibliografia.bib +--line 376 of file bibliografia.bib Warning--entry type for "middleware-def" isn't style-file defined ---line 304 of file bibliografia.bib +--line 383 of file bibliografia.bib Warning--entry type for "ros-def" isn't style-file defined ---line 311 of file bibliografia.bib -Repeated entry---line 318 of file bibliografia.bib +--line 390 of file bibliografia.bib +Repeated entry---line 397 of file bibliografia.bib : @electronic{ros-def : , I'm skipping whatever remains of this entry Warning--entry type for "gazebo-def" isn't style-file defined ---line 325 of file bibliografia.bib +--line 404 of file bibliografia.bib Warning--entry type for "rviz-def" isn't style-file defined ---line 332 of file bibliografia.bib +--line 411 of file bibliografia.bib Warning--entry type for "vscode-def" isn't style-file defined ---line 339 of file bibliografia.bib +--line 418 of file bibliografia.bib Warning--entry type for "github-def" isn't style-file defined ---line 346 of file bibliografia.bib +--line 425 of file bibliografia.bib Warning--entry type for "opencv-def" isn't style-file defined ---line 353 of file bibliografia.bib +--line 432 of file bibliografia.bib Warning--entry type for "matplotlib-def" isn't style-file defined ---line 360 of file bibliografia.bib +--line 439 of file bibliografia.bib Warning--entry type for "flight-controller" isn't style-file defined ---line 367 of file bibliografia.bib +--line 446 of file bibliografia.bib Warning--entry type for "px4-def" isn't style-file defined ---line 374 of file bibliografia.bib +--line 453 of file bibliografia.bib Warning--entry type for "px4-mavlink" isn't style-file defined ---line 381 of file bibliografia.bib +--line 460 of file bibliografia.bib Warning--entry type for "px4-mavros" isn't style-file defined ---line 388 of file bibliografia.bib +--line 467 of file bibliografia.bib Warning--entry type for "jderobot-ref" isn't style-file defined ---line 395 of file bibliografia.bib +--line 474 of file bibliografia.bib Warning--entry type for "flight-modes" isn't style-file defined ---line 402 of file bibliografia.bib +--line 481 of file bibliografia.bib Warning--entry type for "basics-signals" isn't style-file defined ---line 409 of file bibliografia.bib +--line 488 of file bibliografia.bib Warning--entry type for "poly-info" isn't style-file defined ---line 416 of file bibliografia.bib +--line 495 of file bibliografia.bib Warning--can't use both author and editor fields in Wang2022 Warning--empty chapter and pages in data-link-definicion -You've used 54 entries, +You've used 60 entries, 1791 wiz_defined-function locations, - 681 strings with 10928 characters, -and the built_in function-call counts, 7685 in all, are: -= -- 659 -> -- 253 -< -- 1 -+ -- 118 -- -- 64 -* -- 151 -:= -- 1191 -add.period$ -- 160 -call.type$ -- 54 -change.case$ -- 52 + 712 strings with 12211 characters, +and the built_in function-call counts, 9154 in all, are: += -- 770 +> -- 348 +< -- 2 ++ -- 152 +- -- 92 +* -- 259 +:= -- 1429 +add.period$ -- 177 +call.type$ -- 60 +change.case$ -- 58 chr.to.int$ -- 0 -cite$ -- 56 -duplicate$ -- 306 -empty$ -- 1012 -format.name$ -- 64 -if$ -- 1824 +cite$ -- 62 +duplicate$ -- 368 +empty$ -- 1146 +format.name$ -- 92 +if$ -- 2152 int.to.chr$ -- 0 -int.to.str$ -- 54 -missing$ -- 8 -newline$ -- 271 -num.names$ -- 54 -pop$ -- 307 +int.to.str$ -- 60 +missing$ -- 13 +newline$ -- 300 +num.names$ -- 60 +pop$ -- 324 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 180 +skip$ -- 217 stack$ -- 0 -substring$ -- 117 -swap$ -- 64 -text.length$ -- 1 +substring$ -- 186 +swap$ -- 82 +text.length$ -- 2 text.prefix$ -- 0 top$ -- 0 type$ -- 0 warning$ -- 2 -while$ -- 61 -width$ -- 56 -write$ -- 544 +while$ -- 71 +width$ -- 62 +write$ -- 607 (There was 1 error message) diff --git a/memoria/memoria.locode b/memoria/memoria.locode index 525e8fe..3faf9b3 100644 --- a/memoria/memoria.locode +++ b/memoria/memoria.locode @@ -1,7 +1,7 @@ \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {code}{\numberline {3.1}{\ignorespaces Hello world en Python}}{14}{code.caption.27}% +\contentsline {code}{\numberline {3.1}{\ignorespaces Obtención del parámetro lambda en función de una frecuencia (en este caso 5G)}}{14}{code.caption.27}% \contentsline {code}{\numberline {3.2}{\ignorespaces Hello world en C++}}{14}{code.caption.28}% \addvspace {10\p@ } \contentsline {code}{\numberline {4.1}{\ignorespaces Main de center to center app}}{25}{code.caption.40}% diff --git a/memoria/memoria.lof b/memoria/memoria.lof index 7c30727..8f26f91 100644 --- a/memoria/memoria.lof +++ b/memoria/memoria.lof @@ -10,18 +10,18 @@ \contentsline {subfigure}{\numberline {(b)}{\ignorespaces {Queen Bee}}}{4}{figure.caption.20}% \contentsline {subfigure}{\numberline {(c)}{\ignorespaces {Aphrodite Operation}}}{4}{figure.caption.20}% \contentsline {figure}{\numberline {1.4}{\ignorespaces Descripción gráfica de \ac {UAS} (GCS + Data Links + UAV)}}{5}{figure.caption.22}% -\contentsline {figure}{\numberline {1.5}{\ignorespaces Clasificación de aprendizaje máquina}}{6}{figure.caption.24}% +\contentsline {figure}{\numberline {1.5}{\ignorespaces Clasificación de aprendizaje máquina}}{7}{figure.caption.24}% \contentsline {figure}{\numberline {1.6}{\ignorespaces Aprendizaje por refuerzo}}{7}{figure.caption.25}% \addvspace {10\p@ } \contentsline {figure}{\numberline {2.1}{\ignorespaces Insights Github por meses \ac {TFG}}}{11}{figure.caption.26}% \addvspace {10\p@ } \contentsline {figure}{\numberline {3.1}{\ignorespaces Esquema de comunicaciones en ROS}}{15}{figure.caption.29}% -\contentsline {figure}{\numberline {3.2}{\ignorespaces Ejemplo de uso de Rviz}}{15}{figure.caption.30}% +\contentsline {figure}{\numberline {3.2}{\ignorespaces Ejemplo de uso de Rviz}}{16}{figure.caption.30}% \contentsline {figure}{\numberline {3.3}{\ignorespaces Simulación dron en Gazebo}}{16}{figure.caption.31}% \contentsline {figure}{\numberline {3.4}{\ignorespaces VS Code logo}}{17}{figure.caption.32}% \contentsline {figure}{\numberline {3.5}{\ignorespaces Interfaz gráfica usando OpenCV}}{18}{figure.caption.33}% -\contentsline {figure}{\numberline {3.6}{\ignorespaces Representación de un mapa de calor usando matplotlib}}{18}{figure.caption.34}% -\contentsline {figure}{\numberline {3.7}{\ignorespaces Controlador PX4}}{19}{figure.caption.35}% +\contentsline {figure}{\numberline {3.6}{\ignorespaces Representación de un mapa de calor usando matplotlib}}{19}{figure.caption.34}% +\contentsline {figure}{\numberline {3.7}{\ignorespaces Controlador PX4}}{20}{figure.caption.35}% \contentsline {figure}{\numberline {3.8}{\ignorespaces Iris drone en Gazebo 11}}{20}{figure.caption.36}% \addvspace {10\p@ } \contentsline {figure}{\numberline {4.1}{\ignorespaces 3DR Iris simulado}}{22}{figure.caption.37}% diff --git a/memoria/memoria.log b/memoria/memoria.log index 0adb89d..b2ddcdf 100644 --- a/memoria/memoria.log +++ b/memoria/memoria.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2023.7.19) 27 SEP 2023 14:35 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2023.7.19) 2 OCT 2023 13:54 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -754,7 +754,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 7--8 [] - + File: imagenes/cap1/1_industrial_robot.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/1_industrial_robot.jpeg used on input l @@ -765,13 +765,13 @@ Underfull \hbox (badness 10000) in paragraph at lines 19--19 []\T1/cmr/m/n/12 (a) Robot industrial [] - + File: imagenes/cap1/2_mobile_robot.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/2_mobile_robot.jpeg used on input line 21. (pdftex.def) Requested size: 151.72002pt x 85.35826pt. - + File: imagenes/cap1/1-5_real_drone.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/1-5_real_drone.jpeg used on input line @@ -796,7 +796,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 33--34 [] - + File: imagenes/cap1/3_robot.png Graphic file (type png) Package pdftex.def Info: imagenes/cap1/3_robot.png used on input line 37. @@ -890,6 +890,11 @@ s-be-the-solution-to-europes- [] +Underfull \hbox (badness 10000) in paragraph at lines 85--86 + + [] + + Underfull \hbox (badness 10000) in paragraph at lines 92--93 [] @@ -897,19 +902,19 @@ Underfull \hbox (badness 10000) in paragraph at lines 92--93 LaTeX Info: Redefining \. on input line 93. LaTeX Info: Redefining \% on input line 93. [5 <./imagenes/cap1/7_drone_components.jpeg>] - + File: imagenes/cap1/8_AI_types.png Graphic file (type png) Package pdftex.def Info: imagenes/cap1/8_AI_types.png used on input line 106. (pdftex.def) Requested size: 216.20804pt x 156.49014pt. - +LaTeX Info: Redefining \. on input line 111. +LaTeX Info: Redefining \% on input line 111. + [6] Underfull \hbox (badness 10000) in paragraph at lines 115--116 [] -LaTeX Info: Redefining \. on input line 116. -LaTeX Info: Redefining \% on input line 116. -[6 <./imagenes/cap1/8_AI_types.png>] + Underfull \hbox (badness 10000) in paragraph at lines 117--117 [][][][][]$\T1/cmtt/m/n/10 https : / / www . alexanderthamm . com / es / blog / @@ -920,7 +925,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 117--118 [] - + File: imagenes/cap1/9_reinforcement.png Graphic file (type png) Package pdftex.def Info: imagenes/cap1/9_reinforcement.png used on input line @@ -937,7 +942,10 @@ Underfull \hbox (badness 10000) in paragraph at lines 127--128 [] - +LaTeX Info: Redefining \. on input line 128. +LaTeX Info: Redefining \% on input line 128. +[7 <./imagenes/cap1/8_AI_types.png> <./imagenes/cap1/9_reinforcement.png (PNG c +opy)>] Overfull \hbox (191.32921pt too wide) in paragraph at lines 129--129 [][][][][]$\T1/cmtt/m/n/10 https : / / towardsdatascience . com / reinforcement -[]learning-[]explained-[]visually-[]part-[]4-[]q-[]learning-[]step-[]by-[]step @@ -949,13 +957,6 @@ Underfull \hbox (badness 10000) in paragraph at lines 129--130 [] -LaTeX Info: Redefining \. on input line 130. -LaTeX Info: Redefining \% on input line 130. -[7 <./imagenes/cap1/9_reinforcement.png (PNG copy)>] -Underfull \hbox (badness 10000) in paragraph at lines 131--132 - - [] - Underfull \hbox (badness 10000) in paragraph at lines 136--137 @@ -966,13 +967,8 @@ Underfull \hbox (badness 10000) in paragraph at lines 138--139 [] - -Underfull \hbox (badness 10000) in paragraph at lines 140--141 - - [] - -LaTeX Info: Redefining \. on input line 146. -LaTeX Info: Redefining \% on input line 146. +LaTeX Info: Redefining \. on input line 139. +LaTeX Info: Redefining \% on input line 139. [8]) (./capitulos/capitulo2.tex LaTeX Info: Redefining \. on input line 1. LaTeX Info: Redefining \% on input line 1. @@ -993,6 +989,12 @@ Underfull \hbox (badness 10000) in paragraph at lines 11--12 [] + +Underfull \hbox (badness 1264) in paragraph at lines 16--17 +[]\T1/cmr/m/n/12 Desarrollo de una aplicación, enfocada a teleoperar un [][], e +mpleando + [] + [10 ] @@ -1000,7 +1002,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 38--39 [] - + File: imagenes/cap2/1_insights.png Graphic file (type png) Package pdftex.def Info: imagenes/cap2/1_insights.png used on input line 51. @@ -1028,30 +1030,30 @@ Underfull \hbox (badness 10000) in paragraph at lines 16--17 [] Package hyperref Info: bookmark level for unknown code defaults to 0 on input l -ine 25. +ine 27. [13 ] -Underfull \hbox (badness 10000) in paragraph at lines 32--33 +Underfull \hbox (badness 10000) in paragraph at lines 34--35 [] Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): -(hyperref) removing `\@ac' on input line 49. +(hyperref) removing `\@ac' on input line 51. -Underfull \hbox (badness 10000) in paragraph at lines 52--53 +Underfull \hbox (badness 10000) in paragraph at lines 54--55 [] -Underfull \hbox (badness 10000) in paragraph at lines 54--55 +Underfull \hbox (badness 10000) in paragraph at lines 56--57 [] -LaTeX Info: Redefining \. on input line 55. -LaTeX Info: Redefining \% on input line 55. +LaTeX Info: Redefining \. on input line 57. +LaTeX Info: Redefining \% on input line 57. Overfull \hbox (33.31207pt too wide) has occurred while \output is active \T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA @@ -1059,81 +1061,75 @@ S \T1/cmr/m/n/12 14 [] [14] -Underfull \hbox (badness 10000) in paragraph at lines 56--57 +Underfull \hbox (badness 10000) in paragraph at lines 58--59 [] - + File: imagenes/cap3/1_ros_esquema.png Graphic file (type png) -Package pdftex.def Info: imagenes/cap3/1_ros_esquema.png used on input line 62 +Package pdftex.def Info: imagenes/cap3/1_ros_esquema.png used on input line 64 . (pdftex.def) Requested size: 238.23534pt x 92.47145pt. -Underfull \hbox (badness 10000) in paragraph at lines 71--72 +Underfull \hbox (badness 10000) in paragraph at lines 73--74 [] -Underfull \hbox (badness 10000) in paragraph at lines 73--74 +Underfull \hbox (badness 10000) in paragraph at lines 75--76 [] - + File: imagenes/cap3/3_rviz_example.png Graphic file (type png) Package pdftex.def Info: imagenes/cap3/3_rviz_example.png used on input line 7 -7. +9. (pdftex.def) Requested size: 179.06207pt x 142.26378pt. - -Underfull \hbox (badness 10000) in paragraph at lines 86--87 - - [] - -LaTeX Info: Redefining \. on input line 87. -LaTeX Info: Redefining \% on input line 87. +LaTeX Info: Redefining \. on input line 84. +LaTeX Info: Redefining \% on input line 84. Overfull \hbox (33.31207pt too wide) has occurred while \output is active \T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA S \T1/cmr/m/n/12 15 [] -[15 <./imagenes/cap3/1_ros_esquema.png> <./imagenes/cap3/3_rviz_example.png>] - +[15 <./imagenes/cap3/1_ros_esquema.png>] +Underfull \hbox (badness 10000) in paragraph at lines 88--89 + + [] + + File: imagenes/cap3/2_gazebo_drone.png Graphic file (type png) Package pdftex.def Info: imagenes/cap3/2_gazebo_drone.png used on input line 9 -2. +4. (pdftex.def) Requested size: 206.68083pt x 142.26378pt. -Underfull \hbox (badness 10000) in paragraph at lines 104--105 - - [] - - Underfull \hbox (badness 10000) in paragraph at lines 106--107 [] - -File: imagenes/cap3/4_vscode_logo.png Graphic file (type png) - -Package pdftex.def Info: imagenes/cap3/4_vscode_logo.png used on input line 11 -0. -(pdftex.def) Requested size: 85.35284pt x 85.35826pt. -LaTeX Info: Redefining \. on input line 115. -LaTeX Info: Redefining \% on input line 115. +LaTeX Info: Redefining \. on input line 108. +LaTeX Info: Redefining \% on input line 108. Overfull \hbox (33.31207pt too wide) has occurred while \output is active \T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA S \T1/cmr/m/n/12 16 [] -[16 <./imagenes/cap3/2_gazebo_drone.png>] -Underfull \hbox (badness 10000) in paragraph at lines 119--120 +[16 <./imagenes/cap3/3_rviz_example.png> <./imagenes/cap3/2_gazebo_drone.png>] +Underfull \hbox (badness 10000) in paragraph at lines 108--109 [] + +File: imagenes/cap3/4_vscode_logo.png Graphic file (type png) + +Package pdftex.def Info: imagenes/cap3/4_vscode_logo.png used on input line 11 +2. +(pdftex.def) Requested size: 85.35284pt x 85.35826pt. Underfull \hbox (badness 10000) in paragraph at lines 121--122 @@ -1145,18 +1141,17 @@ Underfull \hbox (badness 10000) in paragraph at lines 123--124 [] -Underfull \hbox (badness 10000) in paragraph at lines 131--132 +Underfull \hbox (badness 10000) in paragraph at lines 125--126 [] - -File: imagenes/cap3/5_opencv_example.png Graphic file (type png) - -Package pdftex.def Info: imagenes/cap3/5_opencv_example.png used on input line - 137. -(pdftex.def) Requested size: 250.66954pt x 142.26378pt. -LaTeX Info: Redefining \. on input line 142. -LaTeX Info: Redefining \% on input line 142. + +Underfull \hbox (badness 10000) in paragraph at lines 133--134 + + [] + +LaTeX Info: Redefining \. on input line 135. +LaTeX Info: Redefining \% on input line 135. Overfull \hbox (33.31207pt too wide) has occurred while \output is active \T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA @@ -1164,61 +1159,66 @@ S \T1/cmr/m/n/12 17 [] [17 <./imagenes/cap3/4_vscode_logo.png>] -Underfull \hbox (badness 10000) in paragraph at lines 146--147 + +File: imagenes/cap3/5_opencv_example.png Graphic file (type png) + +Package pdftex.def Info: imagenes/cap3/5_opencv_example.png used on input line + 139. +(pdftex.def) Requested size: 250.66954pt x 142.26378pt. + +Underfull \hbox (badness 10000) in paragraph at lines 148--149 [] - + File: imagenes/cap3/6_matplotlib_app.png Graphic file (type png) Package pdftex.def Info: imagenes/cap3/6_matplotlib_app.png used on input line - 152. + 154. (pdftex.def) Requested size: 265.59288pt x 199.16928pt. - -Underfull \hbox (badness 10000) in paragraph at lines 161--162 - - [] - -LaTeX Info: Redefining \. on input line 162. -LaTeX Info: Redefining \% on input line 162. +LaTeX Info: Redefining \. on input line 159. +LaTeX Info: Redefining \% on input line 159. Overfull \hbox (33.31207pt too wide) has occurred while \output is active \T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA S \T1/cmr/m/n/12 18 [] -[18 <./imagenes/cap3/5_opencv_example.png> <./imagenes/cap3/6_matplotlib_app.pn -g>] +[18 <./imagenes/cap3/5_opencv_example.png>] Underfull \hbox (badness 10000) in paragraph at lines 163--164 [] - + +Underfull \hbox (badness 10000) in paragraph at lines 165--166 + + [] + + File: imagenes/cap3/7_px4_logo.png Graphic file (type png) -Package pdftex.def Info: imagenes/cap3/7_px4_logo.png used on input line 167. +Package pdftex.def Info: imagenes/cap3/7_px4_logo.png used on input line 169. (pdftex.def) Requested size: 184.59427pt x 199.16928pt. +LaTeX Info: Redefining \. on input line 174. +LaTeX Info: Redefining \% on input line 174. -Underfull \hbox (badness 10000) in paragraph at lines 176--177 +Overfull \hbox (33.31207pt too wide) has occurred while \output is active +\T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA +S \T1/cmr/m/n/12 19 + [] + +[19 <./imagenes/cap3/6_matplotlib_app.png>] +Underfull \hbox (badness 10000) in paragraph at lines 178--179 [] - + File: imagenes/cap3/8_iris_drone.png Graphic file (type png) -Package pdftex.def Info: imagenes/cap3/8_iris_drone.png used on input line 180 +Package pdftex.def Info: imagenes/cap3/8_iris_drone.png used on input line 182 . (pdftex.def) Requested size: 247.14952pt x 142.26378pt. -) -LaTeX Info: Redefining \. on input line 46. -LaTeX Info: Redefining \% on input line 46. - -Overfull \hbox (33.31207pt too wide) has occurred while \output is active -\T1/cmr/m/sl/12 CAPÍTULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZADA -S \T1/cmr/m/n/12 19 - [] - -[19 <./imagenes/cap3/7_px4_logo.png>] (./capitulos/capitulo4.tex +) (./capitulos/capitulo4.tex LaTeX Info: Redefining \. on input line 1. LaTeX Info: Redefining \% on input line 1. @@ -1227,7 +1227,7 @@ Overfull \hbox (33.31207pt too wide) has occurred while \output is active S \T1/cmr/m/n/12 20 [] -[20 <./imagenes/cap3/8_iris_drone.png>] +[20 <./imagenes/cap3/7_px4_logo.png> <./imagenes/cap3/8_iris_drone.png>] Cap\'{\i }tulo 4. Underfull \hbox (badness 10000) in paragraph at lines 4--5 @@ -1267,7 +1267,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 24--25 [21 ] - + File: imagenes/cap4/1_px4_drone_gz.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/1_px4_drone_gz.png used on input line 2 @@ -1295,7 +1295,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 55--56 [] - + File: imagenes/cap4/2_axes_rc.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/2_axes_rc.png used on input line 59. @@ -1312,7 +1312,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 67--68 [] - + File: imagenes/cap4/3_c2c_gui.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/3_c2c_gui.png used on input line 71. @@ -1376,7 +1376,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 169--170 [] - + File: imagenes/cap4/4_PLE_table.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/4_PLE_table.png used on input line 173. @@ -1443,7 +1443,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 258--259 [] - + File: imagenes/cap4/6_Friss_firstGUI.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/6_Friss_firstGUI.png used on input line @@ -1462,7 +1462,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 270--271 LaTeX Info: Redefining \. on input line 271. LaTeX Info: Redefining \% on input line 271. [30 <./imagenes/cap4/6_Friss_firstGUI.png>] - + File: imagenes/cap4/7_Friss_endGUI.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/7_Friss_endGUI.png used on input line 2 @@ -1497,7 +1497,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 622--623 LaTeX Info: Redefining \. on input line 630. LaTeX Info: Redefining \% on input line 630. [32] - + File: imagenes/cap4/8_reference_system.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/8_reference_system.png used on input li @@ -1525,7 +1525,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 655--656 [] - + File: imagenes/cap4/9_algoritmo_manual.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/9_algoritmo_manual.png used on input li @@ -1548,7 +1548,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 672--673 [] - + File: imagenes/cap4/10_algoritmo_optimizado.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/10_algoritmo_optimizado.png used on inp @@ -1598,7 +1598,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 703--704 [] - + File: imagenes/cap4/11_diagrama_training.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/11_diagrama_training.png used on input @@ -1621,7 +1621,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 725--726 [] - + File: imagenes/cap4/12_puntos_30_esquina.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/12_puntos_30_esquina.png used on input @@ -1635,7 +1635,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 735--736 LaTeX Info: Redefining \. on input line 736. LaTeX Info: Redefining \% on input line 736. [38 <./imagenes/cap4/12_puntos_30_esquina.png>] - + File: imagenes/cap4/13_trayectorias_12.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/13_trayectorias_12.png used on input li @@ -1646,7 +1646,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 745--746 [] - + File: imagenes/cap4/14_training_graph.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/14_training_graph.png used on input lin @@ -1661,7 +1661,7 @@ LaTeX Info: Redefining \. on input line 756. LaTeX Info: Redefining \% on input line 756. [39 <./imagenes/cap4/13_trayectorias_12.png> <./imagenes/cap4/14_training_graph .png>] - + File: imagenes/cap4/15_avg_graphs.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/15_avg_graphs.png used on input line 75 @@ -1672,7 +1672,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 768--769 [] - + File: imagenes/cap4/16_default_values.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/16_default_values.png used on input lin @@ -1691,7 +1691,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 780--781 [] - + File: imagenes/cap4/17_mapa_p_centro_12.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/17_mapa_p_centro_12.png used on input l @@ -1702,7 +1702,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 790--791 [] - + File: imagenes/cap4/18_comp_centro_12.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/18_comp_centro_12.png used on input lin @@ -1711,7 +1711,7 @@ e 794. LaTeX Info: Redefining \. on input line 799. LaTeX Info: Redefining \% on input line 799. [41 <./imagenes/cap4/17_mapa_p_centro_12.png>] - + File: imagenes/cap4/19_mapa_p_esq_12.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/19_mapa_p_esq_12.png used on input line @@ -1722,7 +1722,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 810--811 [] - + File: imagenes/cap4/20_comp_esq_12.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/20_comp_esq_12.png used on input line 8 @@ -1736,7 +1736,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 820--821 [] - + File: imagenes/cap4/21_mapa_p_centro_30.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/21_mapa_p_centro_30.png used on input l @@ -1747,7 +1747,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 832--833 [] - + File: imagenes/cap4/22_comp_centro_30.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/22_comp_centro_30.png used on input lin @@ -1761,7 +1761,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 842--843 [] - + File: imagenes/cap4/23_mapa_p_esq_30.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/23_mapa_p_esq_30.png used on input line @@ -1772,7 +1772,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 852--853 [] - + File: imagenes/cap4/24_comp_esq_30.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/24_comp_esq_30.png used on input line 8 @@ -1786,7 +1786,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 862--863 [] - + File: imagenes/cap4/25_mapa_p_diff.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/25_mapa_p_diff.png used on input line 8 @@ -1799,7 +1799,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 872--873 [] - + File: imagenes/cap4/26_comp_diff.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/26_comp_diff.png used on input line 876 @@ -1839,7 +1839,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 920--921 LaTeX Info: Redefining \. on input line 922. LaTeX Info: Redefining \% on input line 922. [47] - + File: imagenes/cap4/28_pseudosensor.png Graphic file (type png) Package pdftex.def Info: imagenes/cap4/28_pseudosensor.png used on input line @@ -2100,127 +2100,133 @@ textual [] -Underfull \hbox (badness 1038) in paragraph at lines 44--47 +Underfull \hbox (badness 2384) in paragraph at lines 52--56 +[]\T1/cmr/m/n/12 Yunlong Song, Mats Steinweg, Elia Kaufmann, and Davide Scaramu +zza. + [] + +[53 + +] +Underfull \hbox (badness 1038) in paragraph at lines 82--85 []\T1/cmr/m/n/12 SohomPramanick. \T1/cmr/m/it/12 History of Python\T1/cmr/m/n/ 12 . [][]$\T1/cmtt/m/n/12 https : / / www . geeksforgeeks . org / [] -Underfull \hbox (badness 2245) in paragraph at lines 60--63 +Underfull \hbox (badness 2245) in paragraph at lines 98--101 []\T1/cmr/m/n/12 SohomPramanick. \T1/cmr/m/it/12 History of C++\T1/cmr/m/n/12 . [][]$\T1/cmtt/m/n/12 https : / / www . geeksforgeeks . org / [] -[53 -] -Underfull \hbox (badness 10000) in paragraph at lines 90--95 +Underfull \hbox (badness 10000) in paragraph at lines 128--133 []\T1/cmr/m/n/12 HTG Stuff. \T1/cmr/m/it/12 What [] - -Underfull \hbox (badness 1960) in paragraph at lines 102--106 +LaTeX Info: Redefining \. on input line 134. +LaTeX Info: Redefining \% on input line 134. +[54] +Underfull \hbox (badness 1960) in paragraph at lines 140--144 []\T1/cmr/m/n/12 KattamuriMeghna. \T1/cmr/m/it/12 Python | Introduction to Mat plotlib\T1/cmr/m/n/12 . [][]$\T1/cmtt/m/n/12 https : / / www . [] -Underfull \hbox (badness 3907) in paragraph at lines 146--151 +Underfull \hbox (badness 3907) in paragraph at lines 184--189 []\T1/cmr/m/n/12 Mathuranathan. \T1/cmr/m/it/12 Friis Free Space Propagation M odel\T1/cmr/m/n/12 . [][]$\T1/cmtt/m/n/12 https : / / www . [] -LaTeX Info: Redefining \. on input line 152. -LaTeX Info: Redefining \% on input line 152. -[54] -Underfull \hbox (badness 10000) in paragraph at lines 153--159 -[]\T1/cmr/m/n/12 geeksforgeeks. \T1/cmr/m/it/12 How to check if - [] - -Underfull \hbox (badness 10000) in paragraph at lines 166--171 +Underfull \hbox (badness 10000) in paragraph at lines 196--201 []\T1/cmr/m/n/12 Revista de Robots. \T1/cmr/m/it/12 Robótica. Qué es la [] -Underfull \hbox (badness 10000) in paragraph at lines 173--176 +Underfull \hbox (badness 10000) in paragraph at lines 203--206 []\T1/cmr/m/n/12 geeksforgeeks. \T1/cmr/m/it/12 Industrial Robots\T1/cmr/m/n/1 2 . [] -Underfull \hbox (badness 10000) in paragraph at lines 178--181 +Underfull \hbox (badness 10000) in paragraph at lines 208--211 []\T1/cmr/m/n/12 geeksforgeeks. \T1/cmr/m/it/12 Mobile Robots\T1/cmr/m/n/12 . [] -Underfull \hbox (badness 10000) in paragraph at lines 183--188 +Underfull \hbox (badness 10000) in paragraph at lines 213--218 [][]$\T1/cmtt/m/n/12 https : / / bernardmarr . com / [] - -Underfull \hbox (badness 10000) in paragraph at lines 190--195 +LaTeX Info: Redefining \. on input line 218. +LaTeX Info: Redefining \% on input line 218. +[55] +Underfull \hbox (badness 10000) in paragraph at lines 220--225 []\T1/cmr/m/n/12 MiR. \T1/cmr/m/it/12 AMR vs AGV - What's [] -Underfull \hbox (badness 4048) in paragraph at lines 190--195 +Underfull \hbox (badness 4048) in paragraph at lines 220--225 \T1/cmr/m/it/12 the difference? [][]$\T1/cmtt/m/n/12 https : / / www . mobile- []industrial-[]robots . com / insights / [] -Underfull \hbox (badness 10000) in paragraph at lines 197--202 +Underfull \hbox (badness 10000) in paragraph at lines 227--232 [][]$\T1/cmtt/m/n/12 https : / / www . nationalmuseum . af . mil / Visit / Muse um-[]Exhibits / [] -Underfull \hbox (badness 10000) in paragraph at lines 197--202 +Underfull \hbox (badness 10000) in paragraph at lines 227--232 \T1/cmtt/m/n/12 Fact-[]Sheets / Display / Article / 198095 / kettering-[]aerial -[]torpedo-[]bug/$[][]\T1/cmr/m/n/12 , [] -Underfull \hbox (badness 10000) in paragraph at lines 204--209 +Underfull \hbox (badness 10000) in paragraph at lines 234--239 \T1/cmtt/m/n/12 dehavillandmuseum . co . uk / aircraft / de-[]havilland-[]dh82b -[]queen-[]bee/$[][]\T1/cmr/m/n/12 , [] -Underfull \hbox (badness 1540) in paragraph at lines 217--222 +Underfull \hbox (badness 1540) in paragraph at lines 247--252 []\T1/cmr/m/n/12 srmconsulting. \T1/cmr/m/it/12 ¾UAV, UAS, RPA, dron... como l lamarlos? [][]$\T1/cmtt/m/n/12 https : / / [] -LaTeX Info: Redefining \. on input line 229. -LaTeX Info: Redefining \% on input line 229. -[55] -Underfull \hbox (badness 10000) in paragraph at lines 250--256 + +Underfull \hbox (badness 10000) in paragraph at lines 280--286 []\T1/cmr/m/n/12 Sakshi Gupta. \T1/cmr/m/it/12 Regression vs. Classification i n Machine Learning: [] - -Underfull \hbox (badness 10000) in paragraph at lines 269--274 +LaTeX Info: Redefining \. on input line 297. +LaTeX Info: Redefining \% on input line 297. +[56] +Underfull \hbox (badness 10000) in paragraph at lines 299--304 []\T1/cmr/m/n/12 Brijesh Modasara. \T1/cmr/m/it/12 Aprendizaje [] -Underfull \hbox (badness 2469) in paragraph at lines 290--296 +Underfull \hbox (badness 2469) in paragraph at lines 320--326 []\T1/cmr/m/n/12 OpenStax and Lu-men Lear-ning. \T1/cmr/m/it/12 Rein-for-ce-me nt Lear-ning Ex-plai-ned Vi- [] -Overfull \hbox (116.64043pt too wide) in paragraph at lines 290--296 +Overfull \hbox (116.64043pt too wide) in paragraph at lines 320--326 \T1/cmtt/m/n/12 reinforcement-[]learning-[]explained-[]visually-[]part-[]4-[]q- []learning-[]step-[]by-[]step-[]b65efb731d3e$[][]\T1/cmr/m/n/12 , [] -LaTeX Info: Redefining \. on input line 312. -LaTeX Info: Redefining \% on input line 312. -[56]) + +Underfull \hbox (badness 10000) in paragraph at lines 355--361 +[]\T1/cmr/m/n/12 geeksforgeeks. \T1/cmr/m/it/12 How to check if + [] + +) Package atveryend Info: Empty hook `BeforeClearDocument' on input line 60. LaTeX Info: Redefining \. on input line 60. LaTeX Info: Redefining \% on input line 60. @@ -2248,13 +2254,13 @@ LaTeX Warning: There were multiply-defined labels. Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 60. ) Here is how much of TeX's memory you used: - 14285 strings out of 483048 - 210858 string characters out of 5962772 + 14318 strings out of 483048 + 211494 string characters out of 5962772 664405 words of memory out of 5000000 - 28505 multiletter control sequences out of 15000+600000 + 28530 multiletter control sequences out of 15000+600000 567891 words of font info for 81 fonts, out of 8000000 for 9000 91 hyphenation exceptions out of 8191 - 44i,12n,53p,1210b,1467s stack positions out of 5000i,500n,10000p,200000b,80000s + 44i,12n,53p,1193b,1467s stack positions out of 5000i,500n,10000p,200000b,80000s -Output written on memoria.pdf (67 pages, 6626890 bytes). +Output written on memoria.pdf (67 pages, 6631864 bytes). PDF statistics: - 2197 PDF objects out of 2487 (max. 8388607) - 1305 compressed objects within 14 object streams - 428 named destinations out of 1000 (max. 500000) + 2218 PDF objects out of 2487 (max. 8388607) + 1321 compressed objects within 14 object streams + 436 named destinations out of 1000 (max. 500000) 623 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/memoria/memoria.pdf b/memoria/memoria.pdf index f0592a5..608ae71 100644 Binary files a/memoria/memoria.pdf and b/memoria/memoria.pdf differ diff --git a/memoria/memoria.toc b/memoria/memoria.toc index aef2b89..9c90bd6 100644 --- a/memoria/memoria.toc +++ b/memoria/memoria.toc @@ -2,10 +2,10 @@ \contentsline {chapter}{\numberline {1}Introducción}{1}{chapter.1}% \contentsline {section}{\numberline {1.1}Robots}{2}{section.1.1}% \contentsline {subsection}{\numberline {1.1.1}Drones}{3}{subsection.1.1.1}% -\contentsline {section}{\numberline {1.2}Inteligencia artificial}{5}{section.1.2}% +\contentsline {section}{\numberline {1.2}Inteligencia artificial}{6}{section.1.2}% \contentsline {subsection}{\numberline {1.2.1}Aprendizaje por refuerzo}{7}{subsection.1.2.1}% \contentsline {section}{\numberline {1.3}Vigilancia del espectro electromagnético}{8}{section.1.3}% -\contentsline {section}{\numberline {1.4}Síntesis}{8}{section.1.4}% +\contentsline {section}{\numberline {1.4}Síntesis}{9}{section.1.4}% \contentsline {chapter}{\numberline {2}Objetivos}{10}{chapter.2}% \contentsline {section}{\numberline {2.1}Descripción del problema}{10}{section.2.1}% \contentsline {section}{\numberline {2.2}Requisitos}{11}{section.2.2}% @@ -25,7 +25,7 @@ \contentsline {subsection}{\numberline {3.5.1}OpenCV}{17}{subsection.3.5.1}% \contentsline {subsection}{\numberline {3.5.2}Matplotlib}{18}{subsection.3.5.2}% \contentsline {subsection}{\numberline {3.5.3}PX4 autopilot}{19}{subsection.3.5.3}% -\contentsline {section}{\numberline {3.6}Iris}{19}{section.3.6}% +\contentsline {section}{\numberline {3.6}Iris}{20}{section.3.6}% \contentsline {chapter}{\numberline {4}Diseño}{21}{chapter.4}% \contentsline {section}{\numberline {4.1}Preparación del entorno}{21}{section.4.1}% \contentsline {subsection}{\numberline {4.1.1}JdeRobot - drones}{21}{subsection.4.1.1}% diff --git a/memoria/portada/portada.tex b/memoria/portada/portada.tex index da8d0f4..7b6cf8c 100644 --- a/memoria/portada/portada.tex +++ b/memoria/portada/portada.tex @@ -32,7 +32,7 @@ \vspace{10mm} \end{large} \begin{normalsize} - Curso académico 2022/2023 + Curso académico 2023/2024 \end{normalsize} \vspace{10mm}