Abstract base class for spline smoothing. More...
#include <spline_smoother.h>
Public Member Functions | |
virtual bool | configure () |
virtual bool | smooth (const T &trajectory_in, T &trajectory_out) const =0 |
Smooths the input position trajectory by generating velocities and accelerations at the waypoints. | |
SplineSmoother () | |
virtual bool | update (const T &data_in, T &data_out) |
Implementation of the update() function for the filter. | |
virtual | ~SplineSmoother () |
Abstract base class for spline smoothing.
A spline smoother is a class that takes in a "WaypointTrajWithLimits" message, potentially containing no velocities / accelerations, and fills them in using some rules. Example implementations are in "ClampedCubicSplineSmoother", "FritschButlandSplineSmoother" and "NumericalDifferentiationSplineSmoother", each of which uses a different set of rules to fill in the velocities and accelerations for spline creation.
To implement a smoother, just override the virtual "smooth" method, and call the REGISTER_SPLINE_SMOOTHER macro with the class name (anywhere in the cpp file)
Definition at line 60 of file spline_smoother.h.
spline_smoother::SplineSmoother< T >::SplineSmoother | ( | ) | [inline] |
Definition at line 63 of file spline_smoother.h.
virtual spline_smoother::SplineSmoother< T >::~SplineSmoother | ( | ) | [inline, virtual] |
Definition at line 64 of file spline_smoother.h.
bool spline_smoother::SplineSmoother< T >::configure | ( | ) | [inline, virtual] |
Definition at line 85 of file spline_smoother.h.
virtual bool spline_smoother::SplineSmoother< T >::smooth | ( | const T & | trajectory_in, | |
T & | trajectory_out | |||
) | const [pure virtual] |
Smooths the input position trajectory by generating velocities and accelerations at the waypoints.
This virtual method needs to implemented by the derived class.
Implemented in spline_smoother::ClampedCubicSplineSmoother< T >, spline_smoother::CubicParameterizedSplineVelocityScaler< T >, spline_smoother::CubicSplineVelocityScaler< T >, spline_smoother::FritschButlandSplineSmoother< T >, spline_smoother::LinearSplineVelocityScaler< T >, and spline_smoother::NumericalDifferentiationSplineSmoother< T >.
bool spline_smoother::SplineSmoother< T >::update | ( | const T & | data_in, | |
T & | data_out | |||
) | [inline, virtual] |
Implementation of the update() function for the filter.
Definition at line 91 of file spline_smoother.h.