World in a Bottle (WoB)
Short Presentation
"World in a Bottle" is a robot's simulator
written in C++ and taking advantage of OpenGL library. Currently
Kheperas are privileged but the simulator design is open to all robots.
There is a quick tour of advandages and limitations of our simulator.
Advantages :
- Real time 3D display of your
simulation.
including sensors view (display can be disable to achieve better
simulation speed).
- You can easily define your environment (walls, cylinders...) and
read/save them.
- You can put as many robots you want in the simulator.
- You can take the control of a robot during the simutaion using the
keyboard.
- Simulation of IR proximity sensors both in active and passive modes.
- Simulation of Camera 1D and 2D.
- Simulation of moving obstacles.
- Writting a controller
can be
easily performed in C++ and require no knowledge on the simulator's
structure (see Tutorials).
- You can write your controller in
any language since the is the possibility to run the simulator
in server mode. That is you can give your orders and receive sensors
results using a socket. You just have to be able to read/write a socket
in your favorite language.
- You can transpose your controller in the real world just by pressing
a key. That is your controller will give orders to a real robot. At
this time only kheperas allows this transposition but if you want to do
it for an other kind of robots, just send us specifications of the
transmission protocol. Just an other point : life is harder in the real
world because you can only request value of real sensors (i.e. you lose
the ability to request you exact position or to detect a collision).
- The simulator is designed to be
interfaced with EO (a genetic elvolving library). So it is easy
to evolve controllers but you sould go and see the EO web page and
Tutorials.
- Works both under Linux and Windows
.
Limitations :
- All simulated robots have only two whells (easy to bypass but
need some knowledge on the simulator's source code).
Collisions have a minimalistic gestion : robots cannot slide on wall
or on an obstacle. ( Can be modified but you should have a good reason
to do so or be persuasive ;o).
- Gestion of the gripper is minimalistic : the robot can grip and
release immediately, never fails to grip when the object is in the good
area and there is no gestion of the new 3D form of the robots.
This point is really hard to improve.
- The simulator can only control one real khepera (using
serial port). I don't know how to suppress this limitation.
Download
You can download a
daily
snapshoot of the cvs of WoB . This
release is made under GPL.
Acces is now
open. You can ask me for bugs, difficulties and new features (don't forgtet this is still a beta version).
Contact
include("../contact.txt") ?>