RcsPySim
A robot control and simulation library
Rcs::OMDynamicalSystemDiscrepancy Class Reference

#include <OMDynamicalSystemDiscrepancy.h>

Inheritance diagram for Rcs::OMDynamicalSystemDiscrepancy:
Collaboration diagram for Rcs::OMDynamicalSystemDiscrepancy:

Public Member Functions

 OMDynamicalSystemDiscrepancy (AMDynamicalSystemActivation *actionModel)
 
virtual ~OMDynamicalSystemDiscrepancy ()
 
virtual unsigned int getStateDim () const
 
unsigned int getVelocityDim () const override
 
virtual void computeObservation (double *state, double *velocity, const MatNd *currentAction, double dt) const
 
void reset () override
 
virtual std::vector< std::string > getStateNames () const
 
- Public Member Functions inherited from Rcs::ObservationModel
virtual ~ObservationModel ()
 
MatNd * computeObservation (const MatNd *currentAction, double dt) const
 
void computeObservation (MatNd *observation, const MatNd *currentAction, double dt) const
 
virtual void getLimits (double *minState, double *maxState, double *maxVelocity) const
 
virtual std::vector< std::string > getVelocityNames () const
 
virtual void getMinMax (double *min, double *max) const final
 
virtual unsigned int getDim () const final
 
virtual std::vector< std::string > getNames () const final
 
template<typename OM >
OM * findModel ()
 
template<typename OM >
Offsets findOffsets ()
 
virtual std::vector< ObservationModel * > getNested () const
 
- Public Member Functions inherited from Rcs::BoxSpaceProvider
 BoxSpaceProvider ()
 
virtual ~BoxSpaceProvider ()
 
 BoxSpaceProvider (const BoxSpaceProvider &)=delete
 
BoxSpaceProvideroperator= (const BoxSpaceProvider &)=delete
 
 BoxSpaceProvider (BoxSpaceProvider &&)=delete
 
BoxSpaceProvideroperator= (BoxSpaceProvider &&)=delete
 
const BoxSpacegetSpace () const
 

Private Attributes

AMDynamicalSystemActivationactionModel
 
ControllerBase * controller
 
MatNd * x_curr
 

Detailed Description

ObservationModel wrapping multiple AMDynamicalSystemActivation to compute the discrepancies between the task space changes commanded by the DS and the ones executed by the robot.

Definition at line 47 of file OMDynamicalSystemDiscrepancy.h.

Constructor & Destructor Documentation

◆ OMDynamicalSystemDiscrepancy()

Rcs::OMDynamicalSystemDiscrepancy::OMDynamicalSystemDiscrepancy ( AMDynamicalSystemActivation actionModel)
explicit

Create from action model. NOTE: assumes that the task activation action model wraps a IK-based action model.

Definition at line 42 of file OMDynamicalSystemDiscrepancy.cpp.

◆ ~OMDynamicalSystemDiscrepancy()

Rcs::OMDynamicalSystemDiscrepancy::~OMDynamicalSystemDiscrepancy ( )
virtual

Definition at line 61 of file OMDynamicalSystemDiscrepancy.cpp.

Member Function Documentation

◆ computeObservation()

void Rcs::OMDynamicalSystemDiscrepancy::computeObservation ( double *  state,
double *  velocity,
const MatNd *  currentAction,
double  dt 
) const
virtual

Implement to fill the observation vector with the observed values.

Parameters
[out]statestate observation vector to fill, has getStateDim() elements.
[out]velocityvelocity observation vector to fill, has getVelocityDim() elements.
[in]currentActionaction in current step. May be NULL if not available.
[in]dttime step since the last observation has been taken

Implements Rcs::ObservationModel.

Definition at line 72 of file OMDynamicalSystemDiscrepancy.cpp.

◆ getStateDim()

unsigned int Rcs::OMDynamicalSystemDiscrepancy::getStateDim ( ) const
virtual

The number of state variables.

Implements Rcs::ObservationModel.

Definition at line 67 of file OMDynamicalSystemDiscrepancy.cpp.

◆ getStateNames()

std::vector< std::string > Rcs::OMDynamicalSystemDiscrepancy::getStateNames ( ) const
virtual

Provides names for each state entry.

Returns
a vector of name strings. Must be of length getStateDim() or empty for a nameless space.

Reimplemented from Rcs::ObservationModel.

Definition at line 110 of file OMDynamicalSystemDiscrepancy.cpp.

◆ getVelocityDim()

unsigned int Rcs::OMDynamicalSystemDiscrepancy::getVelocityDim ( ) const
overridevirtual

The number of velocity variables. The default implementation assumes that for each state there is a velocity.

Reimplemented from Rcs::ObservationModel.

Definition at line 56 of file OMDynamicalSystemDiscrepancy.cpp.

◆ reset()

void Rcs::OMDynamicalSystemDiscrepancy::reset ( )
overridevirtual

Reset any internal state. This is called to begin a new episode. It should also reset values depending on modifiable physics parameters. This is an optional operation, so the default implementation does nothing.

Reimplemented from Rcs::ObservationModel.

Definition at line 104 of file OMDynamicalSystemDiscrepancy.cpp.

Member Data Documentation

◆ actionModel

AMDynamicalSystemActivation* Rcs::OMDynamicalSystemDiscrepancy::actionModel
private

Definition at line 73 of file OMDynamicalSystemDiscrepancy.h.

◆ controller

ControllerBase* Rcs::OMDynamicalSystemDiscrepancy::controller
private

Definition at line 76 of file OMDynamicalSystemDiscrepancy.h.

◆ x_curr

MatNd* Rcs::OMDynamicalSystemDiscrepancy::x_curr
private

Definition at line 79 of file OMDynamicalSystemDiscrepancy.h.


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