Aikido
aikido::constraint::dart::InverseKinematicsSampleable Class Reference

Transforms a SE3-Sampleable into a MetaSkeleton-Sampleable that samples a configuration of a metaskeleton. More...

#include <aikido/constraint/dart/InverseKinematicsSampleable.hpp>

Inheritance diagram for aikido::constraint::dart::InverseKinematicsSampleable:
aikido::constraint::Sampleable

Public Member Functions

 InverseKinematicsSampleable (statespace::dart::ConstMetaSkeletonStateSpacePtr _metaSkeletonStateSpace, ::dart::dynamics::MetaSkeletonPtr _metaskeleton, SampleablePtr _poseConstraint, SampleablePtr _seedConstraint, ::dart::dynamics::InverseKinematicsPtr _inverseKinematics, int _maxNumTrials)
 Constructor. More...
 
virtual ~InverseKinematicsSampleable ()=default
 
statespace::ConstStateSpacePtr getStateSpace () const override
 Gets the StateSpace that this constraint operates on. More...
 
std::unique_ptr< SampleGeneratorcreateSampleGenerator () const override
 Creates a SampleGenerator for sampling from this constraint. More...
 
- Public Member Functions inherited from aikido::constraint::Sampleable
virtual ~Sampleable ()=default
 

Private Attributes

statespace::dart::ConstMetaSkeletonStateSpacePtr mMetaSkeletonStateSpace
 
::dart::dynamics::MetaSkeletonPtr mMetaSkeleton
 
SampleablePtr mPoseConstraint
 
SampleablePtr mSeedConstraint
 
::dart::dynamics::InverseKinematicsPtr mInverseKinematics
 
int mMaxNumTrials
 

Detailed Description

Transforms a SE3-Sampleable into a MetaSkeleton-Sampleable that samples a configuration of a metaskeleton.

This samples a pose from a sampleable constraint and uses an inverse kinematics solver to "lift" that pose into the metaskeleton's configuration space. This class will retry a configurable number of times if sampling from the provided sampleable pose constraint or finding an inverse kinematic solution fails.

Constructor & Destructor Documentation

◆ InverseKinematicsSampleable()

aikido::constraint::dart::InverseKinematicsSampleable::InverseKinematicsSampleable ( statespace::dart::ConstMetaSkeletonStateSpacePtr  _metaSkeletonStateSpace,
::dart::dynamics::MetaSkeletonPtr  _metaskeleton,
SampleablePtr  _poseConstraint,
SampleablePtr  _seedConstraint,
::dart::dynamics::InverseKinematicsPtr  _inverseKinematics,
int  _maxNumTrials 
)

Constructor.

Parameters
_metaSkeletonStateSpaceStateSpace of a skeleton one of whose frame is being constrained by _poseConstraint.
_metaskeletonMetaSkeleton to test with
_poseConstraintThis samples poses for a frame in the skeleton.
_seedConstraintThis samples configurations for the skeleton. These samples are used as seeds when solving inverse kinematics.
_inverseKinematicsInverseKinematics solver for the pose being sampled by _poseConstaint.
_maxNumTrialsMax number of trials for its sample generator to retry sampling and finding an inverse kinematics solution.

◆ ~InverseKinematicsSampleable()

virtual aikido::constraint::dart::InverseKinematicsSampleable::~InverseKinematicsSampleable ( )
virtualdefault

Member Function Documentation

◆ createSampleGenerator()

std::unique_ptr<SampleGenerator> aikido::constraint::dart::InverseKinematicsSampleable::createSampleGenerator ( ) const
overridevirtual

Creates a SampleGenerator for sampling from this constraint.

Implements aikido::constraint::Sampleable.

◆ getStateSpace()

statespace::ConstStateSpacePtr aikido::constraint::dart::InverseKinematicsSampleable::getStateSpace ( ) const
overridevirtual

Gets the StateSpace that this constraint operates on.

Implements aikido::constraint::Sampleable.

Member Data Documentation

◆ mInverseKinematics

::dart::dynamics::InverseKinematicsPtr aikido::constraint::dart::InverseKinematicsSampleable::mInverseKinematics
private

◆ mMaxNumTrials

int aikido::constraint::dart::InverseKinematicsSampleable::mMaxNumTrials
private

◆ mMetaSkeleton

::dart::dynamics::MetaSkeletonPtr aikido::constraint::dart::InverseKinematicsSampleable::mMetaSkeleton
private

◆ mMetaSkeletonStateSpace

statespace::dart::ConstMetaSkeletonStateSpacePtr aikido::constraint::dart::InverseKinematicsSampleable::mMetaSkeletonStateSpace
private

◆ mPoseConstraint

SampleablePtr aikido::constraint::dart::InverseKinematicsSampleable::mPoseConstraint
private

◆ mSeedConstraint

SampleablePtr aikido::constraint::dart::InverseKinematicsSampleable::mSeedConstraint
private