Aikido
Trajectory.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_TRAJECTORY_TRAJECTORY_HPP_
2 #define AIKIDO_TRAJECTORY_TRAJECTORY_HPP_
3 
4 #include <Eigen/Core>
5 
9 
10 namespace aikido {
11 namespace trajectory {
12 
14 
15 class Trajectory
21 {
22 public:
23  virtual ~Trajectory() = default;
24 
29 
35  virtual std::size_t getNumDerivatives() const = 0;
36 
40  virtual double getDuration() const = 0;
41 
45  virtual double getStartTime() const = 0;
46 
51  virtual double getEndTime() const = 0;
52 
60  virtual void evaluate(
61  double _t, statespace::StateSpace::State* _state) const = 0;
62 
72  virtual void evaluateDerivative(
73  double _t, int _derivative, Eigen::VectorXd& _tangentVector) const = 0;
74 
76  // TODO: Is metadata required anymore? Delete if not.
78 };
79 
80 } // namespace trajectory
81 } // namespace aikido
82 
83 #endif // ifndef AIKIDO_TRAJECTORY_TRAJECTORY_HPP_
aikido::trajectory::Trajectory::~Trajectory
virtual ~Trajectory()=default
aikido::trajectory::Trajectory::getEndTime
virtual double getEndTime() const =0
Time at which the trajectory ends.
aikido::trajectory::Trajectory::getStartTime
virtual double getStartTime() const =0
Time at which the trajectory starts.
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::trajectory::TrajectoryMetadata
Definition: TrajectoryMetadata.hpp:7
aikido::trajectory::Trajectory::getDuration
virtual double getDuration() const =0
Duration of the trajectory.
StateSpace.hpp
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::trajectory::Trajectory::getStateSpace
virtual statespace::ConstStateSpacePtr getStateSpace() const =0
Gets the StateSpace that this trajectory is defined in.
pointers.hpp
TrajectoryMetadata.hpp
aikido::trajectory::Trajectory::evaluate
virtual void evaluate(double _t, statespace::StateSpace::State *_state) const =0
Evaluates the state of the trajectory at time _t and store the result in a _state allocated by getSta...
aikido::trajectory::Trajectory::evaluateDerivative
virtual void evaluateDerivative(double _t, int _derivative, Eigen::VectorXd &_tangentVector) const =0
Evaluates the derivative of the trajectory at time _t.
aikido::trajectory::Trajectory::getNumDerivatives
virtual std::size_t getNumDerivatives() const =0
Gets an upper bound on the number of non-zero derivatives available in this parameterization.
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
AIKIDO_DECLARE_POINTERS
#define AIKIDO_DECLARE_POINTERS(X)
Definition: pointers.hpp:21
aikido::trajectory::Trajectory
Time-parameterized path in a StateSpace.
Definition: Trajectory.hpp:20
aikido::trajectory::Trajectory::metadata
TrajectoryMetadata metadata
Trajectory metadata.
Definition: Trajectory.hpp:77