miércoles, 2 de marzo de 2011

Práctica 3 (1ª Sesión)

En esta práctica 3 jugaremos con los sensores de luz y ultrasonido mediante la programación de comportamientos. Cada comportamiento debe disponer de tres metodos, el primero de ellos es la toma de control takecontrol( ) que tendrá condición que debe cumplirse para llevar a cabo el comportamiento; después tenemos el método action( ) donde tendremos las instrucciones que se ejecutarán cuando el comportamiento esté activado, y por último, el método supress( ) que finalizará el código que ejecuta el método action( ).

En esta primera sesión hemos comenzado con los dos ejercicios que consideramos algo más asequibles, que son el de un comportamiento de evitación de obstáculo mediante sensor de contacto, donde tenemos los siguientes comportamientos:

         DriveForward
                  takecontrol( ): true
                  action( ): indicamos a los motores que vayan hacia adelante
                  supress( ): indicamos a los motores que se detengan

         HitWall
                  takecontrol( ): si el botón de contacto es presionado
                  action( ): indicamos que retroceda un poco para poder esquivar el objeto
                  supress( ): indicamos a los motores que se detengan



Esquivar obstáculo mediante steer


Esquivar obstáculo mediante rotate

Y el otro ejercicio que hemos visto más asequible es el del comportamiento de sigue-luz, en el que mediante dos sensores de luz nuestro robot deberá desplazarse siempre hacia donde mayor luz esté recibiendo; en este caso tenemos los siguientes comportamientos:

         DriveForward
                  takecontrol( ): true
                  action( ): indicamos a los motores que vayan hacia adelante
                  supress( ): indicamos a los motores que se detengan
         TomaMedidas
                  takecontrol( ): si el valor absoluto de la diferencia entre el valor de cada sensor de luz es mayor que un determinada cantidad, tomará el control
                  action( ): según hemos declarado los sensores, si dicha diferencia es negativa giraremos a la izquierda (llega más luz por el lado izquierdo del robot) y si la diferencia es positiva giraremos a la derecha
                  supress( ): indicamos a los motores que se detengan

Sigue-luz on board

Sigue-luz cámara aérea


Sigue-luz cámara aérea

Por tanto en la próxima sesión seguiremos con los ejercicios restantes de comportamiento de evitación de obstáculos usando el sensor de ultrasonidos mediante el cálculo de vector de fuerza resultante, y también el comportamiento de sigue-luz evitando obstáculos.

No hay comentarios:

Publicar un comentario