Generates a clamped cubic spline trajectory from the input waypoints. More...
#include <clamped_cubic_spline_smoother.h>
Public Member Functions | |
ClampedCubicSplineSmoother () | |
virtual bool | smooth (const T &trajectory_in, T &trajectory_out) const |
Smooths the input position trajectory by generating velocities and accelerations at the waypoints. | |
virtual | ~ClampedCubicSplineSmoother () |
Static Public Attributes | |
static const int | MAX_TRIDIAGONAL_SOLVER_ELEMENTS = 20 |
Private Member Functions | |
bool | smoothSegment (std::vector< trajectory_msgs::JointTrajectoryPoint > &waypoints) const |
Private Attributes | |
NumericalDifferentiationSplineSmoother < T > | num_diff_spline_smoother_ |
Generates a clamped cubic spline trajectory from the input waypoints.
This spline smoother forms cubic spline segments between way-points. The velocities at the way-points are generated by constraining accelerations of adjoining sections to be equal, constraining start and end velocities to be equal to zero, then solving the resulting linear system of equations.
Processing time is O(N), but this method appears to be numerically unstable for long trajectories (N>20)
Definition at line 59 of file clamped_cubic_spline_smoother.h.
spline_smoother::ClampedCubicSplineSmoother< T >::ClampedCubicSplineSmoother | ( | ) |
Definition at line 83 of file clamped_cubic_spline_smoother.h.
spline_smoother::ClampedCubicSplineSmoother< T >::~ClampedCubicSplineSmoother | ( | ) | [virtual] |
Definition at line 88 of file clamped_cubic_spline_smoother.h.
bool spline_smoother::ClampedCubicSplineSmoother< T >::smooth | ( | const T & | trajectory_in, |
T & | trajectory_out | ||
) | const [virtual] |
Smooths the input position trajectory by generating velocities and accelerations at the waypoints.
Implements spline_smoother::SplineSmoother< T >.
Definition at line 93 of file clamped_cubic_spline_smoother.h.
bool spline_smoother::ClampedCubicSplineSmoother< T >::smoothSegment | ( | std::vector< trajectory_msgs::JointTrajectoryPoint > & | waypoints | ) | const [private] |
Definition at line 118 of file clamped_cubic_spline_smoother.h.
const int spline_smoother::ClampedCubicSplineSmoother< T >::MAX_TRIDIAGONAL_SOLVER_ELEMENTS = 20 [static] |
Definition at line 65 of file clamped_cubic_spline_smoother.h.
NumericalDifferentiationSplineSmoother<T> spline_smoother::ClampedCubicSplineSmoother< T >::num_diff_spline_smoother_ [private] |
Definition at line 76 of file clamped_cubic_spline_smoother.h.