Author: Laurens Valk
Publisher: No Starch Press, 2010
Aimed at: Beginners to LEGO robots kits
Pros: Clear building and programming instructions
Cons: Not in color - but it doesn't matter as much as you might think
Reviewed by: Lucy Black
If you have a Mindstorms NXT 2.0 robotics kit this is a book you need - and if you don't have a Mindstorms kit it will motivate you to buy one.
The problem facing the beginner to the world of LEGO robots kits is how to get to terms with the enormous potential that is "inside the box". Here is the solution - let Laurens Valk, who has been inventing robots using Mindstorm NXT sets since their introduction - guide you through step-by-step.
This book is specific to the LEGO MINDSTORM NXT 2.0 kit and requires only one kit to complete any of its eight robots. It is however intended that you follow the projects in the order they are presented as they increase in complexity.
The book is divided into four part with the first devoted to Getting Started. Chapter 1 assumes that you haven't even opened the box. It explains the different types of parts - motors, sensors cables and the NXT brick - the computer that means a robot built out of the other parts can perform actions by itself. It also mentions the programming software - but there's more on that once you've built your first robot, the Explorer
In Chapter 2 you find that most pages don't have a single word printed on them. Instead there are clear diagrams that show how to put individual Lego pieces together.
These will seem very familiar to anyone who has encountered Lego, Meccano or any other kits of small parts - except that there is no color. But this isn't as much of a disadvantage as you might imagine and following the steps should not pose any problems. This chapter also introduces the use of the NXT brick and using its buttons to run a sample program already on the brick.
Chapter 3 is where we start programming with NXT-G, an environment that gives a new meaning to block-structured language. This is a visual object-oriented language that is entirely drag and drop. It uses multiple Programming Palettes but only one of them is introduced to begin with, in a simple program to make the robot move. This serves to show you how to create, edit and save a program and transfer it to the NXT brick.
In the next chapter you progress to using combinations of programming blocks - including ones for sound and displaying text or images on the NXT screen - using the Sequence Beam. You also discover the use of the Power box to control speed and the Duration box as a timer.
Throughout this chapter you'll find Discovery panels which challenge you to experiment with what you have just learnt. These are graduated - numbers 1, 2, 5 and 7 are Easy, 3,4, 6 and 8 are medium and, at the end of the chapter, you encounter the first Hard challenge, #11, to get Explorer to play musical beats while dancing in zigzagging movements - and there's a Hint to help you complete the task. Then comes the first Building Discovery challenge, again with some help as to how to go about the task, to expand the robot so that it can hold a pen and draw with it.
Chapter 5 introduces the wait block, the loop block (for repeats) and the ability to create My Blocks, useful when you want to use sets of blocks in a program more than once. It also introduces Parallel Sequences of blocks. The Explorer is used in this chapter and the Building Discovery challenge at the end is to control an extra motor to create a waving hand and say "Good Morning"! So ends Part I.
Part II deals with the sensors that enable robots to react to their environment. In Chapter 6 you add the Ultrasonic sensor to the Explorer and in Chapter 7 you first upgrade the robot and then use the touch, color and rotation sensors.
In Chapter 8 there's a completely new robot to build, the Shot-Roller, a robotic-defense system that serves to introduce the remote-control mode. An in Chapter 9 you build Strider, a six-legged creature that interacts with its environment with the help of more sensors.
In Part III, Creating Advanced Programs, you learn about data hubs and data wires to create programs that display sensor readings on the screen (Chapter 10) and perform calculations (Chapter 11). In Chapter 12 you put together these programming skills and, using variables and constants, you use the NXT memory to keep the high scores of games.
There are three new robots to build and program in the final part: Snatcher, an autonomous robot arm; Hybrid Brick Sorter, that distinguishes using color and size; and CCC, the Compact Chimney Climber, a robot that climbs vertically.
An Appendix, Troubleshooting and solving connection problems rounds off the book and also points the reader to a companion website where readers can log-in to find more support and the opportunity to show off your solutions to the challenges. There is also an Updates section with a few corrections.
This is a well thought out and implemented book that lives up to its title of being a "Discovery Book". If you tackle its 72 programming challenges and 15 building discoveries by the time you read the end of the book you will have learned a lot about programming and about robotics. Recommended.