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 and installation

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.

USSR is currently only available as source code through github at https://github.com/ModularRoboticsLab/ussr, but does come with configuration files for eclipse, making it trivial to compile and run the simulator provided eclipse is being used. The following is a complete guide to downloading the required software and getting started, for complete information click on the "(instructions)" link at each step:

  1. If on Linux, install the official Java version from Oracle
  2. Download and install eclipse from http://www.eclipse.org, please grab the 32-bit version for your platform (instructions)
  3. Install the git version control system for eclipse (instructions)
  4. Import ussr as a new project from github, currently: https://github.com/ModularRoboticsLab/ussr (instructions)
  5. Continue from the file doc/index.html in the ussr repository (instructions)

Any problems should be directed to the maintainer, ups@mmmi.sdu.dk

Known issues

None (but beta-quality software); platform-specific requirements are Oracle's Java for linux and running Java in 32-bit mode for mac (see documentation for details).

Personal tools