Aikido
|
A differentiable constraint applied only on a subspace of a CompoundState. More...
#include <aikido/constraint/DifferentiableSubspace.hpp>
Public Member Functions | |
DifferentiableSubspace (std::shared_ptr< const statespace::CartesianProduct > _stateSpace, DifferentiablePtr _constraint, std::size_t _index) | |
Apply _constraint to the i-th subspace of _stateSpace. More... | |
virtual | ~DifferentiableSubspace ()=default |
statespace::ConstStateSpacePtr | getStateSpace () const override |
Gets the StateSpace that this constraint operates on. More... | |
std::vector< ConstraintType > | getConstraintTypes () const override |
Returns a vector of constraints' types, i-th element correspoinding to the type of i-th constraint. More... | |
std::size_t | getConstraintDimension () const override |
Size of constraints. More... | |
void | getValue (const statespace::StateSpace::State *_s, Eigen::VectorXd &_out) const override |
Get the value of constraints at _s. More... | |
void | getJacobian (const statespace::StateSpace::State *_s, Eigen::MatrixXd &_out) const override |
Get the jacobian of constraints evaluated at _s, expressed in the frame each state space is expressed in). More... | |
void | getValueAndJacobian (const statespace::StateSpace::State *_s, Eigen::VectorXd &_val, Eigen::MatrixXd &_jac) const override |
Get both Value and Jacobian. More... | |
![]() | |
virtual | ~Differentiable ()=default |
Destructor. More... | |
Private Attributes | |
std::shared_ptr< const statespace::CartesianProduct > | mStateSpace |
DifferentiablePtr | mConstraint |
std::size_t | mIndex |
A differentiable constraint applied only on a subspace of a CompoundState.
aikido::constraint::DifferentiableSubspace::DifferentiableSubspace | ( | std::shared_ptr< const statespace::CartesianProduct > | _stateSpace, |
DifferentiablePtr | _constraint, | ||
std::size_t | _index | ||
) |
Apply _constraint to the i-th subspace of _stateSpace.
_stateSpace | CartesianProduct. |
_constraint | Constraint being applied. |
_index | Subspace of _stateSpace to apply _constraint. |
|
virtualdefault |
|
overridevirtual |
Size of constraints.
Implements aikido::constraint::Differentiable.
|
overridevirtual |
Returns a vector of constraints' types, i-th element correspoinding to the type of i-th constraint.
Implements aikido::constraint::Differentiable.
|
overridevirtual |
Get the jacobian of constraints evaluated at _s, expressed in the frame each state space is expressed in).
_s | State to be evaluated at. | |
[out] | _out | Jacobian matrix. The dimension should be the following: SO3 StateSpace : m x 3 SO2 : m x 1 SE2 : m x 3 SE3 : m x 6 Rn : m x n CartesianProduct: m x k (k = sum of all state jacobian cols) If Matrix of incorrect dimension is given, false will be returned. |
Implements aikido::constraint::Differentiable.
|
overridevirtual |
Gets the StateSpace that this constraint operates on.
Implements aikido::constraint::Differentiable.
|
overridevirtual |
Get the value of constraints at _s.
Should be 0 to satisfy equality constraints. Should be <=0 to satisfy inequality constraints.
_s | State to be evaluated at. | |
[out] | _out | Vector to store the value. Length should match the number of constraints. |
Implements aikido::constraint::Differentiable.
|
overridevirtual |
Get both Value and Jacobian.
_s | State to be evaluated. | |
[out] | _val | Value of constraints. |
[out] | _jac | Jacoiban of constraints. |
Reimplemented from aikido::constraint::Differentiable.
|
private |
|
private |
|
private |