BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics class

The class Dynamics represents a base class describing a generic model composing the ukf process model or the ukf measurement model.

The Dynamics object is created from a parameter handler which specifies the name of the variable described by the dynamics object, the covariances associated to the variable, the initial covariance, the Dynamics model which specifies which implementation of this class will be used. The model of the Dynamics object depends on the current state and an input object which need to be set before calling the update method.

Derived classes

class AccelerometerMeasurementDynamics
The AccelerometerMeasurementDynamics class is a concrete implementation of the Dynamics.
class ConstantMeasurementModel
The ConstantMeasurementModel class is a concrete implementation of the Dynamics.
class ExternalContactStateDynamics
The ExternalContactStateDynamics class is a concrete implementation of the Dynamics.
class FrictionTorqueStateDynamics
The FrictionTorqueDynamics class is a concrete implementation of the Dynamics.
class GyroscopeMeasurementDynamics
The GyroscopeMeasurementDynamics class is a concrete implementation of the Dynamics.
class JointVelocityStateDynamics
The JointVelocityDynamics class is a concrete implementation of the Dynamics.
class MotorCurrentMeasurementDynamics
The MotorCurrentMeasurementDynamics class is a concrete implementation of the Dynamics.
class ZeroVelocityStateDynamics
The ZeroVelocityStateDynamics class is a concrete implementation of the Dynamics.

Constructors, destructors, conversion operators

~Dynamics() defaulted virtual
Destructor.

Public functions

auto initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> paramHandler, const std::string& name) -> bool virtual
Initialize the task.
auto finalize(const System::VariablesHandler& handler) -> bool virtual
Finalize the Dynamics.
auto setSubModels(const std::vector<SubModel>& subModelList, const std::vector<std::shared_ptr<KinDynWrapper>>& kinDynWrapperList) -> bool virtual
Set the KinDynWrapper object.
auto update() -> bool virtual
Update the dynamics of the variable.
auto getUpdatedVariable() const -> Eigen::Ref<const Eigen::VectorXd>
Get the next value m_updatedVariable.
auto size() const -> int
Get the size of the state.
void setState(const Eigen::Ref<const Eigen::VectorXd> ukfState) pure virtual
Set the state of the ukf needed to update the dynamics.
void setInput(const UKFInput& ukfInput) pure virtual
Set a UKFInput object.
auto getCovariance() -> Eigen::Ref<const Eigen::VectorXd>
getCovariance access the covariance Eigen::VectorXd associated to the variables described by this dynamics.
auto getInitialStateCovariance() -> Eigen::Ref<const Eigen::VectorXd>
getInitialStateCovariance access the covariance Eigen::VectorXd associated to the initial state.

Protected functions

auto checkStateVariableHandler() -> bool virtual
Controls whether the variable handler contains the variables on which the dynamics depend.

Protected variables

int m_size
Size of the variable associate to the Dynamics object.
Eigen::VectorXd m_updatedVariable
Updated variable computed using the dynamic model.
std::string m_description
String describing the type of the dynamics.
Eigen::VectorXd m_covariances
Vector of covariances.
bool m_isInitialized
True if the dynamics has been initialized.
Eigen::VectorXd m_initialCovariances
Vector of initial covariances.

Function documentation

bool BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::initialize(std::weak_ptr<const ParametersHandler::IParametersHandler> paramHandler, const std::string& name) virtual

Initialize the task.

Parameters
paramHandler pointer to the parameters handler.
name name of the dynamics.
Returns True in case of success, false otherwise.

bool BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::finalize(const System::VariablesHandler& handler) virtual

Finalize the Dynamics.

Parameters
handler object describing the variables in the vector for which all the dynamics are defined.
Returns true in case of success, false otherwise.

bool BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::setSubModels(const std::vector<SubModel>& subModelList, const std::vector<std::shared_ptr<KinDynWrapper>>& kinDynWrapperList) virtual

Set the KinDynWrapper object.

Parameters
subModelList list of SubModel objects
kinDynWrapperList list of pointers to KinDynWrapper objects.
Returns True in case of success, false otherwise.

bool BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::update() virtual

Update the dynamics of the variable.

Returns True in case of success, false otherwise.

Eigen::Ref<const Eigen::VectorXd> BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::getUpdatedVariable() const

Get the next value m_updatedVariable.

Returns a const reference to the next variable value.

int BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::size() const

Get the size of the state.

Returns the size of the state.

void BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::setState(const Eigen::Ref<const Eigen::VectorXd> ukfState) pure virtual

Set the state of the ukf needed to update the dynamics.

Parameters
ukfState reference to the ukf state.

void BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::setInput(const UKFInput& ukfInput) pure virtual

Set a UKFInput object.

Parameters
ukfInput reference to the UKFInput struct.

Eigen::Ref<const Eigen::VectorXd> BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::getCovariance()

getCovariance access the covariance Eigen::VectorXd associated to the variables described by this dynamics.

Returns the vector of covariances.

Eigen::Ref<const Eigen::VectorXd> BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::getInitialStateCovariance()

getInitialStateCovariance access the covariance Eigen::VectorXd associated to the initial state.

Returns the vector of covariances.

bool BipedalLocomotion::Estimators::RobotDynamicsEstimator::Dynamics::checkStateVariableHandler() virtual protected

Controls whether the variable handler contains the variables on which the dynamics depend.

Returns True in case all the dependencies are contained in the variable handler, false otherwise.