spline_smoother::ClampedCubicSplineSmoother< T > Class Template Reference

Generates a clamped cubic spline trajectory from the input waypoints. More...

#include <clamped_cubic_spline_smoother.h>

Inheritance diagram for spline_smoother::ClampedCubicSplineSmoother< T >:
Inheritance graph
[legend]

List of all members.

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_

Detailed Description

template<typename T>
class spline_smoother::ClampedCubicSplineSmoother< T >

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.


Constructor & Destructor Documentation

template<typename T >
spline_smoother::ClampedCubicSplineSmoother< T >::ClampedCubicSplineSmoother (  )  [inline]

Definition at line 80 of file clamped_cubic_spline_smoother.h.

template<typename T >
spline_smoother::ClampedCubicSplineSmoother< T >::~ClampedCubicSplineSmoother (  )  [inline, virtual]

Definition at line 85 of file clamped_cubic_spline_smoother.h.


Member Function Documentation

template<typename T >
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.

Returns:
true if successful, false if not

Implements spline_smoother::SplineSmoother< T >.

Definition at line 90 of file clamped_cubic_spline_smoother.h.

template<typename T >
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.


Member Data Documentation

template<typename T>
const int spline_smoother::ClampedCubicSplineSmoother< T >::MAX_TRIDIAGONAL_SOLVER_ELEMENTS = 20 [static]

Definition at line 47 of file clamped_cubic_spline_smoother.h.

Definition at line 58 of file clamped_cubic_spline_smoother.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs


spline_smoother
Author(s): Mrinal Kalakrishnan / mail@mrinal.net
autogenerated on Fri Jan 11 09:15:18 2013