31 #ifndef _EXPERIMENTCONFIG_H_ 32 #define _EXPERIMENTCONFIG_H_ 37 #include <Rcs_graph.h> 44 class ObservationModel;
46 class InitStateSetter;
48 class PhysicsParameterManager;
169 std::vector<std::string>& linesOut,
double currentTime,
const MatNd* currentObservation,
170 const MatNd* currentAction, PhysicsBase* simulator,
184 double currentTime,
const MatNd* currentObservation,
const MatNd* currentAction,
222 template<
class Config>
static ExperimentConfig * create()
virtual void initViewer(Rcs::Viewer *viewer)
virtual ActionModel * createActionModel()=0
virtual ForceDisturber * createForceDisturber()
bool checkJointLimits
Flag to enable joint limit checking.
double dt
The time step [s].
virtual ObservationModel * createObservationModel()=0
virtual void load(PropertySource *properties)
virtual InitStateSetter * createInitStateSetter()
static ExperimentConfig * create(PropertySource *properties)
ObservationModel * observationModel
Observation model (pluggable) used to create the observation which will be returned from step() ...
PropertySource * properties
Property source (owned)
virtual void getHUDText(std::vector< std::string > &linesOut, double currentTime, const MatNd *currentObservation, const MatNd *currentAction, PhysicsBase *simulator, PhysicsParameterManager *physicsManager, ForceDisturber *forceDisturber)
RcsCollisionMdl * RcsCollisionModel_createFromConfig(RcsGraph *graph, PropertySource *config)
ExperimentConfig *(* ExperimentConfigCreateFunction)()
ExperimentConfigRegistration(const char *name)
ActionModel * actionModel
Action model (pluggable)
RcsCollisionMdl * collisionMdl
Collision model to use. Is based on the graph, so take care when using with IK etc.
virtual void populatePhysicsParameters(PhysicsParameterManager *manager)
static void registerType(const char *name, ExperimentConfigCreateFunction creator)
RcsGraph * graph
Graph description.
PhysicsParameterManager * createPhysicsParameterManager()
virtual ~ExperimentConfig()