Klamp't  0.9.0
TabulatedController.h
1 #ifndef TABULATED_CONTROLLER_H
2 #define TABULATED_CONTROLLER_H
3 
4 #include "Controller.h"
5 #include <KrisLibrary/geometry/GridTable.h>
6 
7 namespace Klampt {
8 
18 {
19  public:
22 
24  virtual void StateToFeature(const Config& q,const Vector& dq,Vector& x) const;
26  virtual void FeatureToState(const Vector& x,Config& q,Vector& dq) const;
27 
28  virtual void Update(Real dt);
29 
30  bool Load(istream& in);
31  bool Save(ostream& out);
32 
34  bool torqueMode;
35  Geometry::GridTable<Vector> commands;
36 };
37 
42 void OptimizeMDP(TabulatedController& controller,
43  const Config& qdes,const Vector& w,
44  int numTransitionSamples,Real discount=1.0);
45 
46 } //namespace Klampt
47 
48 #endif
49 
virtual void FeatureToState(const Vector &x, Config &q, Vector &dq) const
Convert feature vector only used during optimization.
A controller that reads from a grid of torque/desired configuration commands.
Definition: TabulatedController.h:17
A base class for a robot controller. The base class does nothing.
Definition: Controller.h:29
bool torqueMode
Set this to true if torques should be used.
Definition: TabulatedController.h:34
The main robot type used in RobotSim.
Definition: Robot.h:83
virtual void StateToFeature(const Config &q, const Vector &dq, Vector &x) const
Can implement arbitrary feature mappings by overloading this.
Definition: ContactDistance.h:6
void OptimizeMDP(TabulatedController &controller, const Config &qdes, const Vector &w, int numTransitionSamples, Real discount=1.0)
Optimizes the given tabulated controller to reach the desired configuration qdes, with cost weights w...