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).

Descripción

Título: Desarrollo e implementación de una arquitectura software de un ayudante virtual
Autor/es:
  • Ruiz García, Juan
Director/es:
  • Matía Espada, Fernando
  • Alvarado Vásquez, Biel Piero Eloy
Tipo de Documento: Proyecto Fin de Carrera/Grado
Fecha: Julio 2017
Materias:
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Automática, Ingeniería Eléctrica y Electrónica e Informática Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (3MB) | Vista Previa

Resumen

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.

Más información

ID de Registro: 48926
Identificador DC: http://oa.upm.es/48926/
Identificador OAI: oai:oa.upm.es:48926
Depositado por: Biblioteca ETSI Industriales
Depositado el: 09 Ene 2018 15:13
Ultima Modificación: 09 Ene 2018 15:13
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM