QUT ePrints

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; avirtual 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.

Impact and interest:

Citation counts are 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:

989 since deposited on 03 Dec 2008
137 in the past twelve months

Full-text downloads displays 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 04:02
Last Modified: 28 Oct 2011 19:47

Export: EndNote | Dublin Core | BibTeX

Repository Staff Only: item control page