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
   92   93   94   95   96   97   98   99   100   101   102