| 
    Aikido
    
   | 
 
Class for performing parabolic smoothing on trajectories. More...
#include <aikido/planner/parabolic/ParabolicSmoother.hpp>
  
Classes | |
| struct | Params | 
| Hauser postprocessor parameters.  More... | |
Public Member Functions | |
| ParabolicSmoother (const Eigen::VectorXd &_velocityLimits, const Eigen::VectorXd &_accelerationLimits, bool _enableShortcut=true, bool _enableBlend=true, double _shortcutTimelimit=DEFAULT_TIMELIMIT, double _blendRadius=DEFAULT_BLEND_RADIUS, int _blendIterations=DEFAULT_BLEND_ITERATIONS, double _feasibilityCheckResolution=DEFAULT_CHECK_RESOLUTION, double _feasibilityApproxTolerance=DEFAULT_TOLERANCE) | |
| ParabolicSmoother (const Eigen::VectorXd &_velocityLimits, const Eigen::VectorXd &_accelerationLimits, const Params &_params) | |
| std::unique_ptr< aikido::trajectory::Spline > | postprocess (const aikido::trajectory::Interpolated &_inputTraj, const aikido::common::RNG &_rng, const aikido::constraint::TestablePtr &_collisionTestable) override | 
| Performs parabolic smoothing on an input trajectory.  More... | |
| std::unique_ptr< aikido::trajectory::Spline > | postprocess (const aikido::trajectory::Spline &_inputTraj, const aikido::common::RNG &_rng, const aikido::constraint::TestablePtr &_collisionTestable) override | 
| Performs parabolic smoothing on an input spline trajectory.  More... | |
Private Member Functions | |
| std::unique_ptr< aikido::trajectory::Spline > | handleShortcutOrBlend (const aikido::trajectory::Spline &_inputTraj, const aikido::common::RNG &_rng, const aikido::constraint::TestablePtr &_collisionTestable) | 
| Common logic to do shortcutting and/or blending on the input trajectory as dictated by mEnableShortcut and mEnableBlend.  More... | |
Private Attributes | |
| double | mFeasibilityCheckResolution | 
Set to the value of _feasibilityCheckResolution.  More... | |
| double | mFeasibilityApproxTolerance | 
Set to the value of _feasibilityApproxTolerance.  More... | |
| const Eigen::VectorXd | mVelocityLimits | 
Set to the value of _velocityLimits.  More... | |
| const Eigen::VectorXd | mAccelerationLimits | 
Set to the value of _accelerationLimits.  More... | |
| bool | mEnableShortcut | 
Set to the value of _enableShortcut.  More... | |
| bool | mEnableBlend | 
Set to the value of _enableBlend.  More... | |
| double | mShortcutTimelimit | 
Set to the value of _shortcutTimelimit.  More... | |
| double | mBlendRadius | 
Set to the value of _blendRadius.  More... | |
| int | mBlendIterations | 
Set to the value of _blendIterations.  More... | |
Class for performing parabolic smoothing on trajectories.
| aikido::planner::parabolic::ParabolicSmoother::ParabolicSmoother | ( | const Eigen::VectorXd & | _velocityLimits, | 
| const Eigen::VectorXd & | _accelerationLimits, | ||
| bool | _enableShortcut = true,  | 
        ||
| bool | _enableBlend = true,  | 
        ||
| double | _shortcutTimelimit = DEFAULT_TIMELIMIT,  | 
        ||
| double | _blendRadius = DEFAULT_BLEND_RADIUS,  | 
        ||
| int | _blendIterations = DEFAULT_BLEND_ITERATIONS,  | 
        ||
| double | _feasibilityCheckResolution = DEFAULT_CHECK_RESOLUTION,  | 
        ||
| double | _feasibilityApproxTolerance = DEFAULT_TOLERANCE  | 
        ||
| ) | 
| _velocityLimits | Maximum velocity for each dimension. | 
| _accelerationLimits | Maximum acceleration for each dimension. | 
| _enableShortcut | Whether shortcutting is used in smoothing. | 
| _enableBlend | Whether blending is used in smoothing. | 
| _shortcutTimelimit | Timelimit for shortcutting. It is ineffective when _enableShortcut is false. | 
| _blendRadius | Blend radius for blending. It is ineffective when _enableBlend is false. | 
| _blendIterations | Blend iterations for blending. It is ineffective when _enableBlend is false. | 
| _feasibilityCheckResolution | The resolution in discretizing a segment in checking the feasibility of the segment. | 
| _feasibilityApproxTolerance | This tolerance is used in a piecewise linear discretization that deviates no more than _feasibilityApproxTolerance from the parabolic ramp along any axis, and then checks for configuration and segment feasibility along that piecewise linear path.  | 
| aikido::planner::parabolic::ParabolicSmoother::ParabolicSmoother | ( | const Eigen::VectorXd & | _velocityLimits, | 
| const Eigen::VectorXd & | _accelerationLimits, | ||
| const Params & | _params | ||
| ) | 
| _velocityLimits | Maximum velocity for each dimension. | 
| _accelerationLimits | Maximum acceleration for each dimension. | 
| _params | Postprocessor parameters. | 
      
  | 
  private | 
Common logic to do shortcutting and/or blending on the input trajectory as dictated by mEnableShortcut and mEnableBlend.
      
  | 
  overridevirtual | 
Performs parabolic smoothing on an input trajectory.
| _inputTraj | The untimed trajectory for the arm to process. | 
| _rng | Random number generator. | 
| _collisionTestable | Collision constraint that must be satisfied after prcoessing. | 
Implements aikido::planner::TrajectoryPostProcessor.
      
  | 
  overridevirtual | 
Performs parabolic smoothing on an input spline trajectory.
| _inputTraj | The untimed trajectory for the arm to process. | 
| _rng | Random number generator. | 
| _collisionTestable | Collision constraint that must be satisfied after prcoessing. | 
Implements aikido::planner::TrajectoryPostProcessor.
      
  | 
  private | 
Set to the value of _accelerationLimits. 
      
  | 
  private | 
Set to the value of _blendIterations. 
      
  | 
  private | 
Set to the value of _blendRadius. 
      
  | 
  private | 
Set to the value of _enableBlend. 
      
  | 
  private | 
Set to the value of _enableShortcut. 
      
  | 
  private | 
Set to the value of _feasibilityApproxTolerance. 
      
  | 
  private | 
Set to the value of _feasibilityCheckResolution. 
      
  | 
  private | 
Set to the value of _shortcutTimelimit. 
      
  | 
  private | 
Set to the value of _velocityLimits.