USSR

From modular

Jump to: navigation, search

Contents

Unified Simulator for Self-Reconfigurable Robots (USSR)

As part of an overall effort to make self-reconfigurable robots more accessible, we are developing a simulator for self-reconfigurable robots. This simulator, named the Unified Simulator for Self-Reconfigurable Robots (USSR), is designed to support a wide variety of self-reconfigurable robots. Our simulator currently supports the ATRON, Odin, and M-TRAN self-reconfigurable robots.

Image:ussr-many-robots.jpg

What are the characteristics of USSR?

An important design goal is to make it easy to experiment (in simulation) with new designs for self-reconfigurable robots. In essence, USSR is a framework that provides a number of primitive building blocks that can be combined to form different self-reconfigurable robots. Our vision is that USSR can serve as an open platform for creating simulators for modular and self-reconfigurable robots.

The simulation is based on a physics engine and hence allows simulation of dynamic interaction with the environment, such as friction and object manipulation, but is also precise enough to simulate self-reconfiguration. This feature enables experiments where robots interact with a simulated environment and use self-reconfiguration to better adapt to the environment. Support for new robots can easily be added to the simulator by combining physical shapes with sensors, actuators, communication devices, and connectors; special attention has been paid to providing a flexible model for connectors, since this is a critical feature of self-reconfigurable modular robots. The simulator is implemented in Java but provides a lightweight interface for controllers written in C, which for example allows existing controllers for the real ATRON robot to run in USSR.

Example

As a concrete example of a simulation implemented in USSR, consider the image sequence shown below: (1) an ATRON robot in an initial 8-shape is blocked by a wall, (2) the robot self-reconfigures to a snake, (3) traverses the wall, (4) reverts to the 8-shape, (5) self-reconfigures to a car, (6) reaches the final car configuration in a tipped-over state, (7) raises the car to stand on its wheels, and (8) drives away. This simulation is only possible in an environment that not only simulates physical effects such as friction and gravity but also allows self-reconfiguration to be simulated in the same environment. Since the simulator provides a uniform physics-based environment for all the robots it supports, the same simulation could easily have been carried out with several different modular robots.

Image:ussr-carsnake-1.jpg Image:ussr-carsnake-2.jpg Image:ussr-carsnake-3.jpg Image:ussr-carsnake-4.jpg Image:ussr-carsnake-5.jpg Image:ussr-carsnake-6.jpg Image:ussr-carsnake-7.jpg Image:ussr-carsnake-8.jpg

Download

The USSR simulator is open source and includes numerous simulation examples and documentation both for the novice programmer, who simply wants to experiment in simulation with existing designs for self-reconfigurable robots, as well as for the more experienced programmer, who can use USSR as a framework for rapidly prototyping simulation environments for new self-reconfigurable robots. The simulator runs on Windows, Linux, and Mac OS X.

The following versions of USSR are available:

Please note that USSR is still a very new piece of software and thus will most likely need some more development before it exactly fits your needs. Luckily, we are very open to suggestions for how to improve or modify the software. A new release is planned for November 2008 comprising an improved socket-based interface and a number of bug fixes.

Installation instructions are included, see the file README.html in the root of the archive.

To be notified when updates are available, subscribe to the ussr_announce mailing list. Problems, requests for help, suggestions for improvement, initial feedback etc. can be directed to the maintainer Ulrik Pagh Schultz. Upcoming features:

  • Interactive robot builder (put together robots from modules)
  • Communication debugger

We are open to suggestions for other features.

Known issues

24/9-2008: The underlying JME framework seems to have stability problems with recent versions of Java on linux and Windows, whereas MacOS is working fine. Symptoms: spurious problems with numerous error messages when starting up. Temporary fix: try restarting the simulator.

Personal tools