miércoles, 24 de noviembre de 2010

Práctica 3

No tenemos un buen recuerdo en nuestro paso por esta práctica. Decidimos utilizar la clase Behavior para programar los diferentes comportamientos de HAL 9000.
El caso es que cuando metíamos nuestro código en java en la CPU, el robot no realizaba los objetivos que queríamos que hiciera.

  • Comportamiento de evitación de obstáculos usando sensores de contacto: en este caso, el robot tenía que avanzar todo recto hasta que encuentre un obstáculo. En ese momento utilizamos otro comportamiento HitObject, en el que retrocedía y giraba un angulo con el método rotate para esquivarlo. En la práctica, el robot cuando chocaba, retrocedía y giraba. Queríamos que cuando girase detectase mientras si se choca con otro objeto también ejecute el comportamiento HitObject, pero no lo hicimos por falta de tiempo. 
  • Comportamiento de evitación de obstáculos usando sensores de ultrasonidos: El robot tenía que hacer lo mismo que la práctica anterior pero usando el sensor de ultrasonidos del nxt en vez del de contacto. Para ello además utilizamos vectores para posicionar el objetivo y el obstáculo para poder esquivarlo y llegar a un punto determinado. En la práctica,  el robot no realizaba lo que queríamos. Resulta que el robot tras detectar el obstáculo por el sensor de ultrasonidos, realizaba comportamientos extraños como darse la vuelta (aunque el objetivo estaba delante).
  • Comportamiento ir hacia la luz: El robot debía seguir la luz de una linterna y si desviaba la luz el robot tenía que seguirla. En la práctica, no realizaba este comportamiento, iba hacia delante pasará lo que pasará. El problema es que el estado del robot se quedaba dentro de un búcle y no salia de él aunque la diferencia de luminosidad con respecto a los dos sensores (derecho y izquierdo) cambiará. 
  • Comportamiento ir hacia la luz evitando obstáculos: como no pudimos realizar el anterior hito, pues tampoco se pudimos hacer este. 

No hay comentarios:

Publicar un comentario