| 
    Aikido
    
   | 
 
Interpolate by parallel transport along a geodesic between two states in a Lie group with an affine connection. More...
#include <aikido/statespace/GeodesicInterpolator.hpp>
  
Public Member Functions | |
| GeodesicInterpolator (statespace::ConstStateSpacePtr _stateSpace) | |
Constructs a GeodesicInterpolator for _stateSpace.  More... | |
| virtual | ~GeodesicInterpolator ()=default | 
| ConstStateSpacePtr | getStateSpace () const override | 
Gets the StateSpace on which this Interpolator operates.  More... | |
| std::size_t | getNumDerivatives () const override | 
| Upper bound on the number of non-zero derivatives.  More... | |
| 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:  More... | |
| 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.  More... | |
| 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.  More... | |
  Public Member Functions inherited from aikido::statespace::Interpolator | |
| virtual | ~Interpolator ()=default | 
Private Attributes | |
| statespace::ConstStateSpacePtr | mStateSpace | 
Interpolate by parallel transport along a geodesic between two states in a Lie group with an affine connection.
The geodesic is defined by a single tangent vector that remains constant during interpolation.
      
  | 
  explicit | 
Constructs a GeodesicInterpolator for _stateSpace. 
| _stateSpace | used for interpolation | 
      
  | 
  virtualdefault | 
      
  | 
  overridevirtual | 
Computes the _derivative-th derivative of the path at path parameter _alpha between _from and _to. 
The output is an element of the tangent space in the local (i.e. "body") frame.
| _from | start state in getStateSpace()  | |
| _to | end state in getStateSpace()  | |
| _derivative | order of the derivative to compute | |
| _alpha | path parameter in the range [0, 1] | |
| [out] | _tangentVector | output element of the tangent space | 
Implements aikido::statespace::Interpolator.
      
  | 
  overridevirtual | 
Upper bound on the number of non-zero derivatives.
Implements aikido::statespace::Interpolator.
      
  | 
  overridevirtual | 
Gets the StateSpace on which this Interpolator operates. 
Implements aikido::statespace::Interpolator.
| Eigen::VectorXd aikido::statespace::GeodesicInterpolator::getTangentVector | ( | const statespace::StateSpace::State * | _from, | 
| const statespace::StateSpace::State * | _to | ||
| ) | const | 
Gets the tangent vector that defines the geodesic, scaled such that:
| _from | start state in getStateSpace()  | 
| _to | goal state in getStateSpace()  | 
      
  | 
  overridevirtual | 
Computes the state that lies at path parameter _alpha along the path that connects _from to _to. 
By definition interpolate(0) is _from and interpolate(1) is _to. The memory location of _state must differ from the memory locations of _from and _to.
| _from | start state in getStateSpace()  | |
| _to | end state in getStateSpace()  | |
| _alpha | path parameter in the range [0, 1] | |
| [out] | _state | output interpolated state | 
Implements aikido::statespace::Interpolator.
      
  | 
  private |