Aikido
aikido::planner::parabolic::ParabolicTimer Class Reference

Class for performing parabolic retiming on trajectories. More...

#include <aikido/planner/parabolic/ParabolicTimer.hpp>

Inheritance diagram for aikido::planner::parabolic::ParabolicTimer:
aikido::planner::TrajectoryPostProcessor

Public Member Functions

 ParabolicTimer (const Eigen::VectorXd &_velocityLimits, const Eigen::VectorXd &_accelerationLimits)
 
std::unique_ptr< aikido::trajectory::Splinepostprocess (const aikido::trajectory::Interpolated &_inputTraj, const aikido::common::RNG &_rng, const aikido::constraint::TestablePtr &_constraint=nullptr) override
 Performs parabolic retiming on an input trajectory. More...
 
std::unique_ptr< aikido::trajectory::Splinepostprocess (const aikido::trajectory::Spline &_inputTraj, const aikido::common::RNG &_rng, const aikido::constraint::TestablePtr &_constraint=nullptr) override
 Performs parabolic retiming on an input spline trajectory. More...
 

Private Attributes

const Eigen::VectorXd mVelocityLimits
 Set to the value of _velocityLimits. More...
 
const Eigen::VectorXd mAccelerationLimits
 Set to the value of _accelerationLimits. More...
 

Detailed Description

Class for performing parabolic retiming on trajectories.

Constructor & Destructor Documentation

◆ ParabolicTimer()

aikido::planner::parabolic::ParabolicTimer::ParabolicTimer ( const Eigen::VectorXd &  _velocityLimits,
const Eigen::VectorXd &  _accelerationLimits 
)
Parameters
_velocityLimitsMaximum velocity for each dimension.
_accelerationLimitsMaximum acceleration for each dimension.

Member Function Documentation

◆ postprocess() [1/2]

std::unique_ptr<aikido::trajectory::Spline> aikido::planner::parabolic::ParabolicTimer::postprocess ( const aikido::trajectory::Interpolated _inputTraj,
const aikido::common::RNG _rng,
const aikido::constraint::TestablePtr _constraint = nullptr 
)
overridevirtual

Performs parabolic retiming on an input trajectory.

Parameters
_inputTrajThe untimed trajectory for the arm to process.
_rngRandom number generator.
_constraintMust be satisfied after processing.

Implements aikido::planner::TrajectoryPostProcessor.

◆ postprocess() [2/2]

std::unique_ptr<aikido::trajectory::Spline> aikido::planner::parabolic::ParabolicTimer::postprocess ( const aikido::trajectory::Spline _inputTraj,
const aikido::common::RNG _rng,
const aikido::constraint::TestablePtr _constraint = nullptr 
)
overridevirtual

Performs parabolic retiming on an input spline trajectory.

Parameters
_inputTrajThe untimed trajectory for the arm to process.
_rngRandom number generator.
_constraintMust be satisfied after processing.

Implements aikido::planner::TrajectoryPostProcessor.

Member Data Documentation

◆ mAccelerationLimits

const Eigen::VectorXd aikido::planner::parabolic::ParabolicTimer::mAccelerationLimits
private

Set to the value of _accelerationLimits.

◆ mVelocityLimits

const Eigen::VectorXd aikido::planner::parabolic::ParabolicTimer::mVelocityLimits
private

Set to the value of _velocityLimits.