Desarrollo e implementación de una arquitectura software de un ayudante virtual

Ruiz García, Juan (2017). Desarrollo e implementación de una arquitectura software de un ayudante virtual. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM).

Description

Title: Desarrollo e implementación de una arquitectura software de un ayudante virtual
Author/s:
  • Ruiz García, Juan
Contributor/s:
  • Matía Espada, Fernando
  • Alvarado Vásquez, Biel Piero Eloy
Item Type: Final Project
Date: July 2017
Subjects:
Faculty: E.T.S.I. Industriales (UPM)
Department: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (3MB) | Preview

Abstract

Este trabajo de fin de grado ha consistido en la elaboración de la arquitectura del software de un ayudante virtual. Dicho software servirá para representar en tres dimensiones la cara del robot Doris, del Centro de Automática y Robótica, de la misma forma en que lo haría la cara física, de tal manera que en caso de estar la cara inutilizada se pueda seguir con el desarrollo de aplicaciones que requieran el uso de la misma, sustituyendo la cara por una pantalla. Se trata de un ayudante virtual porque la función que va a realizar el programa será no sólo una interpretación y representación de datos, sino que será de ayuda a la hora de desarrollar nuevas aplicaciones, como entorno para hacer pruebas en caso de no estar la cara de Doris operativa. El programa está escrito en lenguaje C++, utilizando las librerías de OpenGL para la representación en tres dimensiones de los objetos de la cara. El diseño de las partes de la cara está hecho con Blender, un software gratuito. También se ha utilizado las librerías SOIL (Simple OpenGL Image Loader) para cargar texturas a partir de imágenes. La programación está hecha de forma modular, es decir, el desarrollo de cada clase programada se ha hecho de tal manera que sea sencillo realizar modificaciones de archivos puntuales sin afectar al resto del funcionamiento del programa, para así poder incluir fácilmente futuras modificaciones. En primer lugar se ha diseñado en tres dimensiones cada parte de la cara de Doris. Estos diseños con Blender pueden generar un archivo de coordenadas, también conocido como “mesh”. Este archivo de coordenadas contiene las coordenadas de cada punto del objeto y los puntos que comprenden cada triángulo de su superficie. El programa utiliza las librerías de OpenGL para, una vez leído el archivo y guardado las coordenadas, dibujar todos los triángulos en tres dimensiones dentro de una ventana. Una vez cargados los objetos, para realizar el movimiento de cada uno de ellos, se realiza la modificación de los puntos que conforman cada objeto. Esto se realiza con el propio lenguaje C++, sin la necesidad de librerías externas, de manera que basta con tener nociones de la física de un sólido para realizar los movimientos de los puntos. En cuanto a la comunicación, el robot enviará mensajes con formato JSON al programa, que contendrán las posiciones de cada motor de la cara que se desean alcanzar. Estos mensajes serán interpretados por el programa, el cual realizará la representación tridimensional de la cara en función a dichas señales. Al conectar el robot Doris a esta aplicación se ha ido comprobando qué parte de la cara necesitaba un reajuste, en cuando a velocidad de movimiento o posicionamiento, de manera que tras la modificación empírica de los parámetros de los motores virtuales, la representación ha sido la deseada. Como futuras modificaciones para el ayudante virtual de la cara de Doris, se podría desarrollar el mismo programa para ser representado en una Tablet, de manera que se pudiese colocar de manera inalámbrica el aparato sobre el robot para la representación. Además el programa está hecho de manera que sea fácil incluir nuevas clases o modificar las existentes, con lo que se podría incluir en futuras versiones del programa un menú para la modificación de ciertos parámetros, más funcionalidades con el ratón, o con el teclado, etc.

More information

Item ID: 48926
DC Identifier: http://oa.upm.es/48926/
OAI Identifier: oai:oa.upm.es:48926
Deposited by: Biblioteca ETSI Industriales
Deposited on: 09 Jan 2018 15:13
Last Modified: 24 Apr 2018 10:54
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM