
Last updated: September 6, 2002: a
new section and a paper about the approach we're taking
to Programming Timbot. The page
should also download faster now because the images are scaled
down on the server and not on your client ... click on an
image to see the original high resolution version.
Introduction
Timbot is a robot vehicle that we have built
and are using as an experimental platform for
Project
Timber, a DARPA funded research project (part of the PCES program)
in the Department of Computer Science and
Engineering at the OGI School of
Science & Engineering at OHSU.

(Timbot = the Timber robot,
Timber = Time as a basis for embedded
real-time systems.)
Built on the chassis of a radio-controlled
monster truck, Timbot hosts an on-board embedded PC (an 850MHz
PIII, 256MB ram, wireless 802.11b ethernet, compact flash as
boot media, Red Hat Linux 7.2 with a custom kernel and real-time
support using RTAI); a pan-tilt camera that connects to a PC/104+
framegrabber; and sonar and line tracking sensors.

We are using Timbot to demonstrate that
demanding, real-time control applications (programmed in the
Timber language) can be integrated with QoS adaptive real-rate
applications (in particular, adaptive video streaming over
a wireless network). Our goal is to show how Timber supports
rapid construction and reuse of embedded, real-time applications
with enhanced portability, guaranteed behavior for real-time
components as a result of static analysis, and dynamic adaptivity
for real-rate components driven by varying, user-specific QoS
requirements.

Programming Timbot
Once you've built a robot, how should you
program it do interesting things? For more information about
the approach that we're using, you might want to read our draft
paper "Composed, and in Control".
The paper describes the implementation of control algorithms for Timbot
using the Timber
programming language, which offers a high-level, declarative
approach to key aspects of embedded systems development
such as real-time control, event handling, and concurrency.
In particular, the paper shows how Timber can be used to support
an elegant, compositional approach to program construction
and reuse -- from smaller control components to more complex,
higher-level control applications -- without exposing programmers
to the subtle and error-prone world of explicit concurrency,
scheduling, and synchronization.

The Timbot Movie
If you'd like to see Timbot in action, then
take a look at our short (49sec) movie, available in several
different formats from the links below. Of course, the bigger
files take longer to download but the quality is better.
For a soundtrack, you'll have to imagine
the theme from "Mission Impossible." For copyright reasons,
of course, we can't actually use it on these movies ... :-)

Timbot Pictures
The following pictures show the current
status of Timbot. The yellow and black chevron tape in some
of these shots is part of a control application; by sampling
a three-sensor line tracker at a high frequency (~10KHz),
the robot can detect its current speed and heading, and make
appropriate adjustments to follow the line.




Last updated: September 6, 2002.
For more information, please contact
mpj@cse.ogi.edu.