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 56 of file clamped_cubic_spline_smoother.h.
spline_smoother::ClampedCubicSplineSmoother< T >::ClampedCubicSplineSmoother | ( | ) | [inline] |
Definition at line 80 of file clamped_cubic_spline_smoother.h.
spline_smoother::ClampedCubicSplineSmoother< T >::~ClampedCubicSplineSmoother | ( | ) | [inline, virtual] |
Definition at line 85 of file clamped_cubic_spline_smoother.h.
bool spline_smoother::ClampedCubicSplineSmoother< T >::smooth | ( | const T & | trajectory_in, | |
T & | trajectory_out | |||
) | const [inline, virtual] |
Smooths the input position trajectory by generating velocities and accelerations at the waypoints.
Implements spline_smoother::SplineSmoother< T >.
Definition at line 90 of file clamped_cubic_spline_smoother.h.
bool spline_smoother::ClampedCubicSplineSmoother< T >::smoothSegment | ( | std::vector< trajectory_msgs::JointTrajectoryPoint > & | waypoints | ) | const [inline, private] |
Definition at line 115 of file clamped_cubic_spline_smoother.h.
const int spline_smoother::ClampedCubicSplineSmoother< T >::MAX_TRIDIAGONAL_SOLVER_ELEMENTS = 20 [static] |
Definition at line 47 of file clamped_cubic_spline_smoother.h.
NumericalDifferentiationSplineSmoother<T> spline_smoother::ClampedCubicSplineSmoother< T >::num_diff_spline_smoother_ [private] |
Definition at line 58 of file clamped_cubic_spline_smoother.h.