Go to the documentation of this file. 1 #ifndef AIKIDO_PLANNER_PARABOLIC_PARABOLICSMOOTHER_HPP_
2 #define AIKIDO_PLANNER_PARABOLIC_PARABOLICSMOOTHER_HPP_
47 std::unique_ptr<trajectory::Spline>
doShortcut(
50 const Eigen::VectorXd& _maxVelocity,
51 const Eigen::VectorXd& _maxAcceleration,
88 std::unique_ptr<trajectory::Spline>
doBlend(
91 const Eigen::VectorXd& _maxVelocity,
92 const Eigen::VectorXd& _maxAcceleration,
124 const Eigen::VectorXd& _maxVelocity,
125 const Eigen::VectorXd& _maxAcceleration,
156 bool _enableShortcut =
true,
157 bool _enableBlend =
true,
201 const Eigen::VectorXd& _velocityLimits,
202 const Eigen::VectorXd& _accelerationLimits,
203 bool _enableShortcut =
true,
204 bool _enableBlend =
true,
215 const Eigen::VectorXd& _velocityLimits,
216 const Eigen::VectorXd& _accelerationLimits,
224 std::unique_ptr<aikido::trajectory::Spline>
postprocess(
234 std::unique_ptr<aikido::trajectory::Spline>
postprocess(
279 #endif // ifndef AIKIDO_PLANNER_PARABOLIC_PARABOLICSMOOTHER_HPP_
Hauser postprocessor parameters.
Definition: ParabolicSmoother.hpp:138
double mShortcutTimelimit
Set to the value of _shortcutTimelimit.
Definition: ParabolicSmoother.hpp:266
bool mEnableShortcut
Definition: ParabolicSmoother.hpp:174
constexpr int DEFAULT_BLEND_ITERATIONS
Definition: ParabolicSmoother.hpp:16
bool mEnableShortcut
Set to the value of _enableShortcut.
Definition: ParabolicSmoother.hpp:260
double mFeasibilityApproxTolerance
Definition: ParabolicSmoother.hpp:180
double mFeasibilityCheckResolution
Set to the value of _feasibilityCheckResolution.
Definition: ParabolicSmoother.hpp:248
bool mEnableBlend
Set to the value of _enableBlend.
Definition: ParabolicSmoother.hpp:263
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
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)
double mBlendRadius
Set to the value of _blendRadius.
Definition: ParabolicSmoother.hpp:269
Class for performing parabolic smoothing on trajectories.
Definition: ParabolicSmoother.hpp:134
std::unique_ptr< trajectory::Spline > doShortcut(const trajectory::Spline &_inputTrajectory, aikido::constraint::TestablePtr _feasibilityCheck, const Eigen::VectorXd &_maxVelocity, const Eigen::VectorXd &_maxAcceleration, aikido::common::RNG &_rng, double _timelimit=DEFAULT_TIMELIMIT, double _checkResolution=DEFAULT_CHECK_RESOLUTION, double _tolerance=DEFAULT_TOLERANCE)
Shortcut waypoints in a trajectory using parabolic splines.
constexpr double DEFAULT_TOLERANCE
Definition: ParabolicSmoother.hpp:18
int mBlendIterations
Set to the value of _blendIterations.
Definition: ParabolicSmoother.hpp:272
double mFeasibilityCheckResolution
Definition: ParabolicSmoother.hpp:179
Implementation of the C++11 "random engine" concept that uses virtual function calls to erase the typ...
Definition: RNG.hpp:24
const Eigen::VectorXd mVelocityLimits
Set to the value of _velocityLimits.
Definition: ParabolicSmoother.hpp:254
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.
int mBlendIterations
Definition: ParabolicSmoother.hpp:178
const Eigen::VectorXd mAccelerationLimits
Set to the value of _accelerationLimits.
Definition: ParabolicSmoother.hpp:257
double mShortcutTimelimit
Definition: ParabolicSmoother.hpp:176
Params(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)
Definition: ParabolicSmoother.hpp:155
Definition: TrajectoryPostProcessor.hpp:12
double mFeasibilityApproxTolerance
Set to the value of _feasibilityApproxTolerance.
Definition: ParabolicSmoother.hpp:251
constexpr double DEFAULT_BLEND_RADIUS
Definition: ParabolicSmoother.hpp:15
std::shared_ptr< Testable > TestablePtr
Definition: Testable.hpp:13
double mBlendRadius
Definition: ParabolicSmoother.hpp:177
constexpr double DEFAULT_TIMELIMIT
Definition: ParabolicSmoother.hpp:14
std::unique_ptr< trajectory::Spline > doBlend(const trajectory::Spline &_inputTrajectory, aikido::constraint::TestablePtr _feasibilityCheck, const Eigen::VectorXd &_maxVelocity, const Eigen::VectorXd &_maxAcceleration, double _blendRadius=DEFAULT_BLEND_RADIUS, int _blendIterations=DEFAULT_BLEND_ITERATIONS, double _checkResolution=DEFAULT_CHECK_RESOLUTION, double _tolerance=DEFAULT_TOLERANCE)
Blend around waypoints in a trajectory using parabolic splines.
Trajectory that uses an Interpolator to interpolate between waypoints.
Definition: Interpolated.hpp:14
constexpr double DEFAULT_CHECK_RESOLUTION
Definition: ParabolicSmoother.hpp:17
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 mEnableShortcu...
bool mEnableBlend
Definition: ParabolicSmoother.hpp:175
Polynomial spline trajectory defined in a StateSpace.
Definition: Spline.hpp:25
std::unique_ptr< trajectory::Spline > doShortcutAndBlend(const trajectory::Spline &_inputTrajectory, aikido::constraint::TestablePtr _feasibilityCheck, const Eigen::VectorXd &_maxVelocity, const Eigen::VectorXd &_maxAcceleration, aikido::common::RNG &_rng, double _timelimit=DEFAULT_TIMELIMIT, double _blendRadius=DEFAULT_BLEND_RADIUS, int _blendIterations=DEFAULT_BLEND_ITERATIONS, double _checkResolution=DEFAULT_CHECK_RESOLUTION, double _tolerance=DEFAULT_TOLERANCE)
Shortcut and blends waypoints in a trajectory using parabolic splines.