This is a parametric smoother that modifies the timestamps of a trajectory to respect velocity and acceleration constraints. More...
#include <iterative_smoother.h>
Public Member Functions | |
virtual bool | configure () |
Configures the filter. | |
IterativeParabolicSmoother () | |
virtual bool | smooth (const T &trajectory_in, T &trajectory_out) const |
Calculates a smooth trajectory by iteratively incrementing the time between points that exceed the velocity or acceleration bounds. | |
~IterativeParabolicSmoother () | |
Private Member Functions | |
void | applyAccelerationConstraints (const T &trajectory, std::vector< double > &time_diff) const |
void | applyVelocityConstraints (T &trajectory, std::vector< double > &time_diff) const |
maximum allowed time change per iteration in seconds | |
double | findT1 (const double d1, const double d2, double t1, const 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 | printPoint (const trajectory_msgs::JointTrajectoryPoint &point, unsigned int i) const |
void | printStats (const T &trajectory) const |
Private Attributes | |
int | max_iterations_ |
double | max_time_change_per_it_ |
maximum number of iterations to find solution |
This is a parametric smoother that modifies the timestamps of a trajectory to respect velocity and acceleration constraints.
Definition at line 49 of file iterative_smoother.h.
IterativeParabolicSmoother::IterativeParabolicSmoother | ( | ) |
Definition at line 49 of file iterative_smoother.cpp.
IterativeParabolicSmoother::~IterativeParabolicSmoother | ( | ) |
Definition at line 55 of file iterative_smoother.cpp.
void IterativeParabolicSmoother::applyAccelerationConstraints | ( | const T & | trajectory, |
std::vector< double > & | time_diff | ||
) | const [private] |
Definition at line 298 of file iterative_smoother.cpp.
void IterativeParabolicSmoother::applyVelocityConstraints | ( | T & | trajectory, |
std::vector< double > & | time_diff | ||
) | const [private] |
maximum allowed time change per iteration in seconds
Definition at line 124 of file iterative_smoother.cpp.
bool IterativeParabolicSmoother::configure | ( | void | ) | [virtual] |
Configures the filter.
Reimplemented from spline_smoother::SplineSmoother< T >.
Definition at line 59 of file iterative_smoother.cpp.
double IterativeParabolicSmoother::findT1 | ( | const double | d1, |
const double | d2, | ||
double | t1, | ||
const double | t2, | ||
const double | a_max | ||
) | const [private] |
Definition at line 173 of file iterative_smoother.cpp.
double IterativeParabolicSmoother::findT2 | ( | const double | d1, |
const double | d2, | ||
const double | t1, | ||
double | t2, | ||
const double | a_max | ||
) | const [private] |
Definition at line 192 of file iterative_smoother.cpp.
void IterativeParabolicSmoother::printPoint | ( | const trajectory_msgs::JointTrajectoryPoint & | point, |
unsigned int | i | ||
) | const [private] |
Definition at line 79 of file iterative_smoother.cpp.
void IterativeParabolicSmoother::printStats | ( | const T & | trajectory | ) | const [private] |
Definition at line 100 of file iterative_smoother.cpp.
bool IterativeParabolicSmoother::smooth | ( | const T & | trajectory_in, |
T & | trajectory_out | ||
) | const [virtual] |
Calculates a smooth trajectory by iteratively incrementing the time between points that exceed the velocity or acceleration bounds.
Implements spline_smoother::SplineSmoother< T >.
Definition at line 403 of file iterative_smoother.cpp.
int constraint_aware_spline_smoother::IterativeParabolicSmoother< T >::max_iterations_ [private] |
Definition at line 63 of file iterative_smoother.h.
double constraint_aware_spline_smoother::IterativeParabolicSmoother< T >::max_time_change_per_it_ [private] |
maximum number of iterations to find solution
Definition at line 64 of file iterative_smoother.h.