pyreneCostFunction.hh
Go to the documentation of this file.
1#ifndef COSTFUNCTIONPYRENEACTUATOR_H
2#define COSTFUNCTIONPYRENEACTUATOR_H
3
5#include <vector>
6
7class 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;
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