A component-based layered abstraction model for software portability across autonomous mobile robots
Smith, Robert (2005) A component-based layered abstraction model for software portability across autonomous mobile robots. PhD thesis, Queensland University of Technology.
Abstract
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.
Citations:
Citation countsare sourced monthly from Scopus and Web of Science citation databases.
These databases contain citations from different subsets of available publications and different time periods and thus the citation count from each is usually different. Some works are not in either database and no count is displayed. Scopus includes citations from articles published in 1996 onwards, and Web of Science generally from 1980 onwards.
Citations counts from the Google Scholar™ indexing service can be viewed at the linked Google Scholar™ search.
Full-text downloads:
Full-text downloadsdisplays the total number of times this work’s files (e.g., a PDF) have been downloaded from QUT ePrints as well as the number of downloads in the previous 365 days. The count includes downloads for all files if a work has more than one.
| ID Code: | 16406 |
|---|---|
| Item Type: | QUT Thesis (PhD) |
| Supervisor: | Smith, Glenn, Pham, Binh, & Wardhani, Aster |
| Keywords: | software portability, platform abstraction, hardware abstraction, code reuse, robot |
| Divisions: | Past > QUT Faculties & Divisions > Faculty of Science and Technology Past > Schools > School of Software Engineering & Data Communications |
| Department: | Faculty of Information Technology |
| Institution: | Queensland University of Technology |
| Copyright Owner: | Copyright Robert Smith |
| Deposited On: | 03 Dec 2008 14:02 |
| Last Modified: | 29 Oct 2011 05:47 |
Export: EndNote | Dublin Core | BibTeX
Repository Staff Only: item control page