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:

[legend]
Collaboration diagram for SlamSelfLocator:

[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]
SlamSelfLocatorSample * | testSample
| 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:

- Modules/SelfLocator/SlamSelfLocator/SlamSelfLocator.h
- Modules/SelfLocator/SlamSelfLocator/SlamSelfLocator.cpp