1 Introduction.- 1.1 The fundamental tradeoff.- 1.2 Automation.- 1.3 Subsea robotics.- 1.4 Chapter overview.- 2 Basics.- 2.1 Single link robot.- 2.2 Two-link toy.- 2.3 Two-link robot.- 2.4 Forward and inverse kinematics.- 2.5 Redundancy.- 2.6 Moving out of the page.- 2.7 Input devices.- 2.7.1 Binary controls.- 2.7.2 Rate controls.- 2.7.3 Proportional controls.- 2.7.4 Computer control.- 2.8 Summary.- 3 Historical Perspective.- 3.1 Traditional bilateral teleoperation systems.- 3.1.1 The MASCOT teleoperation system.- 3.2 Giving up force feedback.- 3.2.1 The ALVIN teleoperation system.- 3.3 Other teleoperation systems.- 3.4 Operator aids.- 3.4.1 Reindexing.- 3.4.2 Maintaining a natural interface.- 3.4.3 Automatic camera control.- 3.4.4 Computer-generated imagery.- 3.4.5 Kinesthetic aids.- 3.5 Increasingly inter-site distances.- 3.5.1 Coping with delays.- 3.5.2 Predictive displays.- 3.5.3 Increasing remote intelligence.- 3.6 Summary.- 4 Remote Control.- 4.1 Control of remote cameras.- 4.2 Controlling a remote machine.- 4.2.1 Robot archaeologist.- 4.2.2 Toy railroad.- 4.2.3 An industrial manipulator.- 4.3 Summary.- 5 Teleprogramming.- 5.1 Background.- 5.2 Operation.- 5.3 The fundamental tradeoff.- 5.4 Caches.- 5.4.1 Prefetching.- 5.4.2 Cache miss.- 5.4.3 Coherency.- 5.4.4 Predictive branches.- 5.5 Summary.- 6 A Natural Operator Interface.- 6.1 The teleprogramming operator interface.- 6.2 Creating a natural interface.- 6.2.1 Observability.- 6.2.2 Continuity.- 6.2.3 Kinesthetic correspondence.- 6.3 The degree-of-freedom problem.- 6.3.1 Inferior master device.- 6.3.2 Superior master device.- 6.3.3 Inferior slave device.- 6.3.4 Superior slave device.- 6.4 Summary.- 7 Synthetic Fixtures.- 7.1 Overview.- 7.2 Operation.- 7.3 Terminology.- 7.4 Command fixtures.- 7.5 Example applications.- 7.5.1 Point—point fixture.- 7.5.2 Point—path fixture.- 7.5.3 Closest-surface—surface fixture.- 7.5.4 Multiple fixtures for box interaction.- 7.5.5 Multiple fixtures for bolting/unbolting.- 7.6 Algorithm.- 7.6.1 Point-point fixture.- 7.6.2 Point-path fixture.- 7.6.3 Closest-surface—surface fixture.- 7.6.4 Multiple fixtures.- 7.6.5 Fixture activation considerations.- 7.7 Application to teleprogramming.- 7.8 Application to conventional teleoperation.- 7.9 Application to virtual reality.- 7.10 Alternative input devices.- 7.11 Summary.- 8 Visual Imagery.- 8.1 Camera calibration.- 8.2 Updating the world model.- 8.3 Real-time visual imagery.- 8.4 Intelligent fragmentation.- 8.4.1 Finding the best fragment.- 8.4.2 Finding the best camera.- 8.4.3 Encoding the desired image fragment.- 8.5 Intelligent frame rate.- 8.6 Intelligent task rate.- 8.7 Compression algorithms.- 8.8 Other sensory modalities.- 8.9 Future implementations.- 8.10 Summary.- 9 Expecting the Unexpected.- 9.1 Definition.- 9.2 Avoiding operator error.- 9.3 Avoiding interpretation errors.- 9.4 Predicting errors.- 9.5 Error detection and diagnosis.- 9.6 Error recovery.- 9.7 Summary.- 10 Command Generation and Interpretation.- 10.1 Master-to-slave teleprogramming language.- 10.1.1 The need for motion relative to absolute frames...- 10.1.2 Defining frames.- 10.1.3 Selecting frames.- 10.1.4 The frequency of command transmission.- 10.1.5 Handling the communication time delay.- 10.1.6 Sensors and conditional expressions.- 10.1.7 Moving within the command stream.- 10.1.8 Command conservativeness.- 10.2 Slave-to-master teleprogramming language.- 10.2.1 Initialization.- 10.2.2 Command replies.- 10.3 Delaying command execution.- 10.4 Adding additional sensory feedback.- 10.5 Summary.- 11 Results and Observations.- 11.1 Laboratory trials.- 11.1.1 Example task.- 11.1.2 Observations.- 11.2 Test-tank trials.- 11.2.1 Example task.- 11.2.2 Command execution.- 11.2.3 Handling execution errors.- 11.2.4 Observations.- 11.3 Migrating to a subsea system.- 11.4 The October experiments.- 11.5 The November experiments.- 11.5.1 Examples of task execution.- 11.5.2 Observations.- 11.6 Future implementations.- 12 Discussion.- 12.1 Bandwidth considerations.- 12.2 Programming by demonstration.- 12.3 Learning experience.- 12.4 Interacting with uncertainty.- 12.5 The virtual reality mirage.- 12.6 Future interfaces.- 12.7 The distant future.- 13 Conclusions.- A.1 Operator interaction with the master station.- A.1.1 The user interface.- A.1.2 The world model.- A.1.3 Interpreting operator action.- A.2 Master-to-slave communication.- A.2.1 Basic definitions.- A.2.2 The command stream.- A.2.3 Pre-motion commands.- A.2.4 Motion commands.- A.2.5 Post-motion commands.- A.2.6 Example command stream.- A.2.7 Telemetry.- A.3 Command execution at the slave site.- A.4 Slave-to-master communication.- A.4.1 The state message.- A.4.2 The reply stream.- A.4.3 The environment reply.- A.4.4 The error reply.- A.4.5 Example reply stream.- A.4.6 Telemetry.- A.5 Interpreting slave replies.- A.6 Maintaining and reviewing the historical record.- References.