Grupo 3
Contenido
Integrantes
- Álvaro Pardo
- Fernando Penadés
Tutor
- Mercedes Marzoa
Introducción
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.
Motivación
Nos pareció buena idea continuar con este proyecto, con el fin de mejorarlo y acercarlo más a el objetivo final de insertarlo en el mundo educativo, dando así nuevas posibilidades a los chicos con capacidades diferentes de trabajar con el robot Butiá. Las principales dificultades que notamos a la hora de programar mediante voz con la paleta anterior, pasaban por la imposibilidad de desplazarse por la pantalla (moviendo el scroll) y de deshacer. Creímos conveniente orientar nuestro trabajo hacía la implementación de dichas funcionalidades.
Objetivos
- Agregar varias funcionalidades básicas a las ya existentes.
- Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación "Deshacer".
- Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.
Desarrollo del problema
Articulo principal: Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema
Gramática: La gramática actual es la siguiente:
Paleta
La paleta como se ve en la imagen consta de un solo bloque llamado escuchar. Lo que hace este bloque es iniciar el programa que escucha. Luego simplemente se comienza a decir las instrucciones.
Comandos soportados desde antes:
- Empezar
- Adelante Butiá
- Atrás Butiá
- Derecha Butiá
- Izquierda Butiá
- Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10
- Limpiar: Borra todos los comandos
- Ejecutar: Deja de escuchar y ejecuta el programa
Comandos nuevos:
- Bajar: Baja el scroll
- Subir: Sube el scroll
- Deshacer
- Por siempre
- Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10
- Fin: Comando utilizado para terminar de poner bloques dentro de una estructura de repetición (Repetir o Por siempre) y comenzar a ponerlos abajo de la misma
Demo
Ejemplo de ejecutar:
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.
Ejemplo de limpiar bloques:
Ejemplo de instrucciones con error al final:
Conclusiones
Aprendimos como se trabaja con reconocimiento de voz y lo complejo que es esto. También vimos la importancia de tener una buena base de datos de voz para que funcione bien, aunque no pudimos lograrlo aún.
Trabajo a futuro
- Ampliar la gramática para abarcar mas funcionalidades del TurtleBot.
- Entrenar el modelo acústico con más personas y en ambientes con ruido.
- Ampliar a otros idiomas
Referencias
[1] Modelo acustico VoxForge: http://www.voxforge.org/es [2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx [3] Using PocketSphinx with GStreamer: http://cmusphinx.sourceforge.net/wiki/gstreamer [4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt