|
Aikido
|
Class for performing parabolic smoothing on trajectories. More...
#include <aikido/planner/parabolic/ParabolicSmoother.hpp>
Public Member Functions | |
| ParabolicSmoother (const Eigen::VectorXd &_velocityLimits, const Eigen::VectorXd &_accelerationLimits, bool _enableShortcut=true, bool _enableBlend=true, double _shortcutTimelimit=DEFAULT_TIMELIMT, double _blendRadius=DEFAULT_BLEND_RADIUS, int _blendIterations=DEFAULT_BLEND_ITERATIONS, double _feasibilityCheckResolution=DEFAULT_CHECK_RESOLUTION, double _feasibilityApproxTolerance=DEFAULT_TOLERANCE) | |
| 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_TIMELIMT, |
||
| 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. |
|
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.