4 Mobile Robot Systems

4 Mobile Robot Systems

Designing a mobile robot language requires knowledge of the robotís physical configuration and the desired complexity of the implementation. We will define the term "robot" for the purposes of this discussion. From this definition requirements for a generalized control scheme will emerge. Finally, specific details of the LLAMA system pertaining to robot control will be explained. We have established a message passing requirement-control flows from high to low level while reports flow in the opposite direction. Such a distinction has some impact on the design of a language.

Definition of Autonomous Mobile Robots

A robot is any device which can be physically isolated that can cause a change in its environment in response to sensory stimuli. From this definition, we see that the following can be considered robots: manipulator with force-feedback sensors; miniature maze-traversing autonomous robots. The physical isolation criterion requires that the hardware of the robot can be moved (practicality aside) without upsetting the functionality of the robot.

An arbitrary complex system may have many of the features of a robot and not be a robot: A desk-top computer is not a robot whereas a computer that controls a mobile platform is a robot. The desk-top computer can be referred to as a static tool, whereas a robot could be classified as an active tool. The presumed robot must have the capability to move through its environment before it can be considered a robot. An automobile cannot be considered a robot since it is a static tool; if the automobile has anti-lock brakes, which sense and affect the environment, albeit slightly, it could be considered a robot. In our society it is difficult to view an automobile as a robot-it really is a mass of metal and plastic hurtling a human occupant to some destination. An automated guide vehicle, like the Sea-Tac automated subway system can be considered a robot. Note that if a mobile platform is controlled by a computer physically removed from the platform, then the platform can be considered a robot and part of a robot system. This is an important observation since this very nearly describes the LLAMA and G2 mobile robot system.

Mobile Robots are a class of robots that have the capability to transport themselves in three dimensional space. As was just observed, the controller need not be physically present on the mobile platform. To describe this difference in configuration, we will define Open Autonomous System as a mobile robot that is controlled by an external system, but not by a person. We will define a Closed Autonomous System as a mobile robot that is entirely self contained. Using this nomenclature and extending it appropriately, we can describe the LLAMA and G2 project as an Open Near-Autonomous System with capabilities for Closed Autonomy. This says that LLAMA could be programmed to perform some behavior with no external control, although under most circumstances would be controlled by the G2 expert system. The ultimate goal in robotics is an Autonomous System, either open or closed.

An autonomous agent is an abstraction of an autonomous system. Determining whether a system is truly autonomous requires some formal metrics, which is beyond the scope of this discussion. Many models that represent autonomous (robot) agents separate the robot from the environment. Kaelbling presents one possible model of an autonomous system that has the capability for learning by noting that an "agent can be in many different states of information about the environment, and it must map each of these information states, or situations, to a particular action that it can perform in the world" (Kaelbling 1991, 132). The system she suggests is reactive, which appears to be an essential quality for an autonomous agent. Implementing reactive behavior is trivial; implementing learning is a very difficult problem and will not be covered in this discussion except to note that the LLAMA and G2 systems contain resources that might be configured for learning.

The Hardware-Sensors and Effectors

An open mobile robotic system will have computers with software on and off board the robot. On-board refers to physically residing on the mobile platform, while off-board refers to a location that is independent of the platform. In general, the on-board system will interface with the robot platform hardware and the off-board system will interface with the on-board system. One exception to this generalization is the stationary video camera that connects to the off-board system to monitor and affect the platformís movements. For our purposes, only the hardware that can be accessed by the on-board system is of interest.

A mobile robot system that can analyze and react to its environment through the robot platform is called robo-centric. A robot interacts with the environment by changing its physical presence over time. The robot may change the environment when it enables an effector or senses the environment through its sensors. Its perception of the environment is constantly changing if the robot system senses in a robo- centric manner. For example, even though the robot may not move a great distance and may not change its environment significantly, it is very likely that all sensor readings will have changed their values. This large-scale sensor update can be a great burden on sensor processing and interpreting systems. G2 attempts to dampen this potential speed bottle-neck by introducing an environmental modeler as part of its knowledge base structure. In essence the LLAMA and G2 system is robo-centric, but contains an environmental modeler to reduce the complexity of sensor processing. This modeler expects certain environmental qualities as being absolute, such as level floors, ever-present (read: detectable) walls, landmark recognition, etc. These environmental restrictions and modeler are warranted: A person who has memorized how to walk to the bathroom in the dark relying only on feel uses a memorized model of the environment to reach his or her goal. A mobile robot system is much like this person in that the limited sensing capabilities are represented as sensor processing deficiencies.

A direct effector (commonly referred to simply as an effector) in a mobile robot can be a movable appendage (manipulator) or a locomotive device (wheels). Certain sensors can be considered active since they emanate waves or particles into the environment as part of the sensing process. An example of such a sensor is the ultrasonic range finder. The ultrasonic range finder sends a high frequency impulse into the surrounding environment to stimulate a reflection and eventual detection of the reflected wave.

An indirect effector does not change the platformís physical configuration but does affect the environment. For example, an infra-red elevator interface would include a transmitter on the platform and a detector on the elevator control panel. The robot could request elevator service without making contact with the up/down buttons. If a building containing a robot was "wired" to the robotís supervisor computer, then the supervisor could pass a request to the elevator system directly when the robot and elevator come into close proximity. (Note that the building system-supervisor computer-mobile platform does not conform to our definition of a mobile robot system since the buildingís elements cannot be isolated without impairing the intent of the design.) The effector which would have been used to control the elevator is no longer needed. The presence of the robot near the elevator and the intent to ride on the elevator will have caused a virtual effector event in the latter variation. There are currently no such events implemented in the LLAMA and G2 system since it is robo-centric.

As robots become more complex the need for self-diagnosis arises. There is no fundamental difference between the robot and its environment to the robot hardware/software and its (robot) environment. A robot is composed of different hardware and software modules that attempt to function as a seamless whole. If a module fails or falters, it is imperative that the supervisor is made aware of the fact. Each module may contain sensors that determine the condition of the module. Such sensors are no different from the sensors used to sense the robotís environment. We can refer to these as system sensors. These sensors can be further sub-classed, but current robot technology does not include these variations so the one term will suffice. Similarly, system effectors are plausible devices, but are rarely found in a robot. A consistent definition for a system effector is any device which causes a change in another device using a means other than a physically guided interface. An I/O port or optical fiber interface would not qualify under this definition. If these were included in the definition, virtually any software to hardware interface would qualify as an effector! Changes to system parameters or behavior are part of a class called system interface control.

Future mobile robots may contain modules, perhaps miniature repair robots, that monitor and adjust system performance. LLAMA can be configured to produce either solicited or unsolicited system sensor reports. Additionally, a rudimentary "self-repair" can be implemented: if some event causes an emergency stop condition, such as running into an object, a macro can be designed which will determine the stopped condition and reset the emergency-stop automatically.

Commands and Reports

A mobile robot, regardless of any constraints placed on its operation, must have the capabilities for movement and sensing. According to our definition, a robot controlled indirectly by a human would probably report sensor data; however, if the platform contained no sensors, the person controlling the robot would have to substitute his or her sight for this purpose. Another sensor technique that relies on neither the platform sensors nor human sight is known by the term, "Godís Eye." Modern airborne fighter craft display a top-down view of the combat theater for the pilot. Usually this visual information is provided by support radar aircraft and received and displayed in the fighter. This example illustrates an important issue in robotics: Should a robotics system rely only on the platformís sensors or all available sensors in the robotís environment? A robot that has access to global sensors is termed enviro- centric. A properly designed robo-centric robot has the advantage of being completely self-contained and autonomous. If a general mobile robot is required, it could be designed in an enviro-centric manner. A robo-centric system would be autonomous but could enhance its knowledge of the world by obtaining enviro-centric data upon request. Note that the robo-centric system does not rely on enviro-centric data and can function well without it.

Since a robo-centric system can only rely on its own sensors (except as noted above), in an open autonomous system sensor data must return from the implementor to the supervisor. This is the basis for reports. Similarly, supervisor to implementor control is achieved through the use of commands. One advantageous side effect of a robo-centric open autonomous system is that the platform can be modeled as a black box. The platform has one input and one output to the stationary system, which lends itself to such an interpretation. A greater difficulty is how to model the environment. Either the environment must be modeled as part of the black box, or the environmental model must somehow interface to the model of the robotís sensors and actuators.

The Mobile Robot System Classes

Most robot hardware can be controlled through software. The hardware classes of effectors and sensors are usually controlled through some software function, either a macro or primitive in the LLAMA system, and executed when the corresponding command arrives from G2. Most of these software functions can be grouped into like classes. A hierarchical class description is a reasonably clear method of describing the command and report structure of LLAMA; however, dependencies occur across classes and certain of these relationships might be obfuscated. For example, all drive motor commands can be grouped together but are not since each is grouped under appropriate effector, sensor and system headings (classes). An additional class description, called the functional class, supports the programming and operational features of LLAMA. Figure 4.1 shows the complete class hierarchy. This class description will be expanded upon in the next chapter. The relationship between hardware control through software functions will be covered in more detail in the next chapter.

Fig. 4.1. Agent Classes. The mobile robot agent classes are presented in a heirarchical format. Due to space limitations, the Functional class has been placed near the bottom of the diagram.

Return to Thesis Index