feature-joint-limits.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 
13 /* --------------------------------------------------------------------- */
14 /* --- INCLUDE --------------------------------------------------------- */
15 /* --------------------------------------------------------------------- */
16 
17 /* SOT */
20 
21 /* --------------------------------------------------------------------- */
22 /* --- API ------------------------------------------------------------- */
23 /* --------------------------------------------------------------------- */
24 
25 #if defined(WIN32)
26 #if defined(feature_joint_limits_EXPORTS)
27 #define SOTFEATUREJOINTLIMITS_EXPORT __declspec(dllexport)
28 #else
29 #define SOTFEATUREJOINTLIMITS_EXPORT __declspec(dllimport)
30 #endif
31 #else
32 #define SOTFEATUREJOINTLIMITS_EXPORT
33 #endif
34 
35 /* --------------------------------------------------------------------- */
36 /* --- CLASS ----------------------------------------------------------- */
37 /* --------------------------------------------------------------------- */
38 
39 namespace dynamicgraph {
40 namespace sot {
41 
47  : public FeatureAbstract,
48  FeatureReferenceHelper<FeatureJointLimits> {
49  public:
50  static const std::string CLASS_NAME;
51  virtual const std::string &getClassName(void) const { return CLASS_NAME; }
52 
53  protected:
54  double threshold;
55  const static double THRESHOLD_DEFAULT; // = .9;
56 
57  /* std::size_t freeFloatingIndex,freeFloatingSize; */
58  /* static const std::size_t FREE_FLOATING_INDEX = 0; */
59  /* static const std::size_t FREE_FLOATING_SIZE = 5; */
60 
61  /* --- SIGNALS ------------------------------------------------------------ */
62  public:
68 
70 
73 
80  public:
81  FeatureJointLimits(const std::string &name);
82  virtual ~FeatureJointLimits(void) {}
83 
84  virtual size_type &getDimension(size_type &dim, sigtime_t time);
85 
86  virtual dynamicgraph::Vector &computeError(dynamicgraph::Vector &res,
87  sigtime_t time);
88  virtual dynamicgraph::Matrix &computeJacobian(dynamicgraph::Matrix &res,
89  sigtime_t time);
90  dynamicgraph::Vector &computeWidthJl(dynamicgraph::Vector &res,
91  const sigtime_t &time);
92 
94  inline static Flags selectActuated(void);
95 
96  virtual void display(std::ostream &os) const;
97 };
98 
99 } /* namespace sot */
100 } /* namespace dynamicgraph */
101 
102 #endif // #ifndef __SOT_FEATURE_JOINTLIMITS_HH__
103 
104 /*
105  * Local variables:
106  * c-basic-offset: 2
107  * End:
108  */
dynamicgraph::sot::FeatureJointLimits::getClassName
virtual const std::string & getClassName(void) const
Returns the name class.
Definition: feature-joint-limits.hh:51
dynamicgraph::sot::FeatureJointLimits::~FeatureJointLimits
virtual ~FeatureJointLimits(void)
Definition: feature-joint-limits.hh:82
dynamicgraph::sot::FeatureJointLimits::lowerJlSIN
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > lowerJlSIN
Definition: feature-joint-limits.hh:65
dynamicgraph::sot::FeatureAbstract::errorSOUT
SignalTimeDependent< dynamicgraph::Vector, sigtime_t > errorSOUT
This signal returns the error between the desired value and the current value : .
Definition: feature-abstract.hh:185
dynamicgraph::sot::FeatureReferenceHelper
Definition: feature-abstract.hh:229
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t >
dynamicgraph
DECLARE_REFERENCE_FUNCTIONS
#define DECLARE_REFERENCE_FUNCTIONS(FeatureSpecialized)
Definition: feature-abstract.hh:251
dynamicgraph::sot::FeatureAbstract::selectionSIN
SignalPtr< Flags, sigtime_t > selectionSIN
This vector specifies which dimension are used to perform the computation. For instance let us assume...
Definition: feature-abstract.hh:173
dynamicgraph::Matrix
Eigen::MatrixXd Matrix
dynamicgraph::sot::FeatureAbstract::jacobianSOUT
SignalTimeDependent< dynamicgraph::Matrix, sigtime_t > jacobianSOUT
Jacobian of the error wrt the robot state: .
Definition: feature-abstract.hh:193
feature-abstract.hh
dynamicgraph::sot::FeatureAbstract
This class gives the abstract definition of a feature.
Definition: feature-abstract.hh:76
dynamicgraph::sot::FeatureJointLimits
Class that defines gradient vector for jl avoidance.
Definition: feature-joint-limits.hh:46
dynamicgraph::sigtime_t
int64_t sigtime_t
dynamicgraph::sot::FeatureJointLimits::upperJlSIN
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > upperJlSIN
Definition: feature-joint-limits.hh:64
dynamicgraph::size_type
Matrix::Index size_type
display
dynamicgraph::Vector
Eigen::VectorXd Vector
dynamicgraph::sot::FeatureJointLimits::THRESHOLD_DEFAULT
const static double THRESHOLD_DEFAULT
Definition: feature-joint-limits.hh:55
SOTFEATUREJOINTLIMITS_EXPORT
#define SOTFEATUREJOINTLIMITS_EXPORT
Definition: feature-joint-limits.hh:32
exception-task.hh
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, sigtime_t >
dynamicgraph::sot::FeatureJointLimits::jointSIN
dynamicgraph::SignalPtr< dynamicgraph::Vector, sigtime_t > jointSIN
Definition: feature-joint-limits.hh:63
dynamicgraph::sot::FeatureJointLimits::threshold
double threshold
Definition: feature-joint-limits.hh:54
dynamicgraph::sot::FeatureJointLimits::widthJlSINTERN
dynamicgraph::SignalTimeDependent< dynamicgraph::Vector, sigtime_t > widthJlSINTERN
Definition: feature-joint-limits.hh:67
dynamicgraph::sot::Flags
Definition: flags.hh:33
dynamicgraph::sot::FeatureJointLimits::CLASS_NAME
static const std::string CLASS_NAME
Definition: feature-joint-limits.hh:50
compile.name
name
Definition: compile.py:23


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