AtlasStateSpace.cpp
47 ompl::base::AtlasStateSampler::AtlasStateSampler(const AtlasStateSpace *space) : StateSampler(space), atlas_(space)
99 void ompl::base::AtlasStateSampler::sampleUniformNear(State *state, const State *near, const double dist)
150 void ompl::base::AtlasStateSampler::sampleGaussian(State *state, const State *mean, const double stdDev)
200 ompl::base::AtlasStateSpace::AtlasStateSpace(const StateSpacePtr &ambientSpace, const ConstraintPtr &constraint,
213 [&](const NNElement &e1, const NNElement &e2) -> double { return distance(e1.first, e2.first); });
251 ompl::base::AtlasChart *ompl::base::AtlasStateSpace::anchorChart(const ompl::base::State *state) const
318 ompl::base::AtlasChart *ompl::base::AtlasStateSpace::getChart(const StateType *state, bool force, bool *created) const
370 bool ompl::base::AtlasStateSpace::discreteGeodesic(const State *from, const State *to, bool interpolate,
AtlasChart * newChart(const StateType *state) const
Create a new chart for the atlas, centered at xorigin, which should be on the manifold....
Definition: AtlasStateSpace.cpp:265
A state in an atlas represented as a real vector in ambient space and a chart that it belongs to.
Definition: AtlasStateSpace.h:167
A shared pointer wrapper for ompl::base::Constraint.
void psiInverse(const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::VectorXd > out) const
Logarithmic mapping. Project ambient point x onto the chart and store the result in out,...
Definition: AtlasChart.cpp:232
static void generateHalfspace(AtlasChart *c1, AtlasChart *c2)
Create two complementary halfspaces dividing the space between charts c1 and c2, and add them to the ...
Definition: AtlasChart.cpp:369
void sampleUniformNear(State *state, const State *near, double distance) override
Sample a state uniformly from the ball with center near and radius distance. Return sample in state.
Definition: AtlasStateSpace.cpp:99
virtual void clear()
Clear any allocated memory from the state space.
Definition: ConstrainedStateSpace.cpp:261
AtlasChart * anchorChart(const State *state) const
Wrapper for newChart(). Charts created this way will persist through calls to clear().
Definition: AtlasStateSpace.cpp:251
void sampleGaussian(State *state, const State *mean, double stdDev) override
Sample a state uniformly from a normal distribution with given mean and stdDev. Return sample in stat...
Definition: AtlasStateSpace.cpp:150
ConstrainedStateSpace encapsulating a planner-agnostic atlas algorithm for planning on a constraint m...
Definition: AtlasStateSpace.h:159
A StateSpace that has a Constraint imposed upon it. Underlying space functions are passed to the ambi...
Definition: ConstrainedStateSpace.h:165
Tangent space and bounding polytope approximating some patch of the manifold.
Definition: AtlasChart.h:116
void printPLY(std::ostream &out) const
Write a mesh representation of the atlas to a stream.
Definition: AtlasStateSpace.cpp:508
A shared pointer wrapper for ompl::base::StateSpace.
bool discreteGeodesic(const State *from, const State *to, bool interpolate=false, std::vector< State * > *geodesic=nullptr) const override
Traverse the manifold from from toward to. Returns true if we reached to, and false if we stopped ear...
Definition: AtlasStateSpace.cpp:370
double estimateFrontierPercent() const
Estimate what percentage of atlas charts do not have fully formed polytope boundaries,...
Definition: AtlasStateSpace.cpp:499
AtlasChart * owningChart(const StateType *state) const
Find the chart to which x belongs. Returns nullptr if no chart found. Assumes x is already on the man...
Definition: AtlasStateSpace.cpp:339
AtlasStateSpace(const StateSpacePtr &ambientSpace, const ConstraintPtr &constraint, bool separate=true)
Construct an atlas with the specified dimensions.
Definition: AtlasStateSpace.cpp:200
AtlasChart * getChart(const StateType *state, bool force=false, bool *created=nullptr) const
Wrapper to return chart state belongs to. Will attempt to initialize new chart if state does not belo...
Definition: AtlasStateSpace.cpp:318
void sampleUniform(State *state) override
Sample a state uniformly from the charted regions of the manifold. Return sample in state.
Definition: AtlasStateSpace.cpp:51