11 #ifndef _SOT_DDP_PYRENE_ACTUATOR_SOLVER_H
12 #define _SOT_DDP_PYRENE_ACTUATOR_SOLVER_H
18 #if defined(sot_ddp_pyrene_actuator_EXPORTS)
19 #define SOTDDPPYRENEACTUATORSOLVER_EXPORT __declspec(dllexport)
21 #define SOTDDPPYRENEACTUATORSOLVER_EXPORT __declspec(dllimport)
24 #define SOTDDPPYRENEACTUATORSOLVER_EXPORT
31 #include <dynamic-graph/signal-helper.h>
33 #include <ddp-actuator-solver/ddpsolver.hh>
34 #include <ddp-actuator-solver/pyrene_actuator/pyreneActuator.hh>
35 #include <ddp-actuator-solver/pyrene_actuator/pyreneCostFunction.hh>
36 #include <sot/core/causal-filter.hh>
37 #include <sot/core/matrix-geometry.hh>
38 #include <sot/core/robot-utils.hh>
39 #include <tsid/utils/stop-watch.hpp>
47 :
public ::dynamicgraph::Entity {
48 DYNAMIC_GRAPH_ENTITY_DECL();
51 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
57 DECLARE_SIGNAL_IN(pos_des, dynamicgraph::Vector);
58 DECLARE_SIGNAL_IN(pos_joint_measure, dynamicgraph::Vector);
59 DECLARE_SIGNAL_IN(dx_joint_measure, dynamicgraph::Vector);
60 DECLARE_SIGNAL_IN(tau_des, dynamicgraph::Vector);
61 DECLARE_SIGNAL_OUT(tau, dynamicgraph::Vector);
64 virtual void display(std::ostream& os)
const;
71 DDPSolver<double, 2, 1>::commandVec_t
m_u;
85 void param_init(
const double& timestep,
const int& T,
const int& nbItMax,
86 const double& stopCriteria);
89 void setTorqueLimit(
const double& tau);
90 void setJointLimit(
const double& upperLim,
const double& lowerLim);
91 void setJointVelLimit(
const double& upperLim,
const double& lowerLim);
94 void setLoadParam(
const double& mass,
const double& coordX,
95 const double& coordY);
96 void setLoadMass(
const double& mass);
100 void setCostGainState(
const dynamicgraph::Vector& Q);
101 void setCostGainStateConstraint(
const dynamicgraph::Vector& W);
102 void setCostGainCommand(
const dynamicgraph::Vector& R);
103 void setCostGainTorqueConstraint(
const dynamicgraph::Vector& P);
108 #endif // _SOT_SIMPLE_DDP_ACTUATOR_SOLVER_H