Loading...
Searching...
No Matches
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
16namespace dynamicgraph {
17namespace sot {
18namespace tools {
19class 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
Definition cubic-interpolation-se3.hh:19
Vector p3_
Definition cubic-interpolation-se3.hh:52
Vector p1_
Definition cubic-interpolation-se3.hh:50
Vector position_
Definition cubic-interpolation-se3.hh:54
Vector soutdot_
Definition cubic-interpolation-se3.hh:55
double samplingPeriod_
Definition cubic-interpolation-se3.hh:44
virtual void doStart(const double &duration)
Definition cubic-interpolation-se3.cc:130
dynamicgraph::SignalPtr< MatrixHomogeneous, int > goalSIN_
Definition cubic-interpolation-se3.hh:39
virtual ~CubicInterpolationSE3()
Definition cubic-interpolation-se3.cc:79
dynamicgraph::Signal< Vector, int > soutdotSOUT_
Definition cubic-interpolation-se3.hh:37
double duration_
Definition cubic-interpolation-se3.hh:45
MatrixHomogeneous & computeSout(MatrixHomogeneous &sout, const int &inTime)
Definition cubic-interpolation-se3.cc:95
Vector p0_
Definition cubic-interpolation-se3.hh:49
Vector p2_
Definition cubic-interpolation-se3.hh:51
dynamicgraph::Signal< MatrixHomogeneous, int > soutSOUT_
Definition cubic-interpolation-se3.hh:36
void reset()
Reset state to 0 before starting a new motion.
Definition cubic-interpolation-se3.cc:93
void start(const double &duration)
Start tracking.
Definition cubic-interpolation-se3.cc:128
void setSamplingPeriod(const double &period)
Set sampling period of control discretization.
Definition cubic-interpolation-se3.cc:124
unsigned state_
Definition cubic-interpolation-se3.hh:47
virtual std::string getDocString() const
Documentation.
Definition cubic-interpolation-se3.cc:81
int startTime_
Definition cubic-interpolation-se3.hh:43
dynamicgraph::SignalPtr< MatrixHomogeneous, int > initSIN_
Definition cubic-interpolation-se3.hh:38
Definition cubic-interpolation-se3.hh:16