Cover image for Build your own teams of robots with Lego Mindstorms NXT and Bluetooth
Title:
Build your own teams of robots with Lego Mindstorms NXT and Bluetooth
Series:
Build your own
Publication Information:
New York : McGraw-Hill Education, c2013
Physical Description:
xvii, 365 p. : ill. ; 23 cm.
ISBN:
9780071798563
General Note:
Includes index
Added Author:

Available:*

Library
Item Barcode
Call Number
Material Type
Item Category 1
Status
Searching...
30000010315272 TJ211 B85 2013 Open Access Book Book
Searching...

On Order

Summary

Summary

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.
CREATE YOUR OWN SYNCHRONIZED ROBOT ARMY!

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!

THE STEP-BY-STEP ROBOT TEAM PROJECTS IN THE BOOK INCLUDE:
* Crime Scene Investigation Robot Team * Robot Convoy * Rubik's Cube Solver

LEARN HOW TO:

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 www.robotteams.org.

Downloads are also available at mhprofessional.com/robotteams.


Author Notes

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

Introductionp. xi
Acknowledgmentsp. xvii
Chapter 1 It Takes Two to Tangop. 1
When the Robot We Have Is Not the Robot We Needp. 2
Special-Purpose Robots Can Be Flexiblep. 2
General-Purpose Robots: Fact or Fiction?p. 4
Reprogrammable Robotsp. 6
Flexible Special-Purpose Robots and Reprogrammable Multipurpose Robotsp. 7
Two Microcontrollers Are Sometimes Better Than Onep. 7
Possible learns, Possible Playersp. 8
Do Networked Robots Equal Robot Teamwork?p. 12
Coordinating Robots Based on Time or Chronologyp. 12
Event-Based Robot Coordinationp. 18
Message-Based Coordinationp. 26
The Basic BRON Approachp. 29
The World of Bluetooth Devicesp. 30
BRON'S Believe It or Notp. 31
Chapter 2 Bluetooth for MINDSTORMS NXT: A Closer Lookp. 33
So Exactly What Is Bluetooth?p. 33
The Myth of NXT's Bluetooth Problemp. 34
What Does Bluetooth Mean for NXT-Based Robots?p. 35
Is NXT-Bluetooth Capability Software or Hardware?p. 35
A Pause for Some Bluetooth-NXT Brick Preliminariesp. 36
What's in a Name?p. 37
A Little Security, (or at Least Privacy), Please!p. 39
Visibility vs. Invisibilityp. 40
Who Is the Initiator (Team Leader)?p. 42
Physical Architecture vs. Logical Architecturesp. 43
After the Connection Is Madep. 43
Bluetooth Functions Don't Waitp. 44
Talk to Initiators on Line 0p. 45
Introducing the Scout Botsp. 46
Setting Up the Initial Bluetooth Connectionp. 50
Waiting for and Sending a Bluetooth Responsep. 51
Teamwork: A Simple Bluetooth LabVIEW Applicationp. 52
The Team Leader Program (D1R2)p. 53
The Team Member Program (D1R1)p. 54
Team Mode and Bluetooth in LabVIEWp. 55
Chapter 3 One for All and All for Onep. 57
What Are Sensors?p. 57
Sensors: The Input Transducersp. 59
Sensor Typesp. 60
Classifying MINDSTORMS NXT Sensorsp. 68
Sensors in the NXT Worldp. 72
Some Are Strong, Some Are Mobile, Some Are Smartp. 72
What the Sensors Can Do and Cannot Dop. 73
Special Sensors Give That Extra Somethingp. 79
Third-Party Sensors Used in Our CSI BRONp. 81
leJOS (Java) Support for Third-Party Sensorsp. 84
LabVIEW Support for Third-Party Sensorsp. 86
NXT-G Support for Third-Party Sensorsp. 88
Chapter 4 Creating a Team of Movers and Shakersp. 91
Motors: The Output Transducerp. 91
Indoor and Outdoor Robotsp. 92
Direct-Current Motors vs. Servo Motorsp. 94
Controlling Speed and Torquep. 95
Here Come the Regulators: Encoders In and Outp. 103
Using Torque and Speed to Determine Selection of Team Membersp. 107
Summarizing DC and Servos Motorsp. 107
Controlling the Motors: Tetrix Controller and NXT Brickp. 108
Using the Motorsp. 111
NXT-G PID Blockp. 116
Robotic Arms and End Effectorsp. 119
Robot Arms of Different Typesp. 119
End Effectors of Different Typesp. 124
Software Support of the Robot Armp. 124
BRON'S Believe It or Notp. 127
Chapter 5 Bluetooth Programming in NXT-G and LabVIEWp. 129
A Little Background Block by Blockp. 129
Establishing a Connection with the BRONp. 132
Connecting a PC to NXT Bricks from NXT-G and LabVIEWp. 133
Connecting to the BRONp. 134
NXT-G Connection Blockp. 135
LabVIEW On/Off and Connection Bluetooth Blocksp. 138
Establishing a Connection to the BRON Using LabVIEWp. 138
Communicating a Message to the BRONp. 140
Sending/Receiving Messages in NXT-Gp. 140
Dynamically Setting Values for the Send Message Blockp. 141
Writing/Reading a Message Using LabVIEWp. 144
Chapter 6 Robot Environments, Teamwork Strategies, and Goalsp. 147
The Robot's Worldp. 147
The Robot READ Setp. 149
Robot Application Architecturep. 153
A Simple Team-Based RAA Examplep. 153
The Multipurpose Capability Matrixp. 155
A Basic READ Set for D1R1, D1R2, and D3C1p. 159
Teamwork Strategies and Goalsp. 162
Simple Rule-Based Autonomy and READ Set + Robot Program Autonomyp. 165
Environment, READ Sets, and the Team Challengep. 168
Let's Not Fool Ourselves, It's Slow!p. 170
A Closer Look at a Level 2 Autonomous MINDSTORMS/Tetrix-Based Teamp. 171
How Do We Know When the Task Is Done?p. 172
BRON'S Believe It or Notp. 182
Chapter 7 Give Your Team of Robots Java Power with leJOSp. 185
Brief History of Java Virtual Machine for MINDSTORMSp. 185
The Power of leJOS Java for MINDSTORMS NXTp. 186
A Closer Look at the leJOS Utilitiesp. 188
Power of Java for Building Teamsp. 192
Bluetooth Communicationsp. 192
The Java Classesp. 196
The Robot Classp. 198
Chapter 8 Got Linux and Darwin on Your Team of Robots?p. 211
The Operating System as the Gatekeeperp. 211
Operating System as Silent Partnerp. 214
Computer-Aided Design (CAD) Software for Your Robot Designs Using Digital Designerp. 215
Development Languages for Programming Your Robotsp. 217
The Simple NXC (Almost C) Tool Chainsp. 217
Using Eclipse in the Linux/Darwin Environmentsp. 218
What About My Files? (Where Do They Go?)p. 220
Linux and Darwin as Runtime Environmentsp. 221
Runtime Capability When the Computer Is the Team Leaderp. 222
The BlueZ Protocol Can Handle NXT Bricksp. 224
Chapter 9 Advanced Teamwork: One for All!p. 231
If It Works for Me, It'll Work for Youp. 232
From Team to Collective and Backp. 232
The Collectivep. 232
Dividing Up the Laborp. 233
Communicating with Flippy and Twistyp. 234
Solving a Rubik's Cubep. 237
Remember the Cube: Parts of the Cubep. 237
Solving the Cubep. 242
Cube Solver Designp. 250
Design Issuesp. 251
Cube Solver Hardware: The Framep. 252
Flipper: Flip It Well and Good!p. 254
Cube Solver Softwarep. 256
Setting Up Programmingp. 265
Running the Robotp. 266
What to Do Next Timep. 267
BRON'S Believe It or Notp. 268
Chapter 10 Together We Stand: The Robot Convoyp. 271
Sometimes It Does Take a Teamp. 272
Using the Bluetooth Robotic-Oriented Network (BRON) for the Robot Convoyp. 273
Challenges in Robot Convoysp. 275
Planning for the Convoyp. 279
Limitations of Robot Vehiclesp. 279
Understanding Bluetooth Limitationsp. 284
The Robot Convoy NXT-G Programp. 286
Improvement of the Robot Convoyp. 286
BRON'S Believe It or Notp. 288
Chapter 11 The CSI Project.p. 291
Overview of the CSI Projectp. 291
The Tasks and Problems Encountered in Warehouse Xp. 292
The Capability Matrix of the CSI Projectp. 293
The READ Set of Warehouse Xp. 293
An Approach to Solving the CSI Warehouse Xp. 300
Summary of the CSI Projectp. 314
BRON'S Believe It or Notp. 314
Appendix A Standard Java Classes for leJOS Bluetoothp. 317
Standard Java Classesp. 317
Class DeviceClassp. 317
Class DiscoveryAgentp. 318
Class LocalDevicep. 320
Class RemoteDevicep. 322
leJOS Bluetooth APIp. 325
Class NXTCommDevicep. 325
Class Bluetoothp. 327
Class NXTConnectionp. 337
Class BTConnectionp. 339
Appendix B Bluetooth Robotic-Oriented Network (BRON) Team Membersp. 341
BRON Cube Solver Teamp. 341
BRON Convoy Teamp. 342
BRON Crime Scene Investigation (CSI) Teamp. 343
Indexp. 347