jueves, 11 de marzo de 2010

Navegación local evitando obstáculos

Hasta ahora el comportamiento de nuestro robot ha sido completamente iterativo y lineal. En esta última práctica hemos aprendido a programar el robot con varios comportamientos que compiten por controlarlo heredando de la clase Behavior.

Evitación de obstáculos usando sensores de contacto

El robot cuando choca con un objeto, retrocede, describe un arco a la derecha de él y vuelve a quedarse en el mismo ángulo de orientación. Con el "control" que poseemos ya sobre la clase TachoPilot no nos ha dado ningún quebradero de cabeza.



Evitación de obstáculos usando el sensor de ultrasonidos

En este apartado se suponía que el robot debía de evitar un obstáculo usando el algoritmo de VFF's, pero lo máximo que hemos llegado a conseguir es realizar un radar que escanea entre , y quedarnos con mal sabor de boca, al saber que estábamos muy cerca de que funcionase.

Comportamiento de ir hacia la luz

Gracias a este comportamiento, y a los dos sensores de luz de su primo el NCX el robot se orienta hacia la luz. No avanza ya que tenemos otro comportamiento básico "avanzar" que se encarga de ello. La función básica es eso, girar hasta encararse a la luz más fuerte.



Comportamiento de ir hacia la luz evitando obstáculos

Aquí nuestro pequeño artefacto ya tiene varios comportamientos compitiendo: el de avanzar, orientarse hacia la luz, y evitar un obstáculo. Para evitarlo hemos usado el comportamiento que se vale de los sensores de contacto, ya que el de UltraSonidos mediante VFF's no fuimos capaces.



No hay comentarios:

Publicar un comentario