Aikido
GeodesicInterpolator.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_STATESPACE_GEODESICINTERPOLATOR_HPP_
2 #define AIKIDO_STATESPACE_GEODESICINTERPOLATOR_HPP_
5 
6 namespace aikido {
7 namespace statespace {
8 
13 {
14 public:
19 
20  virtual ~GeodesicInterpolator() = default;
21 
22  // Documentation inherited.
23  ConstStateSpacePtr getStateSpace() const override;
24 
25  // Documentation inherited.
26  std::size_t getNumDerivatives() const override;
27 
37  Eigen::VectorXd getTangentVector(
38  const statespace::StateSpace::State* _from,
39  const statespace::StateSpace::State* _to) const;
40 
41  // Documentation inherited.
42  void interpolate(
43  const statespace::StateSpace::State* _from,
45  double _alpha,
46  statespace::StateSpace::State* _state) const override;
47 
48  // Documentation inherited.
49  void getDerivative(
50  const statespace::StateSpace::State* _from,
52  std::size_t _derivative,
53  double _alpha,
54  Eigen::VectorXd& _tangentVector) const override;
55 
56 private:
58 };
59 
60 } // namespace statespace
61 } // namespace aikido
62 
63 #endif // ifndef AIKIDO_STATESPACE_GEODESICINTERPOLATOR_HPP_
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::statespace::GeodesicInterpolator::~GeodesicInterpolator
virtual ~GeodesicInterpolator()=default
aikido::statespace::GeodesicInterpolator::mStateSpace
statespace::ConstStateSpacePtr mStateSpace
Definition: GeodesicInterpolator.hpp:57
StateSpace.hpp
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::statespace::GeodesicInterpolator::getNumDerivatives
std::size_t getNumDerivatives() const override
Upper bound on the number of non-zero derivatives.
aikido::statespace::GeodesicInterpolator::getTangentVector
Eigen::VectorXd getTangentVector(const statespace::StateSpace::State *_from, const statespace::StateSpace::State *_to) const
Gets the tangent vector that defines the geodesic, scaled such that:
aikido::statespace::GeodesicInterpolator::getDerivative
void getDerivative(const statespace::StateSpace::State *_from, const statespace::StateSpace::State *_to, std::size_t _derivative, double _alpha, Eigen::VectorXd &_tangentVector) const override
Computes the _derivative-th derivative of the path at path parameter _alpha between _from and _to.
aikido::statespace::GeodesicInterpolator
Interpolate by parallel transport along a geodesic between two states in a Lie group with an affine c...
Definition: GeodesicInterpolator.hpp:12
aikido::statespace::GeodesicInterpolator::getStateSpace
ConstStateSpacePtr getStateSpace() const override
Gets the StateSpace on which this Interpolator operates.
aikido::statespace::GeodesicInterpolator::GeodesicInterpolator
GeodesicInterpolator(statespace::ConstStateSpacePtr _stateSpace)
Constructs a GeodesicInterpolator for _stateSpace.
aikido::statespace::Interpolator
Method of interpolating between two states in a StateSpace.
Definition: Interpolator.hpp:15
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
aikido::statespace::GeodesicInterpolator::interpolate
void interpolate(const statespace::StateSpace::State *_from, const statespace::StateSpace::State *_to, double _alpha, statespace::StateSpace::State *_state) const override
Computes the state that lies at path parameter _alpha along the path that connects _from to _to.
Interpolator.hpp