![]() |
GT RoboCup SSL
Soccer software, robot firmware
|
Filtered ball estimation for a single camera. More...
Public Member Functions | |
KalmanBall (unsigned int cameraID, RJ::Time creationTime, CameraBall initMeasurement, const WorldBall &previousWorldBall) | |
Checks the previousWorldBall to see if it's valid. More... | |
void | predict (RJ::Time currentTime) |
Predicts one time step forward. More... | |
void | predictAndUpdate (RJ::Time currentTime, CameraBall updateBall) |
Predicts one time step forward then triangulates towards the measurement. More... | |
bool | isUnhealthy () const |
unsigned int | getCameraID () const |
int | getHealth () const |
Geometry2d::Point | getPos () const |
Geometry2d::Point | getVel () const |
Geometry2d::Point | getPosCov () const |
Geometry2d::Point | getVelCov () const |
const boost::circular_buffer< CameraBall > & | getPrevMeasurements () const |
void | setVel (Geometry2d::Point newVel) |
Static Public Member Functions | |
static void | createConfiguration (Configuration *cfg) |
Filtered ball estimation for a single camera.
KalmanBall::KalmanBall | ( | unsigned int | cameraID, |
RJ::Time | creationTime, | ||
CameraBall | initMeasurement, | ||
const WorldBall & | previousWorldBall | ||
) |
Checks the previousWorldBall to see if it's valid.
cameraId | ID of the camera this filter belongs to |
creationTime | Time this filter is created |
initMeasurement | Initial ball measurement we are creating the filter at |
previousWorldBall | Previous prediction of ball location to initialize the velocity smartly |
unsigned int KalmanBall::getCameraID | ( | ) | const |
int KalmanBall::getHealth | ( | ) | const |
Geometry2d::Point KalmanBall::getPos | ( | ) | const |
Geometry2d::Point KalmanBall::getPosCov | ( | ) | const |
const boost::circular_buffer< CameraBall > & KalmanBall::getPrevMeasurements | ( | ) | const |
Geometry2d::Point KalmanBall::getVel | ( | ) | const |
Geometry2d::Point KalmanBall::getVelCov | ( | ) | const |
bool KalmanBall::isUnhealthy | ( | ) | const |
void KalmanBall::predict | ( | RJ::Time | currentTime | ) |
Predicts one time step forward.
currentTime | Time at the current frame |
void KalmanBall::predictAndUpdate | ( | RJ::Time | currentTime, |
CameraBall | updateBall | ||
) |
Predicts one time step forward then triangulates towards the measurement.
currentTime | Current time of the prediction/update step |
updateBall | Ball measurement that we are using as feedback to the filters |
void KalmanBall::setVel | ( | Geometry2d::Point | newVel | ) |
newVel | new velocity to insert into the kalman filter |
Note: Only used to set the velocity when we think the ball will bounce off another robot