Project Proposal — Lego Learning


Introduction to Lego Mindstorms

The brain (Brick)
brick
CPU:Pentium II
RAM32 MB
HDD:115 MB
The sensors
touch-sensor
Touch:0 or 1
Ultrasonic:0 to 170 (cm)
Light/Color:0 to 100/RGB 0 to 255
Sound:0 to 100
Rotation:0 to 360 (degrees)
NXT-G toolkit
LabVIEW: A data flow/visual programming language
labview

Java Setup

Firmware setup
Replaced NXT-G operating system with leJOS, a Java-based firmware.
Robot now carries limited versions of JRE and JVM.
Embedded programming environment
Configured Eclipse to compile and upload .nxt executable.
lego-hello-world
Runtime diagnostics
Bluetooth or USB communication with PC.
Remote console provided with leJOS development kit.
lego-console

Sensor Exploration

Ultrasonic sensor test
Measures continuously for 1 second.
Reports minimum, maximum, and average distances.
Executes until Escape button pressed.
Your web browser does not support javascript.
Test output from the remote console window.
ultrasonic-test-console
Touch sensor test
Waits for button press.
Waits for button release.
Reports duration.
Executes until Escape button pressed.
Your web browser does not support javascript.
Test output from the remote console window.
touch-test-console
Light and Color sensor test
Preliminary tests failed using sensor.
Validated hardware using third-party executable.
Your web browser does not support javascript.
Your web browser does not support javascript.

Bluetooth Communication

Latency test
Approximately 50 to 70 ms round trip.
latency-test
Bandwidth test
Experimentally discovered maximum buffer size for communication.
Approximately 16,000-byte limit.
Approximately 8,000 bytes per second.
bandwidth-test

First Objective

Goal
Drive away from obstacles. In other words, look for center of room.
Algorithm
Continuously read from sensor, evaluate data, and decide new direction.
Repeat this procedure until center is found within margin.
Implementation
Simple state machine with command-response PC-robot protocol.
Your web browser does not support javascript.

Second Objective

Goal
Simultaneous movement, measurements, and communication.
Algorithm
Vector superposition of robot distances to sample points in scalar field.
Implementation
Thread 1: Message pump.
Thread 2: Sensor recording, motor management, and decision making.
Your web browser does not support javascript.

Possible Projects

Map exploring
Currently under development.
Projectile targeting
Building machine arm with two degrees of freedom.
Challenged by targeting consistency and verification methods.
Preliminary success using webcam as additional sensory input.
Valid HTML 4.01 Valid CSS