Go to Alexandria's home page
The Library of Alexandria

Mechasphere

A digital "Petri dish" for AI experimentation

Alexandria Home | Up One Level | Home | Download | Usage | Modeling | Programming

Last updated 11/16/2004

Table of Contents

Introduction
Download the Program or Source Code
Basic Usage
Modeling
Programming

Back up to the table of contents Introduction

Screen Shot.  Click to see full-size version.
Click to enlarge
The purpose of the Mechasphere project is to provide myself and other researchers a platform for artificial intelligence (AI) experimentation. The product and source code are provided here at no charge.

Based on earlier work you can still find online, the Mechasphere system includes a basic physics and graphics engine for representing a "planet" composed of particles, spring-like links among them, and other interesting effects. Robots are constructed of derivatives of the basic particle class which serve as sensors, effectors, and brain chasses. Each robot can have one or more brains composed of different kinds of information processing components, like calculators and finite state machines (FSMs).

An entire planet can be defined in one or more XML files, which means many simple sorts of experiments can be run without ever writing a single line of code. And because of the modelling protocol's flexible inheritance model, it's easy to design machines with repeating segments and even have one segment override the definition of what is inherited. And you can easily reuse obstacle courses and robots in multiple experiments.

The source code is freely available. Written in VB.NET, the code does make some sacrifices of optimization in return for a high degree of reusability, readability, and extensibility. You can easily derive new kinds of sensors, motors, and brain components while taking full advantage of the existing physics and graphics features.

In addition to the basic engine and viewer, shown above and right, there's a main menu with configurable options and the ability to spawn any number of simultaneous planets to play with. For each viewer, you can choose different execution speeds, zoom levels, detail levels, and so on. And you can capture screen frames to PNG files as the program runs for later review. (Click here to see an example.)

A reviewer program is included that allows you to watch the action at any speed you care to, as well as to pause, scan, change directions, jump to any point, or otherwise manually step your way through any part you wish to study. Since you can set the image to stretch to fit the reviewing window and set the animation to auto-repeat, you can easily set up an unattended display at meetings or shows.

In summary, the main point of my creating this software was to make it easier for me to do AI research. I find that "lab bench" AI experiments disconnected from some useful embodiment generally inhibit useful AI research, yet building physical robots can be an expensive and time-consuming prospect. So rather than have to create individual simulated environments for each and every project I embark on, I wanted a reasonably complex environment I could create once and continue to reuse. To be sure, this is a work in progress. If you wish to take advantage of this program in your own artificial intelligence research, I encourage you to return here every now and then for the latest. To be sure, I'll be adding new sensors, motors, and brain components as time passes. I'll probably also add other niceties to the user interface. But I'll definitely be uploading ever more project examples and results from experiments run against them. You're also welcome to contact me using the means provided below. Good luck to you with your own research, and I hope you find this interesting and perhaps useful.

Back up to the table of contents Your Feedback

I encourage you to let me know if you intend to use or are using this in your own projects. Does this help solve some problems for you? What limitations get in the way of your research? To be sure, I don't really want to be a help desk for the software, but you're welcome to ask if you want some advice on how to apply these concepts to your work. Drop me a line.

Send me email.


Go to Alexandria's home page Copyright © 2012 The Library of Alexandria. All rights reserved.
Produced in cooperation with Carnell Information Systems, Inc.