Capitulo VI. Pruebas y Conclusiones 6.1. Pruebas En el siguiente

Anuncio
Capitulo VI. Pruebas y Conclusiones
6.1. Pruebas
En el siguiente apartado se describirán las pruebas que se le realizaron tanto al robot, como al sistema robot dirigido por voz. Estas pruebas nos permitieron ver fallas en el sistema, exactitud en el robot, y deficiencias de la gramática al momento de reconocer la voz.
6.1.1. Prueba uno del método libre, comandos de voz.
Esta prueba consiste en que el robot se desenvuelve en el ambiente pre­definido de una manera libre por un tiempo de cinco a diez. El robot se encuentra en el centro del ambiente. Ver figura 6.1.
Figura 6.1 Prueba uno.
Los resultados obtenidos de esta prueba fue que el robot estuvo deambulando por el ambiente de una manera libre como era de esperarse en esta prueba, el único detalle fue que tuve que apagarlo el robot de una manera manual, ya que no se encontró en una ninguna situación critica o de pánico. Fue por esto que le reduje la sensibilidad del robot en el método libre. Si antes necesitaba de 4 interacciones comparando la distancia que es menor a 30 cm. para solicitar la ayuda del usuario ahora con solo dos interacciones pide la ayuda del usuario. Otro de los resultados obtenidos de esta prueba fue que al momento del pronunciar los comandos “Free” y/o “Exit”, nos dimos cuenta que la gramática presentó ciertos conflicto ya que estas palabras se pronuncian de manera similar. Fue por esto que decidí cambiar la palabra “Free” por “Alone” además que agregue prioridades dentro de la gramática para saber que palabra se puede pronunciar un mayor número de veces.
6.1.2 Prueba dos del método libre, comando de voz con tres objetos.
A diferencia de la primera prueba, esta prueba cuenta con tres objetos geométricos (un prisma rectangular, un prisma triangular y un cubo), que serán obstáculos para el robot dentro del ambiente y se le indicara al robot que active el método libre. En la primera corrida el robot se encuentra ubicado en el centro, en la segunda corrida se encuentra ubicado en posición diagonal, el la tercera empezara desde una esquina y en la cuarta corrida el robot estará de frente un el prisma rectangular. Ver figura 6.2. 1
2
3
4
Figura 6.2 Prueba dos métodos libres, comando de voz tres objetos.
6.1.2.1 Tabla de resultados de la prueba dos.
Corrida
s
1
Duración método libre.
7 min.
2
3 min.
3
2 min.
4
4 min.
Observaciones
La dirección se atoro, tuve que moverla manualmente. Colisión con el prisma triangular del lado derecho del robot. Colisión con una pared del lado izquierdo.
Se detuvo el método libre porque el robot colisionó con la pared por la parte trasera. Colisionó con el prisma rectangular por la parte izquierda y con el prisma rectangular del lado derecho.
Se detuvo el método libre porque el robot colisionó con la pared por la parte trasera. Se detuvo el método libre porque el robot colisionó con una de las paredes por la parte trasera del robot. Figura 6.3 Tabla de Resultados prueba dos.
Como podemos ver en la Figura 6.3, el robot en todas las diferentes corridas colisiona con uno de los tres objetos o con una de las paredes, esto es porque esta programado de tal forma que el robot cuando no encuentre una manera de solucionar el problema solicite la ayuda del usuario.
6.1.3 Prueba tres del método libre, comando de voz con ocho objetos.
En esta prueba el robot se encuentra en un ambiente de ocho objetos los cuales son los siguientes:
•
Dos tetraedros de 15 x15 cm.
•
Dos cubos de 15 x 15 cm.
•
Un prisma triangular de 30 x 15 cm.
•
Dos prismas rectangulares de 30 x 15 cm.
•
Un prisma rectangular de 20 x 15 cm.
Estos están acomodados en forma de un callejón con una marcada con los dos tetraedros. El robot realizara tres diferentes corridas todas hacia el callejón si salida. En la corrida uno el robot iniciara de en medio de los tetraedros. En la segunda del lado derecho de los tetraedros y en la tercera del lado izquierdo. Ver figura 6.4.
1
3
2
Figura 6.4. Prueba tres métodos libres, comando de voz con ocho objetos.
6.1.3.1 Tabla de resultados de la prueba tres.
Corrida Duración método s
libre.
1
2 min.
2
4 min.
3
5 min.
Observaciones
El robot se detuvo después del cuarto intento por salir del callejón, esto paso cuando colisionó por la parte trasera con uno de los dos cubos.
El robot sale del callejón, al minuto dos, en el tercer minuto colisiona con el tetraedros del lado inverso de donde inicio, después la dirección se atora y tuve que moverla manualmente. Finalmente el robot se detiene en el minuto cuatro cuando colisiona con una de las paredes por la parte trasera.
El robot sale del callejón sin ningún problema. Y da una vuelta completa. Vuelve a entrar al callejo y al momento de enfrentarse con uno de los cubos no logra detectarlo ya que este cubo lo enviste del lado donde esta la división, entonces el sensor de ultrasonido no puede recibir la señal de regreso que necesita para medir la distancia. Se podría decir que es otro lado ciego del robot.
Figura 6.5 Tabla de resultados prueba tres.
Cabe resaltar que en esa prueba el robot realiza un comportamiento no esperado. En la corrida numero tres el robot enviste uno de los cubos de 15 x 15, pero lo enviste en una de sus extremidades. Esto quiere decir que desvía la señal del sensor y este no puede reconocer que tiene un objeto de enfrente. Después que empuja este objeto hasta una de las paredes entonces si recibe la señal ya que el cubo se acomoda de tal forma que el sensor se encuentra con una de las paredes del cubo. Ver figura 5.6.
Esta fue la razón por la cual el robot enviste al cubo, dado que la señal emitida por el sensor de ultrasonido fue desviada por la posición del dicho cubo y también porque el sensor de ultrasonido se encontraba a una distancia demasiado corta con respecto al objeto. Impidiendo de esta manera que el receptor pueda recibir dicha señal.
Figura 6.6. Punto ciego del sensor de ultrasonido.
No puede recibir la señal.
6.1.4 Prueba cuatro reconocedor de voz y ejecución de comandos.
Esta prueba esta enfocada al modo dirigido el cual consta de una serie de comandos de voz que el usuario le puede decir al robot. En esta prueba se registraron 30 comandos de voz que la computadora decodifica y envía dichos comandos al robot para ser ejecutados en tiempo real. Lo resultados de dicha prueba se muestran en la siguiente tabla. Ver figura 6.7
Como podemos observar en la figura 6.7 existen algunos comandos que se pronuncian de manera similar como lo son “left” y “exit” o “go all” y
“go two”. Este tipo de problema surge porque al momento de decodificar la voz la herramienta sphinx 4 regresa el mejor resultado según lo analizado. Y si una palabra se pronuncia mal entonces se puede tener este tipo de confusiones.
6.2. Conclusiones.
Desde el inicio de este proyecto de tesis se deseaba que el humano interactuara con el robot de manera similar a como lo hacemos los seres humanos cotidianamente, esto es por medio la voz. Utilizando palabras, el manejando de una gramática pre­definida y así mismo una lingüística. Esta interacción entre el humano y el robot se cumple satisfactoriamente en este proyecto, dado que el humano le dice al robot que es lo que debe de hacer y como lo debe de hacer, esto por medio de los comandos de voz pre­definidos. Para que esta interacción se lleve acabo satisfactoriamente, no solo se requiere que el humano le diga al robot que hacer por medio de la voz, sino que también el robot se debe poder comunicar con el humano. En este caso el robot tiene la capacidad de emitir sonidos pre­definidos, que le permiten comunicarse con el ser humano de una manera primitiva. Aunque esta forma de comunicación es primitiva, no deja de ser una forma de comunicar comunicación.
Es por esto que me atrevo a concluir que tenemos todo lo necesario para que el ciclo básico de la comunicación se lleve acabo de una manera satisfactoria, dado que tenemos un emisor, un mensaje, y un receptor. Que en este proyecto puede ser tanto el humano utilizando la voz, como el robot emitiendo señales de alarma cuando se encuentra en una situación crítica o de pánico. Como vemos en el párrafo anterior, al momento de que se concreta una comunicación entre el humano y el robot, estamos interactuado de manera inmediata y en el caso contrario, cuando el robot emite una señal de alarma porque se encontró en una situación critica o de pánico ya que no pudo resolver un problema y requiere de la ayuda de un humano, entonces la interacción se invierte a robot y humano.
Otro de los objetivos principales de es te proyecto de tesis fue implementar un robot en forma de auto utilizando el kit de LEGO Mindstorm NXT. Cuando adquirí dicho kit me di cuenta que de que este kit viene mas enfocado a mecanismos mas complejos y no tanto a mecanismos estilo automóvil, aun así al desarrollar los prototipos me di cuenta que se requería de mucho tiempo e imaginación para poder desarrollar un robot en forma de auto. Uno de los cambios más importantes que le realice al prototipo tres, es el sistema de dirección del robot, ya que el mecanismo desarrollado anteriormente en dicho prototipo, era demasiado inconsistente al momento de virar hacia la derecha o a la izquierda. Incluso al momento de centrar la dirección causaba muchos conflictos.
Tomando en cuenta que los motores del NXT son mas exactos que los del kit anterior (RCX), dado que estos tiene integrado un sensor de rotación, decidí implementar un sistema de dirección, programado por rotaciones, que me permitió ser mas exacto al momento de virar a la derecha o a la izquierda, incluso a centrar la dirección. Fue por esta razón que la dirección cambio de la siguiente manera. Ver figura 6.8.
1
2
Figura 6.8 Dirección delantera.
El robot cuenta con dos estados el dirigido y el autónomo propuestos inicialmente en este proyecto. En el estado dirigido se cuenta con 9 comandos básicos de voz que nos permiten dirigir al robot. Como se muestra en las pruebas anteriores estos comandos pueden tener cierto un grado de confusión con respecto al reconocimiento de voz, pero por lo visto en las pruebas me atrevo a concluir que un 85% de las veces que pronunciamos comandos de voz se reconocen y ejecutan de manera correcta. Para reducir la probabilidad de que se equivoque el reconocedor de voz se debe de pronunciar los comandos de voz de manera clara. Esto nos permitirá tener una probabilidad mayor al momento de ejecutar los comandos de manera correcta. Otra de las cosas a observar en dichas pruebas es que el comando que nosotros pronunciamos se ejecuta en tiempo real, en no más de 2 segundos, esto es el tiempo más largo que se tarda el sistema en decodificar el comando de voz y enviárselo al robot para que este sea ejecutado. Por lo mencionado anteriormente me atrevo a concluir que el robot ejecuta los comandos en tiempo real.
Por parte del método autónomo, el robot es capas de evadir objetos y buscar soluciones viables para resolver situaciones de pánico o criticas. Como se puede notar en las primeras tres pruebas mencionadas anteriormente. El robot tiene ciertas limitaciones que no le permiten desempeñarse al de la manera que se esperaba Dentro de esas limitaciones podemos encontramos las siguientes:
•
Solo cuenta con un sensor de ultrasonido.
•
El tamaño del robot es de 30 cm. Dado que los motores que trae el nuevo kit de LEGO Mindstorm son de 10 cm. aproximadamente. Y el diseño del robot cuenta con tres de estos motores dos en la parte trasera como tracción y uno en la parte delantera que hace la función de la dirección. Es por esto que el robot requiere un espacio amplio para desempeñarse de una manera adecuada.
•
Al momento de utilizar “threads” en este método me marcan un error de “Deprecated”. Y eso nos genera errores en todo el sistema, es por esto que decidí no implementarlos y tuve que validar los parámetros necesarios dentro del mismo método.
•
Es por lo cual el método autónomo requiere de la intervención del usuario para ser interrumpido, también pude ser interrumpido este método si el robot se encuentre en una situación que no pueda resolver por si solo. En este proyecto se implemento el patron de diseño de software llamado command de manera satisfactoria ya que nos permite manipular los comandos del robot de manera independiente, esto sin afectar la estructura básica del sistema.
Como se ha mencionado en los capítulos anteriores, se puede ver que este sistema esta estructurado de tal forma que se puede ajustar a las necesidades de los usuarios. Este proyecto de tesis fue pensado en un futuro no muy lejano donde los robots interactúen con el ser humano de manera cotidiana. Para comenzar con los avances dentro del ámbito de la robótica y LEGO Mindstorm existe una cierta inquietud por los rumores que han surgido sobre la generación de un nuevo LEGO Mindstorm NXT Versión 2.0. La cual contara con las siguientes características:
1. Un gigabyte de memoria en el ladrillo programable.
2. Seis servo motores.
3. El sensor de ultrasonido será remplazado con un sensor estilo "GPS".
4. Tres sensores de tacto.
5. Se remplazara el NXT­G por el NXT­V con una serie de importantes mejoras.
6. Se reducirá el número de piezas “Technic” de 482 a 225
7. Un reproductor de archivos mp3 dentro del ladrillo programable
8. Se pretende cambiar el Bluetooth por la comunicación wireless 802.11g, que actualmente domina dentro de las comunicaciones inalámbricas.
Se dice que se liberara esta versión de LEGO Mindstorm NXT en abril del próximo año, y tendrá un costo aproximado de 450 dólares. [WEB 12]
Como podemos ver con está nueva versión de LEGO Mindstorm no solo se podría hacer un robot en forma de auto con tres motores como lo conforma este proyecto, dos de tracción y uno de dirección, sino que se podría tener tracciones y direcciones independientes que le permitan a un robot convertirse en un 4x4, un todo terreno, se le podrían implementar brazos mecánicos, palas mecánicas y otro tipo de aditamentos a un robot en forma de auto.
Con el sensor del estilo GPS se podría darle rutas específicas al robot de tal forma que siga una cierta trayectoria, esto removería los problemas que han surgido con la ubicación de los robots. Con la comunicación wireless 802.11 se tendría un rango mas amplio de alcance entre el robot y la computadora que lo controle.
Dentro del diseño del robot implementado en esta tesis, se le podría agregar otro sensor de ultrasonido por la parte trasera, esto para tener una vista tanto en la parte delantera como en la parte trasera, los ayudaría a que el robot al momento de retroceder no colisione con ningún objeto.
Otra de las cosas que se puede implementar en este proyecto de tesis es el agregar comandos de una manera fácil y sencilla esto porque el sistema cuenta con un patron de diseño de software que nos permite agregar y eliminar comandos de forma rápida y practica y sin afectar la estructura básica del sistema. Así mismo se pueden desarrollar comando compuestos que le permitan al robot resolver ciertas tareas en específico. Como lo es el método “free” en este caso, se podría implementar un método en el cual el carro encuentre un espacio donde se pueda estacionar de manera adecuada. Otra de las cosas que se podrían hacer con esta tesis es que el robot se desenvuelva en un ambiente diferente. Con ciertos retos a resolver he implementando otro tipo de componentes como rampas, laberintos, acarreo de objetos de un lado a otro, Interactuar con otros robots del mismo estilo y diseño como lo son los NXT.
Por parte del reconocimiento de voz se pondría implementar otro tipo de gramática, la cual nos permitiera tener mejor comunicación con el robot, así mismo se podría implementar un reconocedor de voz en español, esto facilitaría a los usuarios la interacción con el robot.
Para concluir se puede notar que en este proyecto existe un amplio repertorio de cosas que se pueden hacer con el, y sobre todo que se puede ampliar la gama de comandos compuestos para realizar tareas específicas.
Descargar