Dave Baum's Mindstorms Robot Books

Kits and Toys
 Robot Kits
 Stiquito Kit
 BattleKits
 Robot Toys
 Solar Kits
 Robot Arms
 Robosapien
 Basic Stamp Kits
 Lego MindStorms

Books
 Beginners Books
 Hobby Robots
 Robot Sports
 Electronics
 Mechanics
 Robot Minds
 Books for Kids
 Robots at Work
 Microcontrollers
 Advanced Books
 Used Books

More Robotics
 Real Robots
 Robot Motors
 Robot Parts
 Robot Tools
 Magazines
 Robot Videos
 Robot News
 Newsletter
 RoboLinks
 Contact

Dave Baum's Definitive Guide to LEGO Mindstorms is not really a book to be read; its a book to be played with.

 

Sign up for our Robotics Newsletter! Enter your Email:

 

robot
   Dave Baum's Definitive Guide to Lego Mindstorms
robot

Dave Baum's Definitive Guide to LEGO MindstormsThe Author of the popular programming language NQC gives us his tips on the fundamentals (both mechanical and programming), but the book quickly moves onto building robots. Fourteen different robots are presented, some of which have several variations in program or design. Many of the robots take the form of vehicles, although there are also a few stationary ones such as the Vending Machine, or Roboarm. Sample programs for all robots are provided in both LEGO's RCX Code as well as the more powerful NQC.

An abundance of 3D rendered images provide easy to follow building instructions. These visual instructions are accompanied by discussion of why certain design choices were made. When you're finished with the projects in the book, you'll not only have built some interesting robots, but you will also be ready to invent your own! 

 

Excerpt:

Chapter 1: Getting Started

Welcome to Dave Baum's Definitive Guide to LEGO MINDSTORMS. This book represents a journey through the exciting world of LEGO MINDSTORMS. We'll start slowly at first, introducing basic concepts and techniques, then proceed to constructing and programming a number of different robots. By the end of the book, you will be well prepared to build your own robotic creations. If you haven't yet played with your LEGO MINDSTORMS Robotics Invention System, you should take a few moments now to open it up, read through the Quick Start card, and take care of the mundane tasks such as installing batteries and hooking up a serial cable. More detailed information on these tasks can be found in the first few chapters of the User Guide supplied with the set.

This chapter introduces the RCX (the brains inside a MINDSTORMS robot) and the programming environments featured in this book. A simple test program will be created, then downloaded and run on the RCX. This test program serves as a convenient way of controlling a motor for some of the examples in subsequent chapters.

This chapter assumes that the infrared (IR) transmitter-included in the LEGO MINDSTORMS set-is already hooked up to your computer, and that batteries are installed in both the IR transmitter and the RCX itself. When communicating, the IR transmitter and the RCX should face one another, about 6"apart. Communication can be adversely affected by direct sunlight or other bright lights. If communication between the IR transmitter and the RCX is unreliable, try adjusting the position of the RCX and shielding it from unwanted light.

Programming Environments

Programs for the RCX are created on a personal computer (called the host computer), then downloaded to the RCX. The RCX can then run these programs on its own without further intervention from the host computer. There are a number of different programming environments that can be used to create RCX programs. The software included with the Robotics Invention System can be used to write programs in RCX Code, which is an easy-to-use, graphical programming environment. Although limited in functionality, RCX Code does provide a friendly, intuitive way for beginners to start programming the RCX.

Not Quite C (NQC) is a more traditional, text-based computer language that can also be used to program the RCX. Versions of NQC for Windows, MacOS, and Linux are provided on the accompanying CD-ROM. NQC takes a little longer to learn, but it provides much more power than RCX Code.

RCX Code and NQC are the two languages featured in this book. Sample code is usually provided for both languages, although in some of the more complex cases only an NQC example is possible. Descriptions of some other programming environments can be found in Appendix C.

The original version of the Robotics Invention System was set #9719. Recently, an updated version called Robotics invention System 1.5 has been introduced (#9747). There are several differences between these two versions. The 1.5 version comes with updated software, new instructions, and a slightly different mixture of LEGO pieces. owners of the original version can upgrade to the 1.5 version. See Appendix A for more information.

The firmware itself is on the Robotics invention System CD-ROM (not this book's CD-ROM) in a folder named FIRM. The name of the file depends on its version number. As of this writing, the current firmware file is FIRM0309.LGO; however, it is conceivable that a newer firmware version will be on future CDs. Check your own CD or use the latest file in the FIRM directory. There are actually several different NQC programming tools, and each of them has different ways of downloading firmware. Details are provided in the Using RcxCC, Using MacNQC, and Using NQC for Windows sections below.

NQC Quick Start

NQC is a textual computer language. Programs are written in an editor, then compiled and downloaded to the RCX. The NQC compiler is primarily available as a command line tool. This means that it must be invoked by typing the proper commands into a command shell (such as the MS-DOS Prompt for Windows 95/98). Integrated Development Environments (IDEs), which provide a program editor and a graphical user interface to the NQC compiler, exist on some platforms. RcxCC is one such IDE that runs under Microsoft Windows, and MacNQC is a Macintosh-based IDE (both are included on the accompanying CD-ROM). IDEs make using NQC a bit easier and more friendly, and they are, in general, the preferred solution where available. One important point, however, is that all of these solutions use the exact same language to specify an NQC program. For example, a program written with RcxCC can also be used with the Linux version of the NQC compiler. Quick Start information is provided for three different versions of NQC: RcxCC, MacNQC, and NQC for Windows.

Using MAC RcxCC relies on one of the software components normally installed by the RCX Code software. For this reason, it is advisable to install the RCX Code software prior to using RcxCC. Refer to the Robotics Invention System User Guide for more information on installing this software.

RcxCC has its own folder within the Tools folder of the CD-ROM. To install RcxCC, run the Setup.exe program found within the RcxCC folder. After installation, an RCX Command Center folder will be added within the Start menu's Programs folder.

When you launch RcxCC it will display a dialog box that allows you to specify which serial port the IR transmitter is connected to. You can either select the appropriate COM port or let RcxCC automatically check each port and decide for itself. The dialog box also allows you to choose between Mindstorms; and CyberMaster. Assuming that you are using an RCX, you may leave this item set to Mindstorms. Make sure the RCX is turned on and facing the IR transmitter, then click the OK button.

if RcxCC has trouble communicating with the RCX it will display an error and let you try again. If you click Cancel, RcxCC will still start, but those functions that require communication with the RCX (such as downloading a program) will be disabled.

Once started, RcxCC will show two windows: the main window and a floating templates window. The templates window is a sort of cheat sheet for remembering the various NQC commands. For our present example we can ignore it.....

Table of Contents:

Part I: Fundamentals
Chapter 1: Getting started
Chapter 2: The RCX
Chapter 3: Introduction to NQC
Chapter 4: Construction

Part II: Robots
Chapter 5: Tankbot
Chapter 6: Bumpbot
Chapter 7: Bugbot
Chapter 8: Linebot
Chapter 9: Dumpbot
Chapter 10: Scanbot
Chapter 11: Tribot
Chapter 12: Onebot
Chapter 13: Steerbot
Chapter 14: Diffbot
Chapter 15: Brick Sorter
Chapter 16: Vending Machine
Chapter 17: Communication
Chapter 18: Using the Datalog
Chapter 19: Roboarm
Afterword

Appendixes
Appendix A: MINDSTORMS Sets
Appendix B: Supplementary Parts
Appendix C: Programming Tools
Appendix D: NQC Quick Reference
Appendix E: Online Resources
 

385 Pages  

 

 
Sign up for our Robotics Newsletter! Enter your Email:

Advertise your product on RobotBooks.com

Beginners Books  |  Hobby Robots  |  Robot Sports  |  Electronics  |  Mechanics  |  Robot Minds  |  Robot Fiction  |  Books for Kids
Robots at Work  |  Mars Robotics  |  Advanced Books  |  Recommended Books  |  Robot Kits  |  Solar Kits  |  Robot Arms  |  Microcontrollers
Robosapien  |  Basic Stamp  |  BioHazard  |  Robot Toys  |  Muscle Wires  |  Lego Mindstorms  |  Real Robots  |  Robot Motors
Used Books  |  Robot Parts  |  Robot Tools  |  Magazines  |  Robot Videos  |  Robot News  |  Newsletter  |  RoboLinks  |  Contact