EDU.gatech.cc.is.clay
Class v_Avoid_va

java.lang.Object
  |
  +--EDU.gatech.cc.is.clay.Node
        |
        +--EDU.gatech.cc.is.clay.NodeVec2
              |
              +--EDU.gatech.cc.is.clay.v_Avoid_va

public class v_Avoid_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 works differently than Arkin's original formulation. In the original, a repulsion vector is computed for each detected obstacle, with the result being the sum of these vectors. The impact is that several hazards grouped closely together 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 EDU.gatech.cc.is.clay.Node
DEBUG, embedded_nodes
 
Constructor Summary
v_Avoid_va(double soe, double s, NodeVec2Array im1)
          Instantiate a v_Avoid_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 EDU.gatech.cc.is.clay.Node
initTrial
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

public static final boolean DEBUG
Constructor Detail

v_Avoid_va

public v_Avoid_va(double soe,
                  double s,
                  NodeVec2Array im1)
Instantiate a v_Avoid_va schema.
Parameters:
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

Value

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