Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

Enki Reference documentation



This is the reference for the Enki simulator library. Enki is a fast 2D simulator designed to support the simulation of colonies of robots hundred times faster than real time. To achieve this, simplified 2D physics and optimised hierarchical interaction models are used.


The installation procedure is explained step by step in the Install guide.


A quick start to most important classes is given in the Cookbook.

Design choices

The basic datatype is double. It is used everywhere excepted if another datatype specifically makes sense.

The core concept in Enki is the interaction. An interaction can be local, i.e. apply only up to a certain range, or global, i.e. apply to the whole world.

Local interactions are object <-> object and called by the inner simulation loop only when objects are below the interaction range. In objects, local interactions are sorted from long to short range so that once one is out of range, the following will be too. This is the main optimization in Enki that permits large colonies of robots. The complexity is still O(n2) so if very large colonies are required, a larger scale, grid based optimization should be used. It is currently not implemented in Enki. Physical dynamics between objects are the shortest ranged local interactions. Local interactions can also interact with walls. Physical dynamics between objects and walls are similar to local interactions with other objects, but use a different method of calculation.

Global interactions are object <-> world.

Development state

The core, the IRSensor, and the basic Alice and Sbot features reflect real hardware and thus won't change much.

The Alice sound source and sensor and the Sbot camera don't reflect real hardware and thus are subject to change.


If you have any comments or suggestions, do not hesitate to send them to Stephane Magnenat <>


This program is free software released under the GNU General Public License version 2. The authors of any publication arising from research using this software are asked to add the following reference:
Enki - an open source fast 2D robot simulator
Stephane Magnenat <>,
Markus Waibel <>
Antoine Beyeler <>
Laboratory of Intelligent Systems, EPFL, Lausanne

Generated on Mon Oct 24 17:33:58 2005 for Enki by  doxygen 1.4.2