BRAK Project-> Design info-> Software-> Software Abstraction Layer



Quik links

The BRAK Project
What's new
Project background
Design info
Student projects
Photo gallery
Vendor info
Related projects
Relevant links
Site map
Project timeline
The Next Generation

Brak E-mail
Engineering
Pacific

Page maintained by
khughes@uop.edu

Software Abstraction Layer (SAL)

Description

This software package provides an abstract layer between control algorithms for Brak and the low-level interface with the hardware. In addition, it allows the use of a simulator for the robot's hardware for the purpose of testing algorithms, and also provides a mechanism by which the status of the robot (either real or simulated) can be observed through a graphical user interface (GUI). We are implementing this abstraction layer using shared memory interfaces and BSD-style sockets for interprocess communications. The parts of the current model are shown below:

Status

This project is still under development. It originated in Spring 1999 from two senior projects using Brak. One, a VRML/Java interface for Brak, used sockets to communicate between a web page and the robot. The other, a robot simulator, needed a way to easily allow control algorithms to be tested without the need to recompile or relink the algorithm with either the simulator or hardware interface libraries. The original model for the abstraction was conceived in the Kangaroo Chair at Alpine Meadows Ski Area (not sure if this was before or after the concussion) in November 1999. It was later modified (after more brilliant ideas came to me on Jingle Bells at Sugar Bowl) and a preliminary version tested in April 2000. Further changes began in Summer 2000 and release 0.1.0 was made public in October 2000.

Incidentally, if you have a good suggestion of a Tahoe area ski resort where I might try to de-brain myself and/or generate further leaps of intuition, send me a ski ticket and I'll let you know how it works out.

Details

  1. BRAK Software Abstraction Layer manual (PDF format, 322KB) -- available finally in paperback! Now everything you wanted to know (except for the stuff I haven't yet written) about the BSAL, including (a) what it is, (b) what goes on inside it, (c) why's it so big, and (d) why does it make that funny buzzing sound when it's running? Includes the latest versions of the Robot Display Interface (RDI) and Robot Control Interface (RCI) specifications, all indexed and ready to be read. Not available in stores.
  2. BRAK Software Abstraction Layer libraries, release 0.1.0 (Gzipped TAR format, 82KB) -- these libraries implement to low-level details of the RCI, RDI and RSI protocols. Primarily, they contain procedures and objects for constructing and processing valid packets. Also included are some routines which provide an interface between "clients" (such as control application) or "servers" (such as the control process) and the RCI protocol objects.
  3. BRAK Software Abstraction Layer programs, release 0.1.0 (Gzipped TAR format, 107KB) -- these programs include the control process (CP), GUI process (GP), and example control and GUI client applications.

Create FREE graphics at FlamingText.com