Product Description Our goal is to allow you, a human operator, to control a machine, a remote robot. If you and the robot both occupy the same room, then this is a relatively well understood problem. But consider what happens if we move the remote robot to a laboratory in the next county and supply you with a connection via a constrained communications channel such as the Internet. Now there is insufficient bandwidth to provide you with a high resolution view of the robot and, even worse, there is a significant time delay. If the robot were walking and it stumbled, then it would crash to the ground before you even received the first video image showing any problem. Now, consider what happens if we move the remote robot out of the laboratory and into the real world. Perhaps it is on an uneven footpath, or perhaps it is submerged on the sea floor. Now, not only can you not correct if something goes wrong, but it's much more likely that something will go wrong. That's the subject of this text. Our aim is to let you control a remote robot efficiently, in a real environment, via a constrained communications link. We'll begin with an introduction to the basics of robotics, take a historical look at controlling remote machines, and then examine the difficulties imposed by delayed, low-bandwidth, communications. To overcome the problems of constrained communications we'll introduce the teleprogramming paradigm; to help a human interact more efficiently with the machine, we'll introduce active force and visual clues; to cope with the unexpected, we'll introduce techniques for diagnosing and recovering from errors; and finally, to show that the ideas are feasible, we'll describe real working implementations. |