Aikido
NewtonsMethodProjectable.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_CONSTRAINT_NEWTONSMETHODPROJECTABLE_HPP_
2 #define AIKIDO_CONSTRAINT_NEWTONSMETHODPROJECTABLE_HPP_
3 
4 #include <Eigen/Dense>
5 
8 
9 namespace aikido {
10 namespace constraint {
11 
14 {
15 public:
26  DifferentiablePtr _differentiable,
27  std::vector<double> _tolerance,
28  int _maxIteration = 1000,
29  double _minStepSize = 1e-5);
30 
31  // Documentation inherited.
32  bool project(
34  statespace::StateSpace::State* _out) const override;
35 
36  // Documentation inherited.
38 
39 private:
41  std::vector<double> mTolerance;
43  double mMinStepSize;
45 
46  bool contains(const statespace::StateSpace::State* _s) const;
47 };
48 
49 } // namespace constraint
50 } // namespace aikido
51 
52 #endif
aikido::constraint::NewtonsMethodProjectable::mMaxIteration
int mMaxIteration
Definition: NewtonsMethodProjectable.hpp:42
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
Differentiable.hpp
aikido::statespace::ConstStateSpacePtr
std::shared_ptr< const StateSpace > ConstStateSpacePtr
Definition: StateSpace.hpp:15
aikido::constraint::Projectable
A projectable constraint.
Definition: Projectable.hpp:12
Projectable.hpp
aikido::constraint::DifferentiablePtr
std::shared_ptr< Differentiable > DifferentiablePtr
Definition: Differentiable.hpp:14
aikido::constraint::NewtonsMethodProjectable::getStateSpace
statespace::ConstStateSpacePtr getStateSpace() const override
Gets the StateSpace that this constraint operates on.
aikido::constraint::NewtonsMethodProjectable::mStateSpace
statespace::ConstStateSpacePtr mStateSpace
Definition: NewtonsMethodProjectable.hpp:44
aikido::constraint::NewtonsMethodProjectable::contains
bool contains(const statespace::StateSpace::State *_s) const
aikido::constraint::NewtonsMethodProjectable::NewtonsMethodProjectable
NewtonsMethodProjectable(DifferentiablePtr _differentiable, std::vector< double > _tolerance, int _maxIteration=1000, double _minStepSize=1e-5)
Constructor.
aikido::statespace::StateSpace::State
Definition: StateSpace.hpp:167
aikido::constraint::NewtonsMethodProjectable
Uses Newton's method to project state.
Definition: NewtonsMethodProjectable.hpp:13
aikido::constraint::NewtonsMethodProjectable::project
bool project(const statespace::StateSpace::State *_s, statespace::StateSpace::State *_out) const override
Projection _s to _out.
aikido::constraint::NewtonsMethodProjectable::mMinStepSize
double mMinStepSize
Definition: NewtonsMethodProjectable.hpp:43
aikido::constraint::NewtonsMethodProjectable::mDifferentiable
DifferentiablePtr mDifferentiable
Definition: NewtonsMethodProjectable.hpp:40
aikido::constraint::NewtonsMethodProjectable::mTolerance
std::vector< double > mTolerance
Definition: NewtonsMethodProjectable.hpp:41