Robotics Library  0.7.0
NloptInverseKinematics.h
Go to the documentation of this file.
1 #ifndef RL_MDL_NLOPTINVERSEKINEMATICS_H
2 #define RL_MDL_NLOPTINVERSEKINEMATICS_H
3 
4 #include <chrono>
5 #include <nlopt.h>
6 #include <random>
7 #include <utility>
8 
9 #include "InverseKinematics.h"
10 
11 namespace rl
12 {
13  namespace mdl
14  {
16  {
17  public:
19 
20  virtual ~NloptInverseKinematics();
21 
22  bool solve();
23 
25 
26  ::std::chrono::nanoseconds duration;
27 
29 
31 
32  double tolerance;
33 
34  protected:
35 
36  private:
37  static void check(const nlopt_result& ret);
38 
40 
41  static ::rl::math::Real f(unsigned n, const double* x, double* grad, void* data);
42 
43  ::std::uniform_real_distribution< ::rl::math::Real> randDistribution;
44 
45  ::std::mt19937 randEngine;
46  };
47  }
48 }
49 
50 #endif // RL_MDL_NLOPTINVERSEKINEMATICS_H
rl::mdl::NloptInverseKinematics::epsilonTranslation
::rl::math::Real epsilonTranslation
Definition: NloptInverseKinematics.h:30
rl::mdl::NloptInverseKinematics
Definition: NloptInverseKinematics.h:16
rl::mdl::NloptInverseKinematics::NloptInverseKinematics
NloptInverseKinematics(Kinematic *kinematic)
Definition: NloptInverseKinematics.cpp:10
rl::mdl::NloptInverseKinematics::error
::rl::math::Real error(const ::rl::math::Vector &q)
Definition: NloptInverseKinematics.cpp:46
rl::mdl::Kinematic
Definition: Kinematic.h:39
rl::mdl::NloptInverseKinematics::delta
::rl::math::Real delta
Definition: NloptInverseKinematics.h:24
rl::math::Vector
::Eigen::Matrix< Real, ::Eigen::Dynamic, 1 > Vector
Definition: Vector.h:42
InverseKinematics.h
rl::mdl::NloptInverseKinematics::epsilonRotation
::rl::math::Real epsilonRotation
Definition: NloptInverseKinematics.h:28
rl::mdl::InverseKinematics::kinematic
Kinematic * kinematic
Definition: InverseKinematics.h:25
rl::mdl::NloptInverseKinematics::randEngine
::std::mt19937 randEngine
Definition: NloptInverseKinematics.h:45
rl::mdl::NloptInverseKinematics::randDistribution
::std::uniform_real_distribution< ::rl::math::Real > randDistribution
Definition: NloptInverseKinematics.h:43
rl::mdl::NloptInverseKinematics::solve
bool solve()
Definition: NloptInverseKinematics.cpp:107
rl::mdl::NloptInverseKinematics::duration
::std::chrono::nanoseconds duration
Definition: NloptInverseKinematics.h:26
rl::mdl::NloptInverseKinematics::f
::rl::math::Real f(unsigned n, const double *x, double *grad, void *data)
Definition: NloptInverseKinematics.cpp:73
rl::mdl::NloptInverseKinematics::~NloptInverseKinematics
virtual ~NloptInverseKinematics()
Definition: NloptInverseKinematics.cpp:22
rl::mdl::InverseKinematics
Definition: InverseKinematics.h:14
rl::mdl::NloptInverseKinematics::tolerance
double tolerance
Definition: NloptInverseKinematics.h:32
rl::mdl::NloptInverseKinematics::check
static void check(const nlopt_result &ret)
Definition: NloptInverseKinematics.cpp:27
rl::math::Real
double Real
Definition: Real.h:42
rl
Robotics Library.
Definition: AnalogInput.cpp:30