Package org.robwork.sdurw_pathplanning
Class QSampler
- java.lang.Object
-
- org.robwork.sdurw_pathplanning.QSampler
-
public class QSampler extends java.lang.Object
Interface for the sampling a configuration.
-
-
Constructor Summary
Constructors Constructor Description QSampler(long cPtr, boolean cMemoryOwn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
boolean
empty()
True if the sampler is known to contain no more
configurations.static long
getCPtr(QSampler obj)
static QSamplerPtr
make(QIKSamplerPtr sampler, Transform3D target)
A sampler of IK solutions for a specific target.
static QSamplerPtr
makeBoxDirectionSampler(PairQ bounds)
Sampler of direction vectors for a box shaped configuration
space.
Each random direction vector is found by sampling a configuration
uniformly at random from bounds, and returning the vector from the
center of the box to the configuration.static QSamplerPtr
makeConstrained(QSamplerPtr sampler, QConstraintCPtr constraint)
A sampler filtered by a constraint.
For each call of sample() up to maxAttempts configurations are
extracted from sampler and checked by constraint.static QSamplerPtr
makeConstrained(QSamplerPtr sampler, QConstraintCPtr constraint, int maxAttempts)
A sampler filtered by a constraint.
For each call of sample() up to maxAttempts configurations are
extracted from sampler and checked by constraint.static QSamplerPtr
makeEmpty()
Empty sampler.static QSamplerPtr
makeFinite(VectorQ qs)
Sampler for the values of a finite sequence.
sample() returns each of the values of qs in order.static QSamplerPtr
makeFinite(QSamplerPtr sampler, int cnt)
A sampler to that returns only the first cnt samples from
another sampler.
The sampler is considered empty as soon as sampler is empty or the
sampler has been called cnt times or more.static QSamplerPtr
makeFixed(Q q)
Sampler that always returns the same configuration.
The sampler is considered never empty (empty() always returns false).static QSamplerPtr
makeNormalized(QSamplerPtr sampler, QNormalizer normalizer)
Map a sampler of standard configurations into a sampler of
normalized configurations.static QSamplerPtr
makeSingle(Q q)
Sampler that always returns a single configuration.
The sample() returns q the first time the method is called and the
empty configuration otherwise.static QSamplerPtr
makeUniform(PairQ bounds)
Uniform random sampling for a box of the configuration space.static QSamplerPtr
makeUniform(Device device)
Uniform random sampling for a device.static QSamplerPtr
makeUniform(DeviceCPtr device)
Uniform random sampling for a device.Q
sample()
Sample a configuration.
If sampling fails, the sampler may return the empty configuration.
-
-
-
Method Detail
-
getCPtr
public static long getCPtr(QSampler obj)
-
delete
public void delete()
-
sample
public Q sample()
Sample a configuration.
If sampling fails, the sampler may return the empty configuration. If
empty() is true then the sampler has no more configurations.
Otherwise sample() may (or may not) succeed if called a second time.
-
empty
public boolean empty()
True if the sampler is known to contain no more
configurations.
-
makeEmpty
public static QSamplerPtr makeEmpty()
Empty sampler.
-
makeFixed
public static QSamplerPtr makeFixed(Q q)
Sampler that always returns the same configuration.
The sampler is considered never empty (empty() always returns false).
-
makeSingle
public static QSamplerPtr makeSingle(Q q)
Sampler that always returns a single configuration.
The sample() returns q the first time the method is called and the
empty configuration otherwise. empty() returns true after the first
call of sample().
-
makeFinite
public static QSamplerPtr makeFinite(VectorQ qs)
Sampler for the values of a finite sequence.
sample() returns each of the values of qs in order. When all of
these samples have been returned, empty() returns true and sample()
returns the empty configuration.
-
makeFinite
public static QSamplerPtr makeFinite(QSamplerPtr sampler, int cnt)
A sampler to that returns only the first cnt samples from
another sampler.
The sampler is considered empty as soon as sampler is empty or the
sampler has been called cnt times or more.
-
makeUniform
public static QSamplerPtr makeUniform(PairQ bounds)
Uniform random sampling for a box of the configuration space.
-
makeUniform
public static QSamplerPtr makeUniform(Device device)
Uniform random sampling for a device.
-
makeUniform
public static QSamplerPtr makeUniform(DeviceCPtr device)
Uniform random sampling for a device.
-
makeNormalized
public static QSamplerPtr makeNormalized(QSamplerPtr sampler, QNormalizer normalizer)
Map a sampler of standard configurations into a sampler of
normalized configurations.
-
make
public static QSamplerPtr make(QIKSamplerPtr sampler, Transform3D target)
A sampler of IK solutions for a specific target.
- Parameters:
sampler
- [in] Sampler of IK solutions for target.target
- [in] Target for IK solver.
-
makeConstrained
public static QSamplerPtr makeConstrained(QSamplerPtr sampler, QConstraintCPtr constraint, int maxAttempts)
A sampler filtered by a constraint.
For each call of sample() up to maxAttempts configurations are
extracted from sampler and checked by constraint. The first
sample that satisfies the constraint is returned; if no such were
found the empty configuration is returned.
If maxAttempts is negative (this is the default), then sampler
is sampled forever until either the sampler is empty or a
configuration satisfying constraint is found.
-
makeConstrained
public static QSamplerPtr makeConstrained(QSamplerPtr sampler, QConstraintCPtr constraint)
A sampler filtered by a constraint.
For each call of sample() up to maxAttempts configurations are
extracted from sampler and checked by constraint. The first
sample that satisfies the constraint is returned; if no such were
found the empty configuration is returned.
If maxAttempts is negative (this is the default), then sampler
is sampled forever until either the sampler is empty or a
configuration satisfying constraint is found.
-
makeBoxDirectionSampler
public static QSamplerPtr makeBoxDirectionSampler(PairQ bounds)
Sampler of direction vectors for a box shaped configuration
space.
Each random direction vector is found by sampling a configuration
uniformly at random from bounds, and returning the vector from the
center of the box to the configuration. The returned direction vector
can therefore be of length zero.
-
-