Abstract:
Actualmente existen dos grandes programas de software en el rostro animatrónico de la
Universidad del Valle de Guatemala. Estos son: un sistema de reconocimiento de emociones
por medio de una cámara, y un sistema de chatbot con reconocimiento de voz y capaz de reproducir audio. Estos programas funcionan por separado, pero aún no existe una integración
para que el rostro animatrónico posea ambas características al mismo tiempo. Así mismo,
tampoco se cuenta con una interfaz gráfica de usuario unificada para su uso.
El presente trabajo tiene como objetivo el diseño de una aplicación que contenga integrado ambos programas al igual que una interfaz gráfica de usuario más formal y amigable
para un evento o una presentación. También se busca una forma de empaquetamiento del
programa para poder ser ejecutado en diferente hardware y así asegurar que pueda correr en
distintas computadoras. Como último objetivo, se busca crear un protocolo de comunicación
entre la computadora y el microcontrolador del rostro animatrónico.
Para lograr esto, primeramente se realizaron unas pruebas a los códigos existentes con
el objetivo de encontrar los escenarios ideales para la mejor ejecución de dichos programas.
Luego se realizó una transcripción de los programas basándose en la hoja de estilización
PEP-8 ya que al ser un programa tan grande y un proyecto que seguirá siendo trabajado,
se debe procurar que el código sea lo más comprensible posible. La creación de la interfaz
gráfica fue realizada con el lenguaje de Python utilizando la librería Kivy.
La interfaz gráfica se dividió en tres pantallas para una mejor presentación de todas las
partes de este proyecto. En la primera pantalla se colocaron la integración de ambos sistemas
existentes. En la segunda se colocó el estado de los motores al igual que una interacción
manual con los servomotores físicos. Por último se colocó la modificación de las base de
datos al igual que el entrenamiento de la red neuronal del chatbot.
Se utilizó la comunicación serial como vía para la creación del protocolo. Esta comunicación se hace a través del puerto UART del microcontrolador y un puerto UART de la
computadora. Así mismo se programó en un archivo ino el comportamiento del microcontrolador para la recepción de datos. Esto para lograr que el microcontrolador comprenda a
la perfección el protocolo de comunicación creado.
x
Por último, se empaquetó todas las librerías para poder ser ejecutadas en un ambiente
virtual de Python también conocida como venv. Se diseño un manual para poder instalarlo en
cualquier máquina que utilice Windows 10 u 11 y que cuente con permisos de administrador.
Al seguir los pasos sugeridos todas las librerías de Python se instalan automáticamente de
manera local en la carpeta seleccionada por lo que no afectará el funcionamiento de la
máquina en general. (LA)