cubic-interpolation-se3.hh
Go to the documentation of this file.
1 //
2 // Copyright (C) 2012 LAAS-CNRS
3 //
4 // Author: Florent Lamiraux
5 //
6 
7 #ifndef SOT_TOOLS_CUBIC_INTERPOLATION_SE3_HH
8 #define SOT_TOOLS_CUBIC_INTERPOLATION_SE3_HH
9 
10 #include <dynamic-graph/entity.h>
11 #include <dynamic-graph/signal-ptr.h>
12 #include <dynamic-graph/signal-time-dependent.h>
13 #include <sot/core/matrix-geometry.hh>
14 
15 namespace dynamicgraph {
16 namespace sot {
17 namespace tools {
18 class CubicInterpolationSE3 : public Entity {
19  DYNAMIC_GRAPH_ENTITY_DECL();
20 
21  public:
22  virtual ~CubicInterpolationSE3();
23  CubicInterpolationSE3(const std::string& name);
25  void start(const double& duration);
27  void reset();
29  virtual std::string getDocString() const;
31  void setSamplingPeriod(const double& period);
32 
33  protected:
34  virtual void doStart(const double& duration);
35  dynamicgraph::Signal<MatrixHomogeneous, int> soutSOUT_;
36  dynamicgraph::Signal<Vector, int> soutdotSOUT_;
37  dynamicgraph::SignalPtr<MatrixHomogeneous, int> initSIN_;
38  dynamicgraph::SignalPtr<MatrixHomogeneous, int> goalSIN_;
39 
40  MatrixHomogeneous& computeSout(MatrixHomogeneous& sout, const int& inTime);
41 
44  double duration_;
45  // 0: motion not started, 1: motion in progress, 2: motion finished
46  unsigned state_;
47 
48  Vector p0_;
49  Vector p1_;
50  Vector p2_;
51  Vector p3_;
52 
53  Vector position_;
54  Vector soutdot_;
55 }; // class CubicInterpolationSE3
56 } // namespace tools
57 } // namespace sot
58 } // namespace dynamicgraph
59 
60 #endif // SOT_TOOLS_CUBIC_INTERPOLATION_SE3_HH
dynamicgraph::sot::tools::CubicInterpolationSE3::start
void start(const double &duration)
Start tracking.
Definition: cubic-interpolation-se3.cc:117
dynamicgraph::sot::tools::CubicInterpolationSE3::state_
unsigned state_
Definition: cubic-interpolation-se3.hh:46
dynamicgraph::sot::tools::CubicInterpolationSE3::p0_
Vector p0_
Definition: cubic-interpolation-se3.hh:48
dynamicgraph::sot::tools::CubicInterpolationSE3::startTime_
int startTime_
Definition: cubic-interpolation-se3.hh:42
dynamicgraph::sot::tools::CubicInterpolationSE3::soutSOUT_
dynamicgraph::Signal< MatrixHomogeneous, int > soutSOUT_
Definition: cubic-interpolation-se3.hh:35
dynamicgraph
Definition: cubic-interpolation-se3.hh:15
dynamicgraph::sot::tools::CubicInterpolationSE3::doStart
virtual void doStart(const double &duration)
Definition: cubic-interpolation-se3.cc:119
dynamicgraph::sot::tools::CubicInterpolationSE3::~CubicInterpolationSE3
virtual ~CubicInterpolationSE3()
Definition: cubic-interpolation-se3.cc:71
dynamicgraph::sot::tools::CubicInterpolationSE3::CubicInterpolationSE3
CubicInterpolationSE3(const std::string &name)
Definition: cubic-interpolation-se3.cc:18
dynamicgraph::sot::tools::CubicInterpolationSE3::p3_
Vector p3_
Definition: cubic-interpolation-se3.hh:51
dynamicgraph::sot::tools::CubicInterpolationSE3::initSIN_
dynamicgraph::SignalPtr< MatrixHomogeneous, int > initSIN_
Definition: cubic-interpolation-se3.hh:37
dynamicgraph::sot::tools::CubicInterpolationSE3::duration_
double duration_
Definition: cubic-interpolation-se3.hh:44
dynamicgraph::sot::tools::CubicInterpolationSE3::getDocString
virtual std::string getDocString() const
Documentation.
Definition: cubic-interpolation-se3.cc:73
dynamicgraph::sot::tools::CubicInterpolationSE3::samplingPeriod_
double samplingPeriod_
Definition: cubic-interpolation-se3.hh:43
dynamicgraph::sot::tools::CubicInterpolationSE3::setSamplingPeriod
void setSamplingPeriod(const double &period)
Set sampling period of control discretization.
Definition: cubic-interpolation-se3.cc:115
dynamicgraph::sot::tools::CubicInterpolationSE3::p2_
Vector p2_
Definition: cubic-interpolation-se3.hh:50
dynamicgraph::sot::tools::CubicInterpolationSE3
Definition: cubic-interpolation-se3.hh:18
dynamicgraph::sot::tools::CubicInterpolationSE3::soutdotSOUT_
dynamicgraph::Signal< Vector, int > soutdotSOUT_
Definition: cubic-interpolation-se3.hh:36
dynamicgraph::sot::tools::CubicInterpolationSE3::reset
void reset()
Reset state to 0 before starting a new motion.
Definition: cubic-interpolation-se3.cc:85
dynamicgraph::sot::tools::CubicInterpolationSE3::soutdot_
Vector soutdot_
Definition: cubic-interpolation-se3.hh:54
dynamicgraph::sot::tools::CubicInterpolationSE3::goalSIN_
dynamicgraph::SignalPtr< MatrixHomogeneous, int > goalSIN_
Definition: cubic-interpolation-se3.hh:38
dynamicgraph::sot::tools::CubicInterpolationSE3::position_
Vector position_
Definition: cubic-interpolation-se3.hh:53
dynamicgraph::sot::tools::CubicInterpolationSE3::computeSout
MatrixHomogeneous & computeSout(MatrixHomogeneous &sout, const int &inTime)
Definition: cubic-interpolation-se3.cc:87
dynamicgraph::sot::tools::CubicInterpolationSE3::p1_
Vector p1_
Definition: cubic-interpolation-se3.hh:49