Lego Mindstorms
LEGO MINDSTORMS
Plataforma para el diseño y desarrollo de robots.
Sigue la filosofia Lego () armar y construir todo tipo de objetos uniendo bloques interconectables.
Ventajas
Facil de montar/desmontar
Uso ampliamente extendido (mucha informacion)
Es un paquete abierto
Multiples posibilidades y de programacion
Es escalable, de lo basico se puede ampliar
Desventajas
Estructura(potencialmente debil)
No se pueden construir estructuras circulares(piezas rectangulares)
Colocacion de Baterias en el ladrillo, determina la forma
Relacion masa-volumen. O muy livianos o muy pesados.
HISTORIA
MIT: Uso de microcontroladores que se programan y conectan a sensores y actuadores. Facilidad. Surgieron los ladrillos.
1998, kit “Robotics Invention System 1.0”, sistema basado en un microcomputador RCX,
200-, Modelo NXT
Componentes(1)
El RCX
Cerebro: Minicomputadora integrada en un ladrillo
Se puede programar con una PC
Microcontrolador Hitachi H8 (H8/3292)
Velocidad de funcionamiento 16 Mhz
Memoria ROM(16Kb),RAM(512 b, 32Kb)
Temporizadores de 8,16 bits, conversor analogico/digital, altavoz
Componentes(2)
PUERTOS DE ENTRADA
Tres puertos de entrada (1,2,3)
Sensores:
Pasivos: Sin alimentacion
Activos: Alimentacion conmutada
Componentes(3)
PUERTOS DE SALIDA
Tres puertos de salida (A,B,C)
Cada puerto puede estar en tres estados: on,off, floating.
Cada salida tiene solo dos hilos, por ello tienen una direccion asociada(forward,reverse) y usa modulacion por ancho de pulso(PWM)
Componentes(4)
BOTONES DE CONTROL
Cuatro botones.
Rojo: Enciende y apaga
Verde: RUN. Inicia y detiene el programa seleccionado
Gris: PRGM, permite cambiar entre los programas
Negro: VIEW
Componentes(5)
PANTALLA LCD
Pantalla de cristal liquido
Visualiza el estado
Componentes(6)
TRANSMISOR DE INFRAROJOS
Vinculo inalambrico entre el RCX y la PC
Separacion debe ser de unos centimetros(10,15,30)
Componentes(7)
ALIMENTACION
Baterias
6 unidades AA/R6
Funcionamiento
Dos modos
Modo arranque. No aparece el reloj
Modo de funcionamiento normal
NQC
Not Quite C
Es un lenguaje programacion simple para muchos productos Lego MindStorms
Actualmente NCQ soporta a varios tipos: NCX,NCX2,CyberMaster,Scout, Spybotics, Spawn
Dos aspectos: El lenguaje y el API
El lenguaje
Un programa esta compuesto por bloques y variables globales
Bloques
Tareas
Funciones
Subrutinas
Tareas
task name()
{
// Codigo de tareas
}
Programa simple
Giros
#define
Repeticion de ordenes
Comentarios
Movimiento espiral (variables)
Estructuras de control
Sensores
Sensor de tacto
Sensor de luz
NBC
Lenguaje de programacion para los Robots de la serie NXT
Muy parecido a NQC, hay ciertos cambios
Mi primer programa
Constantes
Variables
Expresiones
Random
Control de flujo
Control de flujo(1)
Control de flujo(2)
Control de flujo(3)
Sensores
Sensor de Tacto
Esquiva obstáculos
Sensor de Luz