GT RoboCup SSL
Soccer software, robot firmware
KalmanRobot Class Reference

Filtered robot estimation for a single camera. More...

Public Member Functions

 KalmanRobot (unsigned int cameraID, RJ::Time creationTime, CameraRobot initMeasurement, const WorldRobot &previousWorldRobot)
 Checks previousWorldRobot to see if it's valid. More...
 
void predict (RJ::Time currentTime)
 Predicts one time step forward. More...
 
void predictAndUpdate (RJ::Time currentTime, CameraRobot updateRobot)
 Predicts one time step forward then triangulates toward the measurement. More...
 
bool isUnhealthy () const
 Returns true when the filter hasn't been updated in a while and should be deleted.
 
unsigned int getCameraID () const
 
int getRobotID () const
 
int getHealth () const
 
Geometry2d::Point getPos () const
 
double getTheta () const
 
Geometry2d::Point getVel () const
 
double getOmega () const
 
Geometry2d::Point getPosCov () const
 
double getThetaCov () const
 
Geometry2d::Point getVelCov () const
 
double getOmegaCov () const
 
const boost::circular_buffer< CameraRobot > & getPrevMeasurements () const
 

Static Public Member Functions

static void createConfiguration (Configuration *cfg)
 

Detailed Description

Filtered robot estimation for a single camera.

Constructor & Destructor Documentation

◆ KalmanRobot()

KalmanRobot::KalmanRobot ( unsigned int  cameraID,
RJ::Time  creationTime,
CameraRobot  initMeasurement,
const WorldRobot previousWorldRobot 
)

Checks previousWorldRobot to see if it's valid.

Parameters
cameraIDID of the camera this filter is applied to
creationTimeTime this filter was created
initMeasurementInitial robot measurement
previousWorldRobotWorld robot from last frame (or invalid world robot)

Member Function Documentation

◆ getCameraID()

unsigned int KalmanRobot::getCameraID ( ) const
Returns
The camera id this belongs to

◆ getHealth()

int KalmanRobot::getHealth ( ) const
Returns
How healthy this filter is. AKA How often it's been updated

◆ getOmega()

double KalmanRobot::getOmega ( ) const
Returns
Best estimate of the angular velocity

◆ getOmegaCov()

double KalmanRobot::getOmegaCov ( ) const
Returns
Covariance of omega of the robot

◆ getPos()

Geometry2d::Point KalmanRobot::getPos ( ) const
Returns
Best estimate of the linear position of the robot

◆ getPosCov()

Geometry2d::Point KalmanRobot::getPosCov ( ) const
Returns
Covariance in X and Y linear direction of the position of the robot

◆ getPrevMeasurements()

const boost::circular_buffer< CameraRobot > & KalmanRobot::getPrevMeasurements ( ) const
Returns
List of previous camera robot measurements for kick detection

◆ getRobotID()

int KalmanRobot::getRobotID ( ) const
Returns
This robot's id

◆ getTheta()

double KalmanRobot::getTheta ( ) const
Returns
Best estimate of the heading. Not bounded

◆ getThetaCov()

double KalmanRobot::getThetaCov ( ) const
Returns
Covariance of theta of the robot

◆ getVel()

Geometry2d::Point KalmanRobot::getVel ( ) const
Returns
Best estimate of the linear velocity of the robot

◆ getVelCov()

Geometry2d::Point KalmanRobot::getVelCov ( ) const
Returns
Covariance in X and Y linear direction of the velocity of the robot

◆ predict()

void KalmanRobot::predict ( RJ::Time  currentTime)

Predicts one time step forward.

Parameters
currentTimeCurrent time of the prediction step

◆ predictAndUpdate()

void KalmanRobot::predictAndUpdate ( RJ::Time  currentTime,
CameraRobot  updateRobot 
)

Predicts one time step forward then triangulates toward the measurement.

Parameters
currentTimeCurrent time of the prediction/update step
updateRobotRobot measurement that we are using as feedback

The documentation for this class was generated from the following files: