Loading...
Searching...
No Matches
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, const commandVec_t& U);
12 void computeFinalCostAndDeriv(const stateVec_t& X, const stateVec_t& Xdes);
13
14 void setCostGainState(const stateMat_t& Q);
16 void setCostGainCommand(const commandMat_t& R);
18
19 void setTauLimit(const double& limit);
20 void setJointLimit(const double& limitUp, const double& limitDown);
21 void setJointVelLimit(const double& limitUp, const double& limitDown);
24
25 static const double K;
26 static const double offset_m;
27
28 private:
29 stateMat_t Q;
30 stateMat_t W;
33 double dt;
34 double tauLim;
35 double alphaTau;
36 double lambdaLimVel;
37 double lambdaLimPos;
38 std::vector<double> jointLim;
39 std::vector<double> jointVelLim;
40
41 stateVec_t Constraints;
42 stateMat_t dConstraints;
43 stateMat_t ddConstraints;
44 commandVec_t TauConstraints;
45 commandVec_t dTauConstraints;
46 commandVec_t ddTauConstraints;
47};
48
49#endif // COSTFUNCTIONPYRENEACTUATOR_H
Definition: pyreneCostFunction.hh:7
void computeCostAndDeriv(const stateVec_t &X, const stateVec_t &Xdes, const commandVec_t &U)
Definition: pyreneCostFunction.cpp:76
static const double K
Definition: pyreneCostFunction.hh:25
void setCostGainTorqueConstraint(const commandMat_t &P)
Definition: pyreneCostFunction.cpp:36
void setTauLimit(const double &limit)
Definition: pyreneCostFunction.cpp:38
void setCostGainStateConstraint(const stateMat_t &W)
Definition: pyreneCostFunction.cpp:32
void setJointVelLimit(const double &limitUp, const double &limitDown)
Definition: pyreneCostFunction.cpp:45
void setCostGainState(const stateMat_t &Q)
Definition: pyreneCostFunction.cpp:30
void computeFinalCostAndDeriv(const stateVec_t &X, const stateVec_t &Xdes)
Definition: pyreneCostFunction.cpp:95
void computeTauConstraintsAndDeriv(const commandVec_t &U)
Definition: pyreneCostFunction.cpp:50
CostFunctionPyreneActuator()
Definition: pyreneCostFunction.cpp:11
void setCostGainCommand(const commandMat_t &R)
Definition: pyreneCostFunction.cpp:34
void computeConstraintsAndDeriv(const stateVec_t &X)
Definition: pyreneCostFunction.cpp:58
static const double offset_m
Definition: pyreneCostFunction.hh:26
void setJointLimit(const double &limitUp, const double &limitDown)
Definition: pyreneCostFunction.cpp:40
Definition: costfunction.hh:7
Eigen::Matrix< double, commandSize, 1 > commandVec_t
Definition: costfunction.hh:15
Eigen::Matrix< double, stateSize, 1 > stateVec_t
Definition: costfunction.hh:9
Eigen::Matrix< double, commandSize, commandSize > commandMat_t
Definition: costfunction.hh:17
Eigen::Matrix< double, stateSize, stateSize > stateMat_t
Definition: costfunction.hh:11