Choreonoid  1.8
Public Types | Public Member Functions | Static Public Member Functions | List of all members
cnoid::JointPath Class Reference

#include <JointPath.h>

Inheritance diagram for cnoid::JointPath:
cnoid::InverseKinematics cnoid::CustomJointPathBase

Public Types

typedef LinkTraverse::iterator iterator
 
typedef LinkTraverse::const_iterator const_iterator
 

Public Member Functions

 JointPath ()
 
 JointPath (Link *base, Link *end)
 
 JointPath (Link *end)
 
 JointPath (const JointPath &org)=delete
 
JointPathoperator= (const JointPath &rhs)=delete
 
bool empty () const
 
int size () const
 
int numJoints () const
 
Linkjoint (int index) const
 
Linkoperator[] (int index) const
 
LinkbaseLink () const
 
LinkendLink () const
 
bool isJointDownward (int index) const
 
const std::vector< Link * > & joints () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
LinkPathlinkPath ()
 
const LinkPathlinkPath () const
 
void calcForwardKinematics (bool calcVelocity=false, bool calcAcceleration=false) const
 
int indexOf (const Link *link) const
 
virtual bool hasCustomIK () const
 
bool isCustomIkDisabled () const
 
void setCustomIkDisabled (bool on)
 
bool isBestEffortIkMode () const
 
void setBestEffortIkMode (bool on)
 
void setNumericalIkMaxIkError (double e)
 
void setNumericalIkDeltaScale (double s)
 
void setNumericalIkMaxIterations (int n)
 
void setNumericalIkDampingConstant (double lambda)
 
void customizeTarget (int numTargetElements, std::function< double(VectorXd &out_error)> errorFunc, std::function< void(MatrixXd &out_Jacobian)> jacobianFunc)
 
bool calcInverseKinematics ()
 
JointPathstoreCurrentPosition ()
 
JointPathsetBaseLinkGoal (const Isometry3 &T)
 
virtual bool calcInverseKinematics (const Isometry3 &T) override
 
virtual bool calcRemainingPartForwardKinematicsForInverseKinematics () override
 
int numIterations () const
 
std::string name () const
 
void setName (const std::string &name)
 
bool calcInverseKinematics (const Vector3 &p, const Matrix3 &R)
 
bool calcInverseKinematics (const Vector3 &base_p, const Matrix3 &base_R, const Vector3 &end_p, const Matrix3 &end_R)
 
void calcJacobian (Eigen::MatrixXd &out_J) const
 
bool hasAnalyticalIK () const
 
void setNumericalIKenabled (bool on)
 
bool isNumericalIkEnabled () const
 
bool isBestEffortIKmode () const
 
void setBestEffortIKmode (bool on)
 
void setNumericalIKmaxIKerror (double e)
 
void setNumericalIKdeltaScale (double s)
 
void setNumericalIKmaxIterations (int n)
 
void setNumericalIKdampingConstant (double lambda)
 
void setNumericalIkTruncateRatio (double r)
 
- Public Member Functions inherited from cnoid::InverseKinematics
virtual ~InverseKinematics ()
 
bool calcInverseKinematics (const Vector3 &p, const Matrix3 &R)
 deprecated More...
 

Static Public Member Functions

static std::shared_ptr< JointPathgetCustomPath (Body *body, Link *baseLink, Link *endLink)
 
static double numericalIkDefaultDeltaScale ()
 
static int numericalIkDefaultMaxIterations ()
 
static double numericalIkDefaultMaxIkError ()
 
static double numericalIkDefaultDampingConstant ()
 
static double numericalIKdefaultDeltaScale ()
 
static int numericalIKdefaultMaxIterations ()
 
static double numericalIKdefaultMaxIKerror ()
 
static double numericalIKdefaultDampingConstant ()
 
static double numericalIkDefaultTruncateRatio ()
 

Member Typedef Documentation

◆ const_iterator

◆ iterator

Constructor & Destructor Documentation

◆ JointPath() [1/4]

JointPath::JointPath ( )

◆ JointPath() [2/4]

JointPath::JointPath ( Link base,
Link end 
)

◆ JointPath() [3/4]

JointPath::JointPath ( Link end)

◆ JointPath() [4/4]

cnoid::JointPath::JointPath ( const JointPath org)
delete

Member Function Documentation

◆ baseLink()

Link* cnoid::JointPath::baseLink ( ) const
inline

◆ begin() [1/2]

iterator cnoid::JointPath::begin ( )
inline

◆ begin() [2/2]

const_iterator cnoid::JointPath::begin ( ) const
inline

◆ calcForwardKinematics()

void cnoid::JointPath::calcForwardKinematics ( bool  calcVelocity = false,
bool  calcAcceleration = false 
) const
inline

◆ calcInverseKinematics() [1/4]

bool JointPath::calcInverseKinematics ( )

◆ calcInverseKinematics() [2/4]

bool JointPath::calcInverseKinematics ( const Isometry3 T)
overridevirtual

◆ calcInverseKinematics() [3/4]

bool JointPath::calcInverseKinematics ( const Vector3 base_p,
const Matrix3 base_R,
const Vector3 end_p,
const Matrix3 end_R 
)

◆ calcInverseKinematics() [4/4]

bool cnoid::JointPath::calcInverseKinematics ( const Vector3 p,
const Matrix3 R 
)
inline

◆ calcJacobian()

void JointPath::calcJacobian ( Eigen::MatrixXd &  out_J) const

◆ calcRemainingPartForwardKinematicsForInverseKinematics()

bool JointPath::calcRemainingPartForwardKinematicsForInverseKinematics ( )
overridevirtual

Reimplemented from cnoid::InverseKinematics.

◆ customizeTarget()

void JointPath::customizeTarget ( int  numTargetElements,
std::function< double(VectorXd &out_error)>  errorFunc,
std::function< void(MatrixXd &out_Jacobian)>  jacobianFunc 
)

◆ empty()

bool cnoid::JointPath::empty ( ) const
inline

◆ end() [1/2]

iterator cnoid::JointPath::end ( )
inline

◆ end() [2/2]

const_iterator cnoid::JointPath::end ( ) const
inline

◆ endLink()

Link* cnoid::JointPath::endLink ( ) const
inline

◆ getCustomPath()

std::shared_ptr< JointPath > JointPath::getCustomPath ( Body body,
Link baseLink,
Link endLink 
)
static

This function returns a joint path which may do analytical inverse kinematics when the body has the analytical one for a given path.

◆ hasAnalyticalIK()

bool JointPath::hasAnalyticalIK ( ) const

◆ hasCustomIK()

bool JointPath::hasCustomIK ( ) const
virtual

Reimplemented in cnoid::CustomJointPathBase.

◆ indexOf()

int JointPath::indexOf ( const Link link) const

◆ isBestEffortIkMode()

bool JointPath::isBestEffortIkMode ( ) const

◆ isBestEffortIKmode()

bool cnoid::JointPath::isBestEffortIKmode ( ) const
inline

◆ isCustomIkDisabled()

bool cnoid::JointPath::isCustomIkDisabled ( ) const
inline

◆ isJointDownward()

bool cnoid::JointPath::isJointDownward ( int  index) const
inline

◆ isNumericalIkEnabled()

bool cnoid::JointPath::isNumericalIkEnabled ( ) const
inline

◆ joint()

Link* cnoid::JointPath::joint ( int  index) const
inline

◆ joints()

const std::vector<Link*>& cnoid::JointPath::joints ( ) const
inline

◆ linkPath() [1/2]

LinkPath& cnoid::JointPath::linkPath ( )
inline

◆ linkPath() [2/2]

const LinkPath& cnoid::JointPath::linkPath ( ) const
inline

◆ name()

std::string cnoid::JointPath::name ( ) const
inline

◆ numericalIkDefaultDampingConstant()

double JointPath::numericalIkDefaultDampingConstant ( )
static

◆ numericalIKdefaultDampingConstant()

static double cnoid::JointPath::numericalIKdefaultDampingConstant ( )
inlinestatic

◆ numericalIkDefaultDeltaScale()

double JointPath::numericalIkDefaultDeltaScale ( )
static

◆ numericalIKdefaultDeltaScale()

static double cnoid::JointPath::numericalIKdefaultDeltaScale ( )
inlinestatic

◆ numericalIkDefaultMaxIkError()

double JointPath::numericalIkDefaultMaxIkError ( )
static

◆ numericalIKdefaultMaxIKerror()

static double cnoid::JointPath::numericalIKdefaultMaxIKerror ( )
inlinestatic

◆ numericalIkDefaultMaxIterations()

int JointPath::numericalIkDefaultMaxIterations ( )
static

◆ numericalIKdefaultMaxIterations()

static int cnoid::JointPath::numericalIKdefaultMaxIterations ( )
inlinestatic

◆ numericalIkDefaultTruncateRatio()

double JointPath::numericalIkDefaultTruncateRatio ( )
static

◆ numIterations()

int JointPath::numIterations ( ) const

◆ numJoints()

int cnoid::JointPath::numJoints ( ) const
inline

◆ operator=()

JointPath& cnoid::JointPath::operator= ( const JointPath rhs)
delete

◆ operator[]()

Link* cnoid::JointPath::operator[] ( int  index) const
inline

◆ setBaseLinkGoal()

JointPath & JointPath::setBaseLinkGoal ( const Isometry3 T)

◆ setBestEffortIkMode()

void JointPath::setBestEffortIkMode ( bool  on)

◆ setBestEffortIKmode()

void cnoid::JointPath::setBestEffortIKmode ( bool  on)
inline

◆ setCustomIkDisabled()

void cnoid::JointPath::setCustomIkDisabled ( bool  on)
inline

◆ setName()

void cnoid::JointPath::setName ( const std::string &  name)
inline

◆ setNumericalIkDampingConstant()

void JointPath::setNumericalIkDampingConstant ( double  lambda)

◆ setNumericalIKdampingConstant()

void cnoid::JointPath::setNumericalIKdampingConstant ( double  lambda)
inline

◆ setNumericalIkDeltaScale()

void JointPath::setNumericalIkDeltaScale ( double  s)

◆ setNumericalIKdeltaScale()

void cnoid::JointPath::setNumericalIKdeltaScale ( double  s)
inline

◆ setNumericalIKenabled()

void cnoid::JointPath::setNumericalIKenabled ( bool  on)
inline

◆ setNumericalIkMaxIkError()

void JointPath::setNumericalIkMaxIkError ( double  e)

◆ setNumericalIKmaxIKerror()

void cnoid::JointPath::setNumericalIKmaxIKerror ( double  e)
inline

◆ setNumericalIkMaxIterations()

void JointPath::setNumericalIkMaxIterations ( int  n)

◆ setNumericalIKmaxIterations()

void cnoid::JointPath::setNumericalIKmaxIterations ( int  n)
inline

◆ setNumericalIkTruncateRatio()

void JointPath::setNumericalIkTruncateRatio ( double  r)
Deprecated:
This parameter is used when SVD is used to solve a numerical IK, but the current implementation uses the damped least square method instead of SVD by default. Therefore this parameter is meaningless in the current implementation.

◆ size()

int cnoid::JointPath::size ( ) const
inline

◆ storeCurrentPosition()

JointPath& cnoid::JointPath::storeCurrentPosition ( )

The documentation for this class was generated from the following files: