Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

GT2004ObstaclesLocator Class Reference

This class is a locator for obstacles. More...

#include <GT2004ObstaclesLocator.h>

Inheritance diagram for GT2004ObstaclesLocator:

Inheritance graph
[legend]
Collaboration diagram for GT2004ObstaclesLocator:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { timeAfterWhichObstacleIsForgotten = 6000 }
enum  UpdateMode { overwrite, extend, limit }

Public Member Functions

 GT2004ObstaclesLocator (const ObstaclesLocatorInterfaces &interfaces)
 Constructor.

virtual void execute ()
 Executes the module.

void setObstaclesModel (bool addWorldModel=true)
void moveObstaclesByOdometry ()
void addLinesPercept ()
void addObstaclesPercept ()
void addPSDPercept ()
void addObstaclePoint (const Vector2< double > &obstaclePoint, UpdateMode mode)
void addObstaclePoints (const Vector2< int > &nearPoint, const Vector2< int > &farPoint, bool farPointIsOnImageBorder, ObstaclesPercept::ObstacleType obstacleType)
virtual bool handleMessage (InMessage &message)
 Called from a MessageQueue to distribute messages.


Public Attributes

int relativeOrientation
Field field
Vector2< double > obstacles [ObstaclesModel::numOfSectors]
ObstaclesPercept::ObstacleType obstacleTypes [ObstaclesModel::numOfSectors]
unsigned long timestamps [ObstaclesModel::numOfSectors]
double sectorWidth
OdometryData lastOdometry
Pose2D odometry
double headTiltClipPSD
 head tilt angle below which psd percepts are ignored

bool usePSD
bool useLinesPercept
bool useObstaclesPercept
bool useAging

Private Member Functions

void determineFreePartsOfGoals ()
void determineNextFreeTeammate ()

Private Attributes

unsigned long lastTimeFreePartOfGoalWasDetermined [2]
 Last time a free part of a goal was detected.

double angleToFreePartOfGoal [2]
 angle to a free part of the goal, updated by vision and turn(!) odometry

double widthOfFreePartOfGoal [2]
 the width of the free part of goal

double distanceToFreePartOfGoal [2]
 the distance to the free part of the goal


Detailed Description

This class is a locator for obstacles.

Definition at line 18 of file GT2004ObstaclesLocator.h.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
timeAfterWhichObstacleIsForgotten 

Definition at line 22 of file GT2004ObstaclesLocator.h.

enum GT2004ObstaclesLocator::UpdateMode
 

Enumeration values:
overwrite 
extend 
limit 

Definition at line 61 of file GT2004ObstaclesLocator.h.


Constructor & Destructor Documentation

GT2004ObstaclesLocator::GT2004ObstaclesLocator const ObstaclesLocatorInterfaces interfaces  ) 
 

Constructor.

Parameters:
interfaces The paramters of the ObstaclesLocator module.

Definition at line 17 of file GT2004ObstaclesLocator.cpp.

References obstacles, obstacleTypes, pi2, sectorWidth, useAging, useLinesPercept, useObstaclesPercept, usePSD, Vector2< double >::x, and Vector2< double >::y.


Member Function Documentation

void GT2004ObstaclesLocator::execute  )  [virtual]
 

Executes the module.

Implements Module.

Definition at line 36 of file GT2004ObstaclesLocator.cpp.

References addLinesPercept(), addObstaclesPercept(), DEBUG_DRAWING_FINISHED, determineFreePartsOfGoals(), determineNextFreeTeammate(), ObstaclesPercept::frameNumber, moveObstaclesByOdometry(), odometry, ObstaclesModel::setFrameNumber(), setObstaclesModel(), useLinesPercept, and useObstaclesPercept.

Here is the call graph for this function:

void GT2004ObstaclesLocator::setObstaclesModel bool  addWorldModel = true  ) 
 

Definition at line 115 of file GT2004ObstaclesLocator.cpp.

References Vector2< double >::abs(), ObstaclesModel::bodyPSD, ObstaclesModel::corridorInFront, ObstaclesModel::distance, FieldDimensions::distanceToOwnPenaltyArea(), Field::getDistanceToOwnPenaltyArea(), getPlayer(), Player::getPlayerNumber(), ObstaclesModel::getSectorFromAngle(), PSDPercept::numOfPercepts, obstacles, ObstaclesModel::obstacleType, obstacleTypes, pi_2, Vector2< double >::x, and Vector2< double >::y.

Referenced by execute().

Here is the call graph for this function:

void GT2004ObstaclesLocator::moveObstaclesByOdometry  ) 
 

Definition at line 56 of file GT2004ObstaclesLocator.cpp.

References ObstaclesModel::getSectorFromAngle(), SystemCall::getTimeSince(), obstacles, obstacleTypes, odometry, Pose2D::rotation, timeAfterWhichObstacleIsForgotten, timestamps, Pose2D::translation, useAging, Vector2< double >::x, and Vector2< double >::y.

Referenced by execute().

Here is the call graph for this function:

void GT2004ObstaclesLocator::addLinesPercept  ) 
 

Definition at line 246 of file GT2004ObstaclesLocator.cpp.

References addObstaclePoint(), extend, limit, LinesPercept::numberOfPoints, and LinesPercept::points.

Referenced by execute().

Here is the call graph for this function:

void GT2004ObstaclesLocator::addObstaclesPercept  ) 
 

Definition at line 266 of file GT2004ObstaclesLocator.cpp.

References addObstaclePoints(), ObstaclesPercept::farPointIsOnImageBorder, ObstaclesPercept::farPoints, ObstaclesPercept::nearPoints, ObstaclesPercept::numberOfPoints, and ObstaclesPercept::obstacleType.

Referenced by execute().

Here is the call graph for this function:

void GT2004ObstaclesLocator::addPSDPercept  ) 
 

Definition at line 194 of file GT2004ObstaclesLocator.cpp.

References Vector2< V >::angle(), Geometry::angleTo(), DOT, SystemCall::getCurrentSystemTime(), RobotPose::getPose(), ObstaclesModel::getSectorFromAngle(), SystemCall::getTimeSince(), headTiltClipPSD, normalize(), PSDPercept::numOfPercepts, obstacles, BallModel::seen, timestamps, SeenBallPosition::timeWhenLastSeen, toDegrees(), Vector2< V >::x, Vector2< double >::x, Vector2< double >::y, and Vector2< V >::y.

Here is the call graph for this function:

void GT2004ObstaclesLocator::addObstaclePoint const Vector2< double > &  obstaclePoint,
UpdateMode  mode
 

Definition at line 293 of file GT2004ObstaclesLocator.cpp.

References DOT, SystemCall::getCurrentSystemTime(), ObstaclesModel::getSectorFromAngle(), idText, normalize(), and OUTPUT.

Referenced by addLinesPercept().

Here is the call graph for this function:

void GT2004ObstaclesLocator::addObstaclePoints const Vector2< int > &  nearPoint,
const Vector2< int > &  farPoint,
bool  farPointIsOnImageBorder,
ObstaclesPercept::ObstacleType  obstacleType
 

Definition at line 361 of file GT2004ObstaclesLocator.cpp.

References SystemCall::getCurrentSystemTime(), ObstaclesModel::getSectorFromAngle(), idText, normalize(), and OUTPUT.

Referenced by addObstaclesPercept().

Here is the call graph for this function:

bool GT2004ObstaclesLocator::handleMessage InMessage message  )  [virtual]
 

Called from a MessageQueue to distribute messages.

Use message.getMessageID to decide if the message is relavant for the MesssageHandler derivate. Use message.bin, message.text or message.config as In streams to get the data from.

Parameters:
message The message that can be read.
Returns:
true if the message was read (handled).

Reimplemented from Module.

Definition at line 485 of file GT2004ObstaclesLocator.cpp.

References InMessage::bin, GenericDebugData::data, InMessage::getMessageID(), headTiltClipPSD, GenericDebugData::id, idGenericDebugData, idText, OUTPUT, useAging, useLinesPercept, and usePSD.

Here is the call graph for this function:

void GT2004ObstaclesLocator::determineFreePartsOfGoals  )  [private]
 

Definition at line 399 of file GT2004ObstaclesLocator.cpp.

References ObstaclesModel::angleToFreePartOfGoal, ObstaclesPercept::angleToFreePartOfGoal, ObstaclesModel::angleToFreePartOfGoalWasDetermined, ObstaclesPercept::angleToFreePartOfGoalWasDetermined, ObstaclesModel::distanceToFreePartOfGoal, ObstaclesPercept::distanceToFreePartOfGoal, Pose2D::getAngle(), SystemCall::getCurrentSystemTime(), SystemCall::getTimeSince(), lastTimeFreePartOfGoalWasDetermined, odometry, ObstaclesModel::widthOfFreePartOfGoal, and ObstaclesPercept::widthOfFreePartOfGoal.

Referenced by execute().

Here is the call graph for this function:

void GT2004ObstaclesLocator::determineNextFreeTeammate  )  [private]
 

Definition at line 444 of file GT2004ObstaclesLocator.cpp.

References Vector2< double >::abs(), ObstaclesModel::angleToNextFreeTeammate, ObstaclesModel::angleToNextFreeTeammateWasDetermined, ObstaclesModel::distanceToNextFreeTeammate, PlayerPoseCollection::getOwnPlayerPose(), PlayerPose::getPose(), ObstaclesModel::getSectorFromAngle(), normalize(), PlayerPoseCollection::numberOfOwnPlayers, obstacles, and Pose2D::translation.

Referenced by execute().

Here is the call graph for this function:


Member Data Documentation

int GT2004ObstaclesLocator::relativeOrientation
 

Definition at line 32 of file GT2004ObstaclesLocator.h.

Field GT2004ObstaclesLocator::field
 

Definition at line 34 of file GT2004ObstaclesLocator.h.

Vector2<double> GT2004ObstaclesLocator::obstacles[ObstaclesModel::numOfSectors]
 

Definition at line 35 of file GT2004ObstaclesLocator.h.

Referenced by addPSDPercept(), determineNextFreeTeammate(), GT2004ObstaclesLocator(), moveObstaclesByOdometry(), and setObstaclesModel().

ObstaclesPercept::ObstacleType GT2004ObstaclesLocator::obstacleTypes[ObstaclesModel::numOfSectors]
 

Definition at line 36 of file GT2004ObstaclesLocator.h.

Referenced by GT2004ObstaclesLocator(), moveObstaclesByOdometry(), and setObstaclesModel().

unsigned long GT2004ObstaclesLocator::timestamps[ObstaclesModel::numOfSectors]
 

Definition at line 38 of file GT2004ObstaclesLocator.h.

Referenced by addPSDPercept(), and moveObstaclesByOdometry().

double GT2004ObstaclesLocator::sectorWidth
 

Definition at line 40 of file GT2004ObstaclesLocator.h.

Referenced by GT2004ObstaclesLocator().

OdometryData GT2004ObstaclesLocator::lastOdometry
 

Definition at line 41 of file GT2004ObstaclesLocator.h.

Pose2D GT2004ObstaclesLocator::odometry
 

Definition at line 42 of file GT2004ObstaclesLocator.h.

Referenced by determineFreePartsOfGoals(), execute(), and moveObstaclesByOdometry().

double GT2004ObstaclesLocator::headTiltClipPSD
 

head tilt angle below which psd percepts are ignored

Definition at line 45 of file GT2004ObstaclesLocator.h.

Referenced by addPSDPercept(), and handleMessage().

bool GT2004ObstaclesLocator::usePSD
 

Definition at line 50 of file GT2004ObstaclesLocator.h.

Referenced by GT2004ObstaclesLocator(), and handleMessage().

bool GT2004ObstaclesLocator::useLinesPercept
 

Definition at line 51 of file GT2004ObstaclesLocator.h.

Referenced by execute(), GT2004ObstaclesLocator(), and handleMessage().

bool GT2004ObstaclesLocator::useObstaclesPercept
 

Definition at line 52 of file GT2004ObstaclesLocator.h.

Referenced by execute(), and GT2004ObstaclesLocator().

bool GT2004ObstaclesLocator::useAging
 

Definition at line 53 of file GT2004ObstaclesLocator.h.

Referenced by GT2004ObstaclesLocator(), handleMessage(), and moveObstaclesByOdometry().

unsigned long GT2004ObstaclesLocator::lastTimeFreePartOfGoalWasDetermined[2] [private]
 

Last time a free part of a goal was detected.

Definition at line 78 of file GT2004ObstaclesLocator.h.

Referenced by determineFreePartsOfGoals().

double GT2004ObstaclesLocator::angleToFreePartOfGoal[2] [private]
 

angle to a free part of the goal, updated by vision and turn(!) odometry

Definition at line 81 of file GT2004ObstaclesLocator.h.

double GT2004ObstaclesLocator::widthOfFreePartOfGoal[2] [private]
 

the width of the free part of goal

Definition at line 84 of file GT2004ObstaclesLocator.h.

double GT2004ObstaclesLocator::distanceToFreePartOfGoal[2] [private]
 

the distance to the free part of the goal

Definition at line 87 of file GT2004ObstaclesLocator.h.


The documentation for this class was generated from the following files:
Generated on Thu Sep 23 20:07:45 2004 for GT2004 by doxygen 1.3.6