9 #ifndef _parameteric_curves_sinusoid_hpp
10 #define _parameteric_curves_sinusoid_hpp
20 template <
typename Numeric = double, Eigen::Index Dim = 1,
21 typename Point = Eigen::Matrix<Numeric, Dim, 1> >
34 const point_t& x_init_ = Eigen::Matrix<Numeric, Dim, 1>::Zero(),
35 const point_t& x_final_ = Eigen::Matrix<Numeric, Dim, 1>::Zero())
50 const std::size_t& order)
const {
52 return (
x_final -
x_init) * 0.5 * two_pi_f(1) * sin(two_pi_f(t));
57 std::cerr <<
"Higher order derivatives not supported" << std::endl;
58 return point_t::Zero(Dim);
64 if (x_init_.size() !=
x_init.size())
return false;
69 if (Dim != 1)
return false;
75 if (
x_final.size() != x_final_.size())
return false;
81 if (Dim != 1)
return false;
86 if (traj_time_ <= 0.0)
return false;
98 inline const num_t two_pi_f(
const time_t& t)
const {
Definition: abstract-curve.hpp:16
Eigen::Matrix< Numeric, 3, 1 > Point
Definition: effector_spline.h:28
double Numeric
Definition: effector_spline.h:26
Represents a curve of dimension Dim is Safe is false, no verification is made on the evaluation of th...
Definition: abstract-curve.hpp:21
Creates InfiniteSinusoid curve The sinusoid is actually a cosine so that it starts with zero velocity...
Definition: infinite-sinusoid.hpp:22
virtual const point_t operator()(const time_t &t) const
Definition: infinite-sinusoid.hpp:45
virtual bool setFinalPoint(const double &x_final_)
Definition: infinite-sinusoid.hpp:80
point_t x_init
Definition: infinite-sinusoid.hpp:93
virtual bool setInitialPoint(const point_t &x_init_)
Definition: infinite-sinusoid.hpp:63
virtual bool setFinalPoint(const Eigen::VectorXd &x_final_)
Definition: infinite-sinusoid.hpp:74
virtual bool setTrajectoryTime(double traj_time_)
Definition: infinite-sinusoid.hpp:85
Numeric time_t
Definition: infinite-sinusoid.hpp:24
InfiniteSinusoid(const time_t &traj_time_, const point_t &x_init_=Eigen::Matrix< Numeric, Dim, 1 >::Zero(), const point_t &x_final_=Eigen::Matrix< Numeric, Dim, 1 >::Zero())
Constructor.
Definition: infinite-sinusoid.hpp:32
AbstractCurve< Numeric, Point > curve_abc_t
Definition: infinite-sinusoid.hpp:27
Point point_t
Definition: infinite-sinusoid.hpp:23
virtual bool setInitialPoint(const double &x_init_)
Definition: infinite-sinusoid.hpp:68
Numeric num_t
Definition: infinite-sinusoid.hpp:25
virtual const point_t derivate(const time_t &t, const std::size_t &order) const
Definition: infinite-sinusoid.hpp:49
time_t traj_time
Definition: infinite-sinusoid.hpp:95
point_t x_final
Definition: infinite-sinusoid.hpp:94
~InfiniteSinusoid()
Destructor.
Definition: infinite-sinusoid.hpp:42