feature-point6d-relative.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_POINT6DRELATIVE_HH__
11 #define __SOT_FEATURE_POINT6DRELATIVE_HH__
12 
13 /* --------------------------------------------------------------------- */
14 /* --- INCLUDE --------------------------------------------------------- */
15 /* --------------------------------------------------------------------- */
16 
17 /* SOT */
22 
23 /* --------------------------------------------------------------------- */
24 /* --- API ------------------------------------------------------------- */
25 /* --------------------------------------------------------------------- */
26 
27 #if defined(WIN32)
28 #if defined(feature_point6d_relative_EXPORTS)
29 #define SOTFEATUREPOINT6DRELATIVE_EXPORT __declspec(dllexport)
30 #else
31 #define SOTFEATUREPOINT6DRELATIVE_EXPORT __declspec(dllimport)
32 #endif
33 #else
34 #define SOTFEATUREPOINT6DRELATIVE_EXPORT
35 #endif
36 
37 /* --------------------------------------------------------------------- */
38 /* --- CLASS ----------------------------------------------------------- */
39 /* --------------------------------------------------------------------- */
40 
41 namespace dynamicgraph {
42 namespace sot {
43 namespace dg = dynamicgraph;
44 
52  : public FeaturePoint6d {
53 
54 public:
55  static const std::string CLASS_NAME;
56  virtual const std::string &getClassName(void) const { return CLASS_NAME; }
57 
58 protected:
59  dg::Matrix L;
60 
61  /* --- SIGNALS ------------------------------------------------------------ */
62 public:
63  dg::SignalPtr<MatrixHomogeneous, int> positionReferenceSIN;
64  dg::SignalPtr<dg::Matrix, int> articularJacobianReferenceSIN;
65 
73  dg::SignalPtr<MatrixHomogeneous, int> dotpositionSIN;
75  dg::SignalPtr<MatrixHomogeneous, int> dotpositionReferenceSIN;
79 
80 public:
81  FeaturePoint6dRelative(const std::string &name);
82  virtual ~FeaturePoint6dRelative(void) {}
83 
84  virtual dg::Vector &computeError(dg::Vector &res, int time);
85  virtual dg::Vector &computeErrorDot(dg::Vector &res, int time);
86  virtual dg::Matrix &computeJacobian(dg::Matrix &res, int time);
87 
88  virtual void display(std::ostream &os) const;
89 
90  void initCommands(void);
91  void initSdes(const std::string &featureDesiredName);
92 };
93 
94 } /* namespace sot */
95 } /* namespace dynamicgraph */
96 
97 #endif // #ifndef __SOT_FEATURE_POINT6DRELATIVE_HH__
98 
99 /*
100  * Local variables:
101  * c-basic-offset: 2
102  * End:
103  */
Class that defines point-6d control feature.
Definition: feature-point6d.hh:50
dg::SignalPtr< MatrixHomogeneous, int > positionReferenceSIN
Definition: feature-point6d-relative.hh:63
dg::SignalPtr< MatrixHomogeneous, int > dotpositionSIN
Definition: feature-point6d-relative.hh:73
virtual ~FeaturePoint6dRelative(void)
Definition: feature-point6d-relative.hh:82
#define SOTFEATUREPOINT6DRELATIVE_EXPORT
Definition: feature-point6d-relative.hh:34
dg::SignalPtr< MatrixHomogeneous, int > dotpositionReferenceSIN
Definition: feature-point6d-relative.hh:75
dg::Matrix L
Definition: feature-point6d-relative.hh:59
dg::SignalPtr< dg::Matrix, int > articularJacobianReferenceSIN
Definition: feature-point6d-relative.hh:64
static const std::string CLASS_NAME
Definition: feature-point6d-relative.hh:55
FeaturePoint6d * getReference(void)
Definition: feature-abstract.hh:236
Class that defines the motion of a point of the body wrt. another point.
Definition: feature-point6d-relative.hh:51
Definition: abstract-sot-external-interface.hh:17
virtual const std::string & getClassName(void) const
Returns the name class.
Definition: feature-point6d-relative.hh:56