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
I do agree that mindstorms are meant to be learnt by playing with, but at the same time a little referance material is a good thing.
I know that I would need help with the programming aspect of it as I'm not a programmer, but a networking geek. Ask me to config a router or set up a server, no problem, but I've always had a hard time with code.
GIHM -The light at the end of the tunnel is only the oncoming train.
When I was a kid all there was was lego, and my brother and I ate up everything that we could find about it. It's sad to see such a wonderful license like lego done such an injustice...
Back When I was a boy, we didn't have Robotic lego sets. We thought we we're real geniuses when we took the little flat pieces and put them in sideways in between the little bump thingies.
The only thing that moved in our toys was the wheels, which only moved if you pushed them really hard.
AND WE LIKED IT THAT WAY.
There *is* a program I enjoy using on windows... It's called FDISK.
Is there any ability for Mac users like myself to play with Mindstorms? I heard that there's a DACTA system which comes in a macintosh version, but I have seen almost nothing except for rumor.
If I were a Windows user, RIS would have been up at the tippy-top of my holiday list.
"It's OK, my sheet's got a hole in it!"
lego were just cheap little hunks of plastic and really hurt your feet when you step on them... ...i suppose lego really has come a long way, i never needed to know any programming languages when i played with lego before. This kicks arse. ___
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)
I remember building walking lego dinosaurs with the old technics motors.. the good old days..
Now if I could just convince my wife I can't live without getting Mindstorms I'll be all set.
"Imagination is more important than knowledge" -- Albert Einstein
As much I like the 'Net as a reference tool, it's great to have a nice tree-killing book that I can carry into the bathroom or into bed!
[ insert your own witty .sig here ]
_________________________
Mello like the Yello, but without the fizz.
_______
I just wish I could c:\format Internet
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
While I agree that RCX code is lame (I use NQC when I build robots myself), my 6 year old son groks the RCX code pretty well, and can make it do fundamental things. Good for getting young kids into robotics and programming!
I think a little bit more than zero disclosure might be right for those "buy the book" links.
Has anyone used this kit? Having R2D2 around seems very cool, but from what I understand you need the Robotics Invention System to go along with it in order for them to do anything worthwhile. Can anyone confirm or explain some more for me? Thanks -j
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.
Um, well, I don't know if color is going to help out a black beam...
This should be labeled as the Greatest Toy of the Century/Millenium.
It appeals to children as well as geeky adults like me.
jackchaos.com - The Freak of Geeks
-Oy Vey
Lots of people are talking about where to buy new motors, but I found that my old Technic (back in the days where you couldn't code legos in C :P) motors work well with the Mindstorms kit. Most people who'd get Mindstorms probably have these lying around already, and it's much more convenient to have a 3rd motor, so you can have 2 wheels going in different directions, plus some sort of moving arm or other appendage.
Windows 2000: Designed for the Internet. The Internet: Designed for UNIX.
I found it for $ 150 at Best Buy, which is the lowest price I've seen yet. (No, I didn't succumb).
D
----
A fault I find with both boths is the absence of information about Linux. I know it makes sense for Lego to focus on Windows and ignore the "fringe" OSes like Mac and Linux. But I think that among people who really get into robotics and programming (to the extent they would buy a book) the Linux users must represent a much higher percentage. Baum is himself a Mac person as well as the creator of NQC, so in his book at least, the Mac is well represented.
NQC, a C-like programming language for the RCX, is excellent and works superbly with Linux. My son uses it with no trouble, despite almost no programming skills. He is a good keyboarder and does his homework under Linux, but has really never programmed before. I set him up with the editor nedit and added a few menu items which make it a baby IDE for NQC on the RCX. It works surprisingly well.
My hope is that this might be an easy introduction to programming for him. We'll see. The truth is though, that he is much more interested in gear ratios and assembling and running the darn things than programming them.
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*
I really really really wanted mindstorms for christmas, but since my parents are nature freaks, i got a pair of ski boots instead :(.
I think the lego mindstorms are one of the greatest ideas to come out of that company in a long time. They allow people of all ages (myself being 21, and my neice and nephew who are 5 and 7) to have a lot of fun and learn something as well. I am a programmer and engineer by nature, and using the mindstorm unit is a blast. I recently built a unit that will drive around each room in my apartment, dragging a cordless vaccuum behind it. It's a blast. My next project is to make a unit that will go to the fridge and get me a beer on command.
=======
There was never a genius without a tincture of madness.
You can come live with me if you bring the Legos.
I do what the voices on my console tell me to do.
Comparing my RIS 1.5 set with the 1.0 set someone at work has, another big difference is how many basic Legos are included. 1.0 has tons more of the "normal" Lego pieces.
As far as we can tell, the 1.0 set is better in basically every way. :-(
The difference between the Droid Developer Kit (DDK) and the Robotics Invention System (RIS) is simple: The DDK does NOT include a RCX unit ! It is not possible to make custom programs for your droids using the DDK.
:-)
/. account yet)
In stead of the RCX, the DDK includs an "Explorer" unit. It contains a number of pre-programmed sequences, and a simple "playback" system. Some of the programs features simple "interactivity", allowing you to maipulate the playback sequence by flashing commands at the droid with a flashlight.
But !!! Don't think the DDK is not worth its price.
I gave my 11 year old brother the DDK for Christmas (since I am too poor to give him the RIS *lol*), and we had lots of fun with it. It is really a fine introduction to the priciples of building af droid/robot.
... and according to the documentation of the DDK, it is possible to mix the DDK with the RIS - making Star Wars Droids with RCX logic
Buy the DDK, and if the kid likes it, buy the RIS as well !
- Jesper
(Has no
mailto: jsdk@iname.com
Better still was getting RIS 1.0 for my son, and then calling the toll-free number to get the RIS 1.5 upgrade for free.
Best of both worlds.
Resisting the urge to take it for myself to play, and keep things at his level is the big problem.
pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama pussy mama