ocra-recipes
Doxygen documentation for the ocra-recipes repository
Public Member Functions | Protected Member Functions | List of all members
ocra::GaussianProcessTrajectory Class Reference

#include <GaussianProcessTrajectory.h>

Inheritance diagram for ocra::GaussianProcessTrajectory:
[legend]
Collaboration diagram for ocra::GaussianProcessTrajectory:
[legend]

Public Member Functions

Eigen::MatrixXd getDesiredValues (double time)
 
Eigen::VectorXd getVariance (double time)
 
void getDesiredValues (double time, Eigen::MatrixXd &desiredValues, Eigen::VectorXd &variance)
 
void addWaypoint (const Eigen::VectorXd newWaypoint, const double waypointTime)
 
void addWaypoint (const Eigen::VectorXd newWaypoint, const double waypointTime, const Eigen::VectorXi &dofToOpt, const bool useForMean=true, const bool useForVar=true, const bool useForOpt=true)
 
void removeWaypoint (int index)
 
bool setMeanWaypoints (boolVector &bMeanVec)
 
bool setVarianceWaypoints (boolVector &bVarVec)
 
bool setOptimizationWaypoints (boolVector &bOptVec)
 
bool setDofToOptimize (std::vector< Eigen::VectorXi > &dofToOptVec)
 
void printWaypointData ()
 
Eigen::MatrixXd getWaypointData ()
 
Eigen::MatrixXd getMeanGPData ()
 
Eigen::MatrixXd getVarGPData ()
 
Eigen::VectorXd getBoptVariables (const int extraPointsToAdd=0, std::vector< Eigen::VectorXi > dofToOptVec=std::vector< Eigen::VectorXi >())
 
Eigen::MatrixXd getBoptCovarianceMatrix ()
 
Eigen::VectorXd getBoptSearchSpaceMinBound ()
 
Eigen::VectorXd getBoptSearchSpaceMaxBound ()
 
bool setBoptVariables (const Eigen::VectorXd &newOptVariables)
 
void saveTrajectoryToFile (const std::string dirPath="./")
 
void saveWaypointDataToFile (const std::string dirPath="./")
 
double getMaxVariance ()
 
Eigen::VectorXd getMaxCovarianceVector ()
 
double getVarianceLengthParameter ()
 
double getMeanTime ()
 
double getDuration ()
 
- Public Member Functions inherited from ocra::Trajectory
 Trajectory ()
 
void setMaxVelocity (double newMaxVel)
 
void setMaxVelocity (const Eigen::VectorXd &newMaxVel)
 
double getMaxVelocity ()
 
Eigen::VectorXd getMaxVelocityVector ()
 
void setMaxAcceleration (double newMaxAcc)
 
void setMaxAcceleration (const Eigen::VectorXd &newMaxAcc)
 
double getMaxAcceleration ()
 
Eigen::VectorXd getMaxAccelerationVector ()
 
void setWaypoints (const std::vector< double > &startingDoubleVec, const std::vector< double > &endingDoubleVec, const int waypointSelector=0, bool endsWithQuaternion=false)
 
void setWaypoints (const Eigen::VectorXd &startingVector, const Eigen::VectorXd &endingVector, bool endsWithQuaternion=false)
 
void setWaypoints (Eigen::Displacementd &startingDisplacement, Eigen::Displacementd &endingDisplacement, bool endsWithQuaternion=true)
 
void setWaypoints (Eigen::Rotation3d &startingOrientation, Eigen::Rotation3d &endingOrientation, bool endsWithQuaternion=true)
 
void setWaypoints (const std::list< Eigen::VectorXd > &_waypoints, bool _endsWithQuaternion=false)
 
void setWaypoints (Eigen::MatrixXd &waypoints, bool endsWithQuaternion=false)
 
virtual ~Trajectory ()
 
void setDuration ()
 
void setDuration (const Eigen::VectorXd &_pointToPointDurationVector)
 
void setDuration (double time)
 
bool isFinished ()
 
Eigen::MatrixXd getFullTrajectory (double dt=0.01)
 
void getDesiredValues (double time, std::vector< double > &doubleVec)
 
void getDesiredValues (double time, Eigen::Displacementd &disp)
 
void getDesiredValues (double time, Eigen::Rotation3d &orient)
 
void getDesiredValues (double time, Eigen::Displacementd &pos, Eigen::Twistd &vel, Eigen::Twistd &acc)
 
Eigen::Rotation3d quaternionSlerp (double tau, Eigen::Rotation3d &qStart, Eigen::Rotation3d &qEnd)
 
Eigen::VectorXd displacementToEigenVector (Eigen::Displacementd &disp)
 
Eigen::VectorXd quaternionToEigenVector (Eigen::Rotation3d &quat)
 
bool eigenVectorToStdVector (const Eigen::VectorXd &dispVec, std::vector< double > &doubleVec)
 
bool eigenMatrixToStdVector (const Eigen::MatrixXd &dispMat, std::vector< double > &doubleVec)
 
bool eigenVectorToDisplacement (const Eigen::VectorXd &dispVec, Eigen::Displacementd &disp)
 
bool eigenVectorToQuaternion (const Eigen::VectorXd &quatVec, Eigen::Rotation3d &quat)
 
bool eigenVectorToTwist (const Eigen::VectorXd &twistVec, Eigen::Twistd &twist)
 
virtual void recalculateTrajectory ()
 

Protected Member Functions

virtual void initializeTrajectory ()
 

Additional Inherited Members

- Protected Attributes inherited from ocra::Trajectory
double maximumVelocity
 
Eigen::VectorXd maximumVelocityVector
 
double maximumAcceleration
 
Eigen::VectorXd maximumAccelerationVector
 
std::list< Eigen::VectorXd > waypointList
 
Eigen::MatrixXd waypoints
 
int nDoF
 
int nWaypoints
 
bool endsWithQuaternion
 
bool startTrigger
 
int currentWaypointIndex
 
int nonRotationDof
 
Eigen::VectorXd pointToPointDurationVector
 
double pointToPointDuration
 
double totalTrajectoryDuration
 
bool usingDurationVector
 
bool trajectoryFinished
 

Detailed Description

Definition at line 18 of file GaussianProcessTrajectory.h.

Member Function Documentation

void ocra::GaussianProcessTrajectory::addWaypoint ( const Eigen::VectorXd  newWaypoint,
const double  waypointTime 
)

Definition at line 422 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::addWaypoint ( const Eigen::VectorXd  newWaypoint,
const double  waypointTime,
const Eigen::VectorXi &  dofToOpt,
const bool  useForMean = true,
const bool  useForVar = true,
const bool  useForOpt = true 
)

Definition at line 427 of file GaussianProcessTrajectory.cpp.

Eigen::MatrixXd ocra::GaussianProcessTrajectory::getBoptCovarianceMatrix ( )

Definition at line 489 of file GaussianProcessTrajectory.cpp.

Eigen::VectorXd ocra::GaussianProcessTrajectory::getBoptSearchSpaceMaxBound ( )

Definition at line 582 of file GaussianProcessTrajectory.cpp.

Eigen::VectorXd ocra::GaussianProcessTrajectory::getBoptSearchSpaceMinBound ( )

Definition at line 534 of file GaussianProcessTrajectory.cpp.

Eigen::VectorXd ocra::GaussianProcessTrajectory::getBoptVariables ( const int  extraPointsToAdd = 0,
std::vector< Eigen::VectorXi >  dofToOptVec = std::vector<Eigen::VectorXi>() 
)

Definition at line 632 of file GaussianProcessTrajectory.cpp.

Eigen::MatrixXd ocra::GaussianProcessTrajectory::getDesiredValues ( double  time)
virtual

For details on the analytical point to point min-jerk formulation see: http://www.jneurosci.org/content/5/7/1688.full.pdf http://shadmehrlab.org/book/minimum_jerk/minimumjerk.htm

Reimplemented from ocra::Trajectory.

Definition at line 300 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::getDesiredValues ( double  time,
Eigen::MatrixXd &  desiredValues,
Eigen::VectorXd &  variance 
)
virtual

Reimplemented from ocra::Trajectory.

Definition at line 385 of file GaussianProcessTrajectory.cpp.

double ocra::GaussianProcessTrajectory::getDuration ( )
inlinevirtual

Reimplemented from ocra::Trajectory.

Definition at line 62 of file GaussianProcessTrajectory.h.

Eigen::VectorXd ocra::GaussianProcessTrajectory::getMaxCovarianceVector ( )
inline

Definition at line 59 of file GaussianProcessTrajectory.h.

double ocra::GaussianProcessTrajectory::getMaxVariance ( )
inline

Definition at line 58 of file GaussianProcessTrajectory.h.

Eigen::MatrixXd ocra::GaussianProcessTrajectory::getMeanGPData ( )

Definition at line 402 of file GaussianProcessTrajectory.cpp.

double ocra::GaussianProcessTrajectory::getMeanTime ( )
inline

Definition at line 61 of file GaussianProcessTrajectory.h.

Eigen::MatrixXd ocra::GaussianProcessTrajectory::getVarGPData ( )

Definition at line 412 of file GaussianProcessTrajectory.cpp.

Eigen::VectorXd ocra::GaussianProcessTrajectory::getVariance ( double  time)

Definition at line 358 of file GaussianProcessTrajectory.cpp.

double ocra::GaussianProcessTrajectory::getVarianceLengthParameter ( )
inline

Definition at line 60 of file GaussianProcessTrajectory.h.

Eigen::MatrixXd ocra::GaussianProcessTrajectory::getWaypointData ( )

Definition at line 392 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::initializeTrajectory ( )
protectedvirtual

Reimplemented from ocra::Trajectory.

Definition at line 18 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::printWaypointData ( )

Definition at line 51 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::removeWaypoint ( int  index)

Definition at line 464 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::saveTrajectoryToFile ( const std::string  dirPath = "./")

Definition at line 815 of file GaussianProcessTrajectory.cpp.

void ocra::GaussianProcessTrajectory::saveWaypointDataToFile ( const std::string  dirPath = "./")

Definition at line 841 of file GaussianProcessTrajectory.cpp.

bool ocra::GaussianProcessTrajectory::setBoptVariables ( const Eigen::VectorXd &  newOptVariables)

Definition at line 703 of file GaussianProcessTrajectory.cpp.

bool ocra::GaussianProcessTrajectory::setDofToOptimize ( std::vector< Eigen::VectorXi > &  dofToOptVec)

Definition at line 161 of file GaussianProcessTrajectory.cpp.

bool ocra::GaussianProcessTrajectory::setMeanWaypoints ( boolVector bMeanVec)

Definition at line 87 of file GaussianProcessTrajectory.cpp.

bool ocra::GaussianProcessTrajectory::setOptimizationWaypoints ( boolVector bOptVec)

Definition at line 140 of file GaussianProcessTrajectory.cpp.

bool ocra::GaussianProcessTrajectory::setVarianceWaypoints ( boolVector bVarVec)

Definition at line 113 of file GaussianProcessTrajectory.cpp.


The documentation for this class was generated from the following files: