| |
| |
Preface | |
| |
| |
Acknowledgments | |
| |
| |
Introduction | |
| |
| |
| |
Autonomous Mobile Robots | |
| |
| |
Example: Collection Task | |
| |
| |
Robot Defined | |
| |
| |
Sensing | |
| |
| |
Actuation | |
| |
| |
Intelligence | |
| |
| |
Mobile and Immobile Robots | |
| |
| |
Responding to the Challenge | |
| |
| |
Robot's World View | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Control Systems | |
| |
| |
Open and Closed Loop Control | |
| |
| |
Position Control Example | |
| |
| |
Control System Catastrophe | |
| |
| |
Control System Stability | |
| |
| |
Saturation, Backlash, and Dead Zones | |
| |
| |
Open Loop Controllers with Parameters and State | |
| |
| |
Bang-Bang Controllers | |
| |
| |
Hysteresis | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Behaviors | |
| |
| |
Triggers and Control Systems | |
| |
| |
Servo and Ballistic Behaviors | |
| |
| |
Implementing Servo Behaviors | |
| |
| |
Finite State Analysis | |
| |
| |
FSM Example: Escape | |
| |
| |
FSM Implementation | |
| |
| |
Overloading Behaviors | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Arbitration | |
| |
| |
Fixed Priority Arbitration | |
| |
| |
When to Arbitrate | |
| |
| |
Graceful Degradation | |
| |
| |
The Path Not Taken | |
| |
| |
Sensor Qualification | |
| |
| |
Other Arbitration Schemes | |
| |
| |
Variable Priority | |
| |
| |
Subsumption Architecture | |
| |
| |
Motor Schema | |
| |
| |
Least Commitment Arbitration | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Programming | |
| |
| |
Homing Based on Differential Detectors | |
| |
| |
Homing Based on Absolute Position | |
| |
| |
Avoidance with Differential Detectors | |
| |
| |
Anti-Canyoning | |
| |
| |
Wall-Following with Contact Sensors | |
| |
| |
Wall-Following with Ranging Sensors | |
| |
| |
Wall-Following with Proximity Sensors | |
| |
| |
Confinement and Cliff Behaviors | |
| |
| |
Thrashing | |
| |
| |
Escape | |
| |
| |
Area Coverage | |
| |
| |
Deterministic Coverage | |
| |
| |
Random Coverage | |
| |
| |
Generalized Differential Response | |
| |
| |
Avoidance and Homing Using Vectors | |
| |
| |
Debugging | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Decomposition | |
| |
| |
SodaBot | |
| |
| |
Stating the Problem | |
| |
| |
Accomplishing the Task Simply | |
| |
| |
Visit Likely Spots | |
| |
| |
Identify Soda Cans | |
| |
| |
Abandoned versus Active Sodas | |
| |
| |
Can Pickup | |
| |
| |
Navigation | |
| |
| |
Identify, Deposit, and Recharge | |
| |
| |
Avoid Hazards | |
| |
| |
Mechanical Platform | |
| |
| |
Which Questions? | |
| |
| |
Which Sensors? | |
| |
| |
Building Behaviors | |
| |
| |
SodaBot Behaviors | |
| |
| |
Robot Recap | |
| |
| |
Principles | |
| |
| |
First Do No Harm | |
| |
| |
Tilt the Playing Field | |
| |
| |
Prefer Robust Chaos to Brittle Determinism | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Physical Interfaces | |
| |
| |
Collision Sensors | |
| |
| |
Bumpers | |
| |
| |
Stall Sensors | |
| |
| |
Stasis Sensing | |
| |
| |
Avoidance Sensors | |
| |
| |
Infrared Proximity Sensors | |
| |
| |
Infrared Range Sensors | |
| |
| |
Sonar Sensors | |
| |
| |
Range-Sensor Considerations | |
| |
| |
Homing Sensors | |
| |
| |
Photocells, Phototransistors, and Photodiodes | |
| |
| |
Coded Beacons | |
| |
| |
Pyroelectric Sensors | |
| |
| |
Color Blob Sensors | |
| |
| |
Magnetic Sensors | |
| |
| |
Dead Reckoning and Navigation Sensors | |
| |
| |
Shaft Encoders | |
| |
| |
Inertial Sensors | |
| |
| |
Compasses | |
| |
| |
GPS | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Implementation | |
| |
| |
RoCK Specifications: The Goal of a New Machine | |
| |
| |
Programming Specifications | |
| |
| |
RoCK's Behaviors | |
| |
| |
Dance | |
| |
| |
IR_follow and VL_follow | |
| |
| |
Boston | |
| |
| |
Cruise | |
| |
| |
Escape | |
| |
| |
Joystick | |
| |
| |
Wire | |
| |
| |
Beeper Control | |
| |
| |
The Code | |
| |
| |
Scheduler | |
| |
| |
Behavior Format | |
| |
| |
Arbiter | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
Future Robots | |
| |
| |
Reply Hazy--Ask Again Later | |
| |
| |
Which Path? | |
| |
| |
Future Actuation | |
| |
| |
Power | |
| |
| |
Motors | |
| |
| |
Manipulation | |
| |
| |
Locomotion | |
| |
| |
Future Intelligence | |
| |
| |
Robot Control | |
| |
| |
Learning | |
| |
| |
Future Sensing | |
| |
| |
Vision | |
| |
| |
Acoustic Sensing | |
| |
| |
Other Sensors | |
| |
| |
Exercise | |
| |
| |
| |
Mathematics of Differential Drive | |
| |
| |
Pose | |
| |
| |
Dead Reckoning | |
| |
| |
Differential Drive | |
| |
| |
London Fog | |
| |
| |
Limits of Dead Reckoning | |
| |
| |
Summary | |
| |
| |
Exercises | |
| |
| |
| |
BSim | |
| |
| |
BSim Aspects | |
| |
| |
The Simulator and Time | |
| |
| |
The World | |
| |
| |
Fantasy Mode and Noise | |
| |
| |
Latency | |
| |
| |
A Simple Robot | |
| |
| |
Behaviors and Arbitration | |
| |
| |
Cruise | |
| |
| |
Escape | |
| |
| |
Avoid | |
| |
| |
Wall Follow | |
| |
| |
Home | |
| |
| |
Anti-Moth | |
| |
| |
Dark-Push | |
| |
| |
London | |
| |
| |
Gizmo | |
| |
| |
Remote | |
| |
| |
Tasks | |
| |
| |
Collection Task | |
| |
| |
Gizmo Task | |
| |
| |
London Task | |
| |
| |
Simulations | |
| |
| |
Collection Simulation | |
| |
| |
London Simulation | |
| |
| |
Gizmo Simulation | |
| |
| |
User Interface | |
| |
| |
World Editor | |
| |
| |
The Robot Programmer | |
| |
| |
| |
Frequently Used Functions | |
| |
| |
Clip | |
| |
| |
Leaky Integrator | |
| |
| |
Running Average | |
| |
| |
Angle Computations | |
| |
| |
| |
Pseudocode | |
| |
| |
| |
Bibliography | |
| |
| |
Index | |