Aikido
|
Optimization-based IK solver that uses gradient descent from random seed. More...
#include <aikido/robot/GradientDescentIk.hpp>
Public Member Functions | |
GradientDescentIk (::dart::dynamics::MetaSkeletonPtr arm, ::dart::dynamics::BodyNodePtr endEffector, statespace::dart::ConstMetaSkeletonStateSpacePtr armSpace, common::RNG *rng) | |
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. More... | |
Private Attributes | |
::dart::dynamics::MetaSkeletonPtr | mArm |
::dart::dynamics::BodyNodePtr | mEndEffector |
statespace::dart::ConstMetaSkeletonStateSpacePtr | mArmSpace |
std::shared_ptr< aikido::constraint::Sampleable > | mSeedConfigSampleable |
::dart::dynamics::InverseKinematicsPtr | mDartIkSolver |
Optimization-based IK solver that uses gradient descent from random seed.
aikido::robot::GradientDescentIk::GradientDescentIk | ( | ::dart::dynamics::MetaSkeletonPtr | arm, |
::dart::dynamics::BodyNodePtr | endEffector, | ||
statespace::dart::ConstMetaSkeletonStateSpacePtr | armSpace, | ||
common::RNG * | rng | ||
) |
|
overridevirtual |
Returns a set of IK solutions for the given pose.
Note that at most maxSolutions
solutions are returned, but fewer may be (and possibly none if solving fails).
targetPose | End-effector pose to solve inverse kinematics for. |
maxSolutions | Upper limit on how many solutions to find and return. |
Implements aikido::robot::InverseKinematics.
|
private |
|
private |
|
private |
|
private |
|
private |