37 #ifndef MOVEIT_TRAJECTORY_PROCESSING_ITERATIVE_PARABOLIC_SMOOTHER_ 38 #define MOVEIT_TRAJECTORY_PROCESSING_ITERATIVE_PARABOLIC_SMOOTHER_ 40 #include <trajectory_msgs/JointTrajectory.h> 41 #include <moveit_msgs/JointLimits.h> 42 #include <moveit_msgs/RobotState.h> 56 const double max_acceleration_scaling_factor = 1.0)
const;
63 const double max_velocity_scaling_factor)
const;
66 const double max_acceleration_scaling_factor)
const;
68 double findT1(
const double d1,
const double d2,
double t1,
const double t2,
const double a_max)
const;
69 double findT2(
const double d1,
const double d2,
const double t1,
double t2,
const double a_max)
const;
double findT2(const double d1, const double d2, const double t1, double t2, const double a_max) const
void applyVelocityConstraints(robot_trajectory::RobotTrajectory &rob_trajectory, std::vector< double > &time_diff, const double max_velocity_scaling_factor) const
maximum allowed time change per iteration in seconds
double max_time_change_per_it_
maximum number of iterations to find solution
double findT1(const double d1, const double d2, double t1, const double t2, const double a_max) const
robot_trajectory::RobotTrajectory trajectory(rmodel,"right_arm")
Maintain a sequence of waypoints and the time durations between these waypoints.
This class modifies the timestamps of a trajectory to respect velocity and acceleration constraints...
unsigned int max_iterations_
void applyAccelerationConstraints(robot_trajectory::RobotTrajectory &rob_trajectory, std::vector< double > &time_diff, const double max_acceleration_scaling_factor) const
bool computeTimeStamps(robot_trajectory::RobotTrajectory &trajectory, const double max_velocity_scaling_factor=1.0, const double max_acceleration_scaling_factor=1.0) const
IterativeParabolicTimeParameterization(unsigned int max_iterations=100, double max_time_change_per_it=.01)
~IterativeParabolicTimeParameterization()