next up previous
Next: Design Up: A Simulator for ACME Previous: A Simulator for ACME

Introduction

The ACME software enables the development of experiments in the form of user programs containing motion plans, and ultimately controls the hardware by native calls to RCCL[#!rccl!#]. Our simulation is implemented by ``cutting'' just above the RCCL level, replacing the native calls with Java code. A user program is made to run as a simulation, rather than on the real hardware, by adding one line:

configManager.useSimulation();
The simulation takes the form of a 3-D animation, displayed in a viewer containing scene graphs corresponding to the various ACME devices. Collisions are detected and reported to the user.

Our implementation currently provides a kinematic model [#!lee82!#,#!paul81!#] of four robotic devices mounted on a table. Extension to a dynamic model and support for additional devices is feasible within the framework we have chosen. Adding new devices - given support by the rest of the ACME package - would require a minimal amount code (the hardest part probably being the creation of a new scene graph). Moreover, by closely following the ACME design paradigm, we have made the simulator compatible with the (seemingly imminent) extension of ACME to a multi-user client-server architecture.

The simulator software can be logically subdivided into an API, which is the ACME programmer's interface to the simulation; a viewer, which displays the simulation and detects collisions; and a back-end, which performs kinematic2 computations and updates the viewer.

The remainder of this report is organized as follows:


next up previous
Next: Design Up: A Simulator for ACME Previous: A Simulator for ACME
Tim Wellhausen
2000-01-20