Mobile Robots

second edition

Joseph L Jones 
Bruce A Seiger 
Anita M. Flynn 
 

Preface to the Second Edition  xiii 

Preface  xix 

1 Introduction  1 
 1.1 References  9 

2 TuteBot  11 
 2.1 A Tutorial robot 11 
 2.2  TuteBot Behaviors 13 
 2.3 Building TuteBot 13 
 2.4 Electronic Components  21 
 2.5 Electronic Construction  25 
 2.6  Operation 29 
 2.7 Exercise 35 
 2.8 References 36 

3 Computational Hardware 43  
 3.1 Rug Warrior’s design strategy 44 
 3.2  Microprocessors 41 
 3.3 The Canonical Computer 49 
 3.4 Expansion 56 
 3.5 Data Buffer 59 
 3.6 Rug Warrior Logic 61 
 3.7 Hardware-software Interface 52 
 3.8 Real-time Control 81 
 3.9 Loading a program 89 
 3.10 Getting Started 92 
 3.11 References 93 

4  Designing and Prototyping  95 
 4.1 Practical Problems 95 
 4.2 Connectors 102 
 4.3 Printed Circuit Boards 105 
 4.4 Debugging 109 

5  Sensors 111 
 5.1 Achieving Perception 111 
 5.2 Interfacing Sensors 114 
 5.3 Light Sensors 120 
 5.4 Force Sensors 137 
 5.5 Sound Sensors 142 
 5.6 Position and Orientation 150 
 5.7 Proprioceptive Sensors 164 
 5.8 Exercise 166 
 5.9 References 168 

6  Mechanics 169 
 6.1 Locomotion 169 
 6.2 Adapting Mobile Platforms 179 
 6.3 Legged Locomotion 183 
 6.4 Construction Systems 183 
 6.5 Custom Construction  184 
 6.6 Exercise 191 
 6.7 Reference 191 

7  Motors 193 
 7.1 Variety Abounds 193 
 7.2 How a DC Motor Works 199 
 7.3 Sizing a DC Motor 203 
 7.4 Gears 211 
 7.5 Motor Data sheets 213 
 7.6 Motors for Rug Warrior 218 
 7.7 Interfacing Motors 226 
 7.8 Software for driving motors 249 
 7.9 References 263 

8 Power 265 
 8.1 Batteries 265 
 8.2 Recharging 272 
 8.3 Power Regulation 273 
 8.4 Isolation 278 
 8.5 References 281 

9 Robot Programming 283 
 9.1 The Traditional Approach 284 
 9.2 Behaviour Control 288 
 9.3 Rug Warrior’s Program 292 
 9.4 Implementing Behavior Control  294 
 9.5 Behavior control in IC 302  
 9.6 What did we do? 309 
 9.7 References 311 

10  Robot Projects 313 
 10.1 Projects for Individual Robots 313 
 10.2 Multi Robot Projects 324 
 10.3 References 335 

11 Robot Applications 337 
 11.1 Down and Dirty 338 
 11.2 Making the Rounds 342 
 11.3 In Harms Way 344 
 11.4 Summary  353 
 11.5 References 353 

12 Robot Design Principles 355 
 12.1 Complexity Kills 355 
 12.2 Holistic Robitics 356 
 12.3 Code versus Reality 356 
 12.4 Computer Program /= Robot Program 357 
 12.5 Magicians’s Bag 357 
 12.6 Avoiding “Usually” 358 
 12.7 Design Steps 358 

13 Unsolved Problems 361 
 13.1 Navigation 361 
 13.2 Recognition 362 
 13.3 Learning 363 
 13.4 Gnat Robots 363 
 13.5 Cooperation 364 
 13.6 Thoughts 364 
 13.7 Exercise 365 
 13.8 References 366 
 
A  Schematics 367 
B Rug Warrior Program 377 
  B1 Bugle 379 
  B2 Theremin 380 
  B3 Yo-yo 382 
  B4 Wimp 383 
  B5 Follow 385 
  B6 Echo 386 
  B7 Sonic commander 389 
  B8 Auxilary code 392 
  B9 Velocity Control Code 393 
C Yellow Pages 397 
 C.1 Suppliers 398 
 C.2 Products 419 
D Trade Magazines 421 
E Data Books 425 
F  Robot Contests 437 
Bibliography 443 
Index  451