ocra-recipes
Doxygen documentation for the ocra-recipes repository
FullDynamicEquationFunction.h
Go to the documentation of this file.
1 
8 #ifndef _FULLDYNAMICEQUATIONFUNCTION_H_
9 #define _FULLDYNAMICEQUATIONFUNCTION_H_
10 
11 
13 #include "ocra/control/Model.h"
14 #include "ocra/optim/Variable.h"
15 #include "ocra/optim/Constraint.h"
16 
17 
18 namespace ocra
19 {
20 
26 
41 {
42  public:
43  typedef LinearFunction functionType_t; //< alias on the type of the mother class. Needed to duplicate the function tree.
44 
45  FullDynamicEquationFunction(const Model& model);
47 
48  void takeIntoAccountGravity(bool useGrav);
49 
50  const Eigen::MatrixXd& getInertiaMatrixInverseJchiT() const;
51  const Eigen::VectorXd& getInertiaMatrixInverseLinNonLinGrav() const;
52  Variable& getActionVariable() const;
53 
54  protected:
55  void updateJacobian() const;
56  void updateb() const;
57  void buildA();
58 
59  virtual void doUpdateInputSizeBegin();
60  virtual void doUpdateInputSizeEnd();
61 
62 
63  private: // Forbid copy
66 
67  static Variable& createDEVariable(const Model& model);
68 
69  void invalidateReducedProblemData(int timestamp);
70 
71  private:
72  struct Pimpl;
73  boost::shared_ptr<Pimpl> pimpl;
74 
75 };
76 }
77 
78 #endif
const Eigen::VectorXd & getInertiaMatrixInverseLinNonLinGrav() const
Declaration file of the Model class.
Model class.
Definition: Model.h:38
LinearFunction class.
Optimization-based Robot Controller namespace. a library of classes to write and solve optimization p...
Declaration file of the LinearFunction class.
This class represents a variable in a mathematical sense.
Definition: Variable.h:105
Create a linear function that represents the dynamic equation of motion.
Declaration file of the Constraint class.
Declaration file of the Variable class.
const Eigen::MatrixXd & getInertiaMatrixInverseJchiT() const