Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.

Post on 19-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Using Real-time Awareness to Manage Performance of Java Clients

on Mobile Robots

Andrew McKenzie, Shameka Dawson, Quinton Alexander, andDr. Monica Anderson

Department of Computer ScienceUniversity of Alabama

Tuscaloosa, AL USA

This work was supported in part by the following NSF grants: IIS- 0846976 and CCF-0829827

Outline

• Motivation• Related Works• Extension Features• Implementation• Experimental Setup• Results• Conclusion/Future Work

Motivation

• Timing (as in frequencies for tasks) requirements are not available in free open-source Mobile Robot Architectures [Kramer et al 2007]– Timing requirements are required in control

systems for robotic arms, aircraft flight controllers, and automobile controllers

Related Work

• Player [Gerkey et al 2001] • Subsumption Architecture [Brooks 1991]• ARIA [Konolige 2002]• OROCOS [Bruyninckx 2001]• Chimera II [Stewart et al 1992]

Extension Features

• Specify and execute each behavior periodically• Manage data production and consumption

within the framework

• Initial Goals– resource utilization– memory management– reporting

Implementation

• Modified Player to include the proposed extensions

• The extensions are beneficial to any language• Written in Java

Why use Player?

• language bindings for C, C++, Java, Python, Ada, Lisp, Ruby …

• Open source• Platform independent• Does not provide a framework for behaviors• Easily modified to include our extensions

Why Java?

• Suggested that programs written in Java take less time to code and/or contain fewer errors [Phipps 1999]

• Garbage collection (good and bad)– Memory management– Can cause indeterminism

Player Server

Robot

SensorsPlayerDataTask

TCP/IP

Monitor

Tasks

schedules

1

1..n

1

1

starts

SensorData

Data updateMultiple outputsAssociationsCommunication

Real-time aware Framework

Experimental Setup• K-team Koala Robot• Acces I/O ETX-Nano

computer– Intel Core Duo 1.66GHz– 2GB of RAM– 8GB compact flash– Runs Fedora 10

• Hokuyo URG laser range finder

Experiment room (9.6m x 6.2m) with four waypoints

Experiment tasks

• WayPointPlanner (Waypoint)– moves the robot through a series of waypoints

• LaserObstacleAvoidance (Laser)– avoids obstacles sensed via the laser

• OccupancyGridMapping (Occupancy) [Elfes 1989]– uses position and laser data to build and maintain an

occupancy grid map

• DijkstraPathPlanner (Planner) [Dijkstra 1959]– plans a path from the current position to a goal (waypoint)

using the occupancy grid map

Real-time aware Framework used for Experiments

• Sets were not statistically significant in terms of distance from finish

• Sets 1 and 4, and Sets 1 and 5 were statistically significant in terms of total run time

• Sets 2 and 4, Sets 3 and 4, and Sets 4 and 5 had confidence intervals of 82%, 85% and 79% in terms of total run time

Future Work

• Compare performance on a RTOS using Sun’s Java RTS

• Compare performance between C++ and Java

Conclusion

• Presented a means of extending a behavior based paradigm to incorporate temporal awareness– Written in Java and added to the Player interface

• T-tests on the Experimental data showed that you can effect the overall performance by adjusting the timing of the underlying behaviors

Questions

Framework using Java RTS on Solaris

top related