You are previewing Build Your Own Teams of Robots with LEGO® Mindstorms® NXT and Bluetooth®.
O'Reilly logo
Build Your Own Teams of Robots with LEGO® Mindstorms® NXT and Bluetooth®

Book Description

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.

Table of Contents

  1. Cover
  2. Build Your Own TEAMS OF ROBOTS with LEGO® MINDSTORMS® NXT and Bluetooth®
  3. Copyright Page
  4. Dedication
  5. About the Authors
  6. Contents
  7. Introduction
  8. Acknowledgments
  9. CHAPTER 1 It Takes Two to Tango
    1. When the Robot We Have Is Not the Robot We Need
      1. Special-Purpose Robots Can Be Flexible
      2. General-Purpose Robots: Fact or Fiction?
      3. Reprogrammable Robots
      4. Flexible Special-Purpose Robots and Reprogrammable Multipurpose Robots
    2. Two Microcontrollers Are Sometimes Better Than One
    3. Possible Teams, Possible Players
    4. Do Networked Robots Equal Robot Teamwork?
      1. Coordinating Robots Based on Time or Chronology
      2. Event-Based Robot Coordination
      3. Message-Based Coordination
    5. The Basic BRON Approach
    6. The World of Bluetooth Devices
    7. BRON’S Believe It or Not
  10. CHAPTER 2 Bluetooth for MINDSTORMS NXT: A Closer Look
    1. So Exactly What Is Bluetooth?
      1. The Myth of NXT’s Bluetooth Problem
      2. What Does Bluetooth Mean for NXT-Based Robots?
      3. Is NXT-Bluetooth Capability Software or Hardware?
    2. A Pause for Some Bluetooth-NXT Brick Preliminaries
      1. What’s in a Name?
      2. A Little Security (or at Least Privacy), Please!
      3. Visibility vs. Invisibility
    3. Who Is the Initiator (Team Leader)?
    4. Physical Architecture vs. Logical Architectures
    5. After the Connection Is Made
      1. Bluetooth Functions Don’t Wait
      2. Talk to Initiators on Line 0
    6. Introducing the Scout Bots
    7. Setting Up the Initial Bluetooth Connection
      1. Waiting for and Sending a Bluetooth Response
    8. Teamwork: A Simple Bluetooth LabVIEW Application
      1. The Team Leader Program (D1R2)
      2. The Team Member Program (D1R1)
      3. Team Mode and Bluetooth in LabVIEW
  11. CHAPTER 3 One for All and All for One
    1. What Are Sensors?
      1. Sensors: The Input Transducers
      2. Sensor Types
      3. Classifying MINDSTORMS NXT Sensors
    2. Sensors in the NXT World
      1. Some Are Strong, Some Are Mobile, Some Are Smart
      2. What the Sensors Can Do and Cannot Do
    3. Special Sensors Give That Extra Something
      1. Third-Party Sensors Used in Our CSI BRON
      2. leJOS (Java) Support for Third-Party Sensors
      3. LabVIEW Support for Third-Party Sensors
      4. NXT-G Support for Third-Party Sensors
  12. CHAPTER 4 Creating a Team of Movers and Shakers
    1. Motors: The Output Transducer
      1. Indoor and Outdoor Robots
    2. Direct-Current Motors vs. Servo Motors
      1. Controlling Speed and Torque
    3. Here Come the Regulators: Encoders In and Out
    4. Using Torque and Speed to Determine Selection of Team Members
      1. Summarizing DC and Servos Motors
    5. Controlling the Motors: Tetrix Controller and NXT Brick
    6. Using the Motors
      1. NXT-G PID Block
    7. Robotic Arms and End Effectors
    8. Robot Arms of Different Types
      1. End Effectors of Different Types
      2. Software Support of the Robot Arm
    9. BRON’S Believe It or Not
  13. CHAPTER 5 Bluetooth programming in NXT-G and LabVIEW
    1. A Little Background Block by Block
    2. Establishing a Connection with the BRON
      1. Connecting a PC to NXT Bricks from NXT-G and LabVIEW
    3. Connecting to the BRON
      1. NXT-G Connection Block
      2. LabVIEW On/Off and Connection Bluetooth Blocks
      3. Establishing a Connection to the BRON Using LabVIEW
    4. Communicating a Message to the BRON
      1. Sending/Receiving Messages in NXT-G
      2. Dynamically Setting Values for the Send Message Block
      3. Writing/Reading a Message Using LabVIEW
  14. CHAPTER 6 robot environments, Teamwork Strategies, and Goals
    1. The Robot’s World
    2. The Robot READ Set
    3. Robot Application Architecture
    4. A Simple Team-Based RAA Example
      1. The Multipurpose Capability Matrix
      2. A Basic READ Set for D1R1, D1R2, and D3C1
      3. Teamwork Strategies and Goals
      4. Simple Rule-Based Autonomy and READ Set + Robot Program Autonomy
      5. Environment, READ Sets, and the Team Challenge
    5. Let’s Not Fool Ourselves, It’s Slow!
    6. A Closer Look at a Level 2 Autonomous MINDSTORMS/Tetrix-Based Team
      1. How Do We Know When the Task Is Done?
    7. BRON’S Believe It or Not
  15. CHAPTER 7 Give Your Team of robots Java power with leJOS
    1. Brief History of Java Virtual Machine for MINDSTORMS
    2. The Power of leJOS Java for MINDSTORMS NXT
      1. A Closer Look at the leJOS Utilities
    3. Power of Java for Building Teams
      1. Bluetooth Communications
    4. The Java Classes
      1. The Robot Class
  16. CHAPTER 8 Got Linux and Darwin on Your Team of Robots?
    1. The Operating System as the Gatekeeper
      1. Operating System as Silent Partner
      2. Computer-Aided Design (CAD) Software for Your Robot Designs Using Digital Designer
      3. Development Languages for Programming Your Robots
      4. The Simple NXC (Almost C) Tool Chains
      5. Using Eclipse in the Linux/Darwin Environments
      6. What About My Files? (Where Do They Go?)
      7. Linux and Darwin as Runtime Environments
      8. Runtime Capability When the Computer Is the Team Leader
    2. The BlueZ Protocol Can Handle NXT Bricks
  17. CHAPTER 9 Advanced Teamwork: One for All!
    1. If It Works for Me, It’ll Work for You
    2. From Team to Collective and Back
      1. The Collective
      2. Dividing Up the Labor
      3. Communicating with Flippy and Twisty
    3. Solving a Rubik’s Cube
      1. Remember the Cube: Parts of the Cube
      2. Solving the Cube
    4. Cube Solver Design
      1. Design Issues
      2. Cube Solver Hardware: The Frame
      3. Flipper: Flip It Well and Good!
      4. Cube Solver Software
    5. Setting Up Programming
    6. Running the Robot
    7. What to Do Next Time
    8. BRON’S Believe It or Not
  18. CHAPTER 10 Together We Stand: The Robot Convoy
    1. Sometimes It Does Take a Team
    2. Using the Bluetooth Robotic-Oriented Network (BRON) for the Robot Convoy
    3. Challenges in Robot Convoys
    4. Planning for the Convoy
      1. Limitations of Robot Vehicles
      2. Understanding Bluetooth Limitations
    5. The Robot Convoy NXT-G Program
    6. Improvement of the Robot Convoy
    7. BRON’S Believe It or Not
  19. CHAPTER 11 The CSI project
    1. Overview of the CSI Project
      1. The Tasks and Problems Encountered in Warehouse X
      2. The Capability Matrix of the CSI Project
      3. The READ Set of Warehouse X
    2. An Approach to Solving the CSI Warehouse X
    3. Summary of the CSI Project
    4. BRON’S Believe It or Not
  20. APPENDIX A Standard Java Classes for leJOS Bluetooth
    1. Standard Java Classes
      1. Class DeviceClass
      2. Class DiscoveryAgent
      3. Class LocalDevice
      4. Class RemoteDevice
    2. leJOS Bluetooth API
      1. Class NXTCommDevice
      2. Class Bluetooth
      3. Class NXTConnection
      4. Class BTConnection
  21. APPENDIX B Bluetooth Robotic-Oriented Network (BRON) Team Members
    1. BRON Cube Solver Team
    2. BRON Convoy Team
    3. BRON Crime Scene Investigation (CSI) Team
  22. Index