DART  6.7.3
dart::planning::PathFollowingTrajectory Class Reference

#include <PathFollowingTrajectory.hpp>

Inheritance diagram for dart::planning::PathFollowingTrajectory:
dart::planning::Trajectory

Classes

struct  TrajectoryStep
 

Public Member Functions

 PathFollowingTrajectory (const Path &path, const Eigen::VectorXd &maxVelocity, const Eigen::VectorXd &maxAcceleration)
 
 ~PathFollowingTrajectory (void)
 
bool isValid () const
 
double getDuration () const
 
Eigen::VectorXd getPosition (double time) const
 
Eigen::VectorXd getVelocity (double time) const
 
double getMaxAccelerationError ()
 

Private Member Functions

bool getNextSwitchingPoint (double pathPos, TrajectoryStep &nextSwitchingPoint, double &beforeAcceleration, double &afterAcceleration)
 
bool getNextAccelerationSwitchingPoint (double pathPos, TrajectoryStep &nextSwitchingPoint, double &beforeAcceleration, double &afterAcceleration)
 
bool getNextVelocitySwitchingPoint (double pathPos, TrajectoryStep &nextSwitchingPoint, double &beforeAcceleration, double &afterAcceleration)
 
bool integrateForward (std::list< TrajectoryStep > &trajectory, double acceleration)
 
void integrateBackward (std::list< TrajectoryStep > &trajectory, std::list< TrajectoryStep > &startTrajectory, double acceleration)
 
double getMinMaxPathAcceleration (double pathPosition, double pathVelocity, bool max)
 
double getMinMaxPhaseSlope (double pathPosition, double pathVelocity, bool max)
 
double getAccelerationMaxPathVelocity (double pathPos)
 
double getVelocityMaxPathVelocity (double pathPos)
 
double getAccelerationMaxPathVelocityDeriv (double pathPos)
 
double getVelocityMaxPathVelocityDeriv (double pathPos)
 
TrajectoryStep getIntersection (const std::list< TrajectoryStep > &trajectory, std::list< TrajectoryStep >::iterator &it, const TrajectoryStep &linePoint1, const TrajectoryStep &linePoint2)
 
double getSlope (const TrajectoryStep &point1, const TrajectoryStep &point2)
 
double getSlope (std::list< TrajectoryStep >::const_iterator lineEnd)
 
std::list< TrajectoryStep >::const_iterator getTrajectorySegment (double time) const
 

Private Attributes

Path path
 
Eigen::VectorXd maxVelocity
 
Eigen::VectorXd maxAcceleration
 
unsigned int n
 
bool valid
 
std::list< TrajectorySteptrajectory
 
double cachedTime
 
std::list< TrajectoryStep >::const_iterator cachedTrajectorySegment
 

Static Private Attributes

static const double eps = 0.000001
 
static const double timeStep = 0.001
 

Constructor & Destructor Documentation

◆ PathFollowingTrajectory()

dart::planning::PathFollowingTrajectory::PathFollowingTrajectory ( const Path path,
const Eigen::VectorXd &  maxVelocity,
const Eigen::VectorXd &  maxAcceleration 
)

◆ ~PathFollowingTrajectory()

dart::planning::PathFollowingTrajectory::~PathFollowingTrajectory ( void  )

Member Function Documentation

◆ getAccelerationMaxPathVelocity()

double dart::planning::PathFollowingTrajectory::getAccelerationMaxPathVelocity ( double  pathPos)
private

◆ getAccelerationMaxPathVelocityDeriv()

double dart::planning::PathFollowingTrajectory::getAccelerationMaxPathVelocityDeriv ( double  pathPos)
private

◆ getDuration()

double dart::planning::PathFollowingTrajectory::getDuration ( ) const
virtual

◆ getIntersection()

PathFollowingTrajectory::TrajectoryStep dart::planning::PathFollowingTrajectory::getIntersection ( const std::list< TrajectoryStep > &  trajectory,
std::list< TrajectoryStep >::iterator &  it,
const TrajectoryStep linePoint1,
const TrajectoryStep linePoint2 
)
private

◆ getMaxAccelerationError()

double dart::planning::PathFollowingTrajectory::getMaxAccelerationError ( )

◆ getMinMaxPathAcceleration()

double dart::planning::PathFollowingTrajectory::getMinMaxPathAcceleration ( double  pathPosition,
double  pathVelocity,
bool  max 
)
private

◆ getMinMaxPhaseSlope()

double dart::planning::PathFollowingTrajectory::getMinMaxPhaseSlope ( double  pathPosition,
double  pathVelocity,
bool  max 
)
private

◆ getNextAccelerationSwitchingPoint()

bool dart::planning::PathFollowingTrajectory::getNextAccelerationSwitchingPoint ( double  pathPos,
TrajectoryStep nextSwitchingPoint,
double &  beforeAcceleration,
double &  afterAcceleration 
)
private

◆ getNextSwitchingPoint()

bool dart::planning::PathFollowingTrajectory::getNextSwitchingPoint ( double  pathPos,
TrajectoryStep nextSwitchingPoint,
double &  beforeAcceleration,
double &  afterAcceleration 
)
private

◆ getNextVelocitySwitchingPoint()

bool dart::planning::PathFollowingTrajectory::getNextVelocitySwitchingPoint ( double  pathPos,
TrajectoryStep nextSwitchingPoint,
double &  beforeAcceleration,
double &  afterAcceleration 
)
private

◆ getPosition()

VectorXd dart::planning::PathFollowingTrajectory::getPosition ( double  time) const
virtual

◆ getSlope() [1/2]

double dart::planning::PathFollowingTrajectory::getSlope ( const TrajectoryStep point1,
const TrajectoryStep point2 
)
inlineprivate

◆ getSlope() [2/2]

double dart::planning::PathFollowingTrajectory::getSlope ( std::list< TrajectoryStep >::const_iterator  lineEnd)
inlineprivate

◆ getTrajectorySegment()

list< PathFollowingTrajectory::TrajectoryStep >::const_iterator dart::planning::PathFollowingTrajectory::getTrajectorySegment ( double  time) const
private

◆ getVelocity()

VectorXd dart::planning::PathFollowingTrajectory::getVelocity ( double  time) const
virtual

◆ getVelocityMaxPathVelocity()

double dart::planning::PathFollowingTrajectory::getVelocityMaxPathVelocity ( double  pathPos)
private

◆ getVelocityMaxPathVelocityDeriv()

double dart::planning::PathFollowingTrajectory::getVelocityMaxPathVelocityDeriv ( double  pathPos)
private

◆ integrateBackward()

void dart::planning::PathFollowingTrajectory::integrateBackward ( std::list< TrajectoryStep > &  trajectory,
std::list< TrajectoryStep > &  startTrajectory,
double  acceleration 
)
private

◆ integrateForward()

bool dart::planning::PathFollowingTrajectory::integrateForward ( std::list< TrajectoryStep > &  trajectory,
double  acceleration 
)
private

◆ isValid()

bool dart::planning::PathFollowingTrajectory::isValid ( ) const

Member Data Documentation

◆ cachedTime

double dart::planning::PathFollowingTrajectory::cachedTime
mutableprivate

◆ cachedTrajectorySegment

std::list<TrajectoryStep>::const_iterator dart::planning::PathFollowingTrajectory::cachedTrajectorySegment
mutableprivate

◆ eps

const double dart::planning::PathFollowingTrajectory::eps = 0.000001
staticprivate

◆ maxAcceleration

Eigen::VectorXd dart::planning::PathFollowingTrajectory::maxAcceleration
private

◆ maxVelocity

Eigen::VectorXd dart::planning::PathFollowingTrajectory::maxVelocity
private

◆ n

unsigned int dart::planning::PathFollowingTrajectory::n
private

◆ path

Path dart::planning::PathFollowingTrajectory::path
private

◆ timeStep

const double dart::planning::PathFollowingTrajectory::timeStep = 0.001
staticprivate

◆ trajectory

std::list<TrajectoryStep> dart::planning::PathFollowingTrajectory::trajectory
private

◆ valid

bool dart::planning::PathFollowingTrajectory::valid
private