Mobility Models
Principal Arriba Publications Zip2web Mobility Models

 

The starting point is thinking about diferent (human or robotic) moving
behavior in different (real) situations. The title of each of the following model will drive you to a page with an applet implementing it (and the source code).

If you experiment problems with the models, I have tested to work with Microsoft IE 4.0 and Sun's JDK appletviewer and Netscape 4.04.

Brownian motion

It is the basic totally random motion pattern (or must I say pattern-less). It is not a very realistic model in the sense that only a few activities can present such erratic behaviour. On the other hand, it has a very simple implementation:

            new_pos = old_pos + random_vector

Although it can be useful as a first model and for special conditions testing, next models would try to present a more suitable aproach to common activities.

Column model (SCANNING, SEARCHING)

The column model tries to represent the moving pattern of a row of robots moving in a certain direction. This behavior can be found on a searching activity (e.g: anti-personal mines deactivation robots).

But the model is not limited to a forward direction normal to the row axis, but any angle could be possible to, for example, forming a "one behind the other" motion, also present in some robotics activities (e.g: transportation convoy).

Of the different approaches to implement the model, I think the simpler one is to have a reference initial grid (forming a column of nodes) and then allow a node to move around its reference position.

    new_pos = ( old_reference_pos + advance_vector ) + random_vector
            new_reference_pos = old_reference_pos + advance_vector

Pursue Model (TARGET TRACKING)

Here we have a collection of robots (nodes) trying to catch a single robot that acts as a target. This kind of behavior is found in multiple robotics activities (e.g: people or equipment tracking). 

Here I have taken into account the fact that physics does not let a  pursuer robot to follow any position change of the target but it is acceleration limited and so, the tracking is usually done with some error, that may also due to other factors. In this model I suposse also certain randomness of the movements also when the target is stopped and tracked.

     new_pos = old_pos + acceleration(target-old_pos) + random_vector

Here the idea is to allow only a limited maximum step in each new movement (that is what does the acceleration function) and also maintaining a little random movement (which is certainly limited to allow the effective tracking of the target).

Nomadic community (MILITARY AND AGRICULTURE)

Finally, the nomadic comunity, as you know, is an ancient human behavior,
present in some cultures. In this model, the whole community moves, from
time to time, from one location to another. After the community having
established, each node maintains its own private area, inside of which the node
moves more or less random.

This motion pattern may be useful in some military operations and also (with a slower movement) in agriculture robotics. Sometimes we need to do an operation to an area, if each robots is capable of covering let's say one tenth, we can deploy ten robots and devote each one to a different part of the referred area. After the operation completes, the whole systems is able to move to another place to repeat its work.

Here, again, I have used a hidden reference pattern as the base location of every node, with limited random motion around it.

new_pos = reference_pos + random_vector

An interesting difference between this model and the (so called) column model is that both of them use a reference grid, but the grids are differents and the movement in the nomadic community model is sporadic while the column model is more or less constant. Also, I have chosen a 2D grid for this latter model.

Hit Counter

Universidad Politécnica de Valencia (SPAIN)

E-mail: misan@ieee.org
or ...      misan@acm.org

Last modified 13-jun-2001