Today's autonomous robots come in a variety of shapes and sizes from all terrain vehicles clambering over rubble, to robots the size of coffee cups zipping about a laboratory. The diversity of these robots is extraordinary; but so is the diversity of the software created to control them even when the basic tasks many robots undertake are practically the same (such as obstacle detection, tracking, or path planning). It would be beneficial if some reuse of these coded sub-tasks could be achieved. However, most of the present day robot software is monolithic, very specialised and not at all modular, which hinders the reuse and sharing of code between robot platforms. One difficulty is that the hardware details of a robot are usually tightly woven into the high-level controllers. When these details are not decoupled and explicitly encapsulated, the entire code set must be revised if the robot platform changes. An even bigger challenge is that a robot is a context-aware device. Hence, the possible interpretations of the state of the robot and its environment vary along with its context. For example, as the robots differ in size and shape, the meaning of concepts such as direction, speed, and distance can change { objects that are considered far from one robot, might seem near to a much larger robot. When designing reusable robot software, these variable interpretations of the environment must be considered. Similarly, so must variations in context dependent robot instructions { for example, `move fast' has different abstractions; a `virtual robot' layer to manage the robot's platform abstractions; and high-level abstraction components that are used to describe the state of the robot and its environment. The prototype is able to support binary code portability and dynamic code extensibility across a range of different robots (demonstrated on eight diverse robot platform configurations). These outcomes significantly ease the burden on robot software developers when deploying a new robot (or even reconfiguring old robots) since high-level binary controllers can be executed unchanged on different robots. Furthermore, since the control code is completely decoupled from the platform information, these concerns can be managed separately, thereby providing a flexible means for managing different configurations of robots. These systems and techniques all improve the robot software design, development, and deployment process. Different meanings depending on the robot's size, environmental context and task being undertaken. What is needed is a unifying cross-platform software engineering approach for robots that will encourage the development of code that is portable, modular and robust. Toward this end, this research presents a complete abstraction model and implementation prototype that contain a suite of techniques to form and manage the robot hardware, platform, and environment abstractions. The system includes the interfaces and software components required for hardware device and operating system abstractions; a `virtual robot' layer to manage the robot's platform abstractions; and high-level abstraction components that are used to describe the state of the robot and its environment. The prototype is able to support binary code portability and dynamic code extensibility across a range of different robots (demonstrated on eight diverse robot platform configurations). These outcomes significantly ease the burden on robot software developers when deploying a new robot (or even reconfiguring old robots) since high-level binary controllers can be executed unchanged on different robots. Furthermore, since the control code is completely decoupled from the platform information, these concerns can be managed separately, thereby providing a flexible means for managing different configurations of robots. These systems and techniques all improve the robot software design, development, and deployment process.
Identifer | oai:union.ndltd.org:ADTP/265398 |
Date | January 2005 |
Creators | Smith, Robert |
Publisher | Queensland University of Technology |
Source Sets | Australiasian Digital Theses Program |
Detected Language | English |
Rights | Copyright Robert Smith |
Page generated in 0.0019 seconds