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.
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.
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 ... :-)
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 firstname.lastname@example.org.