DESARROLLO DE CONTROL MANUAL PARA LEGO "ALPHA REX"


El sistema de control del robot LEGO NXT fue desarrollado bajo el Entorno de Desarrollo Integrado Eclipse y el lenguaje de programación java. La implementación en software consiste en un control manual guiado por el usuario, y un control automático que esta basado en un sistema difuso para el control de los motores. El sistema de control comienza con una pantalla de bienvenida que muestra las opciones para el control: automático (sistema difuso) y manual (Ver Figura 1).

Figura 1. Inicio del sistema



Nota: el robot fue probado con una fuente de alimentación externa que proporcionó el voltaje y la corriente necesaria para encender y poner en funcionamiento el robot. Usar una fuente de alimentación externa representa una ventaja ya que no se requiere el uso de baterías.

Control Manual

El control manual consta de la muestra de los valores que capturan los sensores, la velocidad de rotación de los motores A, B, C, la cantidad de pasos, la dirección para los motores y el movimiento de los brazos (Ver Figura 2).

Figura 2. Interfaz de control manual



En la Figura 3 se muestra como se imprimen los valores que capturan los sensores:
·         Sensor Ultrasónico: Retorna la distancia a un objeto.
·         Sensor de Luz: Retorna la cantidad calibrada y normalizada de luz, 0 indica oscuro y 100 luz intensa.
·         Sensor de Sonido: Retorna el porcentaje de sonido percibido.
·    Sensor de Toque: Si es presionado se muestra como “Activado”, de lo contrario se muestra como desactivado.

Figura 3. Sección de lectura de sensores



En la Figura 4 se muestra la parte del control de los motores (en este caso de los motores conectados al puerto A y B que corresponden a la pierna izquierda y derecha respectivamente, del robot). Se establece una velocidad a cada motor, se determina el número de pasos y la dirección (hacia adelante o hacia atrás). La velocidad de los motores se refiere al nivel de potencia en un rango de 0 a 100% que será aplicado a los mismos; si la potencia aplicada es alta (cerca de 100), entonces el motor girará con más fuerza. Con este parámetro se puede variar la velocidad de los motores.

Figura 4. Sección de control de motores A y B



Y finalmente en la Figura 5 se muestra el control sobre los brazos del robot utilizando el motor C, donde se permite determinar su velocidad y si se requiere que los brazos se muevan o no.

Figura 5. Sección de control sobre motor C



El control sobre los sensores y motores se hizo conectando la interfaz con los correspondientes métodos de cada sensor. Cada sensor y motor se conecta a un puerto y es en el programa donde al crear nuevos objetos se inicializan con un puerto diferente (siempre que corresponda a la conexión en el LEGO). LeJOS NXJ instala adicionalmente manuales para la programación ya sea sobre el NXT o desde la PC, en dicha documentación se detalla cada clase, métodos y librerías necesarias para la programación del LEGO en JAVA.

La ejecución del programa se muestra en el siguiente video:


La ejecución del software y el funcionamiento del LEGO se muestra en el siguiente video:





No hay comentarios:

Publicar un comentario