MRPT logo

mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator Class Reference

The filter that estimates and extrapolates the robot pose from odometry and localization data The implemented model is a state vector: More...

List of all members.

Classes

struct  TOptions

Public Member Functions

 CRobotStateEstimator ()
 Default constructor.
virtual ~CRobotStateEstimator ()
 Destructor.
void reset ()
void processUpdateNewPoseLocalization (const TPose2D &newPose, const CMatrixDouble33 &newPoseCov, TTimeStamp cur_tim)
 Updates the filter so the pose is tracked to the current time.
void processUpdateNewOdometry (const TPose2D &newGlobalOdometry, TTimeStamp cur_tim, bool hasVelocities=false, float v=0, float w=0)
 Updates the filter so the pose is tracked to the current time.
bool getCurrentEstimate (TPose2D &pose, float &v, float &w, TTimeStamp tim_query=mrpt::system::now())
 Get the current estimate, obtained as:.

Public Attributes

TOptions params
 parameters of the filter.

Static Private Member Functions

static void extrapolateRobotPose (const TPose2D &p, const float v, const float w, const double delta_time, TPose2D &new_p)
 An auxiliary method to extrapolate the pose of a robot located at "p" with velocities (v,w) after a time delay "delta_time".

Private Attributes

mrpt::synch::CCriticalSection m_cs
TTimeStamp m_last_loc_time
TPose2D m_last_loc
 Last pose as estimated by the localization/SLAM subsystem.
CMatrixDouble33 m_last_loc_cov
TPose2D m_loc_odo_ref
 The interpolated odometry position for the last "m_robot_pose" (used as "coordinates base" for subsequent odo readings).
TTimeStamp m_last_odo_time
TPose2D m_last_odo
float m_robot_v
float m_robot_w


Detailed Description

The filter that estimates and extrapolates the robot pose from odometry and localization data The implemented model is a state vector:

The filter can be asked for an extrapolation for some arbitrary time "t'", and it'll do a simple linear prediction. All methods are thread-safe.

Definition at line 293 of file CPRRTNavigator.h.


Constructor & Destructor Documentation

mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::CRobotStateEstimator (  ) 

Default constructor.

virtual mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::~CRobotStateEstimator (  )  [virtual]

Destructor.


Member Function Documentation

static void mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::extrapolateRobotPose ( const TPose2D p,
const float  v,
const float  w,
const double  delta_time,
TPose2D new_p 
) [static, private]

An auxiliary method to extrapolate the pose of a robot located at "p" with velocities (v,w) after a time delay "delta_time".

bool mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::getCurrentEstimate ( TPose2D pose,
float &  v,
float &  w,
TTimeStamp  tim_query = mrpt::system::now() 
)

Get the current estimate, obtained as:.

last_loc (+) [ last_odo (-) odo_ref ] (+) extrapolation_from_vw

Returns:
true is the estimate can be trusted. False if the real observed data is too old or there is no valid data yet.

void mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::processUpdateNewOdometry ( const TPose2D newGlobalOdometry,
TTimeStamp  cur_tim,
bool  hasVelocities = false,
float  v = 0,
float  w = 0 
)

Updates the filter so the pose is tracked to the current time.

void mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::processUpdateNewPoseLocalization ( const TPose2D newPose,
const CMatrixDouble33 newPoseCov,
TTimeStamp  cur_tim 
)

Updates the filter so the pose is tracked to the current time.

void mrpt::reactivenav::CPRRTNavigator::CRobotStateEstimator::reset (  ) 


Member Data Documentation

Definition at line 336 of file CPRRTNavigator.h.

Last pose as estimated by the localization/SLAM subsystem.

Definition at line 339 of file CPRRTNavigator.h.

Definition at line 340 of file CPRRTNavigator.h.

Definition at line 338 of file CPRRTNavigator.h.

Definition at line 345 of file CPRRTNavigator.h.

Definition at line 344 of file CPRRTNavigator.h.

The interpolated odometry position for the last "m_robot_pose" (used as "coordinates base" for subsequent odo readings).

Definition at line 342 of file CPRRTNavigator.h.

Definition at line 346 of file CPRRTNavigator.h.

Definition at line 347 of file CPRRTNavigator.h.

parameters of the filter.

Definition at line 333 of file CPRRTNavigator.h.




Page generated by Doxygen 1.5.9 for MRPT 0.7.1 SVN: at Mon Aug 17 22:20:53 EDT 2009