Introduction to Lego Mindstorms
CPU: | Pentium II |
RAM | 32 MB |
HDD: | 115 MB |
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
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.
Runtime diagnostics
Bluetooth or USB communication with PC.
Remote console provided with leJOS development kit.
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.
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.
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.
Bandwidth test
Experimentally discovered maximum buffer size for communication.
Approximately 16,000-byte limit.
Approximately 8,000 bytes per second.
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.