Classes | |
class | effector_spline_rotation |
Represents a trajectory for and end effector. uses the method effector_spline to create a spline trajectory. Additionally, handles the rotation of the effector as follows: does not rotate during the take off and landing phase, then uses a SLERP algorithm to interpolate the rotation in the quaternion space. More... | |
class | rotation_spline |
Functions | |
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. More... | |
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. More... | |
spline_constraints_t | compute_required_offset_velocity_acceleration (const spline_t &end_spline, const Time) |
Compute end velocity : along landing normal and respecting time. More... | |
template<typename In > | |
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. Given a set of waypoints, and the normal vector of the start and ending positions, automatically create the spline such that: More... | |
Variables | |
const typedef Eigen::Ref< const quat_t > | quat_ref_const_t |
typedef Eigen::Matrix<Numeric, 7, 1> ndcurves::helpers::config_t |
typedef curve_abc<Time, Numeric, false, quat_t> ndcurves::helpers::curve_abc_quat_t |
typedef exact_cubic<Numeric, Numeric, false, point_one_dim_t> ndcurves::helpers::exact_cubic_constraint_one_dim |
typedef exact_cubic<Time, Numeric, false, quat_t, std::vector<quat_t, Eigen::aligned_allocator<quat_t> >, rotation_spline> ndcurves::helpers::exact_cubic_quat_t |
typedef exact_cubic<Time, Numeric, true, Point, T_Point> ndcurves::helpers::exact_cubic_t |
typedef double ndcurves::helpers::Numeric |
typedef Eigen::Matrix<Numeric, Eigen::Dynamic, 1> ndcurves::helpers::Point |
typedef Eigen::Matrix<Numeric, 1, 1> ndcurves::helpers::point_one_dim_t |
typedef Eigen::Ref<quat_t> ndcurves::helpers::quat_ref_t |
typedef Eigen::Matrix<Numeric, 4, 1> ndcurves::helpers::quat_t |
typedef std::vector<Point, Eigen::aligned_allocator<Point> > ndcurves::helpers::T_Point |
typedef std::vector<Waypoint> ndcurves::helpers::T_Waypoint |
typedef std::vector<waypoint_one_dim_t> ndcurves::helpers::t_waypoint_one_dim_t |
typedef std::vector<waypoint_quat_t> ndcurves::helpers::t_waypoint_quat_t |
typedef double ndcurves::helpers::Time |
typedef std::pair<double, Point> ndcurves::helpers::Waypoint |
typedef std::pair<Numeric, point_one_dim_t> ndcurves::helpers::waypoint_one_dim_t |
typedef std::pair<Numeric, quat_t> ndcurves::helpers::waypoint_quat_t |
Waypoint ndcurves::helpers::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.
spline_constraints_t ndcurves::helpers::compute_required_offset_velocity_acceleration | ( | const spline_t & | end_spline, |
const | Time | ||
) |
Compute end velocity : along landing normal and respecting time.
exact_cubic_t* ndcurves::helpers::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. Given a set of waypoints, and the normal vector of the start and ending positions, automatically create the spline such that:
wayPointsBegin | : an iterator pointing to the first element of a waypoint container. |
wayPointsEnd | : an iterator pointing to the last element of a waypoint container. |
lift_normal | : normal to be followed by end effector at take-off. |
land_normal | : normal to be followed by end effector at landing. |
lift_offset | : length of the straight line along normal at take-off. |
land_offset | : length of the straight line along normal at landing. |
lift_offset_duration | : time travelled along straight line at take-off. |
land_offset_duration | : time travelled along straight line at landing. |
spline_t ndcurves::helpers::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.
const typedef Eigen::Ref<const quat_t> ndcurves::helpers::quat_ref_const_t |