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 
14 #include <sot/core/matrix-geometry.hh>
15 
16 namespace dynamicgraph {
17 namespace sot {
18 namespace tools {
19 class CubicInterpolationSE3 : public Entity {
20  DYNAMIC_GRAPH_ENTITY_DECL();
21 
22  public:
23  virtual ~CubicInterpolationSE3();
24  CubicInterpolationSE3(const std::string& name);
26  void start(const double& duration);
28  void reset();
30  virtual std::string getDocString() const;
32  void setSamplingPeriod(const double& period);
33 
34  protected:
35  virtual void doStart(const double& duration);
36  dynamicgraph::Signal<MatrixHomogeneous, int> soutSOUT_;
37  dynamicgraph::Signal<Vector, int> soutdotSOUT_;
38  dynamicgraph::SignalPtr<MatrixHomogeneous, int> initSIN_;
39  dynamicgraph::SignalPtr<MatrixHomogeneous, int> goalSIN_;
40 
41  MatrixHomogeneous& computeSout(MatrixHomogeneous& sout, const int& inTime);
42 
45  double duration_;
46  // 0: motion not started, 1: motion in progress, 2: motion finished
47  unsigned state_;
48 
49  Vector p0_;
50  Vector p1_;
51  Vector p2_;
52  Vector p3_;
53 
54  Vector position_;
55  Vector soutdot_;
56 }; // class CubicInterpolationSE3
57 } // namespace tools
58 } // namespace sot
59 } // namespace dynamicgraph
60 
61 #endif // SOT_TOOLS_CUBIC_INTERPOLATION_SE3_HH
dynamicgraph::sot::tools::CubicInterpolationSE3::start
void start(const double &duration)
Start tracking.
Definition: cubic-interpolation-se3.cc:128
dynamicgraph::sot::tools::CubicInterpolationSE3::state_
unsigned state_
Definition: cubic-interpolation-se3.hh:47
dynamicgraph::sot::tools::CubicInterpolationSE3::p0_
Vector p0_
Definition: cubic-interpolation-se3.hh:49
dynamicgraph::sot::tools::CubicInterpolationSE3::startTime_
int startTime_
Definition: cubic-interpolation-se3.hh:43
dynamicgraph::sot::tools::CubicInterpolationSE3::soutSOUT_
dynamicgraph::Signal< MatrixHomogeneous, int > soutSOUT_
Definition: cubic-interpolation-se3.hh:36
dynamicgraph
Definition: cubic-interpolation-se3.hh:16
dynamicgraph::sot::tools::CubicInterpolationSE3::doStart
virtual void doStart(const double &duration)
Definition: cubic-interpolation-se3.cc:130
dynamicgraph::sot::tools::CubicInterpolationSE3::~CubicInterpolationSE3
virtual ~CubicInterpolationSE3()
Definition: cubic-interpolation-se3.cc:79
dynamicgraph::sot::tools::CubicInterpolationSE3::CubicInterpolationSE3
CubicInterpolationSE3(const std::string &name)
Definition: cubic-interpolation-se3.cc:19
dynamicgraph::sot::tools::CubicInterpolationSE3::p3_
Vector p3_
Definition: cubic-interpolation-se3.hh:52
dynamicgraph::sot::tools::CubicInterpolationSE3::initSIN_
dynamicgraph::SignalPtr< MatrixHomogeneous, int > initSIN_
Definition: cubic-interpolation-se3.hh:38
dynamicgraph::sot::tools::CubicInterpolationSE3::duration_
double duration_
Definition: cubic-interpolation-se3.hh:45
dynamicgraph::sot::tools::CubicInterpolationSE3::getDocString
virtual std::string getDocString() const
Documentation.
Definition: cubic-interpolation-se3.cc:81
dynamicgraph::sot::tools::CubicInterpolationSE3::samplingPeriod_
double samplingPeriod_
Definition: cubic-interpolation-se3.hh:44
dynamicgraph::sot::tools::CubicInterpolationSE3::setSamplingPeriod
void setSamplingPeriod(const double &period)
Set sampling period of control discretization.
Definition: cubic-interpolation-se3.cc:124
dynamicgraph::sot::tools::CubicInterpolationSE3::p2_
Vector p2_
Definition: cubic-interpolation-se3.hh:51
dynamicgraph::sot::tools::CubicInterpolationSE3
Definition: cubic-interpolation-se3.hh:19
dynamicgraph::sot::tools::CubicInterpolationSE3::soutdotSOUT_
dynamicgraph::Signal< Vector, int > soutdotSOUT_
Definition: cubic-interpolation-se3.hh:37
dynamicgraph::sot::tools::CubicInterpolationSE3::reset
void reset()
Reset state to 0 before starting a new motion.
Definition: cubic-interpolation-se3.cc:93
dynamicgraph::sot::tools::CubicInterpolationSE3::soutdot_
Vector soutdot_
Definition: cubic-interpolation-se3.hh:55
dynamicgraph::sot::tools::CubicInterpolationSE3::goalSIN_
dynamicgraph::SignalPtr< MatrixHomogeneous, int > goalSIN_
Definition: cubic-interpolation-se3.hh:39
dynamicgraph::sot::tools::CubicInterpolationSE3::position_
Vector position_
Definition: cubic-interpolation-se3.hh:54
dynamicgraph::sot::tools::CubicInterpolationSE3::computeSout
MatrixHomogeneous & computeSout(MatrixHomogeneous &sout, const int &inTime)
Definition: cubic-interpolation-se3.cc:95
dynamicgraph::sot::tools::CubicInterpolationSE3::p1_
Vector p1_
Definition: cubic-interpolation-se3.hh:50