Aikido
|
Class for performing time-optimal trajectory retiming following subject to velocity and acceleration limits. More...
#include <aikido/planner/kunzretimer/KunzRetimer.hpp>
Public Member Functions | |
KunzRetimer (const Eigen::VectorXd &velocityLimits, const Eigen::VectorXd &accelerationLimits, double maxDeviation, double timeStep) | |
std::unique_ptr< aikido::trajectory::Spline > | postprocess (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::Spline > | postprocess (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... | |
const Eigen::VectorXd & | getVelocityLimits () const |
Returns the velocity limits of the dimensions. More... | |
const Eigen::VectorXd & | getAccelerationLimits () const |
Returns the acceleration limits of the dimensions. More... | |
void | setVelocityLimits (const Eigen::VectorXd &velocityLimits) |
Sets the velocity limits of the dimensions. More... | |
void | setAccelerationLimits (const Eigen::VectorXd &accelerationLimits) |
Sets the acceleration limits of the dimensions. More... | |
double | getTimeStep () const |
Returns the time step in following a path. More... | |
void | setTimeStep (double timeStep) |
Sets the time step in following a path. More... | |
double | getMaxDeviation () const |
Returns the max deviation of circular blending. More... | |
void | setMaxDeviation (double maxDeviation) |
Sets the max deviation of circular blending. More... | |
Private Attributes | |
Eigen::VectorXd | mVelocityLimits |
Set to the value of velocityLimits . More... | |
Eigen::VectorXd | mAccelerationLimits |
Set to the value of accelerationLimits . More... | |
double | mMaxDeviation |
Set to the value of maxDeviation . More... | |
double | mTimeStep |
Set to the value of timeStep . More... | |
Class for performing time-optimal trajectory retiming following subject to velocity and acceleration limits.
aikido::planner::kunzretimer::KunzRetimer::KunzRetimer | ( | const Eigen::VectorXd & | velocityLimits, |
const Eigen::VectorXd & | accelerationLimits, | ||
double | maxDeviation, | ||
double | timeStep | ||
) |
[in] | velocityLimits | Maximum velocity for each dimension. |
[in] | accelerationLimits | Maximum acceleration for each dimension. |
[in] | maxDeviation | Maximum deviation in circular blending |
[in] | timeStep | Time step in following the path |
const Eigen::VectorXd& aikido::planner::kunzretimer::KunzRetimer::getAccelerationLimits | ( | ) | const |
Returns the acceleration limits of the dimensions.
double aikido::planner::kunzretimer::KunzRetimer::getMaxDeviation | ( | ) | const |
Returns the max deviation of circular blending.
double aikido::planner::kunzretimer::KunzRetimer::getTimeStep | ( | ) | const |
Returns the time step in following a path.
const Eigen::VectorXd& aikido::planner::kunzretimer::KunzRetimer::getVelocityLimits | ( | ) | const |
Returns the velocity limits of the dimensions.
|
overridevirtual |
Performs parabolic retiming on an input trajectory.
_inputTraj | The untimed trajectory for the arm to process. |
_rng | Random number generator. |
_constraint | Must be satisfied after processing. |
Implements aikido::planner::TrajectoryPostProcessor.
|
overridevirtual |
Performs parabolic retiming on an input spline trajectory.
_inputTraj | The untimed trajectory for the arm to process. |
_rng | Random number generator. |
_constraint | Must be satisfied after processing. |
Implements aikido::planner::TrajectoryPostProcessor.
void aikido::planner::kunzretimer::KunzRetimer::setAccelerationLimits | ( | const Eigen::VectorXd & | accelerationLimits | ) |
Sets the acceleration limits of the dimensions.
void aikido::planner::kunzretimer::KunzRetimer::setMaxDeviation | ( | double | maxDeviation | ) |
Sets the max deviation of circular blending.
void aikido::planner::kunzretimer::KunzRetimer::setTimeStep | ( | double | timeStep | ) |
Sets the time step in following a path.
void aikido::planner::kunzretimer::KunzRetimer::setVelocityLimits | ( | const Eigen::VectorXd & | velocityLimits | ) |
Sets the velocity limits of the dimensions.
|
private |
Set to the value of accelerationLimits
.
|
private |
Set to the value of maxDeviation
.
|
private |
Set to the value of timeStep
.
|
private |
Set to the value of velocityLimits
.