Klamp't  0.8.1
TabulatedController.h
1 #ifndef TABULATED_CONTROLLER_H
2 #define TABULATED_CONTROLLER_H
3 
4 #include "Controller.h"
5 #include <KrisLibrary/geometry/GridTable.h>
6 
16 {
17  public:
18  TabulatedController(Robot& robot);
20 
22  virtual void StateToFeature(const Config& q,const Vector& dq,Vector& x) const;
24  virtual void FeatureToState(const Vector& x,Config& q,Vector& dq) const;
25 
26  virtual void Update(Real dt);
27 
28  bool Load(istream& in);
29  bool Save(ostream& out);
30 
32  bool torqueMode;
33  Geometry::GridTable<Vector> commands;
34 };
35 
40 void OptimizeMDP(TabulatedController& controller,
41  const Config& qdes,const Vector& w,
42  int numTransitionSamples,Real discount=1.0);
43 
44 #endif
45 
The main robot type used in RobotSim.
Definition: Robot.h:79
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...
bool torqueMode
Set this to true if torques should be used.
Definition: TabulatedController.h:32
A controller that reads from a grid of torque/desired configuration commands.
Definition: TabulatedController.h:15
virtual void StateToFeature(const Config &q, const Vector &dq, Vector &x) const
Can implement arbitrary feature mappings by overloading this.
A base class for a robot controller. The base class does nothing.
Definition: Controller.h:27
virtual void FeatureToState(const Vector &x, Config &q, Vector &dq) const
Convert feature vector only used during optimization.