Class v_Attract_va


public class v_Attract_va
extends NodeVec2

This node (motor schema) generates a vector away from the items detected by its embedded perceptual schema. Magnitude varies from 0 to 1.

This version is slightly different from Arkin's original formulation. In the original, a repulsion vector is computed for each detected attractor with the result being the sum of these vectors. The result is that several hazards grouped closely are more repulsive than a single hazard. This causes problems when each sonar return is treated as a separate hazard --- walls for instance are more repulsive than a small hazard.

This version computes the direction of the repulsive vector as in the original, but the returned magnitude is the largest of the vectors, not the sum.

Arkin's original formulation is described in "Motor Schema Based Mobile Robot Navigation," International Journal of Robotics Research, vol. 8, no 4, pp 92-112.

The source code in this module is based on "first principles" (e.g. published papers) and is not derived from any previously existing software.

For detailed information on how to configure behaviors, see the Clay page.

Copyright (c)1997, 1998 Tucker Balch

Field Summary
static boolean DEBUG
Fields inherited from class
DEBUG, embedded_nodes
Constructor Summary
v_Attract_va(double soe, double s, NodeVec2Array im1)
          Instantiate a v_Attract_va schema.
Method Summary
 Vec2 Value(long timestamp)
          Return a Vec2 representing the direction to go away from the detected hazards.
Methods inherited from class
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final boolean DEBUG
Constructor Detail


public v_Attract_va(double soe,
                    double s,
                    NodeVec2Array im1)
Instantiate a v_Attract_va schema.
soe - double, the sphere of influence beyond which the hazards are not considered.
s - double, the safety zone, inside of which a maximum repulsion from the object is generated.
im1 - NodeVec2Array, the embedded node that generates a list of items to avoid.
Method Detail


public Vec2 Value(long timestamp)
Return a Vec2 representing the direction to go away from the detected hazards.
Value in class NodeVec2
timestamp - long, only get new information if timestamp > than last call or timestamp == -1.
the movement vector.