| |
| |
Foreword | |
| |
| |
Preface | |
| |
| |
| |
Understanding LEGO[Registered] Geometry | |
| |
| |
Introduction | |
| |
| |
Expressing Sizes and Units | |
| |
| |
Squaring the LEGO World: Vertical Bracing | |
| |
| |
Tilting the LEGO World: Diagonal Bracing | |
| |
| |
TECHNIC Liftarms: Angles Built In | |
| |
| |
Summary | |
| |
| |
| |
Playing with Gears | |
| |
| |
Introduction | |
| |
| |
Counting Teeth | |
| |
| |
Gearing Up and Down | |
| |
| |
Riding That Train: The Geartrain | |
| |
| |
Worming Your Way: The Worm Gear | |
| |
| |
Limiting Strength with the Clutch Gear | |
| |
| |
Placing and Fitting Gears | |
| |
| |
Using Pulleys, Belts, and Chains | |
| |
| |
Pulleys and Belts | |
| |
| |
Chains | |
| |
| |
Making a Difference: The Differential | |
| |
| |
Summary | |
| |
| |
| |
Controlling Motors | |
| |
| |
Introduction | |
| |
| |
Pacing, Trotting, and Galloping | |
| |
| |
Internals of NXT Servo Motor | |
| |
| |
Mounting Motors | |
| |
| |
Wiring Motors | |
| |
| |
Using Power Function Motors with the NXT | |
| |
| |
Controlling Power | |
| |
| |
Detecting Motor Overload | |
| |
| |
Braking the Motor | |
| |
| |
Coupling Motors | |
| |
| |
Summary | |
| |
| |
| |
Reading Sensors | |
| |
| |
Introduction | |
| |
| |
Digital Sensor Ports with the I[superscript 2]C (Inter-Integrated Circuit) Interface | |
| |
| |
The Touch Sensor | |
| |
| |
The Light Sensor | |
| |
| |
Measuring Reflected Light | |
| |
| |
Line Following | |
| |
| |
The Ultrasonic Sensor | |
| |
| |
Proximity Detection | |
| |
| |
The Servo Motor Encoder (Rotation Sensor) | |
| |
| |
Sensor Tips and Tricks | |
| |
| |
Emulating a Rotation Sensor | |
| |
| |
Connecting Multiple Sensors to the Same Port-Multiplexing | |
| |
| |
Other Sensors | |
| |
| |
The Passive Infrared Sensor | |
| |
| |
The Pressure Sensor | |
| |
| |
The Acceleration Sensor | |
| |
| |
The Compass Sensor | |
| |
| |
The NXT-to-RCX Communication Bridge | |
| |
| |
The Color Sensor | |
| |
| |
Summary | |
| |
| |
| |
What's New with the NXT? | |
| |
| |
Introduction | |
| |
| |
Notable Enhancements | |
| |
| |
Studless Construction | |
| |
| |
Electrical Connectors | |
| |
| |
Rechargeable Battery Pack | |
| |
| |
Flash Memory | |
| |
| |
Multiple Types of Sensors | |
| |
| |
The NXT File System | |
| |
| |
File-Handling Functions | |
| |
| |
Using File Space Efficiently | |
| |
| |
The LCD Screen | |
| |
| |
Games | |
| |
| |
Digital Interfaces and Bluetooth | |
| |
| |
Bluetooth Communication | |
| |
| |
A Surveillance Robot Using NXT and Bluetooth | |
| |
| |
A Bluetooth-Based Remote Controller | |
| |
| |
Spatial Motion Controllers | |
| |
| |
I[superscript 2]C for Spatial Motion Controllers | |
| |
| |
Future Possibilities | |
| |
| |
An NXT Robot Controlled from a Web Server | |
| |
| |
NXT Puppet Show | |
| |
| |
GPS and the NXT | |
| |
| |
Summary | |
| |
| |
| |
Building Strategies | |
| |
| |
Introduction | |
| |
| |
Studless Building Techniques | |
| |
| |
Maximizing Modularity | |
| |
| |
Loading the Structure | |
| |
| |
Putting It All Together: Chassis, Modularity, and Load | |
| |
| |
Hybrid Robots: Using Studless and Studded LEGO Pieces | |
| |
| |
Summary | |
| |
| |
| |
Programming the NXT | |
| |
| |
Introduction | |
| |
| |
What Is the NXT Programmable Brick? | |
| |
| |
MINDSTORMS: A Family of Programmable Bricks | |
| |
| |
Introduction to Programming the NXT Brick | |
| |
| |
How Does a Program Run? | |
| |
| |
Using NXT-G | |
| |
| |
Using RobotC | |
| |
| |
Using Other Programming Languages | |
| |
| |
Using NBC/NXC | |
| |
| |
Using pbLUA | |
| |
| |
Using LeJOS NXJ | |
| |
| |
Using Other Programming Tools and Environments | |
| |
| |
Code Samples | |
| |
| |
Code Sample: A Simple Clock | |
| |
| |
Code Sample: Following a Line | |
| |
| |
Running Independent Tasks | |
| |
| |
Summary | |
| |
| |
| |
Playing Sounds and Music | |
| |
| |
Introduction | |
| |
| |
Communicating through Tones | |
| |
| |
Playing Music | |
| |
| |
Converting Sound and Music Files | |
| |
| |
MIDI and MIDIBatch | |
| |
| |
WAV2RSO | |
| |
| |
The Sound Sensor | |
| |
| |
Summary | |
| |
| |
| |
Becoming Mobile | |
| |
| |
Introduction | |
| |
| |
Building the Simple Differential Drive | |
| |
| |
Keeping a Straight Path | |
| |
| |
Using Servo Motor Encoders to Go Straight | |
| |
| |
Using Gears to Go Straight | |
| |
| |
Using Casters to Go Straight | |
| |
| |
Building a Skid-Steer Drive | |
| |
| |
Building a Steering Drive | |
| |
| |
Building a Synchro Drive | |
| |
| |
Other Configurations | |
| |
| |
Summary | |
| |
| |
| |
Getting Pumped: Pneumatics | |
| |
| |
Introduction | |
| |
| |
Recalling Some Basic Science | |
| |
| |
Pumps and Cylinders | |
| |
| |
Controlling the Airflow | |
| |
| |
Building Air Compressors | |
| |
| |
Building a Pneumatic Engine | |
| |
| |
Summary | |
| |
| |
| |
Finding and Grabbing Objects | |
| |
| |
Introduction | |
| |
| |
Operating Hands and Grabbers | |
| |
| |
Using Pneumatics to Drive Your Grabber | |
| |
| |
Finding Objects | |
| |
| |
Positioning the Grabber | |
| |
| |
Distinguishing Objects and Obstacles | |
| |
| |
Summary | |
| |
| |
| |
Doing the Math | |
| |
| |
Introduction | |
| |
| |
Multiplying and Dividing | |
| |
| |
Averaging Data | |
| |
| |
Simple Averages | |
| |
| |
Weighted Averages | |
| |
| |
Using Interpolation | |
| |
| |
Understanding Hysteresis | |
| |
| |
Higher Math | |
| |
| |
Summary | |
| |
| |
| |
Knowing Where You Are | |
| |
| |
Introduction | |
| |
| |
Choosing Internal or External Guidance | |
| |
| |
Looking for Landmarks: Absolute Positioning | |
| |
| |
Following the Beam | |
| |
| |
Map Matching Using Ultrasonic Sensor | |
| |
| |
Combining Compass Sensor to Increase Precision | |
| |
| |
Measuring Movement: Relative Positioning | |
| |
| |
Measuring Movement: Acceleration Sensor | |
| |
| |
Summary | |
| |
| |
| |
Classic Projects | |
| |
| |
Introduction | |
| |
| |
Exploring Your Room | |
| |
| |
Detecting Edges | |
| |
| |
Variations on Obstacle Detection | |
| |
| |
Following a Line | |
| |
| |
Further Optimization of Line Following | |
| |
| |
Summary | |
| |
| |
| |
Building Robots That Walk | |
| |
| |
Introduction | |
| |
| |
The Theory behind Walking | |
| |
| |
Building Legs | |
| |
| |
Building a Four-Legged Robot | |
| |
| |
Building a Six-Legged Steering Robot | |
| |
| |
Designing Bipeds | |
| |
| |
Interlacing Legs | |
| |
| |
COG Shifting | |
| |
| |
Making Bipeds Turn | |
| |
| |
Summary | |
| |
| |
| |
Robotic Animals | |
| |
| |
Introduction | |
| |
| |
Creating a Monkey | |
| |
| |
| |
Center Motor Assembly | |
| |
| |
| |
Shoulder Assembly | |
| |
| |
| |
Shoulder/NXT Brick Bracing | |
| |
| |
| |
Shoulder-to-Arms Support | |
| |
| |
| |
Arm Motors | |
| |
| |
| |
Monkey Fingers | |
| |
| |
| |
NXT Brick Backbracing and Ultrasonic Sensor | |
| |
| |
The Final Step: Wiring Your Monkey | |
| |
| |
Programming Your Monkey | |
| |
| |
Creating a Mouse | |
| |
| |
| |
Mouse Frame and Motor Assembly | |
| |
| |
| |
Castor Bottom | |
| |
| |
| |
Tail Assembly | |
| |
| |
| |
The Mouse Head Frame | |
| |
| |
| |
Motorized Mouse Head Assembly | |
| |
| |
| |
Mounting the Mouse Head to the Body | |
| |
| |
| |
A Programming Example | |
| |
| |
Creating Other Animals | |
| |
| |
Summary | |
| |
| |
| |
Solving a Maze | |
| |
| |
Introduction | |
| |
| |
Finding the Way Out | |
| |
| |
Using the Left Side-Right Side Strategy | |
| |
| |
Applying Other Strategies | |
| |
| |
Building a Maze Runner | |
| |
| |
Constructing the Maze Runner | |
| |
| |
Programming the Runner | |
| |
| |
Creating the Maze | |
| |
| |
Building a Maze Solver | |
| |
| |
Constructing the Maze Solver | |
| |
| |
Programming the Solver | |
| |
| |
Improving the Program | |
| |
| |
Summary | |
| |
| |
| |
Drawing and Writing | |
| |
| |
Introduction | |
| |
| |
Creating a Logo Turtle | |
| |
| |
Building the Turtle | |
| |
| |
Programming the Turtle | |
| |
| |
Tape Writer | |
| |
| |
Building the Writer | |
| |
| |
Programming the Writer | |
| |
| |
What to Write | |
| |
| |
Further Suggestions | |
| |
| |
Copying | |
| |
| |
Emulating Handwriting | |
| |
| |
Learning by Example | |
| |
| |
Summary | |
| |
| |
| |
Racing Against Time | |
| |
| |
Introduction | |
| |
| |
Hosting and Participating in Contests | |
| |
| |
Optimizing Speed | |
| |
| |
Drag Racing | |
| |
| |
Combining Speed with Precision | |
| |
| |
Line Following | |
| |
| |
Wall Following | |
| |
| |
Other Races | |
| |
| |
Summary | |
| |
| |
| |
Hand-to-Hand Combat | |
| |
| |
Introduction | |
| |
| |
Building a Robotic Sumo | |
| |
| |
Setting the Rules | |
| |
| |
Maximizing Strength and Traction | |
| |
| |
Attack Strategies | |
| |
| |
Finding the Enemy | |
| |
| |
Using Speed | |
| |
| |
Using a Transmission | |
| |
| |
Other Sumo Tricks | |
| |
| |
Getting Defensive | |
| |
| |
Testing Your Sumo | |
| |
| |
Summary | |
| |
| |
| |
Searching for Precision | |
| |
| |
Introduction | |
| |
| |
Precise Positioning | |
| |
| |
Shooting with Precision | |
| |
| |
Fine Motor Skills of Your Robot | |
| |
| |
Removing the Bricks | |
| |
| |
Freeing the Magnets | |
| |
| |
Fire Fighting in a Maze | |
| |
| |
Playing Soccer | |
| |
| |
Summary | |
| |
| |
| |
Resources | |
| |
| |
Introduction | |
| |
| |
Bibliography | |
| |
| |
General Interest Sites | |
| |
| |
| |
Understanding LEGO Geometry | |
| |
| |
| |
Playing with Gears | |
| |
| |
| |
Controlling Motors | |
| |
| |
| |
Reading Sensors | |
| |
| |
| |
What's New with the NXT | |
| |
| |
| |
Building Strategies | |
| |
| |
| |
Programming the NXT | |
| |
| |
| |
Playing Sounds and Music | |
| |
| |
| |
Becoming Mobile | |
| |
| |
| |
Getting Pumped: Pneumatics | |
| |
| |
| |
Finding and Grabbing Objects | |
| |
| |
| |
Doing the Math | |
| |
| |
| |
Knowing Where You Are | |
| |
| |
| |
Classic Projects | |
| |
| |
| |
Building Robots that Walk | |
| |
| |
| |
Robotic Animals | |
| |
| |
| |
Solving a Maze | |
| |
| |
| |
Drawing and Writing | |
| |
| |
| |
Racing Against Time | |
| |
| |
| |
Hand-to-Hand Combat | |
| |
| |
| |
Searching for Precision | |
| |
| |
| |
Matching Distances | |
| |
| |
| |
Note Frequencies | |
| |
| |
| |
Math Cheat Sheet | |
| |
| |
Sensors | |
| |
| |
Averages | |
| |
| |
Interpolation | |
| |
| |
Gears, Wheels, and Navigation | |
| |
| |
Index | |