Top Banner
Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson Department of Computer Science University of Alabama Tuscaloosa, AL USA This work was supported in part by the following NSF grants: IIS- 0846976 and CCF-0829827
22

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

Jan 19, 2016

Download

Documents

Magdalena Pryce
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.

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

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

Outline

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

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

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

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

Related Work

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

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

Extension Features

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

within the framework

• Initial Goals– resource utilization– memory management– reporting

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

Implementation

• Modified Player to include the proposed extensions

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

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

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

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

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

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

Player Server

Robot

SensorsPlayerDataTask

TCP/IP

Monitor

Tasks

schedules

1

1..n

1

1

starts

SensorData

Data updateMultiple outputsAssociationsCommunication

Real-time aware Framework

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

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

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

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

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

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

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

Real-time aware Framework used for Experiments

Page 14: Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.
Page 15: Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.
Page 16: Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.
Page 17: Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.
Page 18: Using Real-time Awareness to Manage Performance of Java Clients on Mobile Robots Andrew McKenzie, Shameka Dawson, Quinton Alexander, and Dr. Monica Anderson.

• 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

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

Future Work

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

• Compare performance between C++ and Java

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

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

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

Questions

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

Framework using Java RTS on Solaris