All Packages  Class Hierarchy  This Package  Previous  Next  Index

Interface EDU.gatech.cc.is.abstractrobot.Pebbles

public interface Pebbles
extends SimpleInterface, VisualObjectSensor
Provides an abstract interface to the simulated hardware of an ISR Pebbles robot. If you write a control system using this interface to the hardware, you can test it in simulation and (maybe someday) on mobile robots.

Sensors and Actuators
Pebbles robots can sense their position, the locations of obstacles and attractors. The robots can turn and drive.

Frames of reference
We use a standard cartesian coordinate system in meters and radians. Pretend you are looking down on a robot: +x goes out to your right (East), +y goes up (North). The center of the world is (0,0). When the robot is initialized, it is facing east. Headings are given in radians, with East=0, North=PI/2 and so on counter-clockwise around to 2*PI. Some methods return "egocentric" vectors. An egocentric vector is given relative to the center of the robot in the same heading reference frame as global coordinates. An object one meter east of the robot is at (1,0) egocentrically.

Implementations
This class is extended by a simulation class (PebblesSim) The subclass handles details of interaction with the simulated world. Potentially, in the future, another implementation will extend this class for an actual physical Pebbles.

Timestamps
Many of the sensor and motor command methods (e.g. get* and set*) require a timestamp as a parameter. This is to help reduce redundant computations for the same movement step. When real robots are used, this becomes especially important because I/O to sensors is expensive in time.

If the timestamp is less than or equal to the value sent on the last call to one of these methods, old data is returned. If the timestamp is greater than the last timestamp (or -1), the robot (simulated or real) is queried, and new data is returned. The idea is that during each control cycle the higher level software will increment the timestamp and use it for all calls to these methods.

Copyright (c)1997, 1998 Tucker Balch

Version:
$Revision: 1.2 $
Author:
Tucker Balch

Variable Index

 o GRIPPER_CAPTURE_RADIUS
 o GRIPPER_POSITION
 o MAX_STEER
Max turning rate of a Pebbles robot.
 o MAX_TRANSLATION
Max speed of a Pebbles robot.
 o RADIUS
Radius of a Pebbles robot.
 o VISION_FOV_DEG
 o VISION_FOV_RAD
 o VISION_RANGE

Variables

 o VISION_RANGE
 public static final double VISION_RANGE
 o VISION_FOV_DEG
 public static final int VISION_FOV_DEG
 o VISION_FOV_RAD
 public static final double VISION_FOV_RAD
 o GRIPPER_CAPTURE_RADIUS
 public static final double GRIPPER_CAPTURE_RADIUS
 o GRIPPER_POSITION
 public static final double GRIPPER_POSITION
 o MAX_TRANSLATION
 public static final double MAX_TRANSLATION
Max speed of a Pebbles robot.

 o MAX_STEER
 public static final double MAX_STEER
Max turning rate of a Pebbles robot.

 o RADIUS
 public static final double RADIUS
Radius of a Pebbles robot.


All Packages  Class Hierarchy  This Package  Previous  Next  Index