Class TangentBundleSpaceInformation

Inheritance Relationships

Base Type

Class Documentation

class TangentBundleSpaceInformation : public ompl::base::ConstrainedSpaceInformation

Space information for a tangent bundle-based state space. Implements more direct for getting motion states and checking motion, as the lazy approach requires post-processing.

Public Functions

inline TangentBundleSpaceInformation(StateSpacePtr space)

Constructor. Sets the instance of the state space to plan with.

inline virtual unsigned int getMotionStates(const State *s1, const State *s2, std::vector<State*> &states, unsigned int, bool, bool) const override

Get count states that make up a motion between s1 and s2. Returns the number of states that were added to states. Uses the constrained state space’s manifold traversal method to obtain states. Will always allocate states. As tangent bundle is lazy, the states are projected onto the manifold so that they satisfy constraints.

Otherwise, fewer states can be returned.

Parameters:
  • s1 – the start state of the considered motion

  • s2 – the end state of the considered motion

  • states – the computed set of states along the specified motion

  • count – is currently ignored

  • endpoints – flag indicating whether s1 and s2 are to be included in states

  • alloc – is currently ignored

inline virtual bool checkMotion(const State *s1, const State *s2, std::pair<State*, double> &lastValid) const override

Incrementally check if the path between two motions is valid. Also compute the last state that was valid and the time of that state. The time is used to parametrize the motion from s1 to s2, s1 being at t = 0 and s2 being at t = 1. This function assumes s1 is valid. As tangent bundle is lazy, the last valid state is projected onto the manifold.

Parameters:
  • s1 – start state of the motion to be checked (assumed to be valid)

  • s2 – final state of the motion to be checked

  • lastValid – first: storage for the last valid state (may be nullptr); this need not be different from s1 or s2. second: the time (between 0 and 1) of the last valid state, on the motion from s1 to s2