control-pd.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2010,
3  * François Bleibel,
4  * Olivier Stasse,
5  *
6  * CNRS/AIST
7  *
8  */
9 
10 #ifndef __SOT_Control_PD_HH__
11 #define __SOT_Control_PD_HH__
12 
13 /* --------------------------------------------------------------------- */
14 /* --- INCLUDE --------------------------------------------------------- */
15 /* --------------------------------------------------------------------- */
16 
17 /* Matrix */
19 
20 /* SOT */
21 #include <dynamic-graph/entity.h>
24 
25 /* --------------------------------------------------------------------- */
26 /* --- API ------------------------------------------------------------- */
27 /* --------------------------------------------------------------------- */
28 
29 #if defined(WIN32)
30 #if defined(control_pd_EXPORTS)
31 #define ControlPD_EXPORT __declspec(dllexport)
32 #else
33 #define ControlPD_EXPORT __declspec(dllimport)
34 #endif
35 #else
36 #define ControlPD_EXPORT
37 #endif
38 
39 namespace dynamicgraph {
40 namespace sot {
41 
42 /* --------------------------------------------------------------------- */
43 /* --- CLASS ----------------------------------------------------------- */
44 /* --------------------------------------------------------------------- */
45 
47  public: /* --- CONSTRUCTOR ---- */
48  ControlPD(const std::string &name);
49 
50  public: /* --- INIT --- */
51  void init(const double &step);
52 
53  public: /* --- CONSTANTS --- */
54  /* Default values. */
55  static const double TIME_STEP_DEFAULT; // = 0.001
56 
57  public: /* --- ENTITY INHERITANCE --- */
58  static const std::string CLASS_NAME;
59  virtual void display(std::ostream &os) const;
60  virtual const std::string &getClassName(void) const { return CLASS_NAME; }
61 
62  protected:
63  /* Parameters of the torque-control function:
64  * tau = kp * (qd-q) + kd* (dqd-dq) */
65  double TimeStep;
66 
67  public: /* --- SIGNALS --- */
77 
78  protected:
82  dynamicgraph::Vector &getPositionError(dynamicgraph::Vector &position_error,
83  sigtime_t t);
84  dynamicgraph::Vector &getVelocityError(dynamicgraph::Vector &velocity_error,
85  sigtime_t t);
86 };
87 
88 } // namespace sot
89 } // namespace dynamicgraph
90 
91 #endif // #ifndef __SOT_Control_PD_HH__
signal-ptr.h
init
void init(bool compute_local_aabb=true)
dynamicgraph::sot::ControlPD::positionSIN
SignalPtr< dynamicgraph::Vector, sigtime_t > positionSIN
Definition: control-pd.hh:70
signal-time-dependent.h
dynamicgraph::sot::ControlPD::velocitySIN
SignalPtr< dynamicgraph::Vector, sigtime_t > velocitySIN
Definition: control-pd.hh:72
dynamicgraph::sot::ControlPD::KdSIN
SignalPtr< dynamicgraph::Vector, sigtime_t > KdSIN
Definition: control-pd.hh:69
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t >
dynamicgraph
dynamicgraph::sot::ControlPD::controlSOUT
SignalTimeDependent< dynamicgraph::Vector, sigtime_t > controlSOUT
Definition: control-pd.hh:74
dynamicgraph::Entity
dynamicgraph::sot::ControlPD::desiredpositionSIN
SignalPtr< dynamicgraph::Vector, sigtime_t > desiredpositionSIN
Definition: control-pd.hh:71
dynamicgraph::sot::ControlPD::getClassName
virtual const std::string & getClassName(void) const
Definition: control-pd.hh:60
dynamicgraph::sot::ControlPD::position_error_
dynamicgraph::Vector position_error_
Definition: control-pd.hh:80
dynamicgraph::sot::ControlPD::TimeStep
double TimeStep
Definition: control-pd.hh:65
dynamicgraph::sigtime_t
int64_t sigtime_t
dynamicgraph::sot::ControlPD::velocityErrorSOUT
SignalTimeDependent< dynamicgraph::Vector, sigtime_t > velocityErrorSOUT
Definition: control-pd.hh:76
dynamicgraph::sot::ControlPD::TIME_STEP_DEFAULT
static const double TIME_STEP_DEFAULT
Definition: control-pd.hh:55
dynamicgraph::sot::ControlPD
Definition: control-pd.hh:46
display
dynamicgraph::Vector
Eigen::VectorXd Vector
ControlPD_EXPORT
#define ControlPD_EXPORT
Definition: control-pd.hh:36
linear-algebra.h
dynamicgraph::sot::ControlPD::velocity_error_
dynamicgraph::Vector velocity_error_
Definition: control-pd.hh:81
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, sigtime_t >
dynamicgraph::sot::ControlPD::desiredvelocitySIN
SignalPtr< dynamicgraph::Vector, sigtime_t > desiredvelocitySIN
Definition: control-pd.hh:73
t
Transform3f t
dynamicgraph::sot::ControlPD::CLASS_NAME
static const std::string CLASS_NAME
Definition: control-pd.hh:58
dynamicgraph::sot::ControlPD::KpSIN
SignalPtr< dynamicgraph::Vector, sigtime_t > KpSIN
Definition: control-pd.hh:68
compile.name
name
Definition: compile.py:23
dynamicgraph::sot::ControlPD::positionErrorSOUT
SignalTimeDependent< dynamicgraph::Vector, sigtime_t > positionErrorSOUT
Definition: control-pd.hh:75


sot-core
Author(s): Olivier Stasse, ostasse@laas.fr
autogenerated on Tue Oct 24 2023 02:26:31