Loading...
Searching...
No Matches
AtlasStateSpace.cpp
47ompl::base::AtlasStateSampler::AtlasStateSampler(const AtlasStateSpace *space) : StateSampler(space), atlas_(space)
99void ompl::base::AtlasStateSampler::sampleUniformNear(State *state, const State *near, const double dist)
150void ompl::base::AtlasStateSampler::sampleGaussian(State *state, const State *mean, const double stdDev)
200ompl::base::AtlasStateSpace::AtlasStateSpace(const StateSpacePtr &ambientSpace, const ConstraintPtr &constraint,
251ompl::base::AtlasChart *ompl::base::AtlasStateSpace::anchorChart(const ompl::base::State *state) const
318ompl::base::AtlasChart *ompl::base::AtlasStateSpace::getChart(const StateType *state, bool force, bool *created) const
370bool ompl::base::AtlasStateSpace::discreteGeodesic(const State *from, const State *to, bool interpolate,
Tangent space and bounding polytope approximating some patch of the manifold.
Definition AtlasChart.h:53
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 sampleUniform(State *state) override
Sample a state uniformly from the charted regions of the manifold. Return sample in state.
Definition AtlasStateSpace.cpp:51
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
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
A state in an atlas represented as a real vector in ambient space and a chart that it belongs to.
Definition AtlasStateSpace.h:136
ConstrainedStateSpace encapsulating a planner-agnostic atlas algorithm for planning on a constraint m...
Definition AtlasStateSpace.h:128
std::vector< StateType * > anchors_
Set of states on which there are anchored charts.
Definition AtlasStateSpace.h:386
unsigned int maxChartsPerExtension_
Maximum number of charts that can be created in one manifold traversal.
Definition AtlasStateSpace.h:420
double estimateFrontierPercent() const
Estimate what percentage of atlas charts do not have fully formed polytope boundaries,...
Definition AtlasStateSpace.cpp:499
double cos_alpha_
Cosine of the maximum angle between a chart and the manifold inside its validity region.
Definition AtlasStateSpace.h:408
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
PDF< AtlasChart * > chartPDF_
PDF of charts according to a bias function.
Definition AtlasStateSpace.h:392
void copyState(State *destination, const State *source) const override
Copy a state to another. The memory of source and destination should NOT overlap.
Definition AtlasStateSpace.h:181
void printPLY(std::ostream &out) const
Write a mesh representation of the atlas to a stream.
Definition AtlasStateSpace.cpp:508
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
AtlasChart * anchorChart(const State *state) const
Wrapper for newChart(). Charts created this way will persist through calls to clear().
Definition AtlasStateSpace.cpp:251
double epsilon_
Maximum distance between a chart and the manifold inside its validity region.
Definition AtlasStateSpace.h:402
double rho_s_
Sampling radius within a chart. Inferred from rho and exploration parameters.
Definition AtlasStateSpace.h:414
double backoff_
Step size reduction factor during manifold traversal.
Definition AtlasStateSpace.h:417
NearestNeighborsGNAT< NNElement > chartNN_
Set of chart centers and indices, accessible by nearest-neighbor queries to the chart centers.
Definition AtlasStateSpace.h:396
AtlasChartBiasFunction biasFunction_
Function to bias chart sampling.
Definition AtlasStateSpace.h:425
AtlasStateSpace(const StateSpacePtr &ambientSpace, const ConstraintPtr &constraint, bool separate=true)
Construct an atlas with the specified dimensions.
Definition AtlasStateSpace.cpp:200
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
State * allocState() const override
Allocate a new state in this space.
Definition AtlasStateSpace.h:188
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
virtual void clear()
Clear any allocated memory from the state space.
Definition ConstrainedStateSpace.cpp:261
double lambda_
Manifold traversal from x to y is stopped if accumulated distance is greater than d(x,...
Definition ConstrainedStateSpace.h:336
void interpolate(const State *from, const State *to, double t, State *state) const override
Find a state between from and to around time t, where t = 0 is from, and t = 1 is the final state rea...
Definition ConstrainedStateSpace.cpp:270
double delta_
Step size when traversing the manifold and collision checking.
Definition ConstrainedStateSpace.h:330
ConstrainedStateSpace(const StateSpacePtr &ambientSpace, const ConstraintPtr &constraint)
Construct a constrained space from an ambientSpace and a constraint.
Definition ConstrainedStateSpace.cpp:102
SpaceInformation * si_
SpaceInformation associated with this space. Required for early collision checking in manifold traver...
Definition ConstrainedStateSpace.h:318
const ConstraintPtr constraint_
Constraint function that defines the manifold.
Definition ConstrainedStateSpace.h:321
A shared pointer wrapper for ompl::base::Constraint.
A shared pointer wrapper for ompl::base::StateSpace.
void freeState(State *state) const override
Free the memory of the allocated state.
Definition WrapperStateSpace.h:315
double distance(const State *state1, const State *state2) const override
Computes distance between two states. This function satisfies the properties of a metric if isMetricS...
Definition WrapperStateSpace.h:274