GT2004ObstaclesLocator Class Reference

#include <GT2004ObstaclesLocator.h>

Inheritance diagram for GT2004ObstaclesLocator:

ObstaclesLocator Module ObstaclesLocatorInterfaces MessageHandler List of all members.

Public Types

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

Public Member Functions

 GT2004ObstaclesLocator (const ObstaclesLocatorInterfaces &interfaces)
virtual void execute ()
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)

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
bool usePSD
bool useLinesPercept
bool useObstaclesPercept
bool useAging

Private Member Functions

void determineFreePartsOfGoals ()
void determineNextFreeTeammate ()

Private Attributes

unsigned long lastTimeFreePartOfGoalWasDetermined [2]
double angleToFreePartOfGoal [2]
double widthOfFreePartOfGoal [2]
double distanceToFreePartOfGoal [2]

Detailed Description

This class is a locator for obstacles.

Definition at line 18 of file GT2004ObstaclesLocator.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
timeAfterWhichObstacleIsForgotten 

Definition at line 22 of file GT2004ObstaclesLocator.h.

enum GT2004ObstaclesLocator::UpdateMode

Enumerator:
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 24 of file GT2004ObstaclesLocator.cpp.

References ObstaclesModel::numOfSectors, obstacles, obstacleTypes, pi2, sectorWidth, ObstaclesPercept::unknown, useAging, useLinesPercept, useObstaclesPercept, usePSD, and Vector2< V >::y.


Member Function Documentation

void GT2004ObstaclesLocator::addLinesPercept (  ) 

Definition at line 269 of file GT2004ObstaclesLocator.cpp.

References addObstaclePoint(), LinesPercept::blueRobot, LinesPercept::border, extend, limit, ObstaclesLocatorInterfaces::linesPercept, LinesPercept::numberOfPoints, LinesPercept::points, LinesPercept::redRobot, and Vector2< V >::y.

Referenced by execute().

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

Definition at line 316 of file GT2004ObstaclesLocator.cpp.

References Vector2< V >::angle(), Drawings::blue, DOT, SystemCall::getCurrentSystemTime(), ObstaclesModel::getSectorFromAngle(), idText, normalize(), ObstaclesModel::numOfSectors, OUTPUT, and text.

Referenced by addLinesPercept().

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

Definition at line 384 of file GT2004ObstaclesLocator.cpp.

References Vector2< V >::angle(), SystemCall::getCurrentSystemTime(), ObstaclesModel::getSectorFromAngle(), idText, normalize(), ObstaclesModel::numOfSectors, OUTPUT, text, ObstaclesPercept::unknown, and Vector2< V >::x.

Referenced by addObstaclesPercept().

void GT2004ObstaclesLocator::addObstaclesPercept (  ) 

Definition at line 289 of file GT2004ObstaclesLocator.cpp.

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

Referenced by execute().

void GT2004ObstaclesLocator::addPSDPercept (  ) 

Definition at line 217 of file GT2004ObstaclesLocator.cpp.

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

void GT2004ObstaclesLocator::determineFreePartsOfGoals (  )  [private]

Definition at line 422 of file GT2004ObstaclesLocator.cpp.

References ObstaclesPercept::angleToFreePartOfGoal, angleToFreePartOfGoal, ObstaclesModel::angleToFreePartOfGoalWasDetermined, ObstaclesPercept::angleToFreePartOfGoalWasDetermined, ObstaclesPercept::distanceToFreePartOfGoal, distanceToFreePartOfGoal, SystemCall::getCurrentSystemTime(), lastTimeFreePartOfGoalWasDetermined, ObstaclesLocatorInterfaces::obstaclesModel, ObstaclesLocatorInterfaces::obstaclesPercept, widthOfFreePartOfGoal, and ObstaclesPercept::widthOfFreePartOfGoal.

Referenced by execute().

void GT2004ObstaclesLocator::determineNextFreeTeammate (  )  [private]

Definition at line 467 of file GT2004ObstaclesLocator.cpp.

References abs(), Geometry::angleTo(), ObstaclesModel::angleToNextFreeTeammate, ObstaclesModel::angleToNextFreeTeammateWasDetermined, ObstaclesModel::distanceToNextFreeTeammate, PlayerPoseCollection::getOwnPlayerPose(), RobotPose::getPose(), ObstaclesModel::getSectorFromAngle(), int(), normalize(), PlayerPoseCollection::numberOfOwnPlayers, obstacles, ObstaclesLocatorInterfaces::obstaclesModel, ObstaclesLocatorInterfaces::playerPoseCollection, ObstaclesLocatorInterfaces::robotPose, and Pose2D::translation.

Referenced by execute().

void GT2004ObstaclesLocator::execute (  )  [virtual]

Executes the module

Implements Module.

Definition at line 43 of file GT2004ObstaclesLocator.cpp.

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

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 508 of file GT2004ObstaclesLocator.cpp.

References InMessage::bin, d, GenericDebugData::defaultObstaclesLocator, InMessage::getMessageID(), headTiltClipPSD, idGenericDebugData, idText, OUTPUT, text, useAging, useLinesPercept, and usePSD.

void GT2004ObstaclesLocator::moveObstaclesByOdometry (  ) 

Definition at line 63 of file GT2004ObstaclesLocator.cpp.

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

Referenced by execute().

void GT2004ObstaclesLocator::setObstaclesModel ( bool  addWorldModel = true  ) 

Definition at line 122 of file GT2004ObstaclesLocator.cpp.

References abs(), buffer, ObstaclesModel::distance, distance(), FieldDimensions::distanceToOwnPenaltyArea(), field, ObstaclesModel::getAngleOfSector(), Field::getDistanceToOwnPenaltyArea(), getPlayer(), int(), ObstaclesModel::maxDistance, ObstaclesModel::numOfSectors, obstacles, ObstaclesLocatorInterfaces::obstaclesModel, ObstaclesModel::obstacleType, obstacleTypes, Player::one, ObstaclesLocatorInterfaces::robotPose, and ObstaclesPercept::unknown.

Referenced by execute().


Member Data Documentation

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.

Referenced by determineFreePartsOfGoals().

double GT2004ObstaclesLocator::distanceToFreePartOfGoal[2] [private]

the distance to the free part of the goal

Definition at line 87 of file GT2004ObstaclesLocator.h.

Referenced by determineFreePartsOfGoals().

Field GT2004ObstaclesLocator::field

Definition at line 34 of file GT2004ObstaclesLocator.h.

Referenced by setObstaclesModel().

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().

OdometryData GT2004ObstaclesLocator::lastOdometry

Definition at line 41 of file GT2004ObstaclesLocator.h.

Referenced by execute().

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().

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().

Pose2D GT2004ObstaclesLocator::odometry

Definition at line 42 of file GT2004ObstaclesLocator.h.

Referenced by execute(), and moveObstaclesByOdometry().

int GT2004ObstaclesLocator::relativeOrientation

Definition at line 32 of file GT2004ObstaclesLocator.h.

double GT2004ObstaclesLocator::sectorWidth

Definition at line 40 of file GT2004ObstaclesLocator.h.

Referenced by GT2004ObstaclesLocator().

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

Definition at line 38 of file GT2004ObstaclesLocator.h.

Referenced by addPSDPercept(), and moveObstaclesByOdometry().

bool GT2004ObstaclesLocator::useAging

Definition at line 53 of file GT2004ObstaclesLocator.h.

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

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::usePSD

Definition at line 50 of file GT2004ObstaclesLocator.h.

Referenced by GT2004ObstaclesLocator(), and handleMessage().

double GT2004ObstaclesLocator::widthOfFreePartOfGoal[2] [private]

the width of the free part of goal

Definition at line 84 of file GT2004ObstaclesLocator.h.

Referenced by determineFreePartsOfGoals().


The documentation for this class was generated from the following files:
Generated on Thu Dec 7 01:35:05 2006 for DT2005.panorama by  doxygen 1.4.7