diff --git a/memoria/bibliografia.bib b/memoria/bibliografia.bib index e907d3d..51e9d3f 100644 --- a/memoria/bibliografia.bib +++ b/memoria/bibliografia.bib @@ -221,4 +221,137 @@ @misc{paper-ia-dron eprint={1905.13406}, archivePrefix={arXiv}, primaryClass={eess.SP} +} + +@Electronic{tiobe, + Title = {\textit{TIOBE Index for August 2023}}, + howpublished= {\url{https://www.tiobe.com/tiobe-index/}}, + author = {Tiobe}, + year = {2023} +} + +@Electronic{python-history, + Title = {\textit{History of Python}}, + howpublished= {\url{https://www.geeksforgeeks.org/history-of-python/}}, + author = {SohomPramanick}, + year = {2022} +} + +@Electronic{python-def, + Title = {\textit{What is Python? Executive Summary}}, + howpublished= {\url{https://www.python.org/doc/essays/blurb/}}, + author = {Python Source Fundation}, + year = {2023} +} + +@Electronic{compiled-vs-interpreted, + Title = {\textit{Compiled vs interpreted language: Basics for beginning devs}}, + howpublished= {\url{https://www.educative.io/blog/compiled-vs-interpreted-language}}, + author = {Bryce Limón}, + year = {2022} +} + +@Electronic{c-history, + Title = {\textit{History of C++}}, + howpublished= {\url{https://www.geeksforgeeks.org/history-of-c/}}, + author = {SohomPramanick}, + year = {2022} +} + +@Electronic{middleware-def, + Title = {\textit{What is middleware?}}, + howpublished= {\url{https://www.ibm.com/topics/middleware}}, + author = {IBM}, + year = {2023} +} + +@Electronic{ros-def, + Title = {\textit{ROS - Robot Operating System}}, + howpublished= {\url{https://www.ros.org/}}, + author = {ROS}, + year = {2023} +} + +@Electronic{ros-def, + Title = {\textit{ROS - Robot Operating System}}, + howpublished= {\url{https://www.ros.org/}}, + author = {ROS}, + year = {2023} +} + +@Electronic{gazebo-def, + Title = {\textit{About Gazebo}}, + howpublished= {\url{https://gazebosim.org/about}}, + author = {Gazebo}, + year = {2023} +} + +@Electronic{rviz-def, + Title = {\textit{RVIZ}}, + howpublished= {\url{https://github.com/ros-visualization/rviz#readme}}, + author = {ros-visualization}, + year = {2023} +} + +@Electronic{vscode-def, + Title = {\textit{Getting Started}}, + howpublished= {\url{https://code.visualstudio.com/docs}}, + author = {Visual Studio Code}, + year = {2023} +} + +@Electronic{github-def, + Title = {\textit{What Is GitHub, and What Is It Used For?}}, + howpublished= {\url{https://www.howtogeek.com/180167/htg-explains-what-is-github-and-what-do-geeks-use-it-for/}}, + author = {HTG Stuff}, + year = {2016} +} + +@Electronic{opencv-def, + Title = {\textit{About}}, + howpublished= {\url{https://opencv.org/about/}}, + author = {OpenCV}, + year = {2023} +} + +@Electronic{matplotlib-def, + Title = {\textit{Python | Introduction to Matplotlib}}, + howpublished= {\url{https://www.geeksforgeeks.org/python-introduction-matplotlib/}}, + author = {KattamuriMeghna}, + year = {2023} +} + +@Electronic{flight-controller, + Title = {\textit{How Drone Controllers Work (Explained for Beginners)}}, + howpublished= {\url{https://www.droneblog.com/drone-controller/}}, + author = {Peter Karanja}, + year = {2023} +} + +@Electronic{px4-def, + Title = {\textit{PX4 Autopilot User Guide (main)}}, + howpublished= {\url{https://docs.px4.io/main/en/}}, + author = {PX4 User Guide}, + year = {2023} +} + +@Electronic{px4-mavlink, + Title = {\textit{MAVLink Messaging}}, + howpublished= {\url{https://docs.px4.io/main/en/middleware/mavlink.html}}, + author = {PX4 User Guide}, + year = {2023} +} + +@Electronic{px4-mavros, + Title = {\textit{ROS 1 with MAVROS}}, + howpublished= {\url{https://docs.px4.io/main/en/ros/ros1.html}}, + author = {PX4 User Guide}, + year = {2023} +} + +@Electronic{jderobot-ref, + Title = {\textit{JdeRobot}}, + howpublished= {\url{https://jderobot.github.io/}}, + author = {JdeRobot}, + year = {2023} } \ No newline at end of file diff --git a/memoria/capitulos/capitulo3.tex b/memoria/capitulos/capitulo3.tex index 49f2ca0..a5eac87 100644 --- a/memoria/capitulos/capitulo3.tex +++ b/memoria/capitulos/capitulo3.tex @@ -9,33 +9,37 @@ \section{Lenguajes de programación} \subsection{Python} \label{subsec:python} -A día de hoy, considerado el lenguaje de programación más popular, se ideó en 1991 por Guido van Rossum y se desarrolló en la Python Software Foundation. Es interpretado, es decir, usa un programa que traduce las líneas de código para la máquina en tiempo de ejecución (lo cual lo hace más intuitivo pero menos eficiente). Además, permite la programación orientada a objetos en alto nivel, lo que ofrece gran dinamismo a la hora de usarlo.\\ +A día de hoy, considerado el lenguaje de programación más popular \cite{tiobe}, se ideó en 1991 por Guido van Rossum y se desarrolló en la Python Software Foundation \cite{python-history}. Es interpretado, es decir, usa un programa que traduce las líneas de código para la máquina en tiempo de ejecución (lo cual lo hace más intuitivo pero menos eficiente). Además, permite la programación orientada a objetos en alto nivel, lo que ofrece gran dinamismo a la hora de usarlo \cite{python-def} \cite{compiled-vs-interpreted}.\\ -Debido a su amplia popularidad, podemos acceder a una gran variedad de módulos y utilidades desarrollados por la comunidad, los cuales se integran perfectamente en la resolución de nuestro problema. Entraremos en más detalles en apartados posteriores. +Debido a su amplia popularidad, podemos acceder a una gran variedad de módulos y utilidades desarrollados por la comunidad, los cuales se integran perfectamente en la resolución de nuestro problema. Entraremos en más detalles en apartados posteriores.\\ \subsection{C++} \label{subsec:cplusplus} -Seguido muy de cerca en fama, se encuentra el lenguaje de programación creado por Bjarne Stroustrup, en los laboratorios Bell en 1971. En este caso es compilado, lo que implica la traducción y enlazado previo a la ejecución. De corte más eficiente que Python, también permite la programación orientada a objetos. Se sitúa a medio camino entre un lenguaje de alto nivel y uno de bajo nivel.\\ +Seguido muy de cerca en fama, se encuentra el lenguaje de programación creado por Bjarne Stroustrup, en los laboratorios Bell en 1971. En este caso es compilado, lo que implica la traducción y enlazado previo a la ejecución. De corte más eficiente que Python, también permite la programación orientada a objetos. Se sitúa a medio camino entre un lenguaje de alto nivel y uno de bajo nivel \cite{c-history}.\\ \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}?.\\ -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. 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 nodos que se comunican entre sí, transmitiendo una serie de mensajes propios, a través de canales compartidos llamados \emph{topics}.\\ +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 nodos que se comunican entre sí, transmitiendo una serie de mensajes propios, a través de canales compartidos llamados \emph{topics}.\\ Entre las herramientas usadas en este proyecto, se encuentran las siguientes. \subsection{Gazebo 11} \label{subsec:gazebo} -ToDo... +Se trata del simulador sobre el cual se desarrolla el proyecto. Concretamente consta de un conjunto de módulos optimizados para desarrollar aplicaciones robóticas, a través del previamente mencionado \ac{ROS} \cite{gazebo-def}.\\ + +Esta herramienta, nos permite visualizar en directo, el comportamiento del dron frente a los diversos escenarios que se planteen. \subsection{Rviz} \label{subsec:rviz} -ToDo... +Por el otro lado, se encuentra \emph{rviz}, que es un visualizador 3D diseñado para la depuración de aplicaciones \ac{ROS} \cite{rviz-def}.\\ + +En nuestro caso, nos permitirá ver como se dispersa la señal \ac{RF}, que trayectoria y orientación sigue el dron, que efecto tiene sobre la señal la presencia de obstáculos, y otras tantas opciones.\\ \section{Plataformas de programación} \label{sec:plataformas_de_programacion} @@ -43,39 +47,44 @@ \section{Plataformas de programación} \subsection{Visual Studio Code} \label{subsec:visual_studio_code} -ToDo... +Entre las plataformas usadas para programar, \emph{Visual Studio Code}, o mejor conocido como \emph{VS code}, es un editor de código ligero, funcional tanto en Linux, Windows y macOS \cite{vscode-def}.\\ + +Su principal ventaja, es que es altamente personalizable a el tipo de desarrollo software que se desee realizar. Todo ello a través de las múltiples extensiones que ofrece, así como la conexión directa y fluida con plataformas como Github, que se detallarán a continuación.\\ \subsection{Github} \label{subsec:github} -ToDo... +Github nace de la herramienta \textbf{git}, creada por Linus Torvalds (desarrollador de Linux), que es un sistema de control de versiones, que funciona a grandes rasgos a través de repositorios (o lugares donde se almacenan los sistemas de versiones de forma local), y commits (que permiten actualizar la version del código almacenado del repositorio) \cite{github-def}.\\ + +Sabiendo esto entonces, ¿qué es github?. Consiste en trasladar la idea de, en vez de tener repositorios locales, que estén distribuidos en una plataforma online, donde además se permita el desarrollo conjunto de aplicaciones de manera distribuida.\\ + +Por ello, el papel que toma en este proyecto es de vital importancia, ya que asegura un seguimiento y una seguridad, de cara a tener copias de seguridad, donde todo el que desee puede acceder a ver en que punto se encuentra el \ac{TFG} pueda hacerlo.\\ \section{Módulos} \label{sec:modulos} -ToDo... - \subsection{OpenCV} \label{subsec:opencv} -ToDo... +Es una biblioteca software de python, enfocada a visión artificial, que dispone de métodos para desarrollar interfaces gráficas de manera intuitiva \cite{opencv-def}.\\ + +Inicialmente se usó para esto último, por su sencillez y porque se implementó una cámara al dron, de cara a una posible extensión de su funcionalidad en algún punto del proyecto.\\ \subsection{Matplotlib} \label{subsec:matplotlib} -ToDo... +Presentada por John Hunter en 2002, se usó como biblioteca python alternativa a la anterior mencionada. La gran diferencia radica en que está diseñada para trabajar con estructuras numéricas del tipo array (muy compatible con Numpy \footnote{\url{https://numpy.org/about/}}), lo que permite ofrecer una gran visualización y una interfaz responsiva \cite{matplotlib-def}.\\ -\subsection{MavROS} -\label{subsec:mavros} +En el caso concreto del proyecto, se usó para desarrollar interfaz gráfica, que simula y muestra el comportamiento de una señal \ac{RF}, permitiendo modificar los parámetros de la ecuación en tiempo real.\\ -ToDo... - -\subsection{PX4} +\subsection{PX4 autopilot} \label{subsec:px4} -ToDo... +Es la capa de software que permite hacer funcionar las aeronaves con sus componentes, esto es a través del controlador de vuelo, que a efectos prácticos se trata del cerebro del sistema, es decir, interconecta los sensores y actuadores, permitiendo comandar diversas acciones \cite{flight-controller} \cite{px4-def}.\\ + +Este sistema, usa un conocido protocolo de comunicaciones llamado \textbf{MAVLink}, que se encarga de gestionar la comunicación entre el controlador de vuelo y la \ac{GCS}. En nuestro caso, y como queremos desarrollar aplicaciones mediante \ac{ROS}, debemos añadir una capa más, que se encarga de traducir los mensajes ROS a mensajes compatibles con el protocolo MAVLink, y de esto se encarga \textbf{MAVROS} \cite{px4-mavlink} \cite{px4-mavros}.\\ -\subsection{jderobot} -\label{subsec:jderobot} +\section{Iris} +\label{sec:iris} -ToDo... \ No newline at end of file +Es el nombre de la aeronave usada para solucionar los problemas planteados. En síntesis, es un dron cuadracóptero provisto de una cámara y un sensor de \ac{RF} simulado. Dicha aeronave es cortesía de \textbf{JdeRobot}, que es un conjunto de herramientas pensadas para desarrollar aplicaciones robóticas \cite{jderobot-ref}.\\ \ No newline at end of file diff --git a/memoria/memoria.aux b/memoria/memoria.aux index 74f45e3..a3ddca6 100644 --- a/memoria/memoria.aux +++ b/memoria/memoria.aux @@ -160,6 +160,11 @@ \acronymused{TFG} \acronymused{RF} \acronymused{ROS} +\citation{tiobe} +\citation{python-history} +\citation{python-def} +\citation{compiled-vs-interpreted} +\citation{c-history} \@writefile{toc}{\contentsline {chapter}{\numberline {3}Plataformas de desarrollo y herramientas utilizadas}{11}{chapter.3}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} @@ -172,6 +177,11 @@ \newlabel{subsec:python}{{3.1.1}{11}{Python}{subsection.3.1.1}{}} \@writefile{toc}{\contentsline {subsection}{\numberline {3.1.2}C++}{11}{subsection.3.1.2}\protected@file@percent } \newlabel{subsec:cplusplus}{{3.1.2}{11}{C++}{subsection.3.1.2}{}} +\citation{middleware-def} +\citation{ros-def} +\citation{gazebo-def} +\citation{rviz-def} +\citation{vscode-def} \acronymused{ROS} \@writefile{toc}{\contentsline {section}{\numberline {3.2}\ac {ROS}}{12}{section.3.2}\protected@file@percent } \newlabel{sec:ros}{{3.2}{12}{\ac {ROS}}{section.3.2}{}} @@ -179,77 +189,91 @@ \acronymused{ROS} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.1}Gazebo 11}{12}{subsection.3.2.1}\protected@file@percent } \newlabel{subsec:gazebo}{{3.2.1}{12}{Gazebo 11}{subsection.3.2.1}{}} +\acronymused{ROS} \@writefile{toc}{\contentsline {subsection}{\numberline {3.2.2}Rviz}{12}{subsection.3.2.2}\protected@file@percent } \newlabel{subsec:rviz}{{3.2.2}{12}{Rviz}{subsection.3.2.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.3}Plataformas de programación}{12}{section.3.3}\protected@file@percent } -\newlabel{sec:plataformas_de_programacion}{{3.3}{12}{Plataformas de programación}{section.3.3}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Visual Studio Code}{12}{subsection.3.3.1}\protected@file@percent } -\newlabel{subsec:visual_studio_code}{{3.3.1}{12}{Visual Studio Code}{subsection.3.3.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Github}{12}{subsection.3.3.2}\protected@file@percent } -\newlabel{subsec:github}{{3.3.2}{12}{Github}{subsection.3.3.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {3.4}Módulos}{12}{section.3.4}\protected@file@percent } -\newlabel{sec:modulos}{{3.4}{12}{Módulos}{section.3.4}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}OpenCV}{12}{subsection.3.4.1}\protected@file@percent } -\newlabel{subsec:opencv}{{3.4.1}{12}{OpenCV}{subsection.3.4.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Matplotlib}{13}{subsection.3.4.2}\protected@file@percent } -\newlabel{subsec:matplotlib}{{3.4.2}{13}{Matplotlib}{subsection.3.4.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}MavROS}{13}{subsection.3.4.3}\protected@file@percent } -\newlabel{subsec:mavros}{{3.4.3}{13}{MavROS}{subsection.3.4.3}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.4}PX4}{13}{subsection.3.4.4}\protected@file@percent } -\newlabel{subsec:px4}{{3.4.4}{13}{PX4}{subsection.3.4.4}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.5}jderobot}{13}{subsection.3.4.5}\protected@file@percent } -\newlabel{subsec:jderobot}{{3.4.5}{13}{jderobot}{subsection.3.4.5}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {4}Diseño}{14}{chapter.4}\protected@file@percent } +\acronymused{ROS} +\acronymused{RF} +\citation{github-def} +\citation{opencv-def} +\@writefile{toc}{\contentsline {section}{\numberline {3.3}Plataformas de programación}{13}{section.3.3}\protected@file@percent } +\newlabel{sec:plataformas_de_programacion}{{3.3}{13}{Plataformas de programación}{section.3.3}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Visual Studio Code}{13}{subsection.3.3.1}\protected@file@percent } +\newlabel{subsec:visual_studio_code}{{3.3.1}{13}{Visual Studio Code}{subsection.3.3.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.2}Github}{13}{subsection.3.3.2}\protected@file@percent } +\newlabel{subsec:github}{{3.3.2}{13}{Github}{subsection.3.3.2}{}} +\acronymused{TFG} +\@writefile{toc}{\contentsline {section}{\numberline {3.4}Módulos}{13}{section.3.4}\protected@file@percent } +\newlabel{sec:modulos}{{3.4}{13}{Módulos}{section.3.4}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.1}OpenCV}{13}{subsection.3.4.1}\protected@file@percent } +\newlabel{subsec:opencv}{{3.4.1}{13}{OpenCV}{subsection.3.4.1}{}} +\citation{matplotlib-def} +\citation{flight-controller} +\citation{px4-def} +\citation{px4-mavlink} +\citation{px4-mavros} +\citation{jderobot-ref} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.2}Matplotlib}{14}{subsection.3.4.2}\protected@file@percent } +\newlabel{subsec:matplotlib}{{3.4.2}{14}{Matplotlib}{subsection.3.4.2}{}} +\acronymused{RF} +\@writefile{toc}{\contentsline {subsection}{\numberline {3.4.3}PX4 autopilot}{14}{subsection.3.4.3}\protected@file@percent } +\newlabel{subsec:px4}{{3.4.3}{14}{PX4 autopilot}{subsection.3.4.3}{}} +\acronymused{GCS} +\acronymused{ROS} +\@writefile{toc}{\contentsline {section}{\numberline {3.5}Iris}{14}{section.3.5}\protected@file@percent } +\newlabel{sec:iris}{{3.5}{14}{Iris}{section.3.5}{}} +\acronymused{RF} +\@writefile{toc}{\contentsline {chapter}{\numberline {4}Diseño}{16}{chapter.4}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{locode}{\addvspace {10\p@ }} \@writefile{lomyequation}{\addvspace {10\p@ }} -\newlabel{cap:capitulo4}{{4}{14}{Diseño}{chapter.4}{}} -\@writefile{toc}{\contentsline {section}{\numberline {4.1}Recopilación inicial de datos con el exoesqueleto}{14}{section.4.1}\protected@file@percent } -\newlabel{sec:primeros_datos_exoesqueleto}{{4.1}{14}{Recopilación inicial de datos con el exoesqueleto}{section.4.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {4.2}Desarrollo de la obtención del PID teórico del exoesqueleto}{14}{section.4.2}\protected@file@percent } -\newlabel{sec:desarrollo_de_la_obtencion_del pid_teorico_del_exoesqueleto}{{4.2}{14}{Desarrollo de la obtención del PID teórico del exoesqueleto}{section.4.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Concepto de PID}{14}{subsection.4.2.1}\protected@file@percent } -\newlabel{subsec:concepto_de_pid}{{4.2.1}{14}{Concepto de PID}{subsection.4.2.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Método de Ziegler-Nichols}{14}{subsection.4.2.2}\protected@file@percent } -\newlabel{subsec:metodo_de_ziegler_nichols}{{4.2.2}{14}{Método de Ziegler-Nichols}{subsection.4.2.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}PidTuner}{14}{subsection.4.2.3}\protected@file@percent } -\newlabel{subsec:pidtuner}{{4.2.3}{14}{PidTuner}{subsection.4.2.3}{}} -\@writefile{toc}{\contentsline {section}{\numberline {4.3}Algoritmo del ejercicio de las sentadillas}{14}{section.4.3}\protected@file@percent } -\newlabel{sec:algoritmo_ejercicio_sentadillas}{{4.3}{14}{Algoritmo del ejercicio de las sentadillas}{section.4.3}{}} -\@writefile{toc}{\contentsline {section}{\numberline {4.4}Comparativa de resultados de redes neuronales de pose y exoesqueleto}{14}{section.4.4}\protected@file@percent } -\newlabel{sec:comparativa_redes_pose_exoesqueleto}{{4.4}{14}{Comparativa de resultados de redes neuronales de pose y exoesqueleto}{section.4.4}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Guardado de datos}{15}{subsection.4.4.1}\protected@file@percent } -\newlabel{subsec:guardado_datos}{{4.4.1}{15}{Guardado de datos}{subsection.4.4.1}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Obtención de los ángulos}{15}{subsection.4.4.2}\protected@file@percent } -\newlabel{subsec:obtencion_angulos}{{4.4.2}{15}{Obtención de los ángulos}{subsection.4.4.2}{}} -\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}Análisis de los resultados obtenidos}{15}{subsection.4.4.3}\protected@file@percent } -\newlabel{subsec:analisis_resultados_obtenidos}{{4.4.3}{15}{Análisis de los resultados obtenidos}{subsection.4.4.3}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusiones}{16}{chapter.5}\protected@file@percent } +\newlabel{cap:capitulo4}{{4}{16}{Diseño}{chapter.4}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.1}Recopilación inicial de datos con el exoesqueleto}{16}{section.4.1}\protected@file@percent } +\newlabel{sec:primeros_datos_exoesqueleto}{{4.1}{16}{Recopilación inicial de datos con el exoesqueleto}{section.4.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.2}Desarrollo de la obtención del PID teórico del exoesqueleto}{16}{section.4.2}\protected@file@percent } +\newlabel{sec:desarrollo_de_la_obtencion_del pid_teorico_del_exoesqueleto}{{4.2}{16}{Desarrollo de la obtención del PID teórico del exoesqueleto}{section.4.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}Concepto de PID}{16}{subsection.4.2.1}\protected@file@percent } +\newlabel{subsec:concepto_de_pid}{{4.2.1}{16}{Concepto de PID}{subsection.4.2.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}Método de Ziegler-Nichols}{16}{subsection.4.2.2}\protected@file@percent } +\newlabel{subsec:metodo_de_ziegler_nichols}{{4.2.2}{16}{Método de Ziegler-Nichols}{subsection.4.2.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.3}PidTuner}{16}{subsection.4.2.3}\protected@file@percent } +\newlabel{subsec:pidtuner}{{4.2.3}{16}{PidTuner}{subsection.4.2.3}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.3}Algoritmo del ejercicio de las sentadillas}{16}{section.4.3}\protected@file@percent } +\newlabel{sec:algoritmo_ejercicio_sentadillas}{{4.3}{16}{Algoritmo del ejercicio de las sentadillas}{section.4.3}{}} +\@writefile{toc}{\contentsline {section}{\numberline {4.4}Comparativa de resultados de redes neuronales de pose y exoesqueleto}{16}{section.4.4}\protected@file@percent } +\newlabel{sec:comparativa_redes_pose_exoesqueleto}{{4.4}{16}{Comparativa de resultados de redes neuronales de pose y exoesqueleto}{section.4.4}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.1}Guardado de datos}{17}{subsection.4.4.1}\protected@file@percent } +\newlabel{subsec:guardado_datos}{{4.4.1}{17}{Guardado de datos}{subsection.4.4.1}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.2}Obtención de los ángulos}{17}{subsection.4.4.2}\protected@file@percent } +\newlabel{subsec:obtencion_angulos}{{4.4.2}{17}{Obtención de los ángulos}{subsection.4.4.2}{}} +\@writefile{toc}{\contentsline {subsection}{\numberline {4.4.3}Análisis de los resultados obtenidos}{17}{subsection.4.4.3}\protected@file@percent } +\newlabel{subsec:analisis_resultados_obtenidos}{{4.4.3}{17}{Análisis de los resultados obtenidos}{subsection.4.4.3}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {5}Conclusiones}{18}{chapter.5}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{locode}{\addvspace {10\p@ }} \@writefile{lomyequation}{\addvspace {10\p@ }} -\newlabel{cap:capitulo5}{{5}{16}{Conclusiones}{chapter.5}{}} -\@writefile{toc}{\contentsline {section}{\numberline {5.1}Objetivos cumplidos}{16}{section.5.1}\protected@file@percent } -\newlabel{sec:objetivos_cumplidos}{{5.1}{16}{Objetivos cumplidos}{section.5.1}{}} -\@writefile{toc}{\contentsline {section}{\numberline {5.2}Requisitos satisfechos}{16}{section.5.2}\protected@file@percent } -\newlabel{sec:requisitos_satisfechos}{{5.2}{16}{Requisitos satisfechos}{section.5.2}{}} -\@writefile{toc}{\contentsline {section}{\numberline {5.3}Balance global y competencias adquiridas}{16}{section.5.3}\protected@file@percent } -\newlabel{sec:balance_global_competencias_adquiridas}{{5.3}{16}{Balance global y competencias adquiridas}{section.5.3}{}} -\@writefile{toc}{\contentsline {section}{\numberline {5.4}Líneas futuras}{16}{section.5.4}\protected@file@percent } -\newlabel{sec:lineas_futuras}{{5.4}{16}{Líneas futuras}{section.5.4}{}} -\@writefile{toc}{\contentsline {chapter}{\numberline {6}Anexo}{17}{chapter.6}\protected@file@percent } +\newlabel{cap:capitulo5}{{5}{18}{Conclusiones}{chapter.5}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.1}Objetivos cumplidos}{18}{section.5.1}\protected@file@percent } +\newlabel{sec:objetivos_cumplidos}{{5.1}{18}{Objetivos cumplidos}{section.5.1}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.2}Requisitos satisfechos}{18}{section.5.2}\protected@file@percent } +\newlabel{sec:requisitos_satisfechos}{{5.2}{18}{Requisitos satisfechos}{section.5.2}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.3}Balance global y competencias adquiridas}{18}{section.5.3}\protected@file@percent } +\newlabel{sec:balance_global_competencias_adquiridas}{{5.3}{18}{Balance global y competencias adquiridas}{section.5.3}{}} +\@writefile{toc}{\contentsline {section}{\numberline {5.4}Líneas futuras}{18}{section.5.4}\protected@file@percent } +\newlabel{sec:lineas_futuras}{{5.4}{18}{Líneas futuras}{section.5.4}{}} +\@writefile{toc}{\contentsline {chapter}{\numberline {6}Anexo}{19}{chapter.6}\protected@file@percent } \@writefile{lof}{\addvspace {10\p@ }} \@writefile{lot}{\addvspace {10\p@ }} \@writefile{locode}{\addvspace {10\p@ }} \@writefile{lomyequation}{\addvspace {10\p@ }} -\newlabel{cap:anexo}{{6}{17}{Anexo}{chapter.6}{}} +\newlabel{cap:anexo}{{6}{19}{Anexo}{chapter.6}{}} \citation{*} \bibstyle{unsrt} \bibdata{bibliografia} -\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Anexo con las fuentes de donde se han obtenido las imágenes para este proyecto\relax }}{18}{table.caption.25}\protected@file@percent } -\newlabel{cuadro:anexo_imagenes_fuentes}{{6.1}{18}{Anexo con las fuentes de donde se han obtenido las imágenes para este proyecto\relax }{table.caption.25}{}} +\@writefile{lot}{\contentsline {table}{\numberline {6.1}{\ignorespaces Anexo con las fuentes de donde se han obtenido las imágenes para este proyecto\relax }}{20}{table.caption.25}\protected@file@percent } +\newlabel{cuadro:anexo_imagenes_fuentes}{{6.1}{20}{Anexo con las fuentes de donde se han obtenido las imágenes para este proyecto\relax }{table.caption.25}{}} \bibcite{rae-robotica}{{1}{}{{}}{{}}} \bibcite{revista-de-robots}{{2}{}{{}}{{}}} \bibcite{industrial-robot}{{3}{}{{}}{{}}} @@ -260,7 +284,7 @@ \bibcite{kettering-bug}{{8}{}{{}}{{}}} \bibcite{queen-bee}{{9}{}{{}}{{}}} \bibcite{operation-aphrodite}{{10}{}{{}}{{}}} -\@writefile{toc}{\contentsline {chapter}{Bibliograf\'{\i }a}{19}{appendix*.26}\protected@file@percent } +\@writefile{toc}{\contentsline {chapter}{Bibliograf\'{\i }a}{21}{appendix*.26}\protected@file@percent } \bibcite{uas-definicion}{{11}{}{{}}{{}}} \bibcite{gcs-definicion}{{12}{}{{}}{{}}} \bibcite{data-link-definicion}{{13}{}{{}}{{}}} @@ -278,4 +302,22 @@ \bibcite{friis-3}{{25}{}{{}}{{}}} \bibcite{tfm-pedro}{{26}{}{{}}{{}}} \bibcite{paper-ia-dron}{{27}{}{{}}{{}}} +\bibcite{tiobe}{{28}{}{{}}{{}}} +\bibcite{python-history}{{29}{}{{}}{{}}} +\bibcite{python-def}{{30}{}{{}}{{}}} +\bibcite{compiled-vs-interpreted}{{31}{}{{}}{{}}} +\bibcite{c-history}{{32}{}{{}}{{}}} +\bibcite{middleware-def}{{33}{}{{}}{{}}} +\bibcite{ros-def}{{34}{}{{}}{{}}} +\bibcite{gazebo-def}{{35}{}{{}}{{}}} +\bibcite{rviz-def}{{36}{}{{}}{{}}} +\bibcite{vscode-def}{{37}{}{{}}{{}}} +\bibcite{github-def}{{38}{}{{}}{{}}} +\bibcite{opencv-def}{{39}{}{{}}{{}}} +\bibcite{matplotlib-def}{{40}{}{{}}{{}}} +\bibcite{flight-controller}{{41}{}{{}}{{}}} +\bibcite{px4-def}{{42}{}{{}}{{}}} +\bibcite{px4-mavlink}{{43}{}{{}}{{}}} +\bibcite{px4-mavros}{{44}{}{{}}{{}}} +\bibcite{jderobot-ref}{{45}{}{{}}{{}}} \providecommand\NAT@force@numbers{}\NAT@force@numbers diff --git a/memoria/memoria.bbl b/memoria/memoria.bbl index 78f1f53..5552390 100644 --- a/memoria/memoria.bbl +++ b/memoria/memoria.bbl @@ -168,4 +168,98 @@ Pedro~Arias Pérez. Md~Moin~Uddin Chowdhury, Fatih Erden, and Ismail Guvenc. \newblock Rss-based q-learning for indoor uav navigation, 2019. +\bibitem{tiobe} +Tiobe. +\newblock \textit{TIOBE Index for August 2023}. +\newblock \url{https://www.tiobe.com/tiobe-index/}, 2023. + +\bibitem{python-history} +SohomPramanick. +\newblock \textit{History of Python}. +\newblock \url{https://www.geeksforgeeks.org/history-of-python/}, 2022. + +\bibitem{python-def} +Python~Source Fundation. +\newblock \textit{What is Python? Executive Summary}. +\newblock \url{https://www.python.org/doc/essays/blurb/}, 2023. + +\bibitem{compiled-vs-interpreted} +Bryce Limón. +\newblock \textit{Compiled vs interpreted language: Basics for beginning devs}. +\newblock \url{https://www.educative.io/blog/compiled-vs-interpreted-language}, + 2022. + +\bibitem{c-history} +SohomPramanick. +\newblock \textit{History of C++}. +\newblock \url{https://www.geeksforgeeks.org/history-of-c/}, 2022. + +\bibitem{middleware-def} +IBM. +\newblock \textit{What is middleware?} +\newblock \url{https://www.ibm.com/topics/middleware}, 2023. + +\bibitem{ros-def} +ROS. +\newblock \textit{ROS - Robot Operating System}. +\newblock \url{https://www.ros.org/}, 2023. + +\bibitem{gazebo-def} +Gazebo. +\newblock \textit{About Gazebo}. +\newblock \url{https://gazebosim.org/about}, 2023. + +\bibitem{rviz-def} +ros visualization. +\newblock \textit{RVIZ}. +\newblock \url{https://github.com/ros-visualization/rviz#readme}, 2023. + +\bibitem{vscode-def} +Visual~Studio Code. +\newblock \textit{Getting Started}. +\newblock \url{https://code.visualstudio.com/docs}, 2023. + +\bibitem{github-def} +HTG Stuff. +\newblock \textit{What Is GitHub, and What Is It Used For?} +\newblock + \url{https://www.howtogeek.com/180167/htg-explains-what-is-github-and-what-do-geeks-use-it-for/}, + 2016. + +\bibitem{opencv-def} +OpenCV. +\newblock \textit{About}. +\newblock \url{https://opencv.org/about/}, 2023. + +\bibitem{matplotlib-def} +KattamuriMeghna. +\newblock \textit{Python | Introduction to Matplotlib}. +\newblock \url{https://www.geeksforgeeks.org/python-introduction-matplotlib/}, + 2023. + +\bibitem{flight-controller} +Peter Karanja. +\newblock \textit{How Drone Controllers Work (Explained for Beginners)}. +\newblock \url{https://www.droneblog.com/drone-controller/}, 2023. + +\bibitem{px4-def} +PX4~User Guide. +\newblock \textit{PX4 Autopilot User Guide (main)}. +\newblock \url{https://docs.px4.io/main/en/}, 2023. + +\bibitem{px4-mavlink} +PX4~User Guide. +\newblock \textit{MAVLink Messaging}. +\newblock \url{https://docs.px4.io/main/en/middleware/mavlink.html}, 2023. + +\bibitem{px4-mavros} +PX4~User Guide. +\newblock \textit{ROS 1 with MAVROS}. +\newblock \url{https://docs.px4.io/main/en/ros/ros1.html}, 2023. + +\bibitem{jderobot-ref} +JdeRobot. +\newblock \textit{JdeRobot}. +\newblock \url{https://jderobot.github.io/}, 2023. + \end{thebibliography} diff --git a/memoria/memoria.blg b/memoria/memoria.blg index 0b72cad..82a7225 100644 --- a/memoria/memoria.blg +++ b/memoria/memoria.blg @@ -49,47 +49,87 @@ Warning--entry type for "friis-3" isn't style-file defined --line 203 of file bibliografia.bib Warning--entry type for "tfm-pedro" isn't style-file defined --line 210 of file bibliografia.bib +Warning--entry type for "tiobe" isn't style-file defined +--line 226 of file bibliografia.bib +Warning--entry type for "python-history" isn't style-file defined +--line 233 of file bibliografia.bib +Warning--entry type for "python-def" isn't style-file defined +--line 240 of file bibliografia.bib +Warning--entry type for "compiled-vs-interpreted" isn't style-file defined +--line 247 of file bibliografia.bib +Warning--entry type for "c-history" isn't style-file defined +--line 254 of file bibliografia.bib +Warning--entry type for "middleware-def" isn't style-file defined +--line 261 of file bibliografia.bib +Warning--entry type for "ros-def" isn't style-file defined +--line 268 of file bibliografia.bib +Repeated entry---line 275 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 282 of file bibliografia.bib +Warning--entry type for "rviz-def" isn't style-file defined +--line 289 of file bibliografia.bib +Warning--entry type for "vscode-def" isn't style-file defined +--line 296 of file bibliografia.bib +Warning--entry type for "github-def" isn't style-file defined +--line 303 of file bibliografia.bib +Warning--entry type for "opencv-def" isn't style-file defined +--line 310 of file bibliografia.bib +Warning--entry type for "matplotlib-def" isn't style-file defined +--line 317 of file bibliografia.bib +Warning--entry type for "flight-controller" isn't style-file defined +--line 324 of file bibliografia.bib +Warning--entry type for "px4-def" isn't style-file defined +--line 331 of file bibliografia.bib +Warning--entry type for "px4-mavlink" isn't style-file defined +--line 338 of file bibliografia.bib +Warning--entry type for "px4-mavros" isn't style-file defined +--line 345 of file bibliografia.bib +Warning--entry type for "jderobot-ref" isn't style-file defined +--line 352 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 27 entries, +You've used 45 entries, 1791 wiz_defined-function locations, - 574 strings with 7746 characters, -and the built_in function-call counts, 4004 in all, are: -= -- 344 -> -- 131 + 644 strings with 9579 characters, +and the built_in function-call counts, 6326 in all, are: += -- 542 +> -- 203 < -- 1 -+ -- 60 -- -- 33 -* -- 94 -:= -- 615 -add.period$ -- 79 -call.type$ -- 27 -change.case$ -- 25 ++ -- 96 +- -- 51 +* -- 112 +:= -- 975 +add.period$ -- 133 +call.type$ -- 45 +change.case$ -- 43 chr.to.int$ -- 0 -cite$ -- 29 -duplicate$ -- 164 -empty$ -- 519 -format.name$ -- 33 -if$ -- 949 +cite$ -- 47 +duplicate$ -- 254 +empty$ -- 843 +format.name$ -- 51 +if$ -- 1507 int.to.chr$ -- 0 -int.to.str$ -- 27 +int.to.str$ -- 45 missing$ -- 6 -newline$ -- 136 -num.names$ -- 27 -pop$ -- 155 +newline$ -- 226 +num.names$ -- 45 +pop$ -- 263 preamble$ -- 1 purify$ -- 0 quote$ -- 0 -skip$ -- 97 +skip$ -- 151 stack$ -- 0 substring$ -- 78 -swap$ -- 37 +swap$ -- 55 text.length$ -- 1 text.prefix$ -- 0 top$ -- 0 type$ -- 0 warning$ -- 2 -while$ -- 33 -width$ -- 29 -write$ -- 272 -(There was 1 error message) +while$ -- 51 +width$ -- 47 +write$ -- 452 +(There were 2 error messages) diff --git a/memoria/memoria.log b/memoria/memoria.log index acba2df..bc9bdc7 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) 4 AUG 2023 12:00 +This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Debian) (preloaded format=pdflatex 2023.7.19) 7 AUG 2023 12:44 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -608,7 +608,7 @@ LaTeX Info: Redefining \nameref on input line 16. Package newfloat Info: `float' package detected. (./portada/indice.tex (./portada/portada.tex - + File: imagenes/cap1/logo_urjc.jpg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/logo_urjc.jpg used on input line 7. @@ -731,13 +731,13 @@ 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 ine 19. (pdftex.def) Requested size: 170.7792pt x 113.81102pt. - + 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 @@ -762,7 +762,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. @@ -783,19 +783,19 @@ Underfull \hbox (badness 10000) in paragraph at lines 50--51 [] - + File: imagenes/cap1/4_kettering_bug.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/4_kettering_bug.jpeg used on input line 54. (pdftex.def) Requested size: 94.83955pt x 71.13188pt. - + File: imagenes/cap1/5_queen_bee.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/5_queen_bee.jpeg used on input line 56. (pdftex.def) Requested size: 177.65408pt x 71.13188pt. - + File: imagenes/cap1/6_aphrodite.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/6_aphrodite.jpeg used on input line 58. @@ -812,7 +812,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 72--73 [] - + File: imagenes/cap1/7_drone_components.jpeg Graphic file (type jpg) Package pdftex.def Info: imagenes/cap1/7_drone_components.jpeg used on input l @@ -839,7 +839,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 89--90 LaTeX Info: Redefining \. on input line 90. LaTeX Info: Redefining \% on input line 90. [4 <./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 103. @@ -852,7 +852,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 112--113 LaTeX Info: Redefining \. on input line 113. LaTeX Info: Redefining \% on input line 113. [5 <./imagenes/cap1/8_AI_types.png>] - + File: imagenes/cap1/9_reinforcement.png Graphic file (type png) Package pdftex.def Info: imagenes/cap1/9_reinforcement.png used on input line @@ -875,7 +875,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 132--133 [] - + File: imagenes/cap1/10_friis.png Graphic file (type png) Package pdftex.def Info: imagenes/cap1/10_friis.png used on input line 136. @@ -921,6 +921,11 @@ Underfull \hbox (badness 10000) in paragraph at lines 12--13 [] +Underfull \hbox (badness 10000) in paragraph at lines 14--15 + + [] + + Underfull \hbox (badness 10000) in paragraph at lines 19--20 [] @@ -941,17 +946,66 @@ Underfull \hbox (badness 10000) in paragraph at lines 26--27 [] -LaTeX Info: Redefining \. on input line 68. -LaTeX Info: Redefining \% on input line 68. + +Underfull \hbox (badness 10000) in paragraph at lines 33--34 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 40--41 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 42--43 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 50--51 + + [] + +LaTeX Info: Redefining \. on input line 51. +LaTeX Info: Redefining \% on input line 51. Overfull \hbox (33.42328pt too wide) has occurred while \output is active \OT1/cmr/m/sl/12 CAP[]ITULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZ ADAS \OT1/cmr/m/n/12 12 [] -[12]) (./capitulos/capitulo4.tex -LaTeX Info: Redefining \. on input line 1. -LaTeX Info: Redefining \% on input line 1. +[12] +Underfull \hbox (badness 10000) in paragraph at lines 52--53 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 57--58 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 59--60 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 61--62 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 69--70 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 71--72 + + [] + +LaTeX Info: Redefining \. on input line 72. +LaTeX Info: Redefining \% on input line 72. Overfull \hbox (33.42328pt too wide) has occurred while \output is active \OT1/cmr/m/sl/12 CAP[]ITULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZ @@ -959,25 +1013,68 @@ ADAS \OT1/cmr/m/n/12 13 [] [13] +Underfull \hbox (badness 10000) in paragraph at lines 76--77 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 78--79 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 83--84 + + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 85--86 + + [] + +) +Underfull \hbox (badness 10000) in paragraph at lines 90--36 + + [] + +(./capitulos/capitulo4.tex +LaTeX Info: Redefining \. on input line 1. +LaTeX Info: Redefining \% on input line 1. + +Overfull \hbox (33.42328pt too wide) has occurred while \output is active +\OT1/cmr/m/sl/12 CAP[]ITULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZ +ADAS \OT1/cmr/m/n/12 14 + [] + +[14] +LaTeX Info: Redefining \. on input line 1. +LaTeX Info: Redefining \% on input line 1. + +Overfull \hbox (33.42328pt too wide) has occurred while \output is active +\OT1/cmr/m/sl/12 CAP[]ITULO 3. PLATAFORMAS DE DESARROLLO Y HERRAMIENTAS UTILIZ +ADAS \OT1/cmr/m/n/12 15 + [] + +[15] Cap\'{\i }tulo 4. Underfull \hbox (badness 10000) in paragraph at lines 6--6 |[]\OT1/cmr/bx/n/17.28 Recopilaci^^Son inicial de datos con el [] -[14 +[16 ]) (./capitulos/capitulo5.tex LaTeX Info: Redefining \. on input line 1. LaTeX Info: Redefining \% on input line 1. - [15] + [17] Cap\'{\i }tulo 5. -) (./anexo.tex [16 +) (./anexo.tex [18 ] Cap\'{\i }tulo 6. -LaTeX Warning: Reference `fig:robots_autonomos' on page 17 undefined on input l +LaTeX Warning: Reference `fig:robots_autonomos' on page 19 undefined on input l ine 16. @@ -1005,7 +1102,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 24--25 [] -LaTeX Warning: Reference `fig:campos_robotica' on page 17 undefined on input li +LaTeX Warning: Reference `fig:campos_robotica' on page 19 undefined on input li ne 28. @@ -1036,7 +1133,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 34--35 [] -LaTeX Warning: Reference `fig:robotica-tacto-bolonia' on page 17 undefined on i +LaTeX Warning: Reference `fig:robotica-tacto-bolonia' on page 19 undefined on i nput line 38. @@ -1045,7 +1142,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 38--39 [] -LaTeX Warning: Reference `fig:AKROD' on page 17 undefined on input line 42. +LaTeX Warning: Reference `fig:AKROD' on page 19 undefined on input line 42. Underfull \hbox (badness 10000) in paragraph at lines 42--43 @@ -1053,7 +1150,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 42--43 [] -LaTeX Warning: Reference `fig:lokomat' on page 17 undefined on input line 46. +LaTeX Warning: Reference `fig:lokomat' on page 19 undefined on input line 46. Underfull \hbox (badness 10000) in paragraph at lines 46--47 @@ -1061,7 +1158,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 46--47 [] -LaTeX Warning: Reference `fig:exoesqueleto_atlas' on page 17 undefined on input +LaTeX Warning: Reference `fig:exoesqueleto_atlas' on page 19 undefined on input line 50. @@ -1076,7 +1173,7 @@ Overfull \hbox (25.19997pt too wide) in paragraph at lines 10--55 [] -LaTeX Warning: Reference `fig:aplicaciones-exoesqueletos' on page 17 undefined +LaTeX Warning: Reference `fig:aplicaciones-exoesqueletos' on page 19 undefined on input line 64. @@ -1102,7 +1199,7 @@ m / [] -LaTeX Warning: Reference `fig:exos-flexibles-rigidos' on page 17 undefined on i +LaTeX Warning: Reference `fig:exos-flexibles-rigidos' on page 19 undefined on i nput line 74. @@ -1112,11 +1209,11 @@ s / inicio / [] -LaTeX Warning: Reference `fig:puntos-clave-imagen' on page 17 undefined on inpu +LaTeX Warning: Reference `fig:puntos-clave-imagen' on page 19 undefined on inpu t line 80. -LaTeX Warning: Reference `fig:logo_stm32cubeide' on page 17 undefined on input +LaTeX Warning: Reference `fig:logo_stm32cubeide' on page 19 undefined on input line 84. @@ -1125,7 +1222,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 84--85 [] -LaTeX Warning: Reference `fig:exos_activo_pasivo' on page 17 undefined on input +LaTeX Warning: Reference `fig:exos_activo_pasivo' on page 19 undefined on input line 88. @@ -1141,7 +1238,7 @@ om / articles / 10 . 1186 / [] -LaTeX Warning: Reference `fig:esquema_redes_neuronales' on page 17 undefined on +LaTeX Warning: Reference `fig:esquema_redes_neuronales' on page 19 undefined on input line 94. @@ -1150,15 +1247,15 @@ Underfull \hbox (badness 10000) in paragraph at lines 94--95 [] -LaTeX Warning: Reference `fig:esquema_arbol_decision' on page 17 undefined on i +LaTeX Warning: Reference `fig:esquema_arbol_decision' on page 19 undefined on i nput line 98. -LaTeX Warning: Reference `fig:obtencion_fases_keypoints_movenet' on page 17 und +LaTeX Warning: Reference `fig:obtencion_fases_keypoints_movenet' on page 19 und efined on input line 102. -LaTeX Warning: Reference `fig:esquema_keypoints_mediapipe' on page 17 undefined +LaTeX Warning: Reference `fig:esquema_keypoints_mediapipe' on page 19 undefined on input line 106. @@ -1168,7 +1265,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 106--107 [] -LaTeX Warning: Reference `fig:ejemplos_vision_mediapipe' on page 17 undefined o +LaTeX Warning: Reference `fig:ejemplos_vision_mediapipe' on page 19 undefined o n input line 110. @@ -1181,14 +1278,14 @@ Overfull \hbox (25.19997pt too wide) in paragraph at lines 60--115 [] [] -[17 +[19 ]) No file memoria.ind. (./memoria.bbl LaTeX Info: Redefining \. on input line 1. LaTeX Info: Redefining \% on input line 1. - [18] + [20] Underfull \hbox (badness 10000) in paragraph at lines 9--14 []\OT1/cmr/m/n/12 Revista de Robots. \OT1/cmr/m/it/12 Rob^^Sotica. Qu^^Se es l a @@ -1235,7 +1332,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 51--56 b-[]queen-[]bee/$[][]\OT1/cmr/m/n/12 , [] -[19 +[21 ] Underfull \hbox (badness 1527) in paragraph at lines 64--69 @@ -1263,11 +1360,36 @@ Underfull \hbox (badness 3884) in paragraph at lines 143--148 LaTeX Info: Redefining \. on input line 149. LaTeX Info: Redefining \% on input line 149. -[20]) +[22] +Underfull \hbox (badness 1028) in paragraph at lines 177--180 +[]\OT1/cmr/m/n/12 SohomPramanick. \OT1/cmr/m/it/12 History of Python\OT1/cmr/m +/n/12 . [][]$\OT1/cmtt/m/n/12 https : / / www . geeksforgeeks . org / + [] + + +Underfull \hbox (badness 2229) in paragraph at lines 193--196 +[]\OT1/cmr/m/n/12 SohomPramanick. \OT1/cmr/m/it/12 History of C++\OT1/cmr/m/n/ +12 . [][]$\OT1/cmtt/m/n/12 https : / / www . geeksforgeeks . org / + [] + + +Underfull \hbox (badness 10000) in paragraph at lines 223--228 +[]\OT1/cmr/m/n/12 HTG Stuff. \OT1/cmr/m/it/12 What + [] + +LaTeX Info: Redefining \. on input line 229. +LaTeX Info: Redefining \% on input line 229. +[23] +Underfull \hbox (badness 1132) in paragraph at lines 235--239 +[]\OT1/cmr/m/n/12 KattamuriMeghna. \OT1/cmr/m/it/12 Python | Introduction to M +atplotlib\OT1/cmr/m/n/12 . [][]$\OT1/cmtt/m/n/12 https : / / www . + [] + +) Package atveryend Info: Empty hook `BeforeClearDocument' on input line 50. LaTeX Info: Redefining \. on input line 50. LaTeX Info: Redefining \% on input line 50. - [21] + [24] Package atveryend Info: Empty hook `AfterLastShipout' on input line 50. (./memoria.aux LaTeX Info: Redefining \. on input line 25. @@ -1276,7 +1398,7 @@ LaTeX Info: Redefining \% on input line 25. Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 50. Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 50. Package rerunfilecheck Info: File `memoria.out' has not changed. -(rerunfilecheck) Checksum: EE1007F4E76C080C3A43BF7045420BAE;3029. +(rerunfilecheck) Checksum: 175CF5344E257387211C8D2D6167ABB1;2968. LaTeX Font Warning: Size substitutions with differences @@ -1288,11 +1410,11 @@ LaTeX Warning: There were undefined references. Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 50. ) Here is how much of TeX's memory you used: - 12755 strings out of 483048 - 188759 string characters out of 5962772 + 12841 strings out of 483048 + 190193 string characters out of 5962772 648405 words of memory out of 5000000 - 27303 multiletter control sequences out of 15000+600000 - 553987 words of font info for 58 fonts, out of 8000000 for 9000 + 27365 multiletter control sequences out of 15000+600000 + 555854 words of font info for 67 fonts, out of 8000000 for 9000 91 hyphenation exceptions out of 8191 44i,12n,53p,1069b,746s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texmf/fonts/enc/dvips/lm/lm-rm.enc} -Output written on memoria.pdf (30 pages, 1300338 bytes). +sfonts/cm/cmr7.pfb>< +/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmtt10.pfb> +Output written on memoria.pdf (33 pages, 1336257 bytes). PDF statistics: - 703 PDF objects out of 1000 (max. 8388607) - 640 compressed objects within 7 object streams - 163 named destinations out of 1000 (max. 500000) - 416 words of extra memory for PDF output out of 10000 (max. 10000000) + 804 PDF objects out of 1000 (max. 8388607) + 734 compressed objects within 8 object streams + 184 named destinations out of 1000 (max. 500000) + 408 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/memoria/memoria.lot b/memoria/memoria.lot index 855580a..0960c72 100644 --- a/memoria/memoria.lot +++ b/memoria/memoria.lot @@ -5,4 +5,4 @@ \addvspace {10\p@ } \addvspace {10\p@ } \addvspace {10\p@ } -\contentsline {table}{\numberline {6.1}{\ignorespaces Anexo con las fuentes de donde se han obtenido las imágenes para este proyecto\relax }}{18}{table.caption.25}% +\contentsline {table}{\numberline {6.1}{\ignorespaces Anexo con las fuentes de donde se han obtenido las imágenes para este proyecto\relax }}{20}{table.caption.25}% diff --git a/memoria/memoria.out b/memoria/memoria.out index c3f86da..65241f1 100644 --- a/memoria/memoria.out +++ b/memoria/memoria.out @@ -22,24 +22,23 @@ \BOOKMARK [1][-]{section.3.4}{M\363dulos}{chapter.3}% 22 \BOOKMARK [2][-]{subsection.3.4.1}{OpenCV}{section.3.4}% 23 \BOOKMARK [2][-]{subsection.3.4.2}{Matplotlib}{section.3.4}% 24 -\BOOKMARK [2][-]{subsection.3.4.3}{MavROS}{section.3.4}% 25 -\BOOKMARK [2][-]{subsection.3.4.4}{PX4}{section.3.4}% 26 -\BOOKMARK [2][-]{subsection.3.4.5}{jderobot}{section.3.4}% 27 -\BOOKMARK [0][-]{chapter.4}{Dise\361o}{}% 28 -\BOOKMARK [1][-]{section.4.1}{Recopilaci\363n inicial de datos con el exoesqueleto}{chapter.4}% 29 -\BOOKMARK [1][-]{section.4.2}{Desarrollo de la obtenci\363n del PID te\363rico del exoesqueleto}{chapter.4}% 30 -\BOOKMARK [2][-]{subsection.4.2.1}{Concepto de PID}{section.4.2}% 31 -\BOOKMARK [2][-]{subsection.4.2.2}{M\351todo de Ziegler-Nichols}{section.4.2}% 32 -\BOOKMARK [2][-]{subsection.4.2.3}{PidTuner}{section.4.2}% 33 -\BOOKMARK [1][-]{section.4.3}{Algoritmo del ejercicio de las sentadillas}{chapter.4}% 34 -\BOOKMARK [1][-]{section.4.4}{Comparativa de resultados de redes neuronales de pose y exoesqueleto}{chapter.4}% 35 -\BOOKMARK [2][-]{subsection.4.4.1}{Guardado de datos}{section.4.4}% 36 -\BOOKMARK [2][-]{subsection.4.4.2}{Obtenci\363n de los \341ngulos}{section.4.4}% 37 -\BOOKMARK [2][-]{subsection.4.4.3}{An\341lisis de los resultados obtenidos}{section.4.4}% 38 -\BOOKMARK [0][-]{chapter.5}{Conclusiones}{}% 39 -\BOOKMARK [1][-]{section.5.1}{Objetivos cumplidos}{chapter.5}% 40 -\BOOKMARK [1][-]{section.5.2}{Requisitos satisfechos}{chapter.5}% 41 -\BOOKMARK [1][-]{section.5.3}{Balance global y competencias adquiridas}{chapter.5}% 42 -\BOOKMARK [1][-]{section.5.4}{L\355neas futuras}{chapter.5}% 43 -\BOOKMARK [0][-]{chapter.6}{Anexo}{}% 44 -\BOOKMARK [0][-]{appendix*.26}{Bibliograf\355a}{}% 45 +\BOOKMARK [2][-]{subsection.3.4.3}{PX4 autopilot}{section.3.4}% 25 +\BOOKMARK [1][-]{section.3.5}{Iris}{chapter.3}% 26 +\BOOKMARK [0][-]{chapter.4}{Dise\361o}{}% 27 +\BOOKMARK [1][-]{section.4.1}{Recopilaci\363n inicial de datos con el exoesqueleto}{chapter.4}% 28 +\BOOKMARK [1][-]{section.4.2}{Desarrollo de la obtenci\363n del PID te\363rico del exoesqueleto}{chapter.4}% 29 +\BOOKMARK [2][-]{subsection.4.2.1}{Concepto de PID}{section.4.2}% 30 +\BOOKMARK [2][-]{subsection.4.2.2}{M\351todo de Ziegler-Nichols}{section.4.2}% 31 +\BOOKMARK [2][-]{subsection.4.2.3}{PidTuner}{section.4.2}% 32 +\BOOKMARK [1][-]{section.4.3}{Algoritmo del ejercicio de las sentadillas}{chapter.4}% 33 +\BOOKMARK [1][-]{section.4.4}{Comparativa de resultados de redes neuronales de pose y exoesqueleto}{chapter.4}% 34 +\BOOKMARK [2][-]{subsection.4.4.1}{Guardado de datos}{section.4.4}% 35 +\BOOKMARK [2][-]{subsection.4.4.2}{Obtenci\363n de los \341ngulos}{section.4.4}% 36 +\BOOKMARK [2][-]{subsection.4.4.3}{An\341lisis de los resultados obtenidos}{section.4.4}% 37 +\BOOKMARK [0][-]{chapter.5}{Conclusiones}{}% 38 +\BOOKMARK [1][-]{section.5.1}{Objetivos cumplidos}{chapter.5}% 39 +\BOOKMARK [1][-]{section.5.2}{Requisitos satisfechos}{chapter.5}% 40 +\BOOKMARK [1][-]{section.5.3}{Balance global y competencias adquiridas}{chapter.5}% 41 +\BOOKMARK [1][-]{section.5.4}{L\355neas futuras}{chapter.5}% 42 +\BOOKMARK [0][-]{chapter.6}{Anexo}{}% 43 +\BOOKMARK [0][-]{appendix*.26}{Bibliograf\355a}{}% 44 diff --git a/memoria/memoria.pdf b/memoria/memoria.pdf index 07acb32..1e5a0a4 100644 Binary files a/memoria/memoria.pdf and b/memoria/memoria.pdf differ diff --git a/memoria/memoria.toc b/memoria/memoria.toc index 3bfa4b8..0f50f40 100644 --- a/memoria/memoria.toc +++ b/memoria/memoria.toc @@ -17,30 +17,29 @@ \contentsline {section}{\numberline {3.2}\ac {ROS}}{12}{section.3.2}% \contentsline {subsection}{\numberline {3.2.1}Gazebo 11}{12}{subsection.3.2.1}% \contentsline {subsection}{\numberline {3.2.2}Rviz}{12}{subsection.3.2.2}% -\contentsline {section}{\numberline {3.3}Plataformas de programación}{12}{section.3.3}% -\contentsline {subsection}{\numberline {3.3.1}Visual Studio Code}{12}{subsection.3.3.1}% -\contentsline {subsection}{\numberline {3.3.2}Github}{12}{subsection.3.3.2}% -\contentsline {section}{\numberline {3.4}Módulos}{12}{section.3.4}% -\contentsline {subsection}{\numberline {3.4.1}OpenCV}{12}{subsection.3.4.1}% -\contentsline {subsection}{\numberline {3.4.2}Matplotlib}{13}{subsection.3.4.2}% -\contentsline {subsection}{\numberline {3.4.3}MavROS}{13}{subsection.3.4.3}% -\contentsline {subsection}{\numberline {3.4.4}PX4}{13}{subsection.3.4.4}% -\contentsline {subsection}{\numberline {3.4.5}jderobot}{13}{subsection.3.4.5}% -\contentsline {chapter}{\numberline {4}Diseño}{14}{chapter.4}% -\contentsline {section}{\numberline {4.1}Recopilación inicial de datos con el exoesqueleto}{14}{section.4.1}% -\contentsline {section}{\numberline {4.2}Desarrollo de la obtención del PID teórico del exoesqueleto}{14}{section.4.2}% -\contentsline {subsection}{\numberline {4.2.1}Concepto de PID}{14}{subsection.4.2.1}% -\contentsline {subsection}{\numberline {4.2.2}Método de Ziegler-Nichols}{14}{subsection.4.2.2}% -\contentsline {subsection}{\numberline {4.2.3}PidTuner}{14}{subsection.4.2.3}% -\contentsline {section}{\numberline {4.3}Algoritmo del ejercicio de las sentadillas}{14}{section.4.3}% -\contentsline {section}{\numberline {4.4}Comparativa de resultados de redes neuronales de pose y exoesqueleto}{14}{section.4.4}% -\contentsline {subsection}{\numberline {4.4.1}Guardado de datos}{15}{subsection.4.4.1}% -\contentsline {subsection}{\numberline {4.4.2}Obtención de los ángulos}{15}{subsection.4.4.2}% -\contentsline {subsection}{\numberline {4.4.3}Análisis de los resultados obtenidos}{15}{subsection.4.4.3}% -\contentsline {chapter}{\numberline {5}Conclusiones}{16}{chapter.5}% -\contentsline {section}{\numberline {5.1}Objetivos cumplidos}{16}{section.5.1}% -\contentsline {section}{\numberline {5.2}Requisitos satisfechos}{16}{section.5.2}% -\contentsline {section}{\numberline {5.3}Balance global y competencias adquiridas}{16}{section.5.3}% -\contentsline {section}{\numberline {5.4}Líneas futuras}{16}{section.5.4}% -\contentsline {chapter}{\numberline {6}Anexo}{17}{chapter.6}% -\contentsline {chapter}{Bibliograf\'{\i }a}{19}{appendix*.26}% +\contentsline {section}{\numberline {3.3}Plataformas de programación}{13}{section.3.3}% +\contentsline {subsection}{\numberline {3.3.1}Visual Studio Code}{13}{subsection.3.3.1}% +\contentsline {subsection}{\numberline {3.3.2}Github}{13}{subsection.3.3.2}% +\contentsline {section}{\numberline {3.4}Módulos}{13}{section.3.4}% +\contentsline {subsection}{\numberline {3.4.1}OpenCV}{13}{subsection.3.4.1}% +\contentsline {subsection}{\numberline {3.4.2}Matplotlib}{14}{subsection.3.4.2}% +\contentsline {subsection}{\numberline {3.4.3}PX4 autopilot}{14}{subsection.3.4.3}% +\contentsline {section}{\numberline {3.5}Iris}{14}{section.3.5}% +\contentsline {chapter}{\numberline {4}Diseño}{16}{chapter.4}% +\contentsline {section}{\numberline {4.1}Recopilación inicial de datos con el exoesqueleto}{16}{section.4.1}% +\contentsline {section}{\numberline {4.2}Desarrollo de la obtención del PID teórico del exoesqueleto}{16}{section.4.2}% +\contentsline {subsection}{\numberline {4.2.1}Concepto de PID}{16}{subsection.4.2.1}% +\contentsline {subsection}{\numberline {4.2.2}Método de Ziegler-Nichols}{16}{subsection.4.2.2}% +\contentsline {subsection}{\numberline {4.2.3}PidTuner}{16}{subsection.4.2.3}% +\contentsline {section}{\numberline {4.3}Algoritmo del ejercicio de las sentadillas}{16}{section.4.3}% +\contentsline {section}{\numberline {4.4}Comparativa de resultados de redes neuronales de pose y exoesqueleto}{16}{section.4.4}% +\contentsline {subsection}{\numberline {4.4.1}Guardado de datos}{17}{subsection.4.4.1}% +\contentsline {subsection}{\numberline {4.4.2}Obtención de los ángulos}{17}{subsection.4.4.2}% +\contentsline {subsection}{\numberline {4.4.3}Análisis de los resultados obtenidos}{17}{subsection.4.4.3}% +\contentsline {chapter}{\numberline {5}Conclusiones}{18}{chapter.5}% +\contentsline {section}{\numberline {5.1}Objetivos cumplidos}{18}{section.5.1}% +\contentsline {section}{\numberline {5.2}Requisitos satisfechos}{18}{section.5.2}% +\contentsline {section}{\numberline {5.3}Balance global y competencias adquiridas}{18}{section.5.3}% +\contentsline {section}{\numberline {5.4}Líneas futuras}{18}{section.5.4}% +\contentsline {chapter}{\numberline {6}Anexo}{19}{chapter.6}% +\contentsline {chapter}{Bibliograf\'{\i }a}{21}{appendix*.26}%