19#ifndef _CLASS_EFFECTORSPLINE
20#define _CLASS_EFFECTORSPLINE
28typedef Eigen::Matrix<Numeric, Eigen::Dynamic, 1>
Point;
29typedef std::vector<Point, Eigen::aligned_allocator<Point> >
T_Point;
43 throw std::runtime_error(
"Norm of normal is less than 0!");
56 throw std::runtime_error(
"Norm of normal is less than 0!");
class allowing to create an Exact cubic spline.
exact_cubic< Time, Numeric, true, Point, T_Point > exact_cubic_t
Definition effector_spline.h:32
Eigen::Matrix< Numeric, Eigen::Dynamic, 1 > Point
Definition effector_spline.h:28
exact_cubic_t * effector_spline(In wayPointsBegin, In wayPointsEnd, const Point &lift_normal=Eigen::Vector3d::UnitZ(), const Point &land_normal=Eigen::Vector3d::UnitZ(), const Numeric lift_offset=0.02, const Numeric land_offset=0.02, const Time lift_offset_duration=0.02, const Time land_offset_duration=0.02)
Helper method to create a spline typically used to guide the 3d trajectory of a robot end effector....
Definition effector_spline.h:97
exact_cubic_t::t_spline_t t_spline_t
Definition effector_spline.h:34
std::vector< Waypoint > T_Waypoint
Definition effector_spline.h:31
exact_cubic_t::spline_t spline_t
Definition effector_spline.h:35
spline_t make_end_spline(const Point &normal, const Point &from, const Numeric offset, const Time init_time, const Time time_offset)
Compute spline from land way point to end point. Constraints are null velocity and acceleration.
Definition effector_spline.h:51
double Numeric
Definition effector_spline.h:26
std::pair< double, Point > Waypoint
Definition effector_spline.h:30
double Time
Definition effector_spline.h:27
std::vector< Point, Eigen::aligned_allocator< Point > > T_Point
Definition effector_spline.h:29
Waypoint compute_offset(const Waypoint &source, const Point &normal, const Numeric offset, const Time time_offset)
Compute time such that the equation from source to offsetpoint is necessarily a line.
Definition effector_spline.h:39
exact_cubic_t::spline_constraints spline_constraints_t
Definition effector_spline.h:33
spline_constraints_t compute_required_offset_velocity_acceleration(const spline_t &end_spline, const Time)
Compute end velocity : along landing normal and respecting time.
Definition effector_spline.h:72
Definition bernstein.h:20
bool isApprox(const T a, const T b, const T eps=1e-6)
Definition curve_abc.h:25
Definition curve_constraint.h:20
Definition exact_cubic.h:41
SplineBase spline_t
Definition exact_cubic.h:49
std::vector< spline_t > t_spline_t
Definition exact_cubic.h:50