|
Aikido
|
A BoxConstraint on SE2. More...
#include <aikido/constraint/uniform/SE2BoxConstraint.hpp>
Public Member Functions | |
| SE2BoxConstraint (std::shared_ptr< const statespace::SE2 > space, std::unique_ptr< common::RNG > rng, const Eigen::Vector2d &lowerLimits, const Eigen::Vector2d &upperLimits) | |
| Constructor. More... | |
| statespace::ConstStateSpacePtr | getStateSpace () const override |
| Gets the StateSpace that this constraint operates on. More... | |
| bool | isSatisfied (const statespace::StateSpace::State *state, TestableOutcome *outcome=nullptr) const override |
| Documentation inherited. More... | |
| std::unique_ptr< TestableOutcome > | createOutcome () const override |
| Return an instance of DefaultTestableOutcome, since this class doesn't have a more specialized TestableOutcome derivative assigned to it. More... | |
| bool | project (const statespace::StateSpace::State *s, statespace::StateSpace::State *out) const override |
| Projection _s to _out. More... | |
| std::unique_ptr< constraint::SampleGenerator > | createSampleGenerator () const override |
| Creates a SampleGenerator for sampling from this constraint. More... | |
| Eigen::Vector2d | getLowerLimits () const |
| Returns lower limits of this constraint. More... | |
| Eigen::Vector2d | getUpperLimits () const |
| Returns upper limits of this constraint. More... | |
Public Member Functions inherited from aikido::constraint::Projectable | |
| virtual | ~Projectable ()=default |
| virtual bool | project (statespace::StateSpace::State *_s) const |
| Performs an in-place projection. More... | |
Public Member Functions inherited from aikido::constraint::Sampleable | |
| virtual | ~Sampleable ()=default |
Public Member Functions inherited from aikido::constraint::Testable | |
| virtual | ~Testable ()=default |
Private Attributes | |
| std::shared_ptr< const statespace::SE2 > | mSpace |
| std::unique_ptr< common::RNG > | mRng |
| Eigen::Vector3d | mLowerLimits |
| Lower limits on the state. More... | |
| Eigen::Vector3d | mUpperLimits |
| Upper limits on the state. More... | |
| std::size_t | mRnDimension |
| std::size_t | mDimension |
A BoxConstraint on SE2.
This class does not allow constraint on rotation. For each dimension x and y, this constraint has lowerLimit and upperLimit.
| aikido::constraint::uniform::SE2BoxConstraint::SE2BoxConstraint | ( | std::shared_ptr< const statespace::SE2 > | space, |
| std::unique_ptr< common::RNG > | rng, | ||
| const Eigen::Vector2d & | lowerLimits, | ||
| const Eigen::Vector2d & | upperLimits | ||
| ) |
Constructor.
| space | Space in which this constraint operates. |
| rng | Random number generator to be used for sampling. |
| lowerLimits | Lower limits on the state, only on x and y. |
| upperLimits | Upper limits on the state, only on x and y. |
|
overridevirtual |
Return an instance of DefaultTestableOutcome, since this class doesn't have a more specialized TestableOutcome derivative assigned to it.
Implements aikido::constraint::Testable.
|
overridevirtual |
Creates a SampleGenerator for sampling from this constraint.
Implements aikido::constraint::Sampleable.
| Eigen::Vector2d aikido::constraint::uniform::SE2BoxConstraint::getLowerLimits | ( | ) | const |
Returns lower limits of this constraint.
|
overridevirtual |
Gets the StateSpace that this constraint operates on.
Implements aikido::constraint::Projectable.
| Eigen::Vector2d aikido::constraint::uniform::SE2BoxConstraint::getUpperLimits | ( | ) | const |
Returns upper limits of this constraint.
|
overridevirtual |
Documentation inherited.
Implements aikido::constraint::Testable.
|
overridevirtual |
Projection _s to _out.
Returns false if projection cannot be done.
| _s | state to be projected. |
| _out | resulting projection. |
Implements aikido::constraint::Projectable.
|
private |
|
private |
Lower limits on the state.
The first two elements encode the translational limits and the last element encodes the rotational limit.
|
private |
|
private |
|
private |
|
private |
Upper limits on the state.
The first two elements encode the translational limits and the last element encodes the rotational limit.