Aikido
|
A differentiable constraint. More...
#include <aikido/constraint/Differentiable.hpp>
Public Member Functions | |
virtual | ~Differentiable ()=default |
Destructor. More... | |
virtual statespace::ConstStateSpacePtr | getStateSpace () const =0 |
Gets the StateSpace that this constraint operates on. More... | |
virtual std::vector< ConstraintType > | getConstraintTypes () const =0 |
Returns a vector of constraints' types, i-th element correspoinding to the type of i-th constraint. More... | |
virtual std::size_t | getConstraintDimension () const =0 |
Size of constraints. More... | |
virtual void | getValue (const statespace::StateSpace::State *_s, Eigen::VectorXd &_out) const =0 |
Get the value of constraints at _s. More... | |
virtual void | getJacobian (const statespace::StateSpace::State *_s, Eigen::MatrixXd &_out) const =0 |
Get the jacobian of constraints evaluated at _s, expressed in the frame each state space is expressed in). More... | |
virtual void | getValueAndJacobian (const statespace::StateSpace::State *_s, Eigen::VectorXd &_val, Eigen::MatrixXd &_jac) const |
Get both Value and Jacobian. More... | |
A differentiable constraint.
Contains n constraints that can be evaluated in real-value.
|
virtualdefault |
Destructor.
|
pure virtual |
Size of constraints.
Implemented in aikido::constraint::dart::TSR, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::dart::FramePairDifferentiable, aikido::constraint::dart::FrameDifferentiable, aikido::constraint::DifferentiableSubspace, aikido::constraint::Satisfied, and aikido::constraint::DifferentiableIntersection.
|
pure virtual |
Returns a vector of constraints' types, i-th element correspoinding to the type of i-th constraint.
Implemented in aikido::constraint::dart::TSR, aikido::constraint::dart::FrameDifferentiable, aikido::constraint::dart::FramePairDifferentiable, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::DifferentiableIntersection, aikido::constraint::Satisfied, and aikido::constraint::DifferentiableSubspace.
|
pure virtual |
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. |
Implemented in aikido::constraint::dart::TSR, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::Satisfied, aikido::constraint::dart::FramePairDifferentiable, aikido::constraint::dart::FrameDifferentiable, aikido::constraint::DifferentiableSubspace, and aikido::constraint::DifferentiableIntersection.
|
pure virtual |
Gets the StateSpace that this constraint operates on.
Implemented in aikido::constraint::dart::TSR, aikido::constraint::dart::FrameDifferentiable, aikido::constraint::dart::FramePairDifferentiable, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::DifferentiableIntersection, aikido::constraint::DifferentiableSubspace, and aikido::constraint::Satisfied.
|
pure virtual |
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. |
Implemented in aikido::constraint::dart::TSR, aikido::constraint::uniform::RBoxConstraint< N >, aikido::constraint::Satisfied, aikido::constraint::dart::FramePairDifferentiable, aikido::constraint::dart::FrameDifferentiable, aikido::constraint::DifferentiableSubspace, and aikido::constraint::DifferentiableIntersection.
|
virtual |
Get both Value and Jacobian.
_s | State to be evaluated. | |
[out] | _val | Value of constraints. |
[out] | _jac | Jacoiban of constraints. |
Reimplemented in aikido::constraint::dart::FrameDifferentiable, aikido::constraint::dart::FramePairDifferentiable, aikido::constraint::DifferentiableSubspace, and aikido::constraint::DifferentiableIntersection.