Building a robot isn't easy. Robotics presents a challenging intersection of
hardware and software. It reaches across disciplines including: Mechanical
Engineering, Artificial Intelligence, Electronics, and Computer
Programming. Better hardware has made the job less difficult,
but the software hasn't followed suit. There is a serious lack of reliable,
ready-to-use software components for the robot developer.

The Rossum Project is an attempt to help.

Our goal is to collect, develop, and distribute software for
for robotics applications. Over the last few years, open-source
and free software initiatives have given computer users
a remarkable collection of tools and capabilities. We hope to
extend the same kind collaboration to the development of
robotic software. To do so, we need your help...

Working Together

This site is a place where developers
can share software and exchange ideas. With your participation, it will grow into
a resource where developers can download reliable, highly capable modules to
incorporate into their robots. Visit our
Project Management Page for user forums, project membership, and other information.

The first major software release for The Project, a 2-D robot simultor known
as Rossum's Playhouse (RP1), is now available.
The Rossum Project is actively seeking developers to help with the simulator,
and is also seeking other open-source software and information.

An extensively modified Rug Warrior provides the base
for this robot built by Vassilis Varveropoulos.

Can Robots Really Share Code?

We see two general opportunities for robot developers to
benefit by sharing code: development tools and
portable software components.

A good example of development
tools is the
MotionApplet. One of our contributors wrote MotionApplet
to explore the behavior of a robot locomotor system and illustrate the
effect of different parameters on its behavior. The Rossum Project
is very much interested in obtaining analysis tools that help users create
and deploy working robots.

The second opportunity for the sharing of code is software components.
The drawing above illustrates our concept for building code that
can be ported between platforms. While each system presents unique
problems -- that can be answered only through custom implementations --
many functions are common to all robots. Navigation, interpreting sensor data,
exploring an environment... Things that every robot does don't
have to be re-coded for every new implementation. The plug-in
modules shown in the figure work in concert with custom code to
operate a working system. By sharing and re-using substantial chunks of
code, we can shorten the development cycle for robot software while
improving the robustness and reliability of the finished product.

Why a Simulator?

It's no accident that the first module written for the
Rossum Project was the RP1 robot simulator.
It has an important role to play in this open-source robotics software project.
One of the things that makes it so hard to write software for robots
is that there is no common platform. Robots are very specialized
devices and no two systems are alike. You can download robot
software from the web, but you can't download the robot to run
it. So when you find a software module that you might want
to run in your system, how to you know what it really does?

The RP1 simulator gives you an opportunity to find out. First,
it provides a way to "bench test" software on a PC or other
computer before you move it to the more demanding world of an
actual robot. Second, it provides a way for software developers
to demonstrate their components. When you download
a module that can run on the simulator, you have a pretty
good idea how it operates, what it does, and of whether it will meet
your needs. You will have seen the the thing actually work.
So the software you download will be more than just an
abstract segment of code. It will be a
well-characterized module which can be integrated or
adapted for your own system.

Source Forge Offers its Help

Until recently, the effort to turn The Rossum Project into a truly
collaborative effort was hampered by a lack of support facilities
such as User and Developer Forums, ftp access, bug tracking, and
version control. All of these can now be found under theRossum Project Management Page
thanks to the generosity of Source Forge.

Source Forge is a web hosting service dedicated to the advancement
of open source software. They provide an impressive set of tools
and resources for free software projects. Perhaps the most
important of these are the
User Forums and mailing lists. Now, at last, we have a place for conversation.
Forums provide developers and users the opportunity to swap ideas, to coordinate our
efforts, and establish direction for the future of the project.
With the move to Source Forge, we hope the Rossum Project
can look forward to vigorous new growth.

If you are looking for more information about robotics -- including
tutorials, algorithms, and technical data -- visit the Seattle Robotics
Society's Encoder.
The Encoder is probably the best on-line resource for robotics information on the planet.