Robot Surveillance Task


Warning: This page contains several demo movies that are best viewed if your browser has the QuickTime plug in.

Download QuickTime for Macintosh (free)

Download QuickTime for Windows (free)

Goal

This demo shows the power of bayesian robotic programming. We hope to demonstrate that this approach achieves a step toward greater autonomy.

To illustrate this, we choose a surveillance task. The miniature mobile robot Khépéra is given a nightwatchman task, which is composed of:

A complete movie of this experiment is available, but we advise, for a better understanding, to read the following text first.

Context

One has to note that Khépéra has neither plan, nor inner representation, geometrical or symbolic, of its environment. All of its behaviors are based only on its sensorimotor variables, and on some more that are directly extracted from those by preprocessing, inferring, or memorizing. In other words, Khépéra processes only proximal variables (i.e., from itself) and not any distal variables (i.e. from the environment).

A consequence of this choice and of the learning techniques and bayesian inference we use is a very good robustness with respect to possible variations of its environment, for example, the shapes, color, material, position, or speed of the surrounding objects, or even the global states of lighting, grip on the surface, or temperature of the environment. This robustness is of course limited; the robot cannot, for example, perform tasks among too quick objects, underwater, or even on a too slanted area to be able to move. The environment must be "viable" for Khépéra, but not necessarily specifically made, constrained and equipped for it. This point is precisely why we think we have achieved a step toward more autonomy.

Let us now describe our robot.

Khépéra is a miniature mobile robot built by the EPFL (Ecole Polytechnique Fédérale de Lausanne) and produced by K-Team. Khépéra is a mobile robot with two wheels, is 57mm in diameter and 29mm tall, for a total weight of 80g, in the basic configuration. It is equipped with 8 light sensors (6 in front and 2 behind) having values ranging from 0 to 511, values decreasing with increasing light. Those 8 sensors can also be used as infrared proximity sensors, with values from 0 to 1023 as a decreasing function of the obstacle distance. It also has rudimentary odometry capacities that are not very reliable. Khépéra is piloted through the left and right wheel speed. For the surveillance task, it is also equipped with a linear 64-pixel camera, and a small fan that will be used to extinguish "fires".

Movie introducing Khépéra (19 seconds)

 

Experiment

The surveillance task we introduced has been incrementally built on more and more complex behaviors:

1. Reactive Behaviors:

The base layer is a set of purely reactive behaviors, like obstacle avoidance, contour following, "piano mover" behavior, or light following behavior. Those behaviors were either learned in a few minutes, or "programmed" in probabilistic terms.

The first movie shows how to learn the "piano mover" behavior. In the beginning, Khépéra "knows" nothing. Every tenth of a second, it draws randomly its rotation speed according to a very flat distribution function (i.e., close to the uniform function). It is indifferent to obstacles being near or far; its movements are random. Khépéra can operate in three modes:

The movie shows those three modes, successively. First, the desired behavior is shown in remote control mode. Then comes a sequence of learning and playback phases. Some learning phases demonstrate the whole behavior, while some others are very short demonstrations to the robot of what to do in some particular situations. After a total of 26 seconds of learning, we see that Khépéra knows how to push obstacles in a satisfactory manner.

Movie showing Khépéra learning the "piano mover" behavior (1 minute and 45 sec.)

The second movie, shot without any more learning, shows that the behavior is robust with respect to shapes, colors, position, or nature (within the limitations mentioned before).

Movie showing Khépéra playing back the "piano mover" behavior (10 seconds)

Finally, the third movie shows how, according to the same principles, Khépéra can be taught to follow contours.

Movie showing Khépéra learning the "contour following" behavior (1 minute and 35 sec.)

 

2. Reflex behaviors composition and context recognition:

In the same way as the "piano mover" and "contour following" behaviors, obstacle avoidance and light following behaviors have been learned.

Bayesian inference then allows composing those last two behaviors to get a new one in which Khépéra follows the light while avoiding obstacles. It is indeed a composition, where the two behaviors are mixed together, not an either/or kind of choice. Khépéra uses this new behavior when going back to its base, which is just a light source.

After arriving in the base area, a new problem arises: can Khépéra recognize the situation ("being in the base"), and act consequently ("stop moving")? Bayesian inference, using a distribution function learned by experience, can answer this question. It is no longer a behavior that is learned, but a sensorial situation ("being in the base").

The fourth movie illustrates those two points. One first sees Khépéra go back to its base, using the behavior obtained by composing obstacle avoidance and light following behaviors. Khépéra, that does not yet know how to recognize its base, starts spinning in the light cone. One then sees a phase where Khépéra learns what is the base by being presented to several sensorial situations corresponding to the base. Finally, one sees a new sequence of coming back to the base, followed, after some hesitation, by a base recognition and by the robot stopping moving.

Movie showing Khépéra "going back to the base" (1 minute 45 seconds)

 

3. Object and newness recognition:

We can also use a simple reactive behavior to get new information about the environment. This way, we built an object recognition behavior based on a contour following behavior. Given an object, Khépéra follows its contour. While doing it, it computes 4 new variables it will use to classify objects: the number of left turns, the number of right turns, the perimeter and the length of the longest straight line.

By using bayesian inference and probabilistic descriptions of objects it learned through experience, Khépéra is able to distinguish objects taken out of a series, one from the other. Moreover, by using a uniform reference description (a uniform distribution function), it is able to recognize when faced to a new object.

It has, for example, learned to recognize all objects appearing in the following picture:

These objects were given to Khépéra one at a time, four times each, in a random order. Each time Khépéra could either tell that it was a new object it never saw before (newness), or correctly recognize the given object. It failed only on the two square-based objects (top right of the picture) that only differ in height and material they are made of (metal vs. wood), and are therefore the same for the robot's senses.

4. Movement detection:

Khépéra, when patrolling its environment, must detect any movement other than its own, and give the alarm in case. Therefore, it has been equipped with a linear 64-pixel camera, which gives a somewhat odd representation of the environment for our 2 dimensional eye.

The movement detection elements (along with other, more elaborate elements, not used in this experiment) were developed in collaboration with the TIRF laboratory. Those elements are directly inspired from what is done in the retina and the first visual area of mammals.

5. Action for perception:

We want Khépéra to detect and extinguish "fires", simulated in its environment by candles. To do this, it uses its camera to "see" fire and a micro-fan to blow on them. But it is very difficult to recognize with the camera between a light bulb and a candle. Therefore, Khépéra, when detecting a strong light that could be a fire, blows on it and checks whether the light flickers or not. It appears to us that this simply shows that a simplistic pattern "Perception -> Decision -> Action" is not enough, and that often, one must act in order to perceive.

6. Night watchman Khépéra:

Finally, all the previous elements where composed together, in probabilistic terms, to obtain the new behavior shown in the following movie. One successively sees:

Movie showing Khépéra as "night watchman" (1 minute 45 seconds)