GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: include/sot/core/control-gr.hh Lines: 0 1 0.0 %
Date: 2023-03-13 12:09:37 Branches: 0 0 - %

Line Branch Exec Source
1
/*
2
 * Copyright 2010,
3
 * François Bleibel,
4
 * Olivier Stasse,
5
 *
6
 * CNRS/AIST
7
 *
8
 */
9
10
#ifndef __SOT_Control_GR_HH__
11
#define __SOT_Control_GR_HH__
12
13
/* --------------------------------------------------------------------- */
14
/* --- INCLUDE --------------------------------------------------------- */
15
/* --------------------------------------------------------------------- */
16
17
/* Matrix */
18
#include <dynamic-graph/linear-algebra.h>
19
20
/* SOT */
21
#include <dynamic-graph/entity.h>
22
#include <dynamic-graph/signal-ptr.h>
23
#include <dynamic-graph/signal-time-dependent.h>
24
25
/* --------------------------------------------------------------------- */
26
/* --- API ------------------------------------------------------------- */
27
/* --------------------------------------------------------------------- */
28
29
#if defined(WIN32)
30
#if defined(control_gr_EXPORTS)
31
#define ControlGR_EXPORT __declspec(dllexport)
32
#else
33
#define ControlGR_EXPORT __declspec(dllimport)
34
#endif
35
#else
36
#define ControlGR_EXPORT
37
#endif
38
39
namespace dynamicgraph {
40
namespace sot {
41
42
/* --------------------------------------------------------------------- */
43
/* --- CLASS ----------------------------------------------------------- */
44
/* --------------------------------------------------------------------- */
45
46
class ControlGR_EXPORT ControlGR : public Entity {
47
 public: /* --- CONSTRUCTOR ---- */
48
  ControlGR(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 = - A*qddot = g */
65
  double TimeStep;
66
  double _dimension;
67
68
 public: /* --- SIGNALS --- */
69
  SignalPtr<dynamicgraph::Matrix, int> matrixASIN;
70
  SignalPtr<dynamicgraph::Vector, int> accelerationSIN;
71
  SignalPtr<dynamicgraph::Vector, int> gravitySIN;
72
  SignalTimeDependent<dynamicgraph::Vector, int> controlSOUT;
73
74
 protected:
75
  double &setsize(int dimension);
76
  dynamicgraph::Vector &computeControl(dynamicgraph::Vector &tau, int t);
77
};
78
79
}  // namespace sot
80
}  // namespace dynamicgraph
81
82
#endif  // #ifndef __SOT_Control_GR_HH__