PPL API Reference
Overview Core Algorithm Abstractions Utilities Parallel Methods
Modules Class Hierarchy Classes Functions
Todo List Bug List Dead Code
List of all members
StateEstimator Class Referenceabstract

Public Member Functions

Interface
void SetState (const Cfg &_cfg, const std::vector< double > &_uncertainty)
 
void ApplyControls (const ControlSet &_controls, const double _dt)
 
virtual void ApplyObservations (SensorInterface *const _sensor)=0
 
const CfgGetEstimatedState () const
 Get the current state estimate.
 
const std::vector< double > & GetUncertainty () const
 Get the uncertainty in the estimated state.
 

Protected Attributes

Internal State

Get the covariance matrix for the state estimate.

Todo:
Figure out how to represent this.
Robot *const m_robot
 The owning robot.
 
Cfg m_estimatedState
 The current estimated state.
 
std::vector< double > m_uncertainty
 Uncertainty in the current estimate.
 
bool m_debug {false}
 The debug flag.
 

Construction

 StateEstimator (Robot *const _robot)
 
virtual ~StateEstimator ()
 
static std::unique_ptr< StateEstimatorFactory (Robot *const _robot, XMLNode &_node)
 

Detailed Description

Base abstraction for a state estimator object, which combines the controls applied to a hardware robot with sensor data to estimate the robot's true state.

We assume that all process noise/uncertainty is iid and Gaussian-shaped.

Member Function Documentation

◆ Factory()

std::unique_ptr< StateEstimator > StateEstimator::Factory ( Robot *const  _robot,
XMLNode _node 
)
static

Create a dynamically-allocated state estimator from an XML node.

Parameters
_robotThe robot which this state estimator will work for.
_nodeThe XML node to parse.
Returns
A state estimator of the type specified by _node.

◆ SetState()

void StateEstimator::SetState ( const Cfg _cfg,
const std::vector< double > &  _uncertainty 
)

Set the current state and uncertainty.

Parameters
_cfgThe state to set.
_uncertaintyThe uncertainty in _cfg.

◆ ApplyControls()

void StateEstimator::ApplyControls ( const ControlSet &  _controls,
const double  _dt 
)

Apply a set of controls to the current estimated state.

Note
The Actuator class should define the force/velocity uncertainty, if any.
Parameters
_controlsThe set of controls to apply.
_dtThe length of time to apply the controls.

◆ ApplyObservations()

virtual void StateEstimator::ApplyObservations ( SensorInterface *const  _sensor)
pure virtual

Apply the most recent observations from a sensor to the current estimated state.

Parameters
_sensorThe sensor to take observations from.

Implemented in AverageEstimator.


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