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