Rossum -> Simulator
Link to The Rossum Home Page FAQ | Papers | API Reference(Javadoc)
Downloads | Tools | Installing and Running RP1
Rossum's Playhouse (RP1)

Rossum's Playhouse (RP1) is an open-source robot simulator.
You may obtain this free software at our Downloads Page

API Documentation (generated using Javadoc) is now available at API Reference(Javadoc)

The C/C++ API for our latest release (0.60) is not yet ready.
Fortunately, the C/C++ API still works with the earlier release (0.50)

A CAD-based tool is now available for authoring simulation environments
For more info see
Map Viewer

Simple Control Panel for Demo Application Trinity College Robot Contest
Above: A simple control panel from the Demo application included in RP1. Right: Simulated competition arena from the Trinity College Fire Fighting Home Robot Contest

About Rossum's Playhouse (RP1)

Rossum's Playhouse is a modest, two-dimensional robot simulation intended to aid developers implementing control and navigation logic. It allows applications to build a data-configurable robot which can interact with a simulated landscape or solve a virtual maze. The inspiration for this mobile-robot simulator was the Trinity College Fire-Fighting Home Robot Contest (see Trinity College).

RP1 is primarily a tool for programmers and other developers who are writing software for robotic applications. It can also be used as a testbed for algorithms and control logic. A number of developers are currently using the simulator to test and improve competition strategies for small robots. RP1 will support either maze-solving applications or implementations where the environment in known a priori (as it is in the fire-fighting contest). The floor plan can be configured to provide far more extensive designs than the one shown above and can support any realistic scale.

Both binaries and source code are available from this site (see Downloads).

A key element of the mobile-robot simulator is its economy. Much of the code you develop using RP1 can be ported directly to your robot platform. RP1's client-server architecture enables you to work in any major programming language and environment.


Good documentation is an essential part of any software development tool. We want our users to spend their time writing software for real robots, not struggling to figure out how to operate a robot simulator. And while none of us actually likes writing documentation, we've tried to do our part by putting together the Rossum's Playhouse User's Guide (see Users060.pdf). We've also constructed API-level documentation for the RP1 classes using the Javadoc utility (see the RP1 Programmer's Reference).

The User's Guide provides an overview of the RP1 mobile-robot simulator and information that will enable you to write software for simulated robot control systems. It also discusses some of the thinking that went into the design of the system and explains why certain approaches are followed. Like everything else in The Rossum Project, the User's Guide is a work-in-progress. While not complete, it is a valuable aid to developing software using RP1.

We've also included some supplemental information in a hypertext document called Installing and Running RP1.

The Language of Choice

Rossum's Playhouse is written in Java. Now, we recognize that Java is not the language of choice for most robotics developers. That's why we've been preparing for cross-language support since the day we wrote the first line of RP1 code. Early in the project, a proof-of-concept interface was offered as a starting point for developers working in C or C++. In classic open-source form, developer James Y. Wilson took up the challenge and produced a full-feature implementation of the API that works under Windows, Windows-CE, Linux, and many Unix variants.

Further RP1 development, and support for other languages, will depend on the efforts of collaborators.

Anyway, Java may not be the perfect language for every kind of software development, but it's a great language for writing a robot simulator. To run RP1, you will need a copy of (at least) the Java Run-Time Environment (JRE) rev 1.2 or later. To develop code, get one of the latest releases of the Java Software Development Kit (JDK or SDK) (currently in rev 1.5). Both are available from Sun Microsystems.

Help Wanted

We intend to develop RP1 as a collaborative effort. And, frankly, we need help.

RP1, as it exists today, is the kernel of a system. It's useful now, but much still needs to be done in terms of user interface, better animation, better modeling, development utilities... basically, all those things that make a software tool pleasant to use.

And we don't just need help with the simulator. We're even more interested in the kind of software tools that could go into robots: navigation logic, sensor analysis, anything that will help people building real robots. In fact, we view the simulator as merely a means to an end. The fundamental goal of the Rossum Project is not to build a simulator. It's to help developers to create smart robots.

Even if you don't do software, the Rossum Project has all sorts of opportunities to contribute: we welcome white papers, design notes, lab reports, algorithms... any good information that pertains to robot development. Knowledge is our most imporant resource.

Insight Needed

We cannot emphasize enough the need for feedback on the Rossum Project. What kind of work is neeeded? What features are important? What kind of tools are needed for robotics in general? Have you used the RP1 simulator? What have you done with it? How do you envision using it? And, by the way, have you encountered any bugs?

This kind of information is crucial to determine a direction for the project. Without it, there is simply no way to know what we should do next. Got something to say? Visit the User Forums or check out our Project-Management Page.


Questions? Comments? Write to the author

Copyright (C) 1999 by G.W. Lucas.
All rights reserved except as otherwise marked.

Trinity Fire-Fightning Home Robot Contest Design Copyright (C) 1998 by Trinity College.
Used with permission.
SourceForge Logo  
We gratefully acknowledge our web-host, Source Forge,
for making this web site possible.