This class sets the timestamps of a trajectory to enforce velocity, acceleration constraints. Initial/final velocities and accelerations may be specified in the trajectory. Velocity and acceleration limits are specified in the model. More...
#include <iterative_spline_parameterization.h>
Public Member Functions  
bool  computeTimeStamps (robot_trajectory::RobotTrajectory &trajectory, const double max_velocity_scaling_factor=1.0, const double max_acceleration_scaling_factor=1.0) const 
IterativeSplineParameterization (bool add_points=true)  
~IterativeSplineParameterization ()  
Private Attributes  
bool  add_points_ 
This class sets the timestamps of a trajectory to enforce velocity, acceleration constraints. Initial/final velocities and accelerations may be specified in the trajectory. Velocity and acceleration limits are specified in the model.
This algorithm repeatedly fits a cubic spline, adjusts the timing intervals, and repeats until all constraints are satisfied. When finished, each trajectory waypoint will have the time set, as well as the velocities and accelerations for each joint. Since we fit to a cubic spline, the position, velocity, and acceleration will be continuous and within bounds. The jerk will be discontinuous.
To match the velocity and acceleration at the endpoints, the second and secondlast point locations need to move. By default, two extra points are added to leave the original trajectory unaffected. If points are not added, the trajectory could potentially be faster, but the 2nd and 2ndlast points should be rechecked for collisions.
Migration notes: If migrating from Iterative Parabolic Time Parameterization, be aware that the velocity and acceleration limits are more strictly enforced using this technique. This means that timeparameterizing the same trajectory with the same velocity and acceleration limits, will result in a longer trajectory. If this is a problem, try retuning (increasing) the limits.
Definition at line 74 of file iterative_spline_parameterization.h.
trajectory_processing::IterativeSplineParameterization::IterativeSplineParameterization  (  bool  add_points = true  ) 
Definition at line 77 of file iterative_spline_parameterization.cpp.
trajectory_processing::IterativeSplineParameterization::~IterativeSplineParameterization  (  ) 
Definition at line 81 of file iterative_spline_parameterization.cpp.
bool trajectory_processing::IterativeSplineParameterization::computeTimeStamps  (  robot_trajectory::RobotTrajectory &  trajectory, 
const double  max_velocity_scaling_factor = 1.0 , 

const double  max_acceleration_scaling_factor = 1.0 

)  const 
Definition at line 85 of file iterative_spline_parameterization.cpp.

private 
Definition at line 84 of file iterative_spline_parameterization.h.