Build Your Own Teams of Robots with LEGO Mindstorms NXT and Bluetooth

Build Your Own Teams of Robots with LEGO Mindstorms NXT and Bluetooth


$27.00 $30.00 Save 10% Current price is $27, Original price is $30. You Save 10%.
View All Available Formats & Editions
Choose Expedited Shipping at checkout for guaranteed delivery by Friday, September 20


Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.

PLAN, DESIGN, ASSEMBLE, AND PROGRAM ROBOT SQUADS THAT COMMUNICATE and cooperate with each other to accomplish together what they can’t do individually. Build Your Own Teams of Robots with LEGO MINDSTORMS NXT and Bluetooth shows you how to construct a team capability matrix (TCM) and use the Bluetooth Robotic-Oriented Network (BRON) so your robot teams can share sensors, actuators, end effectors, motor power, and programs.

Find out how the Bluetooth communications protocol works and how to program Bluetooth in NXT-G, NXC, LabVIEW, and Java. Learn how to send and receive Bluetoothmessages, data, and commands among robots, between a robot and a computer, and between an Android smart phone and a robot. Through teamwork, your robots will be able to accomplish amazing feats!

* Crime Scene Investigation Robot Team * Robot Convoy * Rubik's Cube Solver


  • Coordinate multiple robots to work together as a team to perform tasks
  • Combine two or more microcontrollers to make a single, multicontroller/multi-agent robot
  • Take advantage of sensor and actuator capabilities in a team environment
  • Establish goals and teamwork strategies for your robots
  • Control your robot teams with NXT-G Bluetooth bricks and LabVIEW for NXT Bluetooth VI
  • Activate your team using a smart phone
  • Give your team of robots Java power with leJOS
  • Use Java on the Linux and Darwin operating systems

Watch video demonstrations of the projects and download code and examples in multiple languages (NXT-G, Java, LabVIEW, and NXC) from the book's companion websiteat

Downloads are also available at

Product Details

ISBN-13: 9780071798563
Publisher: McGraw-Hill Professional Publishing
Publication date: 02/22/2013
Pages: 384
Product dimensions: 7.30(w) x 9.00(h) x 1.10(d)

About the Author

Cameron Hughes is a professional software developer with over fifteen years of experience. He is a staff programmer/analyst at Youngstown State University and a software epistemologist for Ctest Laboratories. Tracey Hughes is a senior software and graphics programmer at Ctest Laboratories where she develops information and epistemic visualization software. Both Cameron and Tracey Hughes are long time robot enthusiasts with a collection of over 100 robots. They have sponsored and participated in local robot competitions and robot programming workshops for the Lego NXT and RS Media platforms through their local ACM chapter. Cameron and Tracey are the authors of seven books on software development, multithreaded programming, and parallel programming in C++.

Bob Kramer has been a full-time Computer Science Professor at Youngstown State University. Bob's research interests include using Lego robotics as a tool to teach computer science concepts, as well as the development and extension of programming tools for Lego robots. He has helped extend the nxtOSEK environment to enable C++ programs to execute on the NXT platform, and has developed an interface for a third-party sensor in the LeJOS environment. Bob Kramer has used Lego robotics to teach basic programming concepts in summer enrichment programs for high school students. He has spoken at numerous workshops about robot design and pedagogical uses of robots.

Trevor Watkins is a network communications and system integrations specialist. He is currently the Technology Manager at the Wadsworth Public Library, where he designs, integrates, and administers all aspects of the library's network and information systems. Trevor is an adjunct professor in the Computer Science and Information Systems Department at Youngstown State University, where he teaches high level programing languages and computer networks. He has been a robot hobbyist for over 20 years with the past 5 years dedicated to NXT-Mindstorms, Vex and Arduino-based robot kits, and consults with local high school robotics teams.

Table of Contents

Introduction xi

Acknowledgments xvii

Chapter 1 It Takes Two to Tango 1

When the Robot We Have Is Not the Robot We Need 2

Special-Purpose Robots Can Be Flexible 2

General-Purpose Robots: Fact or Fiction? 4

Reprogrammable Robots 6

Flexible Special-Purpose Robots and Reprogrammable Multipurpose Robots 7

Two Microcontrollers Are Sometimes Better Than One 7

Possible learns, Possible Players 8

Do Networked Robots Equal Robot Teamwork? 12

Coordinating Robots Based on Time or Chronology 12

Event-Based Robot Coordination 18

Message-Based Coordination 26

The Basic BRON Approach 29

The World of Bluetooth Devices 30

BRON'S Believe It or Not 31

Chapter 2 Bluetooth for MINDSTORMS NXT: A Closer Look 33

So Exactly What Is Bluetooth? 33

The Myth of NXT's Bluetooth Problem 34

What Does Bluetooth Mean for NXT-Based Robots? 35

Is NXT-Bluetooth Capability Software or Hardware? 35

A Pause for Some Bluetooth-NXT Brick Preliminaries 36

What's in a Name? 37

A Little Security, (or at Least Privacy), Please! 39

Visibility vs. Invisibility 40

Who Is the Initiator (Team Leader)? 42

Physical Architecture vs. Logical Architectures 43

After the Connection Is Made 43

Bluetooth Functions Don't Wait 44

Talk to Initiators on Line 0 45

Introducing the Scout Bots 46

Setting Up the Initial Bluetooth Connection 50

Waiting for and Sending a Bluetooth Response 51

Teamwork: A Simple Bluetooth LabVIEW Application 52

The Team Leader Program (D1R2) 53

The Team Member Program (D1R1) 54

Team Mode and Bluetooth in LabVIEW 55

Chapter 3 One for All and All for One 57

What Are Sensors? 57

Sensors: The Input Transducers 59

Sensor Types 60

Classifying MINDSTORMS NXT Sensors 68

Sensors in the NXT World 72

Some Are Strong, Some Are Mobile, Some Are Smart 72

What the Sensors Can Do and Cannot Do 73

Special Sensors Give That Extra Something 79

Third-Party Sensors Used in Our CSI BRON 81

leJOS (Java) Support for Third-Party Sensors 84

LabVIEW Support for Third-Party Sensors 86

NXT-G Support for Third-Party Sensors 88

Chapter 4 Creating a Team of Movers and Shakers 91

Motors: The Output Transducer 91

Indoor and Outdoor Robots 92

Direct-Current Motors vs. Servo Motors 94

Controlling Speed and Torque 95

Here Come the Regulators: Encoders In and Out 103

Using Torque and Speed to Determine Selection of Team Members 107

Summarizing DC and Servos Motors 107

Controlling the Motors: Tetrix Controller and NXT Brick 108

Using the Motors 111

NXT-G PID Block 116

Robotic Arms and End Effectors 119

Robot Arms of Different Types 119

End Effectors of Different Types 124

Software Support of the Robot Arm 124

BRON'S Believe It or Not 127

Chapter 5 Bluetooth Programming in NXT-G and LabVIEW 129

A Little Background Block by Block 129

Establishing a Connection with the BRON 132

Connecting a PC to NXT Bricks from NXT-G and LabVIEW 133

Connecting to the BRON 134

NXT-G Connection Block 135

LabVIEW On/Off and Connection Bluetooth Blocks 138

Establishing a Connection to the BRON Using LabVIEW 138

Communicating a Message to the BRON 140

Sending/Receiving Messages in NXT-G 140

Dynamically Setting Values for the Send Message Block 141

Writing/Reading a Message Using LabVIEW 144

Chapter 6 Robot Environments, Teamwork Strategies, and Goals 147

The Robot's World 147

The Robot READ Set 149

Robot Application Architecture 153

A Simple Team-Based RAA Example 153

The Multipurpose Capability Matrix 155

A Basic READ Set for D1R1, D1R2, and D3C1 159

Teamwork Strategies and Goals 162

Simple Rule-Based Autonomy and READ Set + Robot Program Autonomy 165

Environment, READ Sets, and the Team Challenge 168

Let's Not Fool Ourselves, It's Slow! 170

A Closer Look at a Level 2 Autonomous MINDSTORMS/Tetrix-Based Team 171

How Do We Know When the Task Is Done? 172

BRON'S Believe It or Not 182

Chapter 7 Give Your Team of Robots Java Power with leJOS 185

Brief History of Java Virtual Machine for MINDSTORMS 185

The Power of leJOS Java for MINDSTORMS NXT 186

A Closer Look at the leJOS Utilities 188

Power of Java for Building Teams 192

Bluetooth Communications 192

The Java Classes 196

The Robot Class 198

Chapter 8 Got Linux and Darwin on Your Team of Robots? 211

The Operating System as the Gatekeeper 211

Operating System as Silent Partner 214

Computer-Aided Design (CAD) Software for Your Robot Designs Using Digital Designer 215

Development Languages for Programming Your Robots 217

The Simple NXC (Almost C) Tool Chains 217

Using Eclipse in the Linux/Darwin Environments 218

What About My Files? (Where Do They Go?) 220

Linux and Darwin as Runtime Environments 221

Runtime Capability When the Computer Is the Team Leader 222

The BlueZ Protocol Can Handle NXT Bricks 224

Chapter 9 Advanced Teamwork: One for All! 231

If It Works for Me, It'll Work for You 232

From Team to Collective and Back 232

The Collective 232

Dividing Up the Labor 233

Communicating with Flippy and Twisty 234

Solving a Rubik's Cube 237

Remember the Cube: Parts of the Cube 237

Solving the Cube 242

Cube Solver Design 250

Design Issues 251

Cube Solver Hardware: The Frame 252

Flipper: Flip It Well and Good! 254

Cube Solver Software 256

Setting Up Programming 265

Running the Robot 266

What to Do Next Time 267

BRON'S Believe It or Not 268

Chapter 10 Together We Stand: The Robot Convoy 271

Sometimes It Does Take a Team 272

Using the Bluetooth Robotic-Oriented Network (BRON) for the Robot Convoy 273

Challenges in Robot Convoys 275

Planning for the Convoy 279

Limitations of Robot Vehicles 279

Understanding Bluetooth Limitations 284

The Robot Convoy NXT-G Program 286

Improvement of the Robot Convoy 286

BRON'S Believe It or Not 288

Chapter 11 The CSI Project. 291

Overview of the CSI Project 291

The Tasks and Problems Encountered in Warehouse X 292

The Capability Matrix of the CSI Project 293

The READ Set of Warehouse X 293

An Approach to Solving the CSI Warehouse X 300

Summary of the CSI Project 314

BRON'S Believe It or Not 314

Appendix A Standard Java Classes for leJOS Bluetooth 317

Standard Java Classes 317

Class DeviceClass 317

Class DiscoveryAgent 318

Class LocalDevice 320

Class RemoteDevice 322

leJOS Bluetooth API 325

Class NXTCommDevice 325

Class Bluetooth 327

Class NXTConnection 337

Class BTConnection 339

Appendix B Bluetooth Robotic-Oriented Network (BRON) Team Members 341

BRON Cube Solver Team 341

BRON Convoy Team 342

BRON Crime Scene Investigation (CSI) Team 343

Index 347

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews

Build Your Own Teams of Robots with LEGO Mindstorms NXT and Bluetooth 5 out of 5 based on 0 ratings. 3 reviews.
Anonymous More than 1 year ago
Take over the world if you are rich and get enough
Anonymous More than 1 year ago
Iu. M m ummijl
Anonymous More than 1 year ago
This game is awsome.