angle-estimator.h
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_ANGLE_ESTIMATOR_H__
11 #define __SOT_ANGLE_ESTIMATOR_H__
12 /* --------------------------------------------------------------------- */
13 /* --- API ------------------------------------------------------------- */
14 /* --------------------------------------------------------------------- */
15 
16 #if defined(WIN32)
17 #if defined(angle_estimator_EXPORTS)
18 #define SOTANGLEESTIMATOR_EXPORT __declspec(dllexport)
19 #else
20 #define SOTANGLEESTIMATOR_EXPORT __declspec(dllimport)
21 #endif
22 #else
23 #define SOTANGLEESTIMATOR_EXPORT
24 #endif
25 
26 /* --------------------------------------------------------------------- */
27 /* --- INCLUDE --------------------------------------------------------- */
28 /* --------------------------------------------------------------------- */
29 
30 /* Matrix */
32 
33 /* SOT */
34 #include <dynamic-graph/entity.h>
37 
39 
40 /* STD */
41 #include <string>
42 
43 namespace dynamicgraph {
44 namespace sot {
45 namespace dg = dynamicgraph;
46 
47 /* --------------------------------------------------------------------- */
48 /* --- CLASS ----------------------------------------------------------- */
49 /* --------------------------------------------------------------------- */
50 
52  public:
53  static const std::string CLASS_NAME;
54  virtual const std::string& getClassName(void) const { return CLASS_NAME; }
55 
56  public: /* --- CONSTRUCTION --- */
57  AngleEstimator(const std::string& name);
58  virtual ~AngleEstimator(void);
59 
60  public: /* --- SIGNAL --- */
62  sensorWorldRotationSIN; // estimate(worldRc)
64  sensorEmbeddedPositionSIN; // waistRchest
66  contactWorldPositionSIN; // estimate(worldRf)
70  anglesSOUT; // [ flex1 flex2 yaw_drift ]
73  driftSOUT; // Ryaw = worldRc est(wRc)^-1
77  waistWorldRotationSOUT; // worldRwaist
79  waistWorldPositionSOUT; // worldMwaist
81  waistWorldPoseRPYSOUT; // worldMwaist
82 
87 
88  public: /* --- FUNCTIONS --- */
89  dynamicgraph::Vector& computeAngles(dynamicgraph::Vector& res,
90  const int& time);
91  MatrixRotation& computeFlexibilityFromAngles(MatrixRotation& res,
92  const int& time);
93  MatrixRotation& computeDriftFromAngles(MatrixRotation& res, const int& time);
94  MatrixRotation& computeSensorWorldRotation(MatrixRotation& res,
95  const int& time);
96  MatrixRotation& computeWaistWorldRotation(MatrixRotation& res,
97  const int& time);
98  MatrixHomogeneous& computeWaistWorldPosition(MatrixHomogeneous& res,
99  const int& time);
100  dynamicgraph::Vector& computeWaistWorldPoseRPY(dynamicgraph::Vector& res,
101  const int& time);
102  dynamicgraph::Vector& compute_xff_dotSOUT(dynamicgraph::Vector& res,
103  const int& time);
104  dynamicgraph::Vector& compute_qdotSOUT(dynamicgraph::Vector& res,
105  const int& time);
106 
107  public: /* --- PARAMS --- */
108  void fromSensor(const bool& fs) { fromSensor_ = fs; }
109  bool fromSensor() const { return fromSensor_; }
110 
111  private:
113 };
114 
115 } /* namespace sot */
116 } /* namespace dynamicgraph */
117 
118 #endif // #ifndef __SOT_ANGLE_ESTIMATOR_H__
dg::SignalTimeDependent< MatrixRotation, int > flexibilitySOUT
Eigen::Transform< double, 3, Eigen::Affine > SOT_CORE_EXPORT MatrixHomogeneous
Eigen::VectorXd Vector
dg::SignalTimeDependent< dynamicgraph::Vector, int > qdotSOUT
dg::SignalPtr< MatrixRotation, int > sensorWorldRotationSIN
dg::SignalTimeDependent< dynamicgraph::Vector, int > anglesSOUT
dg::SignalTimeDependent< MatrixHomogeneous, int > waistWorldPositionSOUT
virtual const std::string & getClassName(void) const
dg::SignalPtr< dynamicgraph::Vector, int > qdotSIN
dg::SignalTimeDependent< MatrixRotation, int > driftSOUT
static const std::string CLASS_NAME
dg::SignalTimeDependent< MatrixRotation, int > sensorWorldRotationSOUT
dg::SignalPtr< MatrixHomogeneous, int > contactWorldPositionSIN
#define SOTANGLEESTIMATOR_EXPORT
dg::SignalTimeDependent< dynamicgraph::Vector, int > waistWorldPoseRPYSOUT
dg::SignalTimeDependent< MatrixRotation, int > waistWorldRotationSOUT
dg::SignalPtr< MatrixHomogeneous, int > contactEmbeddedPositionSIN
dg::SignalPtr< dynamicgraph::Matrix, int > jacobianSIN
Eigen::Matrix< double, 3, 3 > SOT_CORE_EXPORT MatrixRotation
dg::SignalTimeDependent< dynamicgraph::Vector, int > xff_dotSOUT
dg::SignalPtr< MatrixHomogeneous, int > sensorEmbeddedPositionSIN


sot-dynamic-pinocchio
Author(s): Olivier Stasse
autogenerated on Tue Jun 20 2023 02:26:06