2. Hardware and Software

Note: while the items described in 2.1 - 2.3 would compliment eachother nicely, they may each stand alone as well. The Khepera Robot, the Khepera Simulator, and Popbugs may be used independently of eachother.

2.1 Khepera Robot


About 2,000 US$. Note: This is an estimate based on talking to some one who bought a Khepera last year, not based on a quote from the company. Information I found on the web indicates that, as of 1997, the price is based on conversions from 3,000 Swiss Francs.


From the K-Family Page (www.k-team.com):

The Khepera Miniature Mobile Robot

The MINIATURISATION of Khepera makes it possible to have the power of a big robot on a normal desk close to the computer. The advantages given to the user are multiple:

The environment is easy and cheap to build. The robot can be manipulated easily The connection with a computer can be made with an aerial cable without problems. Computer, robot and environment are on the same table, close to the user. The miniature robot is relatively much more robust than a big one. Imagine Khepera, 50 mm in diameter, running against a wall at a speed of 5o mm/s. Now compare it with a big robot, 1m in diameter, going against a wall at a speed of 1m/s ... Guess who`ll survive, the wall or the robot ? To ship or to take the robot to a conference won't be a problem anymore!

Technically, Khepera is a complete robot, with a lot of interesting characteristics.

To increase the functions of the basic version, several EXTENSION TURRETS can be plugged on the top of it.

[. . .]

The following EXTENSION TURRETS are available at the moment:

The General I/O turret makes simple extensions possible. Several inputs and outputs are available to the user to connect motors, sensors or any other device.

The K213 Vision turret includes a linear pixel array to allow simple vision. A local processor on the turret manages the linear array and communicates with the main processor of Khepera.

The K2D Video turret supports a black/white or color CCD camera. The video signal is not processed on board but is transmitted through the cable on the fixed computer.

The Gripper turret makes object manipulation possible. Equipped with an arm with two degrees of freedom, Khepera can grasp, recognise and transport objects.

[. . .]

Research Methodology and Environment

[The Khepera is] used in three main configurations:

  1. The oldest and well known development methodology consists in building the binary code for the robot on a computer, transfer it to the robot and run it on the robot. A library of procedures is available to control the robot hardware: Wheel speed and position control, sensor reading, multitasking management and many other features are included in the BIOS of our robots and can be used from a C program.

    This configuration has the advantage to allow the robot to run independently from the computer, but it has the disadvantage that the user has no access to the running code. This is very problematic for debugging the program and for the understanding of the tested control program. Note that only very few Khepera or Koala users work in this configuration.

  2. Most of the actual users of these robots work by running the control program on their favourite computer (PC, SUN, MAC, SG, HP ...) in their favourite programming environment (C, C++, LISP, LabVIEW, PackLIB ...) by controlling the robot through a standard RS232 serial link. Khepera and Koala have a running mode called "SerCom", where all functionalities of the robot can be controlled with simple ASCII commands sent on the RS232 serial line. For instance, the command "D,5,3" sets the speed of the left wheel to 5 and the speed of the right wheel to 3 (the unit correspond to 8mm/s). When the robot receives the command, it executes it and answers with the acknowledge "d". In the same way, when the user send "E" on the serial line, the robot answer "e,2,3", where 2 and 3 are the measured speeds of the left and right wheel (in the example described, it means that the left wheel is blocked).

    This configuration allows to split the control of the robot between the local processor placed on the robot and the host computer: The robot processor manages all strict real-time tasks (motor control, for instance) and the computer manages the task of higher level, which are the most interesting ones for the user. The fact to have this part of the control program on the computer allows an easier development (known environment and good debug tools) and a much better understanding of the system due to the possibility of a much better interaction (graphical representation, mouse and keyboard which are not on the robot).

  3. When users start to understand their algorithms and want another kind of distribution of the tasks between robot and host computer (more treatment made at the level of the robot, for instance), they use a combination of the two previous methodologies, downloading some code that communicates with the host computer ... in the way and for the purpose they want to. This configuration is very powerful, but needs a good knowledge of the system.

Contact Information

Robot and its accessories are commercially available at K-Team SA, 1028 Prverenges in Switzerland.


2.2. Khepera simulator


Free. Download from the internet at:



From the Khepera Simulator Home Page:

"Khepera Simulator is a freeware package allowing to develop controllers for the mobile robot Khepera using C or C++ languages. It includes an environment editor and a graphical user interface. Moreover, if you own a Khepera robot, you will be able to switch very easily between the simulated robot and the real one. It is mainly destinated to teaching and research in autonomous agents."


UNIX system, X11 library.

2.3. Popbugs


Free. Download from the internet at:



Chris Thornton:

"The POPBUGS package (implemented in Poplog ) lets you experiment with simple, simulated robots in a 2-dimensional world. The robots have `tank-tracks' instead of legs and are thus controlled simply by specifying speeds for the right and left tracks. The robot's sensory abilities are fully programmable but typically provide some variety of proximity sensing. All object parameters, including colour, shape, pentrability and mass, can be manipulated independently.

"The simulation provided by the package is relatively realistic. Robots have inertia and proper tank-track dynamics. This means, for example, that locking one of the tracks causes the robot to pivot about the central point of that track rather than about the robot's centre. Sensors and motors can be arbitrarily noisy. At present, however, there is no way of introducing track-slippage; i.e., the tracks are assumed to have perfect grip."

Previous Contents Next