Enki  1.9
Cookbook

This page will teach you how to use Enki step by step.

Overview

Enki is a robot simulator. Several objects (Enki::PhysicalObject) are placed in a virtual world (Enki::World). Some are passively obeying physical laws, but others are able to move and and interact with other objects by sending or receiving signals, they are robots (Enki::Robot). In the bare Enki distribution, there are four major robots:

Robots have members that can be set, such as leftSpeed and rightSpeed for Enki::EPuck, that will be used to compute their movements. World is updated on Enki::World::step() which defines the duration of the timestep in seconds.

First program using Enki

The following program initializes a world, adds a Khepera to it and runs the world for a while:

enkitest.cpp:

You can then compile this program, assuming its name is enkitest.cpp and Enki is installed system-wide, with the following command:

g++ enkitest.cpp -o enkitest -lenkiepuck -lenkiinteractions -lenkicore

This example is compiled in example/ subdirectory when Enki is built.

Additional notes

Please note that, by convention, units are:

Although Enki's core is unit-independent, the existing robots use those conventions.