LEGO Mindstorm Book Review
Since Robotics involves a lot of different disciplines, these books are going to have a pretty varied audience. In my case, I'm a longtime programmer and (extremely) novice robot builder who couldn't properly handle a soldering iron if my life depended on it. I'm not particularly interested in the chapters on the ins and outs of the C language, but very interested in things like gear ratios and sensing algorithms, which I never learned in school. The mileage you'll get out of these books will vary, depending on your background.
In the comparitive sections below, Knudsen's book (and Knudsen himself) will be referred to as K, while Baum's book (and Baum himself) will be referred to as B.
Cover First let's get the important stuff out of the way... K's cover is prettier, having a picture of a cute bunny wobot. It's an O'Reilly book after all.
Length B is 34 pages longer, but K uses a smaller font. I suspect B is a bit longer, but not by much.
Value Both are 25 bucks retail, and cheaper online (typically 20 bucks). B comes with a CD-ROM. K doesn't. The CD contains all the sample code, a copy of NQC and related utilities, some demos and a QuickTime movie showing the assembly of one of the simpler robots (tankbot). With the exception of the sample code, the CD-ROM is kind of superfluous.
Illustrations K uses photos, which have been tweaked in Photoshop to remove the backgrounds. B uses computer-generated models rendered in isometric projection (also known as "2 1/2 D" -- similar to what you see in the Lego Constructopedia). Both books' images are reproduced in B&W and suffer for it. It's particular hard to see (and count) the holes in black beams, for example.
B's illustrations are definitely clearer than K's, primarily due to the use of computer graphics. The isometric projection definitely helps in figuring out how pieces fit together. K's illustrations have helpful lists of pieces and arrows showing where they go, however there are problems due to poor constrast and fuzziness, as well as distortions introduced by the camera's perspective. Despite these problems, I managed to get even his most complex bot, Minerva, assembled relatively quickly.
Breadth and Depth In general, K has more breadth, while B has more depth. K's book includes more introductory material about robotics (e.g. "What is a Robot?"), while B jumps right into installation instructoins, assuming you know that stuff already (e.g. "Robotics is nothing new"). K covers a lot of ground, including various available software packages, such as pbForth and LegOS, while B sticks to RCX code and NQC. K also gets into some interesting topics not found in B such as Subsumption Architecture and building your own sensors. On the other hand, B gets much more in depth into specific programming and modelling issues. There are a lot more examples of algorithms for handling touch and light sensors, and discussion of specific problems that might arise and how to deal with them. B's line following algorithms are different, taking advantage of the percieved "gray area" on the edge of the black line, using upper and lower feedback limits, while K uses a "zig-zag" approach with a single threshhold value (when I implemented them, I found K's approach to be more effective - the "gray area" approach requires more minute adjustments). B also has good coverage of the strengths and weaknesses of the different mindstorm kits and parts.
Programming B coverage of algorithms is generally better, particular in his detailed handling of touch and light sensor issues. K has a nice example of Rodney Brooks' subsumption architecture, written in NQC.
B, being the author of NQC, makes NQC programming an intregal part of his book. Every program is shown in both RCX Code and NQC versions (although the RCX Code version is often seriously crippled (as needs be). Nonetheless, B appears to have more success in getting RCX Code to do useful things than K, who pretty much gives up on RCX Code after a couple of chapters. A personal note: I found RCX Code to be a general pain in the ass. Personally I'm not all that convinced that it is a better alternative for the novices it is aimed at. Especially when you have to go though such contortions to to get it to do such useful things. Is mouse pushing really all that simpler than typing?
Design Both books cover design reasonably well. I'd give the slight edge to B, who has a good design chapter before going into the specifics of building individual robots. The chapter not only covers some of the things covered in Fred Martin's "Art of Lego Design" paper, but also covers the use of Pulleys and Ratchets. K tends to weave similar design lessons directly into the chapters on specific bots. There are design issues in both books not covered by the other. B's discussion of stresses in bumpers is quite good. K has some nice examples of directional transmissions (which don't necessarily use the differential).
Robot Models Both writers' basic robots, are simpler and more utilitarian than their Lego counterparts from the RIS's Constructopedia, which tend to be a bit more fanciful (although K uses the all important wings parts for Minerva). Both books start with a basic tread robot which make ideal learning tools for learning to program with touch and light sensors. K's robot is geared down right away (for more power and lower speed). B doesn't gear down until the reduced speed is needed (for line following). B's book has designs and programs for 14 different robots, some mobile, some not. K only has 4 robots (all mobile robots). Both of these numbers are misleadingly high, since some of the bots are quite similar. Some of B's more advanced bots require extra parts not included in the RIS kit. In some cases, the extra parts are needed to explain an interesting concept, like rack and pinion steering. B includes some designs for some interesting non-mobile robots, such as a brick sorter and a vending machine, which reads lego "punch cards". Both books' final robot is an armed robot - apparently the holy grail of many robot designers (there's one depicted on the cover of the RIS kit which I'm guessing can't be built with the stock parts). B's robot, RoboArm, requires an extra motor and bricks. K's robot, Minerva, manages to do a lot of stuff using all stock parts from a single 1.0 RIS kit (he accomplishes this via a directional transmission and an ingenious one-motor grabber arm borrowed from Ben Williamson). When I built this model using my 1.5 kit (which has a slightly different allotment of pieces), I found I was missing a couple bevel gears needed to complete the model (I borrowed some old style "thin" bevel gears from my daughter's Lego bucket, but they're very flimsy). This bot certainly accomplishes a lot with relatively spare resources, although it is perhaps pushing the envelope too far, as the "arm" assembly tends to require frequent attention, as the author notes. I found it useful to test more advanced designs with a spare 9V battery box I had left over from an old Technic kit. You can also use your computer as a remote, for this purpose.
Online References K's online references are more thorough. Both books have the most important URL, of course, which is www.lugnet.com - the center of the online Lego universe.
Timeliness B, a little later to press, includes coverage of RIS 1.5, and differences between RIS 1.5 and 1.0 (they are relatively minor).
Writing Style K tends to wax a bit more eloquently. I like his prose better. B is a bit less philosophical and tends to dive right into discussions of procedures and problems. This has its merits too, as he devotes a little more time to the nitty gritty.
Conclusions In some ways, these books are a little bit superfluous. The whole point, it seems, of the Lego Mindstorms kits is to learn by doing - by playing with them. Also, a lot of the material in the books, such as coverage of NQC, LegOS and other software packages, can be easily found on the net. Nonetheless, I found myself compelled to suck up both books, and I'm sure I will ultimately use some of the tips and tricks I've learned from both.
The two books complement each other very well, and if you have the interest and the bucks, I would spring for both. Knudsen's book provides a broader overview of the Lego Mindstorm's world and robotics in general, while Baum provides a lot of valuable technical information on solving specific problems. Purchase The Unofficial Guide at fatbrain or grab Dave Baum's at from fatbrain as well.
Table of Contents (Baum)- Preface
- Introduction
- History
- Part I-Building Fundamentals
- Chapter 1 - Mechanics
- Chapter 2 - Motors
- Chapter 3 - Sensors
- Chapter 4 - Basic Vehicles
- Part II-Programming Fundamentals
- Chapter 5 -NQC
- Chapter 6 - Robolab
- Chapter 7 - Sequenced Operations
- Chapter 8 - Event Based Programming
- Chapter 9 - Making Decisions
- Chapter 10 - Using Feedback
- Chapter 11 - Data Logging
- Chapter 12 - Using more than one RCX
- Chapter 13 - Advanced Programming
- Part III-Robots
- Chapter 14 - Garbage Truck
- Chapter 15 - Copy Machine
- Chapter 16 - Vending Machine (or ATM)
- Chapter 17 - Robot Tag
- Chapter 18 - Elevator
- Chapter 19 - Brick Sorter
- Chapter 20 - Electric Train Controller
- Chapter 21 - Stair Climbing/Walking
- Chapter 22 - Multiple-RCX Robot
- Appendices
- Appendix A. Other Resources
- Appendix B. On-line Resources
- Appendix C. Robolab Development Environment
- Appendix D. Lego CyberMaster product
-
Preface
- Welcome to MINDSTORMS
- What Is a Robot?
- Mobile Robots
- What Is MINDSTORMS?
- What Now?
- Online Resources
- Hank, the Bumper Tank
- About the Building Instructions
- Building Instructions
- A Simple Program
- Wheels
- Bumpers and Feelers
- Gears
- Multitasking
- Online Resources
- Trusty, a Line Follower
- Building Instructions
- Some Tricky Programming
- The Light Sensor
- Idler Wheels
- Using Two Light Sensors
- Online Resources
- Not Quite C
- A Quick Start
- RCX Software Architecture
- NQC Overview
- Trusty Revisited
- Online Resources
- Minerva, a Robot with an Arm
- Building Instructions
- Programming
- Directional Transmission
- Pulleys
- Mechanical Design
- Two Sensors, One Input
- Where Am I?
- Online Resources
- pbFORTH
- Replacement Firmware
- pbFORTH Overview
- About Forth
- pbFORTH Words
- An Expensive Thermometer
- Minerva Revisited
- Debugging
- Online Resources
- A Remote Control for Minerva
- Two Heads Are Better Than One
- The Allure of Telerobotics
- Building Instructions
- Programming the Remote Control
- Programming Minerva
- Online Resources
- Using Spirit:ocx with Visual Basic
- You May Already Have Visual Basic
- About Spirit:ocx
- Calling Spirit:ocx Functions
- Immediate and Delayed Gratif ication
- Programs, Tasks, and Subroutines
- Tips
- Retrieving the Datalog
- Online Resources
- RoboTag, a Game for Two Robots
- Building Instructions
- Subsumption Architecture
- Online Resources
- legOS
- About legOS
- Development Tools
- Hello, legOS
- Function Reference
- New Brains for Hank
- Development Tips
- Online Resources
- Make Your Own Sensors
- Mounting
- Passive Sensors
- Powered Sensors
- Touch Multiplexer
- Other Neat Ideas
- What About Actuators?
- Online Resources
- A: Finding Parts and Programming Environments
- B: A pbFORTH Downloader
- C: Future Directions
Thus, sure, Windows may have more actual seats out there (for now), but OS' such as Linux and *BSD are going to have much higher percentages of people interested in LEGO software, for the simple reason that they attract similar mindsets.
LEGO is bent on proprietary solutions, whether it's Mindstorms or any of their other packages. But, ultimately, that'll be as much their downfall as it was for Mecchano in the UK. They're aiming at entirely the wrong market, and closing it off from the right one.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
There's a MacOS version of NQC, which is free. And
ROBOLAB has a Macintosh version, but you'll have to pay for it.
You will need a cable for the IR tower, which you can order from Pitsco LEGO DACTA (800)362-4308. It's part number 4119830, $15.
-Jonathan
A month ago my wife asked me what I wanted for Christmas. I told her I would love a Lego Mindstorms Robotics Invention Set, but recommended against getting me one for several reasons:
1. They are too expensive.
2. I would spend far too much time playing with it.
3. I would want to by more stuff for it, thus agrevating the expense problem.
I was completely surprised when I received one on Christmas morning (my wife spoils me!). I spent four hours that day playing with it, prooving point 2. The next day I went to the book store and purchased my first book, hinting at point 3. She knows it will only get worse. Last night she caught me online looking at the Lego catalog. There are more sensors available, and I could always use an extra motor, and a remote control would be very handy...
I may be looking for a new place to live in a couple of months.
-- Will program for bandwidth
I found it for $ 150 at Best Buy, which is the lowest price I've seen yet. (No, I didn't succumb).
D
----
Moderate this down (-1, Your Family Is Waiting For You)
--
Industrial space for lease in Flatlandia.
There are two points here that most everyone here seems to be missing....
Point 1) These kits are NOT meant for us, they are meant for kids. Granted that a large number of these kits are being bought by GLU (Geeks Like Us), the majority of them are being purchased by parents for Geeks-In-Training. Think back to when you were 12. This would have been the coolest present. That's the market where this toy is being sold.
As such, it is well worth their time to work on MS versions of the software, just like it is worth it to all the game designers out there. MS pc's rule the home market. (Sad, but true.)
Point 2) Books are a good thing. And while you can find most of this information on the web someplace, a book is still the best choice of media for non-time dependent information. You can write on it, scribble in it, bookmark it, read it in the bathroom, or read it in bed under the covers with your flashlight (And just how many of us remember doing that! ;-)
Books are also good in terms of information density. And both of these books are rather dense. (good signal to noise, etc.) It is much easier (for me at least) to skip around these books than to go flipping through web pages...
As a side note, Mindstorms is not as cool as any of the Motorola (68XX derivative), Intel (80XX Derivative), or PIC derivative robots out there, but it is easier to get started with Mindstorms than any of the other alternatives that require soldering and a basic knowledge of electronics and programming.
CSG_SurferDude
Imagine a picture of a MadCat on a Surfboard HERE!
LongTail SSH Brute Force analysis tool is here!
My parents bought me a Robotics Discovery Set which was quickly exchanged for a linux-compatible RIS.
I went to finally sit down and play with it last night and realized I'd forgotten to buy batteries.
*sigh*