Aikido
|
Uses Newton's method to project state. More...
#include <aikido/constraint/NewtonsMethodProjectable.hpp>
Public Member Functions | |
NewtonsMethodProjectable (DifferentiablePtr _differentiable, std::vector< double > _tolerance, int _maxIteration=1000, double _minStepSize=1e-5) | |
Constructor. More... | |
bool | project (const statespace::StateSpace::State *_s, statespace::StateSpace::State *_out) const override |
Projection _s to _out. More... | |
statespace::ConstStateSpacePtr | getStateSpace () const override |
Gets the StateSpace that this constraint operates on. More... | |
![]() | |
virtual | ~Projectable ()=default |
virtual bool | project (statespace::StateSpace::State *_s) const |
Performs an in-place projection. More... | |
Private Member Functions | |
bool | contains (const statespace::StateSpace::State *_s) const |
Private Attributes | |
DifferentiablePtr | mDifferentiable |
std::vector< double > | mTolerance |
int | mMaxIteration |
double | mMinStepSize |
statespace::ConstStateSpacePtr | mStateSpace |
Uses Newton's method to project state.
aikido::constraint::NewtonsMethodProjectable::NewtonsMethodProjectable | ( | DifferentiablePtr | _differentiable, |
std::vector< double > | _tolerance, | ||
int | _maxIteration = 1000 , |
||
double | _minStepSize = 1e-5 |
||
) |
Constructor.
_differentiable | Differentiable constraint to be projected. |
_tolerance | Tolerances for checking whether the constraints are been satisfied. e.g. For equality, |_differentiable->getValue(state)| <= tolerance The size of tolerances should match _differentiable's constraint dimension. |
_maxIteration | Max iteration for Newton's method. |
_minStepSize | Minimum step size to be taken in Newton's method. |
|
private |
|
overridevirtual |
Gets the StateSpace that this constraint operates on.
Implements aikido::constraint::Projectable.
|
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 |
|
private |
|
private |
|
private |