Page 97 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 97
Chapter 6
There are three primary reasons why the protocol must be flexible. First, it must
support debugging of onboard software; secondly, it must facilitate future expansion;
and finally, it must facilitate the coordination of the robot with other systems such
as elevators, gates, and so forth. Let’s consider these reasons in order.
Support of remote diagnostics
Mobile robots interact with their environments in ways that are virtually nondeter-
ministic (see more about this in Chapter 17). A robot will interact with any given
environment in an almost infinite variety of ways, and new environmental factors
are often introduced to a robot long after its development has been “finalized.”
The result is that the robot’s software will evolve indefinitely if it is a commercial
success.
With stationary control systems, it is possible to be in front of the control computer
as a system operates and to use any number of diagnostic tools to aid in debugging. If
the program is written in a language such as C++ or VB, these tools are already
built into the language. For PC-based systems, the movement toward network-ena-
1
bled languages such as VBNet also facilitate remote operations. If the system or
subsystem is being programmed in assembly language, the tools are usually built into
2
the development system or its in-circuit emulator . When, in the course of operation
of such a stationary system, any of these fixed computers must communicate with
other systems, the protocol to do this is often designed after the basic system opera-
tion has been debugged.
For remote diagnostics in stationary PC-based systems, it may even be possible to
install a dial-up modem or internet connection and to use off-the-shelf remote
3
viewing programs such as pcAnywhere . While extremely inefficient from a band-
width standpoint, this approach may still be effective.
Mobile robots are a different matter. The two biggest differences are the fact that the
robot system is mobile, and that it is usually composed of several separate subsystems. If
1 VBNet is a trademark of Microsoft Corporation.
2 An in-circuit emulator is a device that replaces the CPU chip of the target system with an
umbilical to a console. The console allows emulation of the final system operation while provid-
ing debug capabilities.
3 pcAnywhere is a trademark of Symantec Corporation.
80

