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

#include <OMCollisionCostPrediction.h>

Inheritance diagram for Rcs::OMCollisionCostPrediction:
Collaboration diagram for Rcs::OMCollisionCostPrediction:

Public Member Functions

 OMCollisionCostPrediction (RcsGraph *graph, RcsCollisionMdl *collisionMdl, const ActionModel *actionModel, size_t horizon=10, double maxCollCost=1e4)
 
virtual ~OMCollisionCostPrediction ()
 
 OMCollisionCostPrediction (const OMCollisionCostPrediction &)=delete
 
OMCollisionCostPredictionoperator= (const OMCollisionCostPrediction &)=delete
 
 OMCollisionCostPrediction (OMCollisionCostPrediction &&)=delete
 
OMCollisionCostPredictionoperator= (OMCollisionCostPrediction &&)=delete
 
virtual void computeObservation (double *state, double *velocity, const MatNd *currentAction, double dt) const
 
virtual void getLimits (double *minState, double *maxState, double *maxVelocity) const
 
virtual unsigned int getStateDim () const
 
virtual unsigned int getVelocityDim () const
 
std::vector< std::string > getStateNames () const override
 
- 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 reset ()
 
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

RcsGraph * realGraph
 
RcsGraph * predictGraph
 
ActionModelpredictActionModel
 
RcsCollisionMdl * collisionMdl
 
size_t horizon
 
double maxCollCost
 

Detailed Description

Definition at line 41 of file OMCollisionCostPrediction.h.

Constructor & Destructor Documentation

◆ OMCollisionCostPrediction() [1/3]

Rcs::OMCollisionCostPrediction::OMCollisionCostPrediction ( RcsGraph *  graph,
RcsCollisionMdl *  collisionMdl,
const ActionModel actionModel,
size_t  horizon = 10,
double  maxCollCost = 1e4 
)

Definition at line 44 of file OMCollisionCostPrediction.cpp.

◆ ~OMCollisionCostPrediction()

Rcs::OMCollisionCostPrediction::~OMCollisionCostPrediction ( )
virtual

Definition at line 59 of file OMCollisionCostPrediction.cpp.

◆ OMCollisionCostPrediction() [2/3]

Rcs::OMCollisionCostPrediction::OMCollisionCostPrediction ( const OMCollisionCostPrediction )
delete

◆ OMCollisionCostPrediction() [3/3]

Rcs::OMCollisionCostPrediction::OMCollisionCostPrediction ( OMCollisionCostPrediction &&  )
delete

Member Function Documentation

◆ computeObservation()

void Rcs::OMCollisionCostPrediction::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 78 of file OMCollisionCostPrediction.cpp.

◆ getLimits()

void Rcs::OMCollisionCostPrediction::getLimits ( double *  minState,
double *  maxState,
double *  maxVelocity 
) const
virtual

Provides the minimum and maximum observable values. Since the velocity is symmetric, only the maximum needs to be provided. The default implementation uses -inf and inf.

Parameters
[out]minStateminimum state vector to fill, has getStateDim() elements.
[out]maxStatemaximum state vector to fill, has getStateDim() elements.
[out]maxVelocitymaximum velocity vector to fill, has getVelocityDim() elements.

Reimplemented from Rcs::ObservationModel.

Definition at line 120 of file OMCollisionCostPrediction.cpp.

◆ getStateDim()

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

The number of state variables.

Implements Rcs::ObservationModel.

Definition at line 68 of file OMCollisionCostPrediction.cpp.

◆ getStateNames()

std::vector< std::string > Rcs::OMCollisionCostPrediction::getStateNames ( ) const
overridevirtual

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 115 of file OMCollisionCostPrediction.cpp.

◆ getVelocityDim()

unsigned int Rcs::OMCollisionCostPrediction::getVelocityDim ( ) const
virtual

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

Reimplemented from Rcs::ObservationModel.

Definition at line 73 of file OMCollisionCostPrediction.cpp.

◆ operator=() [1/2]

OMCollisionCostPrediction& Rcs::OMCollisionCostPrediction::operator= ( const OMCollisionCostPrediction )
delete

◆ operator=() [2/2]

OMCollisionCostPrediction& Rcs::OMCollisionCostPrediction::operator= ( OMCollisionCostPrediction &&  )
delete

Member Data Documentation

◆ collisionMdl

RcsCollisionMdl* Rcs::OMCollisionCostPrediction::collisionMdl
private

Rcs collision model.

Definition at line 75 of file OMCollisionCostPrediction.h.

◆ horizon

size_t Rcs::OMCollisionCostPrediction::horizon
private

Time horizon for the predicted collision costs (horizon = 1 mean the current step plus one step ahead)

Definition at line 78 of file OMCollisionCostPrediction.h.

◆ maxCollCost

double Rcs::OMCollisionCostPrediction::maxCollCost
private

Definition at line 80 of file OMCollisionCostPrediction.h.

◆ predictActionModel

ActionModel* Rcs::OMCollisionCostPrediction::predictActionModel
private

Action model copy for prediction.

Definition at line 72 of file OMCollisionCostPrediction.h.

◆ predictGraph

RcsGraph* Rcs::OMCollisionCostPrediction::predictGraph
private

Graph copy for prediction.

Definition at line 69 of file OMCollisionCostPrediction.h.

◆ realGraph

RcsGraph* Rcs::OMCollisionCostPrediction::realGraph
private

Graph to observe (not owned)

Definition at line 66 of file OMCollisionCostPrediction.h.


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