All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class EDU.gatech.cc.is.abstractrobot.PebblesSim

java.lang.Object
   |
   +----EDU.gatech.cc.is.abstractrobot.Simple
           |
           +----EDU.gatech.cc.is.abstractrobot.PebblesSim

public class PebblesSim
extends Simple
implements Pebbles, SimulatedObject
Implements Pebbles for simulation. You should see the specifications in Pebbles.

Copyright (c)1997, 1998 Tucker Balch

Version:
$Revision: 1.6 $
Author:
Tucker Balch
See Also:
Pebbles

Variable Index

 o DEBUG

Constructor Index

 o PebblesSim()
Instantiate a PebblesSim object.

Method Index

 o clearTrail()
Clear the trail.
 o draw(Graphics, int, int, double, double, double, double)
Draw the robot.
 o draw(Vec2, Graphics, int, int, double, double, double, double)
Draw the robot in a specific spot.
 o drawID(Graphics, int, int, double, double, double, double)
Draw the robot's ID.
 o drawState(Graphics, int, int, double, double, double, double)
Draw the robot's state.
 o drawTrail(Graphics, int, int, double, double, double, double)
Draw the robot's Trail.
 o getCenter(Vec2)
 o getClosestPoint(Vec2)
 o getObstacles(long)
Get an array of Vec2s that point egocentrically from the center of the robot to the obstacles currently sensed by the bumpers and sonars.
 o getPosition()
Get the position of the robot in global coordinates.
 o getPosition(long)
Get the position of the robot in global coordinates.
 o getSteerHeading(long)
 o getTime()
Gets time elapsed since the robot was instantiated.
 o getVisionClass()
 o getVisualAxes(long, int)
NOT IMPLEMENTED: Get an array of doubles that represent the major axis orientation of the visually sensed objects.
 o getVisualObjects(long, int)
Get an array of Vec2s that represent the locations of visually sensed objects egocentrically from center of the robot to the objects currently sensed by the vision system.
 o getVisualSizes(long, int)
NOT IMPLEMENTED: Get an array of doubles that represent an estimate of the size in square meters of the visually sensed objects.
 o init(double, double, double, double, Color, Color, int, int, long)
Initialize a PebblesSim object.
 o isObstacle()
 o isPickupable()
 o isPushable()
 o pickUp(SimulatedObject)
 o push(Vec2, Vec2)
 o putDown(Vec2)
 o quit()
Clean up.
 o receive(Message)
NOT IMPLEMENTED
 o resetPosition(Vec2)
Reset the odometry of the robot in global coordinates.
 o resetSteerHeading(double)
 o setBaseSpeed(double)
 o setDisplayString(String)
Set the String that is printed on the robot's display.
 o setObstacleMaxRange(double)
Set the maximum range at which a sensor reading should be considered an obstacle.
 o setSpeed(long, double)
 o setSteerHeading(long, double)
 o setTrailLength(int)
Set the length of the trail (in movement steps).
 o setVisionClass(int)
 o takeStep(long, SimulatedObject[])
Take a simulated step;

Variables

 o DEBUG
 public static final boolean DEBUG

Constructors

 o PebblesSim
 public PebblesSim()
Instantiate a PebblesSim object. Be sure to also call init with proper values.

See Also:
init

Methods

 o init
 public void init(double xp,
                  double yp,
                  double tp,
                  double ignore,
                  Color f,
                  Color b,
                  int v,
                  int i,
                  long s)
Initialize a PebblesSim object.

 o takeStep
 public void takeStep(long time_increment,
                      SimulatedObject all_objs[])
Take a simulated step;

 o isObstacle
 public boolean isObstacle()
 o isPushable
 public boolean isPushable()
 o isPickupable
 public boolean isPickupable()
 o getClosestPoint
 public Vec2 getClosestPoint(Vec2 from)
 o getCenter
 public Vec2 getCenter(Vec2 from)
 o push
 public void push(Vec2 d,
                  Vec2 v)
 o pickUp
 public void pickUp(SimulatedObject o)
 o putDown
 public void putDown(Vec2 p)
 o setVisionClass
 public void setVisionClass(int v)
 o getVisionClass
 public int getVisionClass()
 o draw
 public void draw(Vec2 pos,
                  Graphics g,
                  int w,
                  int h,
                  double t,
                  double b,
                  double l,
                  double r)
Draw the robot in a specific spot.

 o drawTrail
 public void drawTrail(Graphics g,
                       int w,
                       int h,
                       double t,
                       double b,
                       double l,
                       double r)
Draw the robot's Trail.

 o setDisplayString
 public void setDisplayString(String s)
Set the String that is printed on the robot's display. For simulated robots, this appears printed below the agent when view "Robot State" is selected.

Parameters:
s - String, the text to display.
Overrides:
setDisplayString in class Simple
 o drawState
 public void drawState(Graphics g,
                       int w,
                       int h,
                       double t,
                       double b,
                       double l,
                       double r)
Draw the robot's state.

 o setTrailLength
 public void setTrailLength(int l)
Set the length of the trail (in movement steps).

Parameters:
l - int, the length of the trail.
 o clearTrail
 public void clearTrail()
Clear the trail.

 o drawID
 public void drawID(Graphics g,
                    int w,
                    int h,
                    double t,
                    double b,
                    double l,
                    double r)
Draw the robot's ID. Note, since Pebbles robots do not have a kin sensor, we just draw the unique_id.

 o draw
 public void draw(Graphics g,
                  int w,
                  int h,
                  double t,
                  double b,
                  double l,
                  double r)
Draw the robot.

 o quit
 public void quit()
Clean up.

Overrides:
quit in class Simple
 o getTime
 public long getTime()
Gets time elapsed since the robot was instantiated. Since this is simulation, it may not match real elapsed time.

Overrides:
getTime in class Simple
 o getObstacles
 public Vec2[] getObstacles(long timestamp)
Get an array of Vec2s that point egocentrically from the center of the robot to the obstacles currently sensed by the bumpers and sonars.

Parameters:
timestamp - only get new information if timestamp > than last call or timestamp == -1 .
Returns:
the sensed obstacles.
Overrides:
getObstacles in class Simple
 o setObstacleMaxRange
 public void setObstacleMaxRange(double range)
Set the maximum range at which a sensor reading should be considered an obstacle. Beyond this range, the readings are ignored. The default range on startup is 1 meter.

Parameters:
range - the range in meters.
Overrides:
setObstacleMaxRange in class Simple
 o getVisualObjects
 public Vec2[] getVisualObjects(long timestamp,
                                int channel)
Get an array of Vec2s that represent the locations of visually sensed objects egocentrically from center of the robot to the objects currently sensed by the vision system.

Parameters:
timestamp - only get new information if timestamp > than last call or timestamp == -1 .
channel - (1-6) which type/color of object to retrieve.
Returns:
the sensed objects.
 o getVisualSizes
 public double[] getVisualSizes(long timestamp,
                                int channel)
NOT IMPLEMENTED: Get an array of doubles that represent an estimate of the size in square meters of the visually sensed objects.

Parameters:
timestamp - only get new information if timestamp > than last call or timestamp == -1 .
channel - (1-6) which type/color of object to retrieve.
Returns:
the sizes of the sensed objects.
 o getVisualAxes
 public double[] getVisualAxes(long timestamp,
                               int channel)
NOT IMPLEMENTED: Get an array of doubles that represent the major axis orientation of the visually sensed objects. 0 and PI are horizontal, PI/2 is vertical.

Parameters:
timestamp - only get new information if timestamp > than last call or timestamp == -1 .
channel - (1-6) which type/color of object to retrieve.
Returns:
the major axes of the sensed objects.
 o getPosition
 public Vec2 getPosition(long timestamp)
Get the position of the robot in global coordinates.

Parameters:
timestamp - only get new information if timestamp > than last call or timestamp == -1.
Returns:
the position.
Overrides:
getPosition in class Simple
 o getPosition
 public Vec2 getPosition()
Get the position of the robot in global coordinates.

Returns:
the position.
 o resetPosition
 public void resetPosition(Vec2 posit)
Reset the odometry of the robot in global coordinates. This might be done when reliable sensor information provides a very good estimate of the robot's location, or if you are starting the robot in a known location other than (0,0). Do this only if you are certain you're right!

Parameters:
position - the new position.
Overrides:
resetPosition in class Simple
 o getSteerHeading
 public double getSteerHeading(long timestamp)
Overrides:
getSteerHeading in class Simple
 o resetSteerHeading
 public void resetSteerHeading(double heading)
Overrides:
resetSteerHeading in class Simple
 o setSteerHeading
 public void setSteerHeading(long timestamp,
                             double heading)
Overrides:
setSteerHeading in class Simple
 o setSpeed
 public void setSpeed(long timestamp,
                      double speed)
Overrides:
setSpeed in class Simple
 o setBaseSpeed
 public void setBaseSpeed(double speed)
Overrides:
setBaseSpeed in class Simple
 o receive
 public void receive(Message m)
NOT IMPLEMENTED


All Packages  Class Hierarchy  This Package  Previous  Next  Index