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

SlamSelfLocator Class Reference

#include <SlamSelfLocator.h>

Inheritance diagram for SlamSelfLocator:

Inheritance graph
[legend]
Collaboration diagram for SlamSelfLocator:

Collaboration graph
[legend]
List of all members.

Public Types

enum  {
  SAMPLES_MAX = 100, POSE_SPACE_GRID = 10, OBS_TABLE_X_FIELD_LINE = LinesPercept::field,
  OBS_TABLE_Y_FIELD_LINE = LinesPercept::numberOfLineTypes, HEAD_HEIGHT_SMOOTHING_FRAMENUMBER = 5, NUM_OF_CALCULATED_POSES = 3
}

Public Member Functions

 SlamSelfLocator (const SelfLocatorInterfaces &interfaces)
 Constructor.

virtual void execute ()
 The function executes the module.

virtual bool handleMessage (InMessage &message)
 Called from a MessageQueue to distribute messages.


Public Attributes

SampleSet< SlamSelfLocatorSample,
SAMPLES_MAX > 
sampleSet
 the sampleSet

bool teamColorBlue

Static Public Attributes

double quasiZero
double maximumTrust
double translationNoise
double rotationNoise
double movedDistWeight
double movedAngleWeight
double majorDirTransWeight
double minorDirTransWeight
double headHeight
double linePointZAngleVariance
double linePointZAngleMotionDependentVariance
double linePointYAngleVariance
double linePointYAngleMotionDependentVariance
double linePointZAngleMotionDependency
double linePointYAngleMotionDependency
double crossingZAngleVariance
double crossingZAngleMotionDependentVariance
double crossingYAngleVariance
double crossingYAngleMotionDependentVariance
double crossingZAngleMotionDependency
double crossingYAngleMotionDependency
double centerCircleZAngleVariance
double centerCircleZAngleMotionDependentVariance
double centerCircleYAngleVariance
double centerCircleYAngleMotionDependentVariance
double centerCircleOrientationAngleVariance
double centerCircleOrientationAngleMotionDependentVariance
double centerCircleZAngleMotionDependency
double centerCircleYAngleMotionDependency
double centerCircleOrientationAngleMotionDependency
double flagZAngleVariance
double flagZAngleMotionDependentVariance
double flagYAngleVariance
double flagYAngleMotionDependentVariance
double flagZAngleMotionDependency
double flagYAngleMotionDependency
double goalZAngleVariance
double goalZAngleMotionDependentVariance
double goalYAngleVariance
double goalYAngleMotionDependentVariance
double goalZAngleMotionDependency
double goalYAngleMotionDependency
double linePointWeight
double linePointZAngleTrust
double linePointYAngleTrust
double crossingWeight
double crossingZAngleTrust
double crossingYAngleTrust
double centerCircleWeight
double centerCircleZAngleTrust
double centerCircleYAngleTrust
double centerCircleOrientationAngleTrust
double flagWeight
double flagZAngleTrust
double flagYAngleTrust
double goalWeight
double goalZAngleTrust
double goalYAngleTrust

Private Types

enum  FlagSides { LEFT_SIDE_OF_FLAG = 1, RIGHT_SIDE_OF_FLAG = -1 }

Private Member Functions

double sigmoid (double d) const
 The function distributes the parameter in a Gaussian way.

void motionUpdate (const Pose2D &odometry, const Pose2D &camera, bool noise)
 The function updates the samples by the odometry offset.

void updateByNotSeenFlag (Flag::FlagType type)
void updateByNotSeenGoal (colorClass goalColor)
void updateByFlag (const Vector2< double > &flagFieldPosition, FlagSides sideOfFlag, double measuredBearing)
 The function updates the samples by a single edge of a flag recognized.

void updateByGoalPost (const Vector2< double > &goalPost, double measuredBearing)
 The function updates the samples by a single goal post recognized.

void landmarksObservationUpdate (const LandmarksPercept &landmarksPercept)
 The function updates the samples by the recognized landmarks (goal, flag..) triggers updateByFlag and updateByGoalPost.

SlamLineCrossingsTable::CrossingClass getCrossingClassification (const LinesPercept::LineCrossingPoint &point)
 calculates the CrossingClass out of the classification (side1..side4) in the LinesPercept

void updateByCenterCircle (const LinesPercept::CenterCircle &centerCircle)
 observationUpdate by the center circle

void updateByCrossing (const LinesPercept::LineCrossingPoint &point)
 observationUpdate using the linecrossing percept

void updateByPoint (const LinesPercept::LinePoint &point, SlamSelfLocatorSample::PerceptType type)
 does an observationupdate with a point on the field (line or goal)

void updateByEstimatedDirection ()
 slam challenge stuff

void lineObservationUpdate (const LinesPercept &linesPercept)
 The function updates the samples by recognized lines.

double calcAveragePerceptTypeProbabilities ()
 Calculates the average possibility for each perceptType and all samples and returns the product over all averages.

void resample ()
 redistibution of the sampleSet according to the probabilities of the samples

double calcDistributionValidity ()
RobotPose calcPoseFromSubCube (Cell poseSpace[POSE_SPACE_GRID][POSE_SPACE_GRID][POSE_SPACE_GRID], int x, int y, int r)
 The function calculates a Pose by averaging the sample poses in a sub cube of the pose-room.

void calcPose (Pose2D &pose, double &validity)
 The function determines the most probable pose from the sample distribution.

void draw (const Pose2D &pose, Drawings::Color color) const
 The function draws an arrow to a debug drawing.

void draw (const Vector2< int > &point, LinesPercept::LineType type) const
 The function draws a point of a line percept.

void updateVariancesBySpeed (double speed)
 The function calculates the variances and trust values from the current speed.


Private Attributes

Pose2D lastOdometry
Pose2D lastOdometry2
 the last Odometry, used to calculate the delta_odometry

unsigned timeStamp
 timestap

bool observationUpdateDone
 a flag indicating if an observation update was done during the current run of execute

double speed
 current robot speed

double averagePerceptTypeProb [SlamSelfLocatorSample::numberOfPerceptTypes]
 the average probability for each PerceptType and all Samples

SlamSampleTemplateGenerator sampleTemplateGenerator
 this class encapsules template generation

LinesPercept::LineType types [LinesPercept::numberOfLineTypes]
 types and number of types are needed for the template generator

int numberOfTypes
SlamLineCrossingsTable lineCrossingsTable
TRingBufferWithSum< double,
HEAD_HEIGHT_SMOOTHING_FRAMENUMBER > 
headHeightBuffer
bool odometryPoseResetted
Pose2D odometryPose
RobotPose candidates [NUM_OF_CALCULATED_POSES]
SlamSelfLocatorSampletestSample
 testing and debugging stuff

Vector2< double > lastModelCrossing
Vector2< double > lastSeenCrossing
SlamLineCrossingsTable::CrossingClass lastSeenCrossingClass
Pose2D lastSeenCenterCircle

Member Enumeration Documentation

anonymous enum
 

Enumeration values:
SAMPLES_MAX  maximum number of samples
POSE_SPACE_GRID  quantization of the pose space
OBS_TABLE_X_FIELD_LINE  in the original 04 observation table LinesPercept::field is a x directed line and LinesPercept::numberOfLineTypes is a y directed line
OBS_TABLE_Y_FIELD_LINE 
HEAD_HEIGHT_SMOOTHING_FRAMENUMBER 
NUM_OF_CALCULATED_POSES 

Definition at line 110 of file SlamSelfLocator.h.

enum SlamSelfLocator::FlagSides [private]
 

Enumeration values:
LEFT_SIDE_OF_FLAG  flag indicating a position on the left side of a flag
RIGHT_SIDE_OF_FLAG  flag indicating a position on the right side of a flag

Definition at line 164 of file SlamSelfLocator.h.


Constructor & Destructor Documentation

SlamSelfLocator::SlamSelfLocator const SelfLocatorInterfaces interfaces  ) 
 

Constructor.

Parameters:
interfaces The paramters of the SelfLocator module.

Definition at line 136 of file SlamSelfLocator.cpp.

References crossingYAngleTrust, crossingZAngleTrust, flagYAngleTrust, flagZAngleTrust, SystemCall::getCurrentSystemTime(), goalYAngleTrust, goalZAngleTrust, idText, linePointYAngleTrust, linePointZAngleTrust, OUTPUT, Field::randomPose(), and slamPercept.

Here is the call graph for this function:


Member Function Documentation

void SlamSelfLocator::execute  )  [virtual]
 

The function executes the module.

Reimplemented from Module.

Definition at line 860 of file SlamSelfLocator.cpp.

References Vector2< V >::abs(), Vector3< V >::abs(), calcPose(), LandmarksPercept::cameraOffset, centerCircleOrientationAngleTrust, centerCircleOrientationAngleVariance, centerCircleWeight, centerCircleYAngleTrust, centerCircleYAngleVariance, centerCircleZAngleTrust, centerCircleZAngleVariance, crossingWeight, crossingYAngleTrust, crossingYAngleVariance, crossingZAngleTrust, crossingZAngleVariance, DEBUG_DRAWING_FINISHED, DEBUG_RESPONSE, DEBUG_RESPONSE_NOT, flagWeight, flagYAngleTrust, flagYAngleVariance, flagZAngleTrust, flagZAngleVariance, LandmarksPercept::frameNumber, SlamSampleTemplateGenerator::generateTemplates(), Pose2D::getCos(), SystemCall::getCurrentSystemTime(), getPlayer(), RobotPose::getPose(), Pose2D::getSin(), Player::getTeamColor(), SystemCall::getTimeSince(), goalWeight, goalYAngleTrust, goalYAngleVariance, goalZAngleTrust, goalZAngleVariance, CameraMatrix::isValid, landmarksObservationUpdate(), lineObservationUpdate(), linePointWeight, linePointYAngleTrust, linePointYAngleVariance, linePointZAngleTrust, linePointZAngleVariance, SampleSet< SlamSelfLocatorSample, SAMPLES_MAX >::link(), motionUpdate(), NARROW, NDECLARE_DEBUGDRAWING, pi, quasiZero, Field::randomPose(), resample(), Pose2D::rotation, RobotPose::setFrameNumber(), RobotPose::setPose(), RobotPose::setTimestamp(), RobotPose::setValidity(), slamPercept, Pose2D::translation, translationNoise, LandmarksState::update(), updateByEstimatedDirection(), Vector3< double >::x, Vector2< double >::x, Vector3< double >::y, and Vector2< double >::y.

Here is the call graph for this function:

bool SlamSelfLocator::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 1566 of file SlamSelfLocator.cpp.

double SlamSelfLocator::sigmoid double  d  )  const [inline, private]
 

The function distributes the parameter in a Gaussian way.

Parameters:
d A value that should be distributed.
Returns:
A transformation of d according to a Gaussian curve.

Definition at line 201 of file SlamSelfLocator.h.

Referenced by calcDistributionValidity(), updateByCenterCircle(), updateByCrossing(), updateByFlag(), updateByGoalPost(), and updateByPoint().

void SlamSelfLocator::motionUpdate const Pose2D odometry,
const Pose2D camera,
bool  noise
[private]
 

The function updates the samples by the odometry offset.

Parameters:
odometry The motion since the last call to this function.
camera The camera offset.
noise Dermines whether some additional noise is added to the sample poses.
enhance maybe by replacing bool noise by a noisefunction?

Definition at line 172 of file SlamSelfLocator.cpp.

References Vector2< double >::abs(), SlamSelfLocatorSample::camera, fmax(), Pose2D::getAngle(), majorDirTransWeight, max, minorDirTransWeight, movedAngleWeight, movedDistWeight, PoseSample::probability, random(), rotationNoise, Pose2D::translation, translationNoise, Vector2< double >::x, and Vector2< double >::y.

Referenced by execute().

Here is the call graph for this function:

void SlamSelfLocator::updateByNotSeenFlag Flag::FlagType  type  )  [private]
 

Definition at line 650 of file SlamSelfLocator.cpp.

void SlamSelfLocator::updateByNotSeenGoal colorClass  goalColor  )  [private]
 

Definition at line 664 of file SlamSelfLocator.cpp.

References Vector2< V >::abs(), SlamSelfLocatorSample::camera, Pose2D::translation, Vector2< double >::x, Vector2< V >::x, Vector2< double >::y, and Vector2< V >::y.

Here is the call graph for this function:

void SlamSelfLocator::updateByFlag const Vector2< double > &  flagFieldPosition,
FlagSides  sideOfFlag,
double  measuredBearing
[private]
 

The function updates the samples by a single edge of a flag recognized.

Parameters:
flagFieldPosition The position of the flag.
sideOfFlag The side of the flag that was seen.
measuredBearing The bearing, under which the edge was seen.

Definition at line 733 of file SlamSelfLocator.cpp.

References Vector2< double >::abs(), SlamSelfLocatorSample::camera, COMPLEX_DRAWING, draw(), flagYAngleTrust, NCOMPLEX_DRAWING, pi, SlamSelfLocatorSample::setPerceptProbability(), sigmoid(), Pose2D::translation, Vector2< double >::x, Vector2< V >::x, Vector2< double >::y, and Vector2< V >::y.

Referenced by landmarksObservationUpdate().

Here is the call graph for this function:

void SlamSelfLocator::updateByGoalPost const Vector2< double > &  goalPost,
double  measuredBearing
[private]
 

The function updates the samples by a single goal post recognized.

Parameters:
goalPost The position of the goal post.
measuredBearing The bearing, under which the goal post was seen.

Definition at line 774 of file SlamSelfLocator.cpp.

References SlamSelfLocatorSample::camera, goalYAngleTrust, pi, SlamSelfLocatorSample::setPerceptProbability(), sigmoid(), Pose2D::translation, Vector2< double >::x, Vector2< V >::x, Vector2< double >::y, and Vector2< V >::y.

Referenced by landmarksObservationUpdate().

Here is the call graph for this function:

void SlamSelfLocator::landmarksObservationUpdate const LandmarksPercept landmarksPercept  )  [private]
 

The function updates the samples by the recognized landmarks (goal, flag..) triggers updateByFlag and updateByGoalPost.

Parameters:
landmarksPercept The landmarksPercept

Definition at line 800 of file SlamSelfLocator.cpp.

References Goal::color, LandmarksPercept::flags, LandmarksPercept::goals, ConditionalBoundary::isOnBorder(), Goal::leftPost, Range< double >::max, Range< double >::min, LandmarksPercept::numberOfFlags, LandmarksPercept::numberOfGoals, Flag::position, Goal::rightPost, updateByFlag(), updateByGoalPost(), and Boundary< double >::x.

Referenced by execute().

Here is the call graph for this function:

SlamLineCrossingsTable::CrossingClass SlamSelfLocator::getCrossingClassification const LinesPercept::LineCrossingPoint point  )  [private]
 

calculates the CrossingClass out of the classification (side1..side4) in the LinesPercept

Definition at line 226 of file SlamSelfLocator.cpp.

References point.

Referenced by updateByCrossing().

void SlamSelfLocator::updateByCenterCircle const LinesPercept::CenterCircle centerCircle  )  [private]
 

observationUpdate by the center circle

Definition at line 301 of file SlamSelfLocator.cpp.

References Vector2< V >::abs(), Vector2< int >::abs(), centerCircleOrientationAngleTrust, centerCircleYAngleTrust, centerCircleZAngleTrust, fromDegrees(), headHeight, LinesPercept::CenterCircle::location, LinesPercept::CenterCircle::orientation, LinesPercept::CenterCircle::orientationKnown, point, Pose2D::rotation, SlamSelfLocatorSample::setPerceptProbability(), sigmoid(), Vector2< V >::x, Vector2< int >::x, Vector2< V >::y, and Vector2< int >::y.

Referenced by lineObservationUpdate().

Here is the call graph for this function:

void SlamSelfLocator::updateByCrossing const LinesPercept::LineCrossingPoint point  )  [private]
 

observationUpdate using the linecrossing percept

Parameters:
relative position of the linecrossing

Definition at line 355 of file SlamSelfLocator.cpp.

References Vector2< V >::abs(), Vector2< int >::abs(), CIRCLE, crossingYAngleTrust, crossingZAngleTrust, SlamLineCrossingsTable::getClassifiedClosestPoint(), getCrossingClassification(), headHeight, LinesPercept::LineCrossingPoint::locationOnField, NCIRCLE, point, SlamSelfLocatorSample::setPerceptProbability(), sigmoid(), Pose2D::translation, Vector2< V >::x, Vector2< double >::x, Vector2< int >::x, Vector2< V >::y, Vector2< double >::y, and Vector2< int >::y.

Referenced by lineObservationUpdate().

Here is the call graph for this function:

void SlamSelfLocator::updateByPoint const LinesPercept::LinePoint point,
SlamSelfLocatorSample::PerceptType  type
[private]
 

does an observationupdate with a point on the field (line or goal)

Parameters:
point a point on a line
type the type of the line

Definition at line 428 of file SlamSelfLocator.cpp.

References Vector2< V >::abs(), Vector2< int >::abs(), Vector2< int >::angle(), Pose2D::getAngle(), headHeight, idText, linePointYAngleTrust, linePointZAngleTrust, OUTPUT, pi, point, SlamSelfLocatorSample::setPerceptProbability(), sigmoid(), Pose2D::translation, Vector2< V >::x, Vector2< int >::x, Vector2< V >::y, and Vector2< int >::y.

Referenced by lineObservationUpdate().

Here is the call graph for this function:

void SlamSelfLocator::updateByEstimatedDirection  )  [private]
 

slam challenge stuff

Definition at line 259 of file SlamSelfLocator.cpp.

References CIRCLE, Pose2D::getAngle(), NCIRCLE, pi, pi2, pi_2, Pose2D::rotation, slamPercept, Pose2D::translation, Vector2< double >::x, and Vector2< double >::y.

Referenced by execute().

Here is the call graph for this function:

void SlamSelfLocator::lineObservationUpdate const LinesPercept linesPercept  )  [private]
 

The function updates the samples by recognized lines.

Parameters:
linesPercept The LinesPercept

Definition at line 524 of file SlamSelfLocator.cpp.

References Vector2< int >::abs(), LinesPercept::centerCircle, LinesPercept::centerCircleFound, CIRCLE, COMPLEX_DRAWING, draw(), e, SystemCall::getCurrentSystemTime(), idText, LINE, LinesPercept::lineCrossings, LinesPercept::CenterCircle::location, NCIRCLE, NCOMPLEX_DRAWING, NLINE, LinesPercept::numberOfLineCrossings, OUTPUT, LinesPercept::points, random(), slamPercept, Pose2D::translation, updateByCenterCircle(), updateByCrossing(), updateByPoint(), Vector2< double >::x, Vector2< int >::x, Vector2< double >::y, and Vector2< int >::y.

Referenced by execute().

Here is the call graph for this function:

double SlamSelfLocator::calcAveragePerceptTypeProbabilities  )  [private]
 

Calculates the average possibility for each perceptType and all samples and returns the product over all averages.

contains the part of the gt04 resampling method that calculates

Returns:
product over all average percepttype-probabilities

Definition at line 1150 of file SlamSelfLocator.cpp.

References SlamSelfLocatorSample::perceptProbabilities.

Referenced by resample().

void SlamSelfLocator::resample  )  [private]
 

redistibution of the sampleSet according to the probabilities of the samples

TODO: template generation

Definition at line 1190 of file SlamSelfLocator.cpp.

References calcAveragePerceptTypeProbabilities(), COMPLEX_DRAWING, draw(), SlamSampleTemplateGenerator::getNumberOfTemplates(), SlamSelfLocatorSample::getProbability(), SlamSampleTemplateGenerator::getTemplate(), NCOMPLEX_DRAWING, random(), and SampleSet< SlamSelfLocatorSample, SAMPLES_MAX >::swap().

Referenced by execute().

Here is the call graph for this function:

double SlamSelfLocator::calcDistributionValidity  )  [private]
 

Definition at line 1262 of file SlamSelfLocator.cpp.

References fmax(), pi, Pose2D::rotation, sigmoid(), Pose2D::translation, Vector2< double >::x, and Vector2< double >::y.

Referenced by calcPose().

Here is the call graph for this function:

RobotPose SlamSelfLocator::calcPoseFromSubCube Cell  poseSpace[POSE_SPACE_GRID][POSE_SPACE_GRID][POSE_SPACE_GRID],
int  x,
int  y,
int  r
[private]
 

The function calculates a Pose by averaging the sample poses in a sub cube of the pose-room.

Definition at line 1359 of file SlamSelfLocator.cpp.

References Field::clip(), Pose2D::getCos(), SlamSelfLocatorSample::getProbability(), Pose2D::getSin(), RobotPose::getValidity(), SlamSelfLocatorSample::isValid(), SlamSelfLocatorSample::next, RobotPose::setPose(), RobotPose::setValidity(), Pose2D::translation, Vector2< double >::x, and Vector2< double >::y.

Referenced by calcPose().

Here is the call graph for this function:

void SlamSelfLocator::calcPose Pose2D pose,
double &  validity
[private]
 

The function determines the most probable pose from the sample distribution.

Parameters:
pose The pose is returned to this variable.
validity The validity of the pose is returned to this variable.

Definition at line 1424 of file SlamSelfLocator.cpp.

References calcDistributionValidity(), calcPoseFromSubCube(), CIRCLE, SlamSelfLocator::Cell::count, SlamSelfLocator::Cell::first, Pose2D::getAngle(), RobotPose::getPose(), Range< double >::getSize(), SlamSelfLocatorSample::isValid(), NCIRCLE, SlamSelfLocatorSample::next, RobotPoseCollection::numberOfPoses, pi2, RobotPoseCollection::poses, RobotPose::setValidity(), Pose2D::translation, Vector2< double >::x, Boundary< double >::x, Vector2< double >::y, and Boundary< double >::y.

Referenced by execute().

Here is the call graph for this function:

void SlamSelfLocator::draw const Pose2D pose,
Drawings::Color  color
const [private]
 

The function draws an arrow to a debug drawing.

Parameters:
pose The position and direction of the arrow.
color The color of the arrow.

Definition at line 1593 of file SlamSelfLocator.cpp.

References LINE, NLINE, Pose2D::translation, Vector2< double >::x, and Vector2< double >::y.

Referenced by lineObservationUpdate(), resample(), and updateByFlag().

void SlamSelfLocator::draw const Vector2< int > &  point,
LinesPercept::LineType  type
const [private]
 

The function draws a point of a line percept.

Parameters:
point The relative position in field coordinates.
type The line type of the point.

Definition at line 1649 of file SlamSelfLocator.cpp.

References Geometry::calculatePointInImage(), CIRCLE, getRobotConfiguration(), point, Vector2< V >::x, and Vector2< V >::y.

Here is the call graph for this function:

void SlamSelfLocator::updateVariancesBySpeed double  speed  )  [private]
 

The function calculates the variances and trust values from the current speed.

Definition at line 854 of file SlamSelfLocator.cpp.

References linePointWeight, linePointZAngleMotionDependency, linePointZAngleMotionDependentVariance, linePointZAngleTrust, linePointZAngleVariance, and quasiZero.


Member Data Documentation

double SlamSelfLocator::quasiZero [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and updateVariancesBySpeed().

double SlamSelfLocator::maximumTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::translationNoise [static]
 

Definition at line 32 of file SlamSelfLocator.cpp.

Referenced by execute(), and motionUpdate().

double SlamSelfLocator::rotationNoise [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by motionUpdate().

double SlamSelfLocator::movedDistWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by motionUpdate().

double SlamSelfLocator::movedAngleWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by motionUpdate().

double SlamSelfLocator::majorDirTransWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by motionUpdate().

double SlamSelfLocator::minorDirTransWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by motionUpdate().

double SlamSelfLocator::headHeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by updateByCenterCircle(), updateByCrossing(), and updateByPoint().

double SlamSelfLocator::linePointZAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and updateVariancesBySpeed().

double SlamSelfLocator::linePointZAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by updateVariancesBySpeed().

double SlamSelfLocator::linePointYAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::linePointYAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::linePointZAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by updateVariancesBySpeed().

double SlamSelfLocator::linePointYAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::crossingZAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::crossingZAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::crossingYAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::crossingYAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::crossingZAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::crossingYAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::centerCircleZAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::centerCircleZAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::centerCircleYAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::centerCircleYAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::centerCircleOrientationAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::centerCircleOrientationAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::centerCircleZAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::centerCircleYAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::centerCircleOrientationAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::flagZAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::flagZAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::flagYAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::flagYAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::flagZAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::flagYAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::goalZAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::goalZAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::goalYAngleVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::goalYAngleMotionDependentVariance [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::goalZAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::goalYAngleMotionDependency [static]
 

Definition at line 37 of file SlamSelfLocator.h.

double SlamSelfLocator::linePointWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and updateVariancesBySpeed().

double SlamSelfLocator::linePointZAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), SlamSelfLocator(), updateByPoint(), and updateVariancesBySpeed().

double SlamSelfLocator::linePointYAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), SlamSelfLocator(), and updateByPoint().

double SlamSelfLocator::crossingWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::crossingZAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), SlamSelfLocator(), and updateByCrossing().

double SlamSelfLocator::crossingYAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), SlamSelfLocator(), and updateByCrossing().

double SlamSelfLocator::centerCircleWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::centerCircleZAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and updateByCenterCircle().

double SlamSelfLocator::centerCircleYAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and updateByCenterCircle().

double SlamSelfLocator::centerCircleOrientationAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and updateByCenterCircle().

double SlamSelfLocator::flagWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::flagZAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and SlamSelfLocator().

double SlamSelfLocator::flagYAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), SlamSelfLocator(), and updateByFlag().

double SlamSelfLocator::goalWeight [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute().

double SlamSelfLocator::goalZAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), and SlamSelfLocator().

double SlamSelfLocator::goalYAngleTrust [static]
 

Definition at line 37 of file SlamSelfLocator.h.

Referenced by execute(), SlamSelfLocator(), and updateByGoalPost().

SampleSet<SlamSelfLocatorSample, SAMPLES_MAX> SlamSelfLocator::sampleSet
 

the sampleSet

Definition at line 124 of file SlamSelfLocator.h.

bool SlamSelfLocator::teamColorBlue
 

Definition at line 125 of file SlamSelfLocator.h.

Pose2D SlamSelfLocator::lastOdometry [private]
 

Definition at line 169 of file SlamSelfLocator.h.

Pose2D SlamSelfLocator::lastOdometry2 [private]
 

the last Odometry, used to calculate the delta_odometry

Definition at line 169 of file SlamSelfLocator.h.

unsigned SlamSelfLocator::timeStamp [private]
 

timestap

Definition at line 170 of file SlamSelfLocator.h.

bool SlamSelfLocator::observationUpdateDone [private]
 

a flag indicating if an observation update was done during the current run of execute

Definition at line 171 of file SlamSelfLocator.h.

double SlamSelfLocator::speed [private]
 

current robot speed

Definition at line 172 of file SlamSelfLocator.h.

double SlamSelfLocator::averagePerceptTypeProb[SlamSelfLocatorSample::numberOfPerceptTypes] [private]
 

the average probability for each PerceptType and all Samples

Definition at line 174 of file SlamSelfLocator.h.

SlamSampleTemplateGenerator SlamSelfLocator::sampleTemplateGenerator [private]
 

this class encapsules template generation

Definition at line 176 of file SlamSelfLocator.h.

LinesPercept::LineType SlamSelfLocator::types[LinesPercept::numberOfLineTypes] [private]
 

types and number of types are needed for the template generator

Definition at line 177 of file SlamSelfLocator.h.

int SlamSelfLocator::numberOfTypes [private]
 

Definition at line 178 of file SlamSelfLocator.h.

SlamLineCrossingsTable SlamSelfLocator::lineCrossingsTable [private]
 

Definition at line 180 of file SlamSelfLocator.h.

TRingBufferWithSum<double,HEAD_HEIGHT_SMOOTHING_FRAMENUMBER> SlamSelfLocator::headHeightBuffer [private]
 

Definition at line 182 of file SlamSelfLocator.h.

bool SlamSelfLocator::odometryPoseResetted [private]
 

Definition at line 184 of file SlamSelfLocator.h.

Pose2D SlamSelfLocator::odometryPose [private]
 

Definition at line 185 of file SlamSelfLocator.h.

RobotPose SlamSelfLocator::candidates[NUM_OF_CALCULATED_POSES] [private]
 

Definition at line 186 of file SlamSelfLocator.h.

SlamSelfLocatorSample* SlamSelfLocator::testSample [private]
 

testing and debugging stuff

Definition at line 189 of file SlamSelfLocator.h.

Vector2<double> SlamSelfLocator::lastModelCrossing [private]
 

Definition at line 190 of file SlamSelfLocator.h.

Vector2<double> SlamSelfLocator::lastSeenCrossing [private]
 

Definition at line 190 of file SlamSelfLocator.h.

SlamLineCrossingsTable::CrossingClass SlamSelfLocator::lastSeenCrossingClass [private]
 

Definition at line 191 of file SlamSelfLocator.h.

Pose2D SlamSelfLocator::lastSeenCenterCircle [private]
 

Definition at line 192 of file SlamSelfLocator.h.


The documentation for this class was generated from the following files:
Generated on Mon Mar 20 22:21:18 2006 for GT2005 by doxygen 1.3.6