pyreneCostFunction.hh
Go to the documentation of this file.
1 #ifndef COSTFUNCTIONPYRENEACTUATOR_H
2 #define COSTFUNCTIONPYRENEACTUATOR_H
3 
5 #include <vector>
6 
7 class CostFunctionPyreneActuator : public CostFunction<double, 2, 1> {
8  public:
10 
11  void computeCostAndDeriv(const stateVec_t& X, const stateVec_t& Xdes,
12  const commandVec_t& U);
13  void computeFinalCostAndDeriv(const stateVec_t& X, const stateVec_t& Xdes);
14 
15  void setCostGainState(const stateMat_t& Q);
17  void setCostGainCommand(const commandMat_t& R);
19 
20  void setTauLimit(const double& limit);
21  void setJointLimit(const double& limitUp, const double& limitDown);
22  void setJointVelLimit(const double& limitUp, const double& limitDown);
25 
26  static const double K;
27  static const double offset_m;
28 
29  private:
30  stateMat_t Q;
31  stateMat_t W;
32  commandMat_t R;
33  commandMat_t P;
34  double dt;
35  double tauLim;
36  double alphaTau;
37  double lambdaLimVel;
38  double lambdaLimPos;
39  std::vector<double> jointLim;
40  std::vector<double> jointVelLim;
41 
42  stateVec_t Constraints;
43  stateMat_t dConstraints;
44  stateMat_t ddConstraints;
45  commandVec_t TauConstraints;
46  commandVec_t dTauConstraints;
47  commandVec_t ddTauConstraints;
48 };
49 
50 #endif // COSTFUNCTIONPYRENEACTUATOR_H
Definition: pyreneCostFunction.hh:7
void computeCostAndDeriv(const stateVec_t &X, const stateVec_t &Xdes, const commandVec_t &U)
Definition: pyreneCostFunction.cpp:100
static const double K
Definition: pyreneCostFunction.hh:26
void setCostGainTorqueConstraint(const commandMat_t &P)
Definition: pyreneCostFunction.cpp:45
void setTauLimit(const double &limit)
Definition: pyreneCostFunction.cpp:50
void setCostGainStateConstraint(const stateMat_t &W)
Definition: pyreneCostFunction.cpp:36
void setJointVelLimit(const double &limitUp, const double &limitDown)
Definition: pyreneCostFunction.cpp:60
void setCostGainState(const stateMat_t &Q)
Definition: pyreneCostFunction.cpp:32
void computeFinalCostAndDeriv(const stateVec_t &X, const stateVec_t &Xdes)
Definition: pyreneCostFunction.cpp:121
void computeTauConstraintsAndDeriv(const commandVec_t &U)
Definition: pyreneCostFunction.cpp:66
CostFunctionPyreneActuator()
Definition: pyreneCostFunction.cpp:13
void setCostGainCommand(const commandMat_t &R)
Definition: pyreneCostFunction.cpp:41
void computeConstraintsAndDeriv(const stateVec_t &X)
Definition: pyreneCostFunction.cpp:77
static const double offset_m
Definition: pyreneCostFunction.hh:27
void setJointLimit(const double &limitUp, const double &limitDown)
Definition: pyreneCostFunction.cpp:54
Definition: costfunction.hh:7
Eigen::Matrix< double, commandSize, 1 > commandVec_t
Definition: costfunction.hh:19
Eigen::Matrix< double, stateSize, 1 > stateVec_t
Definition: costfunction.hh:9
Eigen::Matrix< double, commandSize, commandSize > commandMat_t
Definition: costfunction.hh:23
Eigen::Matrix< double, stateSize, stateSize > stateMat_t
Definition: costfunction.hh:13