|
ndcurves 2.3.0
create and manipulate spline and bezier curves.
|
Classes | |
| class | rotation_spline |
| 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... | |
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. | |
| 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. | |
| spline_constraints_t | compute_required_offset_velocity_acceleration (const spline_t &end_spline, const Time) |
| Compute end velocity : along landing normal and respecting time. | |
| 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: | |
| 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 const Eigen::Ref<const quat_t> ndcurves::helpers::quat_ref_const_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. |