<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alvaro</id>
		<title>Proyecto Butiá - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Alvaro"/>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Especial:Contribuciones/Alvaro"/>
		<updated>2026-04-03T22:53:13Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.2</generator>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Butia_listens.zip&amp;diff=5977</id>
		<title>Archivo:Butia listens.zip</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Butia_listens.zip&amp;diff=5977"/>
				<updated>2014-09-18T20:36:15Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: subió una nueva versión de «Archivo:Butia listens.zip»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plugin reconocimiento de voz&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga&amp;diff=5956</id>
		<title>Paleta para primitivas de reconocimiento de voz en tortuga</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga&amp;diff=5956"/>
				<updated>2014-09-16T13:31:13Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Desarrollo del problema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
* Florencia Clerici&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Andrés Aguirre&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en programar mediante instrucciones de voz funcionalidades básicas para el butiá.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
La idea nuestra de elegir este proyecto surge luego de una reunión a la que fuimos donde una maestra que trabaja con niños con capacidades diferentes planteó la necesidad de agregarle funcionalidades al Butiá para poder trabajar con sus alumnos.&lt;br /&gt;
Si bien el proyecto no puede resolver toda la problemática, la idea es que se pueda extender y que quede planteado el problema para motivar otras soluciones.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Tener un módulo de reconocimiento de voz&lt;br /&gt;
* Definir un gramática para poder usar las operaciones básicas del robot butiá en TurtleBot&lt;br /&gt;
* Integrar el módulo en el TurtleBot&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
Para realizar nuestro proyecto utilizamos una parte del proyecto CMU Sphinx. &lt;br /&gt;
CMU Sphinx es un sistemas de reconocimiento de voz desarrollado en la Universidad de Carnegie Mellon compuesto por una serie de programas para reconocimiento de voz. &lt;br /&gt;
En nuestro caso utilizamos PocketSphinx que es una biblioteca escrita en C para el reconocimiento de voz basada en SphinxBase, en particular elegimos esta biblioteca por ser liviana, especial si se necesita velocidad y portabilidad.&lt;br /&gt;
También usamos otra herramienta de CMU Sphinx llamada SphinxTrain que sirve para entrenar el modelo acústico. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Los modelos necesarios para el reconocimiento de voz son los siguientes:'''&lt;br /&gt;
&lt;br /&gt;
Modelo acústico: VoxForge[1]. Contiene la probabilidad de que aparezcan ciertas palabras en un determinado orden. &lt;br /&gt;
Diccionario fonético: Relaciona cada palabra con su fonética.&lt;br /&gt;
Gramática: Define el conjunto de combinaciones de palabras.&lt;br /&gt;
&lt;br /&gt;
'''¿Porque utilizamos VoxForge?'''&lt;br /&gt;
&lt;br /&gt;
A pesar de que existen corpus disponibles para poder crear modelos acústicos, la mayoría (especialmente los grandes y mejor construidos, con los que se podrían construir buenos modelos acústicos) deben ser adquiridos bajo licencias restrictivas. VoxForge es un proyecto que intenta  recoger transcripciones de textos mediante voz para ser usada como herramienta de reconocimiento de voz libre y de código abierto.&lt;br /&gt;
&lt;br /&gt;
'''Creando el modelo de lenguaje'''&lt;br /&gt;
Hay dos tipos de modelos para describir un lenguaje: Dependiendo de la aplicación se usará o bien una gramática (se definen una serie de frases, con un cierto formato) o un modelo de lenguaje (empleado para aplicaciones de dictado), en nuestro caso usamos una gramática ya que solo nos interesa reconocer unas frases determinadas.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gramatica.jpg]]&lt;br /&gt;
&lt;br /&gt;
'''Adaptando el modelo acústico'''&lt;br /&gt;
Si bien CMUSphinx tiene varios modelos acústicos muy bien preparados, los mismos no están en español. Incluso en voxForge no existe, todavía, un Corpus de voz o un modelo acústico en castellano para poder ser descargado. Lo que hicimos entonces fue grabar a varias personas diciendo las palabras que necesitamos para los comandos.&lt;br /&gt;
&lt;br /&gt;
Para poder adaptar el modelo fue necesario definir lo siguiente:&lt;br /&gt;
* butia-listens.dic: es donde se define el diccionario, todas las palabras que se reconocerán con su correspondiente fonética. &lt;br /&gt;
* butia-listens.fileids - Lista de archivos a entrenar&lt;br /&gt;
* butia-listens.transcription - Transcripción para entrenar, asocia las palabras con los archivos de audio&lt;br /&gt;
* wav - Carpeta con los archivos de audio de las voces grabadas&lt;br /&gt;
&lt;br /&gt;
Luego de tener todas estas cosas definidas adaptamos el modelo usando el script correspondiente [4]&lt;br /&gt;
&lt;br /&gt;
==Preparando la plataforma==&lt;br /&gt;
Pocketsphinx como ya mencionamos es una biblioteca que depende de otra llamada SphinxBase, por este motivo es que se necesita instalar las dos. Entonces, primero que nada instalamos las dos bibliotecas, siguiendo el tutorial en [3].&lt;br /&gt;
&lt;br /&gt;
Luego hay que instalar las dependencias para que puedan funcionar las bibliotecas, es necesario instalar las siguientes:&lt;br /&gt;
*gstreamer&lt;br /&gt;
*gstramer-python&lt;br /&gt;
*pocketshpix-plugin.x86_64&lt;br /&gt;
&lt;br /&gt;
==El programa==&lt;br /&gt;
Para hacer el programa nos basamos en [3]&lt;br /&gt;
Lo que hace el programa es escuchar el micrófono y usando pockesphinx y el modelo adaptado por nosotros devuelve el comando en texto. Luego según el comando elegido se llama al bloque correspondiente. Si el comando es ejecutar detiene el esuchar y ejecuta, si es limpiar borra todos los bloques y sigue escuchando para poder ingresar nuevamente los comandos. &lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos válidos:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Aprendimos como hacer una platea en turtlebots, como se trabaja con reconocimiento de voz y lo complejo que es esto. &lt;br /&gt;
También vimos la importancia de tener una buena base de datos de voz para que funcione bien, aunque no pudimos lograrlo.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Ampliar la gramática para abarcar mas funcionalidades del TurtleBot.&lt;br /&gt;
* Entrenar el modelo acústico con más personas y en ambientes con ruido.&lt;br /&gt;
* Ampliar a otros idiomas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5955</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5955"/>
				<updated>2014-09-16T13:17:05Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Desarrollo del problema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en &amp;quot;1 (mono)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando &amp;quot;adelante Butiá&amp;quot; y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt;&amp;lt;/nowiki&amp;gt; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nota:'''&lt;br /&gt;
&lt;br /&gt;
Luego de grabadas las demostraciones se agregó una tortuga de color azul y naranja que indica donde va a ser agregado el próximo bloque.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5795</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5795"/>
				<updated>2014-08-17T00:00:51Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Demostración */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en &amp;quot;1 (mono)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando &amp;quot;adelante Butiá&amp;quot; y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt;&amp;lt;/nowiki&amp;gt; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Nota:'''&lt;br /&gt;
&lt;br /&gt;
Luego de grabadas las demostraciones se agregó una tortuga de color azul y naranja que indica donde va a ser agregado el próximo bloque.&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5794</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5794"/>
				<updated>2014-08-16T20:14:33Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Tutorial de entrenamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en &amp;quot;1 (mono)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando &amp;quot;adelante Butiá&amp;quot; y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;lt;nowiki&amp;gt;&amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt;&amp;lt;/nowiki&amp;gt; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5793</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5793"/>
				<updated>2014-08-16T20:13:00Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Tutorial de entrenamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en &amp;quot;1 (mono)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando &amp;quot;adelante Butiá&amp;quot; y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;quot;&amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;quot;&amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt;&amp;quot; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5792</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5792"/>
				<updated>2014-08-16T20:11:36Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Tutorial de entrenamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en &amp;quot;1 (mono)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando &amp;quot;adelante Butiá&amp;quot; y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;quot;&amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;quot;&amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt;&amp;quot; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5791</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5791"/>
				<updated>2014-08-16T20:10:53Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Tutorial de entrenamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en &amp;quot;1 (mono)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando &amp;quot;adelante Butiá&amp;quot; y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5790</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5790"/>
				<updated>2014-08-16T20:09:39Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Tutorial de entrenamiento */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GRABACIÓN DE COMANDOS&lt;br /&gt;
1. Abrir un programa para grabar audio. Nosotros recomendamos usar Audacity.&lt;br /&gt;
2. Configurar Frecuencia del proyecto en «8000 Hz» y Canales de entrada en «1 (mono)».&lt;br /&gt;
3. Grabar el comando correspondiente.&lt;br /&gt;
4. Exportarlo en formato WAV en la carpeta Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm/wav/ con el nombre (nombre de la persona)-butia-listens-(numero del comando)&lt;br /&gt;
&lt;br /&gt;
Por ejemplo se puede grabar el comando «adelante Butiá» y exportarlo con el nombre tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
MODIFICACIÓN DE ARCHIVOS&lt;br /&gt;
1. Abrir la carpeta  Activities/TurtleBots.activity/plugins/butia_listens/asr/hmm&lt;br /&gt;
2. Abrir el archivo butia-listens.fileids y agregar una linea al final que contenga el nombre que se le asignó al archivo wav. &lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería tutorial-butia-listens-0001&lt;br /&gt;
&lt;br /&gt;
3. Abrir el archivo butia-listens.transcription y agregar una linea al final con el sigueinte formato: &amp;lt;s&amp;gt; (nombre del comando en mayúscula) &amp;lt;/s&amp;gt; ((nombre del archivo wav))&lt;br /&gt;
&lt;br /&gt;
En el ejemplo, la linea a agregar sería &amp;lt;s&amp;gt; ADELANTE BUTIA &amp;lt;/s&amp;gt; (tutorial-butia-listens-0001)&lt;br /&gt;
&lt;br /&gt;
APLICACIÓN DE CAMBIOS&lt;br /&gt;
Para que los pasos anteriores surtan efecto, es necesario correr dos comandos.&lt;br /&gt;
1. Abrir una terminal e ir a la ubicación Activities/TurtleBots.activity/plugins/butia_listens/asr&lt;br /&gt;
2. Intruducir el comando cd lm y a continuación introducir sh all.sh&lt;br /&gt;
3. Volver a la carpeta anterior mediante el comando cd ..&lt;br /&gt;
4. Introducir elcomando cd hmm y a continuación introducir sh all.sh&lt;br /&gt;
&lt;br /&gt;
Cuando el último comando termine de ejecutarse, los cambios quedarán aplicados.&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5789</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5789"/>
				<updated>2014-08-16T19:52:16Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki de la parte anterior del proyecto.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Tutorial de entrenamiento==&lt;br /&gt;
Como se puede leer en el enlace de la sección anterior, la forma de mejorar el reconocimiento del programa es mediante el entrenamiento. La forma de entrenar el programa es sumando archivos con los comandos grabados con distintas voces a los ya existentes. Cuanto más voces distintas con cada comando se graben, mejor se interpretará dicho comando a la hora de usar la paleta.&lt;br /&gt;
Para permitir que todo el que desee pueda contribuir al entrenamiento del programa, decidimos realizar un tutorial de entrenamiento, en el cual se muestran los distintos pasos a seguir para agregar su voz al entrenamiento de esta programa.&lt;br /&gt;
Para seguir el tutorial, será necesario contar con:&lt;br /&gt;
* Un programa de grabación de audio. Nosotros usamos y recomendamos Audacity, disponible para instalar en las XO.&lt;br /&gt;
* Tener ubicado el directorio de instalación del TurtleBots, ya que será necesario acceder a algunos archivos desde dicho directorio&lt;br /&gt;
&lt;br /&gt;
A continuación, un video donde se explican los pasos a seguir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;OG5ebQA8Rpk&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5788</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5788"/>
				<updated>2014-08-14T20:31:17Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Demostración */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki anterior.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá).&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;).&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;).&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5787</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5787"/>
				<updated>2014-08-14T20:30:14Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Demostración */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki anterior.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
&lt;br /&gt;
La demostración del comando &amp;quot;Deshacer&amp;quot; se separa en 5 casos:&lt;br /&gt;
* El último bloque insertado es uno simple (adelante/atrás/derecha/izquierda/detener Butiá)&lt;br /&gt;
* El último bloque insertado es uno compuesto por dos bloques (cualquiera de los &amp;quot;Esperar&amp;quot;)&lt;br /&gt;
* El último bloque insertado es una estructura de repetición (&amp;quot;Por siempre&amp;quot; o cualquiera de los &amp;quot;Repetir&amp;quot;)&lt;br /&gt;
* El último bloque insertado viene inmediatamente después de salir de una estructura de repetición (mediante el comando &amp;quot;Fin&amp;quot;). En este caso hay que notar que, luego de deshacer, el siguiente bloque que se inserte puede quedar adentro o afuera de la estructura de repetición. Nosotros decidimos que quede fuera y esto se puede ver en el video.&lt;br /&gt;
* El último caso se puede ver como una continuación del anterior, con la diferencia de que, luego de insertado el bloque afuera de la estructura de repetición, se deshace más de una vez. De esta forma, se borra el bloque exterior (como en el caso anterior) pero también algunos de los interiores. Lógicamente, al insertarse un bloque nuevo a continuación de lo mencionado, el mismo quedará adentro de la estructura de repetición.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;0mAKes-7qQI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Demostración completa'''&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en este proyecto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5786</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5786"/>
				<updated>2014-08-14T20:13:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Demostración */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki anterior.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
'''Subir y bajar scroll'''&lt;br /&gt;
&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Deshacer'''&lt;br /&gt;
La demostración del comendo &amp;quot;Deshacer&amp;quot; se separa en 5 casos, todos mostrados en el video de más abajo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5784</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5784"/>
				<updated>2014-08-13T20:09:14Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Paleta */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki anterior.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
'''Notas:'''&lt;br /&gt;
* El bloque escuchar no debe ser borrado y no debe estar conectado a ningún otro bloque&lt;br /&gt;
* Para poder utilizar el comando ejecutar es necesario que se haya colocado un bloque empezar, de modo que la ejecución comience desde el mismo&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5783</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5783"/>
				<updated>2014-08-13T19:54:14Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Desarrollo del problema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki anterior.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
Al implementar nuevas funcionalidades, fue necesario modificar la gramática original. La nueva gramática, luego de las modificaciones de esta iteración, es la siguiente:&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5782</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5782"/>
				<updated>2014-08-13T19:51:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Desarrollo del problema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema] de la wiki anterior.&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5781</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5781"/>
				<updated>2014-08-13T19:51:25Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Desarrollo del problema */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
En el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga proyecto anterior] se realizó una extensa investigación del área de reconocimiento de voz, recabándose información e implementándose la paleta en base a ella.&lt;br /&gt;
La completa explicación sobre el funcionamiento del reconocimiento de voz dentro del proyecto y sobre como fue implementado, se puede leer en la siguiente sección de la wiki anterior [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5780</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5780"/>
				<updated>2014-08-13T19:31:51Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Motivación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
Las principales dificultades que notamos a la hora de programar mediante voz con la [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga 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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5779</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5779"/>
				<updated>2014-08-13T19:30:40Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
El proyecto sobre el que trata esta wiki es una continuación del anteriormente mencionado y tiene como objetivo fundamental el mejorar las funcionalidades del anterior, así como agregar nuevas a la paleta.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5778</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5778"/>
				<updated>2014-08-13T19:27:28Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5777</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5777"/>
				<updated>2014-08-13T19:27:17Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
 La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5776</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5776"/>
				<updated>2014-08-13T19:26:49Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Introducción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
En el año 2013 comenzó un proyecto denominado [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga Paleta para primitivas de reconocimiento de voz en tortuga&lt;br /&gt;
] que tuvo como objetivo el agregar una paleta al TurtleBot que trabaje con reconocimiento de voz.&lt;br /&gt;
 La idea central de ese proyecto fue acercar el [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/P%C3%A1gina_principal Proyecto Butiá] a estudiantes con discapacidades físicas tales que no les permitan usar el mouse para manejar el TurtleBots. Se planteó entonces la opción de crear un módulo de reconocimiento de voz que permita programar las funcionalidades del robot mediante comandos de voz.&lt;br /&gt;
Dicho proyecto inició la investigación del área del reconocimiento de voz, creó la nueva paleta y agregó las primeras funcionalidades a la misma.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5748</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5748"/>
				<updated>2014-08-09T01:58:07Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Demo */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demostración==&lt;br /&gt;
A continuación se adjunta una demostración de la funcionalidad que permite subir y bajar el scroll mediante los comandos de voz &amp;quot;Subir&amp;quot; y &amp;quot;Bajar&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;pwnOLB_7D1I&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finalmente se adjunta una demostración de todas las funcionalidades agregadas en esta iteración.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;9kdOFACfQ0Y&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5733</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5733"/>
				<updated>2014-08-07T19:05:46Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5732</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5732"/>
				<updated>2014-08-07T18:59:15Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,2 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5731</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5731"/>
				<updated>2014-08-06T19:51:49Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]] (31,07 MB)&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Butia_listens.zip&amp;diff=5730</id>
		<title>Archivo:Butia listens.zip</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Butia_listens.zip&amp;diff=5730"/>
				<updated>2014-08-06T19:23:29Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: subió una nueva versión de «Archivo:Butia listens.zip»: Paleta de reconocimiento de voz para TurtleBots.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Plugin reconocimiento de voz&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5729</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5729"/>
				<updated>2014-08-06T19:11:23Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Referencias */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
&lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5728</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5728"/>
				<updated>2014-08-06T19:10:51Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Trabajo a futuro */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Agregar más funcionalidades básicas y más complejas, como por ejemplo guardado de proyecto, uso de cajas, estructuras &amp;quot;if&amp;quot; y sensores.&lt;br /&gt;
* Entrenar aún más el modelo acústico.&lt;br /&gt;
* Ampliar a otros idiomas.&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5727</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5727"/>
				<updated>2014-08-06T19:08:25Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Conclusiones */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Logramos implementar las funcionalidades que nos propusimos y concluímos que aún quedan varias funcionalidades importantes que desarrollar, como las estructuras &amp;quot;if-then-else&amp;quot; y la utilización de cajas.&lt;br /&gt;
Centramos nuestro trabajo en agregar algunas estructuras básicas, como repetir (de 1 a 10) y por siempre, y funcionalidades de edición, como movimiento del scroll y el deshacer. Esta última es fundamental, dado que el reconocimiento de voz es aún inexacto y es necesario poder volver atrás sin necesidad de borrar todo.&lt;br /&gt;
El otro objetivo que nos propusimos fue el de mejorar el entrenamiento de las funcionalidades preexistentes.&lt;br /&gt;
Logramos duplicar la base de datos de voz y mejorar el reconocimiento adecuado de los comandos anteriores. Sin embargo, notamos que todavía hace falta trabajo de entrenamiento para que la paleta pueda ser usada convenientemente.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Ampliar la gramática para abarcar mas funcionalidades del TurtleBot.&lt;br /&gt;
* Entrenar el modelo acústico con más personas y en ambientes con ruido.&lt;br /&gt;
* Ampliar a otros idiomas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5726</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5726"/>
				<updated>2014-08-06T18:48:32Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Motivación */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Aprendimos como se trabaja con reconocimiento de voz y lo complejo que es esto. &lt;br /&gt;
También vimos la importancia de tener una buena base de datos de voz para que funcione bien, aunque no pudimos lograrlo aún.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Ampliar la gramática para abarcar mas funcionalidades del TurtleBot.&lt;br /&gt;
* Entrenar el modelo acústico con más personas y en ambientes con ruido.&lt;br /&gt;
* Ampliar a otros idiomas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5725</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5725"/>
				<updated>2014-08-06T18:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
El proyecto consiste en agregar nuevas funcionalidades y mejorar, mediante entrenamiento, las existentes en el proyecto anterior.&lt;br /&gt;
&lt;br /&gt;
==Motivación==&lt;br /&gt;
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á.&lt;br /&gt;
&lt;br /&gt;
==Objetivos==&lt;br /&gt;
* Agregar varias funcionalidades básicas a las ya existentes.&lt;br /&gt;
* Permitir al usuario una más cómoda edición del código, mediante comandos para mover del scroll y la operación &amp;quot;Deshacer&amp;quot;.&lt;br /&gt;
* Agregar más entrenamiento a las operaciones pre existentes, con el fin de mejorar la capacidad de reconocimiento de las mismas.&lt;br /&gt;
&lt;br /&gt;
==Desarrollo del problema==&lt;br /&gt;
''Articulo principal:'' [http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php/Paleta_para_primitivas_de_reconocimiento_de_voz_en_tortuga#Desarrollo_del_problema Paleta para primitivas de reconocimiento de voz en tortuga: Desarrollo del problema]&lt;br /&gt;
&lt;br /&gt;
'''Gramática:'''&lt;br /&gt;
La gramática actual es la siguiente:&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Gram.jpg]]&lt;br /&gt;
&lt;br /&gt;
==Paleta==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:PaletaEscuchar.png]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
Luego simplemente se comienza a decir las instrucciones. &lt;br /&gt;
&lt;br /&gt;
'''Comandos soportados desde antes:'''&lt;br /&gt;
* Empezar&lt;br /&gt;
* Adelante Butiá&lt;br /&gt;
* Atrás Butiá&lt;br /&gt;
* Derecha Butiá&lt;br /&gt;
* Izquierda Butiá&lt;br /&gt;
* Esperar [número] donde número es la cantidad de tiempo a esperar de 1 a 10&lt;br /&gt;
* Limpiar: Borra todos los comandos &lt;br /&gt;
* Ejecutar: Deja de escuchar y ejecuta el programa &lt;br /&gt;
&lt;br /&gt;
'''Comandos nuevos:'''&lt;br /&gt;
* Bajar: Baja el scroll&lt;br /&gt;
* Subir: Sube el scroll&lt;br /&gt;
* Deshacer&lt;br /&gt;
* Por siempre&lt;br /&gt;
* Repetir [número] donde número es la cantidad de veces a repetir de 1 a 10&lt;br /&gt;
* 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&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Ejemplo de ejecutar: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;UVaBrpXh3s4&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aclaración: El problema del ultimo bloque que agrega luego de recibir el comando ejecutar ya fue arreglado.&lt;br /&gt;
&lt;br /&gt;
Ejemplo de limpiar bloques: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;85LtJ-DWd5Q&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ejemplo de instrucciones con error al final: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;youtube&amp;gt;A5dZr13dnHY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Conclusiones==&lt;br /&gt;
Aprendimos como se trabaja con reconocimiento de voz y lo complejo que es esto. &lt;br /&gt;
También vimos la importancia de tener una buena base de datos de voz para que funcione bien, aunque no pudimos lograrlo aún.&lt;br /&gt;
&lt;br /&gt;
==Trabajo a futuro==&lt;br /&gt;
* Ampliar la gramática para abarcar mas funcionalidades del TurtleBot.&lt;br /&gt;
* Entrenar el modelo acústico con más personas y en ambientes con ruido.&lt;br /&gt;
* Ampliar a otros idiomas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Referencias==&lt;br /&gt;
[1] Modelo acustico VoxForge: http://www.voxforge.org/es&lt;br /&gt;
[2] Tutorial Pocketsphinx http://cmusphinx.sourceforge.net/wiki/tutorialpocketsphinx &lt;br /&gt;
[3] Using PocketSphinx with GStreamer:  http://cmusphinx.sourceforge.net/wiki/gstreamer&lt;br /&gt;
[4] Adapting the default acoustic model: http://cmusphinx.sourceforge.net/wiki/tutorialadapt&lt;br /&gt;
&lt;br /&gt;
==Plugin==&lt;br /&gt;
[[Archivo:Butia_listens.zip‎ ]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Gram.jpg&amp;diff=5724</id>
		<title>Archivo:Gram.jpg</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Gram.jpg&amp;diff=5724"/>
				<updated>2014-08-06T18:27:14Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: Gramática versión 2.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gramática versión 2.0&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5543</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5543"/>
				<updated>2014-07-02T21:55:09Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Actas==&lt;br /&gt;
===Primera reunión - 02/07/2014===&lt;br /&gt;
Acordamos realizar una investigación sobre la estructura interna del TortugArte, para saber de que forma encarar la ampliación del proyeto y la inclusión de bloques más complejos que los ya controlados por el plugin. Por ejemplo: bloques de control, borrado de bloques individuales.&lt;br /&gt;
&lt;br /&gt;
El objetivo para la sigueinte reunión es definir el alcance del proyecto en base a lo investigado anteriormente.&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5542</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5542"/>
				<updated>2014-07-02T21:50:02Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;br /&gt;
&lt;br /&gt;
==Actas==&lt;br /&gt;
'''Primera reunión - 02/07/2014'''&lt;br /&gt;
Acordamos realizar una investigación sobre la estructura interna del TortugArte, para saber de que forma encarar la ampliación del proyeto y la inclusión de bloques más complejos que los ya controlados por el plugin. Por ejemplo: bloques de control, borrado de bloques individuales.&lt;br /&gt;
El objetivo para la sigueinte reunión es definir el alcance del proyecto en base a lo investigado anteriormente.&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5541</id>
		<title>Grupo 3</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_3&amp;diff=5541"/>
				<updated>2014-07-01T19:19:28Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: Página creada con '==Integrantes== * Álvaro Pardo * Fernando Penadés  ==Tutor== * Mercedes Marzoa'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Integrantes==&lt;br /&gt;
* Álvaro Pardo&lt;br /&gt;
* Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
==Tutor==&lt;br /&gt;
* Mercedes Marzoa&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:VideoEjercicio1.zip&amp;diff=5115</id>
		<title>Archivo:VideoEjercicio1.zip</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:VideoEjercicio1.zip&amp;diff=5115"/>
				<updated>2014-04-07T14:29:13Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: subió una nueva versión de «Archivo:VideoEjercicio1.zip»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5111</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5111"/>
				<updated>2014-04-07T13:09:13Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio1.zip]]&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio2.zip]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5110</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5110"/>
				<updated>2014-04-07T13:08:49Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#INDEX Índice de contenido&lt;br /&gt;
== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio1.zip]]&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio2.zip]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5109</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5109"/>
				<updated>2014-04-07T13:05:54Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio1.zip]]&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio2.zip]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:VideoEjercicio1.zip&amp;diff=5108</id>
		<title>Archivo:VideoEjercicio1.zip</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:VideoEjercicio1.zip&amp;diff=5108"/>
				<updated>2014-04-07T13:05:05Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:VideoEjercicio2.zip&amp;diff=5107</id>
		<title>Archivo:VideoEjercicio2.zip</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:VideoEjercicio2.zip&amp;diff=5107"/>
				<updated>2014-04-07T12:59:08Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5106</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5106"/>
				<updated>2014-04-07T12:58:57Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Programa 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso: [[Media:VideoEjercicio2.zip]]&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5066</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5066"/>
				<updated>2014-04-06T21:53:51Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Integrantes: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5062</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5062"/>
				<updated>2014-04-06T20:31:08Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Integrantes: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
&lt;br /&gt;
Ezequiel Sanchez&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5061</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5061"/>
				<updated>2014-04-06T20:30:28Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: /* Programa 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
Ezequiel Sanchez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen1.png]]&lt;br /&gt;
&lt;br /&gt;
Toma un numero entre 1 y 6 y saca esa cantidad de fotos, esperando 2 segundos entre cada captura.&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imagen1.png&amp;diff=5060</id>
		<title>Archivo:Imagen1.png</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imagen1.png&amp;diff=5060"/>
				<updated>2014-04-06T20:29:12Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5059</id>
		<title>Grupo laboratorio 3 2014</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Grupo_laboratorio_3_2014&amp;diff=5059"/>
				<updated>2014-04-06T20:12:27Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: Página creada con '== Integrantes: ==    Alvaro Pardo Fernando Penadés Ezequiel Sanchez   == Programa 1 ==    Código fuente del ejercicio: Media:Ejercicio1.tb.zip  Video de uso:   == Program...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Integrantes: ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alvaro Pardo&lt;br /&gt;
Fernando Penadés&lt;br /&gt;
Ezequiel Sanchez&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programa 1 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Código fuente del ejercicio: [[Media:Ejercicio1.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Programa 2 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Imagen2.png]]&lt;br /&gt;
&lt;br /&gt;
El programa obtiene la posición &amp;quot;x&amp;quot; e &amp;quot;y&amp;quot; del mouse y el &amp;quot;brillo de la cámara&amp;quot;. Luego traza lineas de largo &amp;quot;x modulo 100&amp;quot; y gira cuantos grados indique el &amp;quot;brillo de la cámara&amp;quot;. Este proceso lo repite &amp;quot;y modulo 100&amp;quot; veces.&lt;br /&gt;
&lt;br /&gt;
Cógido fuente del ejercicio: [[Media:Ejercicio2.tb.zip]]&lt;br /&gt;
&lt;br /&gt;
Video de uso:&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imagen2.png&amp;diff=5058</id>
		<title>Archivo:Imagen2.png</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Imagen2.png&amp;diff=5058"/>
				<updated>2014-04-06T20:01:07Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	<entry>
		<id>http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Ejercicio2.tb.zip&amp;diff=5057</id>
		<title>Archivo:Ejercicio2.tb.zip</title>
		<link rel="alternate" type="text/html" href="http://www.fing.edu.uy/inco/proyectos/butia/mediawiki/index.php?title=Archivo:Ejercicio2.tb.zip&amp;diff=5057"/>
				<updated>2014-04-06T19:48:17Z</updated>
		
		<summary type="html">&lt;p&gt;Alvaro: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Alvaro</name></author>	</entry>

	</feed>