Aikido
GradientDescentIk.hpp
Go to the documentation of this file.
1 #ifndef AIKIDO_ROBOT_IK_GRADIENTDESCENTIK_HPP_
2 #define AIKIDO_ROBOT_IK_GRADIENTDESCENTIK_HPP_
3 
4 #include <vector>
5 
6 #include <Eigen/Dense>
7 #include <dart/dart.hpp>
8 
12 
13 namespace aikido {
14 namespace robot {
15 
17 // configurations.
19 {
20 public:
22  ::dart::dynamics::MetaSkeletonPtr arm,
23  ::dart::dynamics::BodyNodePtr endEffector,
25  common::RNG* rng);
26 
27  // Documentation inherited.
28  std::vector<Eigen::VectorXd> getSolutions(
29  const Eigen::Isometry3d& targetPose,
30  const size_t maxSolutions) const override;
31 
32 private:
33  ::dart::dynamics::MetaSkeletonPtr mArm;
34  ::dart::dynamics::BodyNodePtr mEndEffector;
36 
37  std::shared_ptr<aikido::constraint::Sampleable> mSeedConfigSampleable;
38  ::dart::dynamics::InverseKinematicsPtr mDartIkSolver;
39 };
40 
41 } // namespace robot
42 } // namespace aikido
43 
44 #endif // AIKIDO_ROBOT_IK_GRADIENTDESCENTIK_HPP_
aikido::statespace::dart::ConstMetaSkeletonStateSpacePtr
std::shared_ptr< const MetaSkeletonStateSpace > ConstMetaSkeletonStateSpacePtr
Definition: MetaSkeletonStateSpace.hpp:17
aikido::robot::GradientDescentIk::GradientDescentIk
GradientDescentIk(::dart::dynamics::MetaSkeletonPtr arm, ::dart::dynamics::BodyNodePtr endEffector, statespace::dart::ConstMetaSkeletonStateSpacePtr armSpace, common::RNG *rng)
aikido
Format of serialized trajectory in YAML.
Definition: algorithm.hpp:4
aikido::robot::GradientDescentIk::mArmSpace
statespace::dart::ConstMetaSkeletonStateSpacePtr mArmSpace
Definition: GradientDescentIk.hpp:35
aikido::robot::GradientDescentIk
Optimization-based IK solver that uses gradient descent from random seed.
Definition: GradientDescentIk.hpp:18
aikido::robot::GradientDescentIk::mDartIkSolver
::dart::dynamics::InverseKinematicsPtr mDartIkSolver
Definition: GradientDescentIk.hpp:38
Sampleable.hpp
InverseKinematics.hpp
aikido::common::RNG
Implementation of the C++11 "random engine" concept that uses virtual function calls to erase the typ...
Definition: RNG.hpp:24
aikido::robot::GradientDescentIk::getSolutions
std::vector< Eigen::VectorXd > getSolutions(const Eigen::Isometry3d &targetPose, const size_t maxSolutions) const override
Returns a set of IK solutions for the given pose.
aikido::robot::GradientDescentIk::mSeedConfigSampleable
std::shared_ptr< aikido::constraint::Sampleable > mSeedConfigSampleable
Definition: GradientDescentIk.hpp:37
aikido::robot::GradientDescentIk::mArm
::dart::dynamics::MetaSkeletonPtr mArm
Definition: GradientDescentIk.hpp:33
MetaSkeletonStateSpace.hpp
aikido::robot::GradientDescentIk::mEndEffector
::dart::dynamics::BodyNodePtr mEndEffector
Definition: GradientDescentIk.hpp:34
aikido::robot::InverseKinematics
Interface for IK solvers used with the Robot class.
Definition: InverseKinematics.hpp:8