joint-limitator.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_FEATURE_JOINTLIMITS_HH
11 #define SOT_FEATURE_JOINTLIMITS_HH
12 // Matrix
13 #include <dynamic-graph/linear-algebra.h>
14 namespace dg = dynamicgraph;
15 
16 // SOT
17 #include <dynamic-graph/all-signals.h>
18 #include <dynamic-graph/entity.h>
20 
21 #if defined(WIN32)
22 #if defined(joint_limitator_EXPORTS)
23 #define SOTJOINTLIMITATOR_EXPORT __declspec(dllexport)
24 #else
25 #define SOTJOINTLIMITATOR_EXPORT __declspec(dllimport)
26 #endif
27 #else
28 #define SOTJOINTLIMITATOR_EXPORT
29 #endif
30 
31 namespace dynamicgraph {
32 namespace sot {
33 namespace dg = dynamicgraph;
34 
39 class SOTJOINTLIMITATOR_EXPORT JointLimitator : public dg::Entity {
40  DYNAMIC_GRAPH_ENTITY_DECL();
41 
42 public:
43  JointLimitator(const std::string &name);
44  virtual ~JointLimitator() {}
45 
46  virtual dg::Vector &computeControl(dg::Vector &res, int time);
47  dg::Vector &computeWidthJl(dg::Vector &res, const int &time);
48 
49  virtual void display(std::ostream &os) const;
50 
53  dg::SignalPtr<dg::Vector, int> jointSIN;
54  dg::SignalPtr<dg::Vector, int> upperJlSIN;
55  dg::SignalPtr<dg::Vector, int> lowerJlSIN;
56  dg::SignalPtr<dg::Vector, int> controlSIN;
57  dg::SignalTimeDependent<dg::Vector, int> controlSOUT;
58  dg::SignalTimeDependent<dg::Vector, int> widthJlSINTERN;
60 };
61 } // end of namespace sot.
62 } // namespace dynamicgraph
63 
64 #endif
dynamicgraph::sot::JointLimitator
Filter control vector to avoid exceeding joint maximum values.
Definition: joint-limitator.hh:39
dynamicgraph::sot::JointLimitator::lowerJlSIN
dg::SignalPtr< dg::Vector, int > lowerJlSIN
Definition: joint-limitator.hh:55
dynamicgraph
Definition: abstract-sot-external-interface.hh:17
dynamicgraph::sot::JointLimitator::jointSIN
dg::SignalPtr< dg::Vector, int > jointSIN
Definition: joint-limitator.hh:53
dynamicgraph::sot::JointLimitator::~JointLimitator
virtual ~JointLimitator()
Definition: joint-limitator.hh:44
dynamicgraph::sot::JointLimitator::widthJlSINTERN
dg::SignalTimeDependent< dg::Vector, int > widthJlSINTERN
Definition: joint-limitator.hh:58
dynamicgraph::sot::JointLimitator::controlSIN
dg::SignalPtr< dg::Vector, int > controlSIN
Definition: joint-limitator.hh:56
SOTJOINTLIMITATOR_EXPORT
#define SOTJOINTLIMITATOR_EXPORT
Definition: joint-limitator.hh:28
exception-task.hh
dynamicgraph::sot::JointLimitator::controlSOUT
dg::SignalTimeDependent< dg::Vector, int > controlSOUT
Definition: joint-limitator.hh:57
dynamicgraph::sot::JointLimitator::upperJlSIN
dg::SignalPtr< dg::Vector, int > upperJlSIN
Definition: joint-limitator.hh:54