Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Book review -- The Lego Mindstorms NXT Idea Book: Design, Invent, and Build

Gary Pollice, Professor of Practice, Worcester Polytechnic Institute
Author photo
Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational Software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a B.A. in mathematics and an M.S. in computer science.

Summary:  from The Rational Edge: Eleven dedicated Lego Mindstorms NXT experts have written an excellent book for the roboticist who wants to go beyond the basics of the NXT and its basic LabVIEW programming environment and language, which they refer to as NXT-G. This content is part of the The Rational Edge.

Date:  15 Mar 2008
Level:  Introductory
Also available in:   Chinese

Activity:  2480 views
Comments:  

book cover The Lego Mindstorms NXT Idea Book: Design, Invent, and Build
Martijn Boogaarts, et al.
No Starch Press, 2007
ISBN 1593271506

Eleven authors -- all dedicated Lego Mindstorms NXT experts and enthusiasts -- have produced an excellent book for the roboticist who wants to go beyond the basics of the NXT and its basic LabVIEW programming environment and language, which they refer to as NXT-G.

The book contains two parts. The first part describes advanced capabilities and techniques about working with the Lego Mindstorms NXT. The second part contains complete projects for eight robots you can build and program with a basic Lego Mindstorms NXT set. Part I (chapters 1-8) fills 85 pages while Part II (chapters 9-16) fills another 250 pages. There are two short appendices. The first appendix describes the differences between the educational Mindstorms set and the retail version, and I don't think this appendix is very useful. The second appendix provides a short introduction to using CAD software to record your models. It also offers pointers to free CAD software that can render Lego models. The authors use one of these systems for the diagrams in the book.

If you're new to the Lego Mindstorms NXT platform, you'll want to read the first two chapters that describe the components of the sets and the basic programming components of NXT-G. But if you've completed even the simplest project, you can skip ahead to Chapter 3. You may want to scan Chapter 2, however, if you've never used "wires" in your programs to communicate between blocks.

Chapter 3 gets into the details that every robotics programmer needs to know. How can I effectively use the memory available and how can I get more? The authors provide tips on how to get more memory by removing some of the things you don't need in the system and how to make use of "mini-blocks" that are freely available on-line. Following this chapter is a short one on debugging. There is no debugger for NXT-G, so you will want to know the techniques offered here to help you find the inevitable problems.

Three chapters in Part I address hardware and communication technologies. The first, chapter 5 describes each of the sensors that come with the basic Lego Mindstorms NXT sets. There are some built-in sensors that monitor the buttons and devices on the NXT brick. There are also four external sensors for light, sound, touch, and ultrasonics. This chapter describes how to program each of these, and it concludes with a table of the various data plugs (wires) that each sensor supports.

The final two chapters on the hardware and communication technology are Chapters 7 and 8. Chapter 7 discusses the Bluetooth capabilities and how to use them with your computer. Chapter 8 goes beyond this and shows you how to use Bluetooth to communicate from one NXT to another.

My favorite section in the first part of the book is Chapter 6 on design. The authors take you through the process of designing and implementing a robot with the Lego system, and they've done a marvelous job of breaking down the steps that will help an individual or a group turn their ideas into a working robot. They provide a simple task worksheet at the end of the chapter that make it simple to keep a project on course.

The second part of the book describes complete projects for eight robots that you can build with the Lego kits:

  • RaSPy: a robot that plays rock, scissors, paper
  • A rambling beach buggy chair
  • 3DPhotoBot: a 3D photo assistant
  • CraneBot: a grabber robot
  • A one-armed robot that lets you play slots
  • BenderBot: an anti-theory music robot
  • ScanBot: an image-scanning robot
  • marty: a performance art robot

These robots cover a wide spectrum of technologies, not just robotics. The robots in this section do not depend upon the others, so you can find one that appeals to you and jump right into building it. The directions are straightforward, with lots of diagrams and programming instructions. Many of the projects offer suggestions on how to go further with that particular design and add to the physical or program capabilities.

If you're going to jump into the Lego Mindstorms arena, this book is one that I highly recommend. It will increase your enjoyment of the system and introduce you to several techniques while you're having a lot of fun.


Resources

About the author

Author photo

Gary Pollice is a professor of practice at Worcester Polytechnic Institute, in Worcester, MA. He teaches software engineering, design, testing, and other computer science courses, and also directs student projects. Before entering the academic world, he spent more than thirty-five years developing various kinds of software, from business applications to compilers and tools. His last industry job was with IBM Rational Software, where he was known as "the RUP Curmudgeon" and was also a member of the original Rational Suite team. He is the primary author of Software Development for Small Teams: A RUP-Centric Approach, published by Addison-Wesley in 2004. He holds a B.A. in mathematics and an M.S. in computer science.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational
ArticleID=294404
ArticleTitle=Book review -- The Lego Mindstorms NXT Idea Book: Design, Invent, and Build
publish-date=03152008
author1-email=gpollice@cs.wpi.edu
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers