Choreonoid  1.8
Public Member Functions | List of all members
cnoid::CustomJointPathBase Class Reference

#include <CustomJointPathBase.h>

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

Public Member Functions

 CustomJointPathBase (Link *baseLink, Link *endLink)
 
bool checkLinkPath (const std::string &from, const std::string &to, bool &out_isReversed) const
 
void setCustomInverseKinematics (InverseKinematicsFunc func, bool isReversed=false)
 
InverseKinematicsFunc customInverseKinematics () const
 
bool isReversed () const
 
virtual bool calcInverseKinematics (const Isometry3 &T) override
 
virtual bool hasCustomIK () const override
 
template<typename iterator >
void copyJointDisplacements (iterator q_iter)
 
- Public Member Functions inherited from cnoid::JointPath
 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
 
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 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...
 

Additional Inherited Members

- Public Types inherited from cnoid::JointPath
typedef LinkTraverse::iterator iterator
 
typedef LinkTraverse::const_iterator const_iterator
 
- Static Public Member Functions inherited from cnoid::JointPath
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 ()
 

Detailed Description

This class can be used as a base class of a custom joint path class whose instance is provided by CustomJointPathHandler. Using this class will make the implementation of a custom joint path class easier in most cases, but you don't necessarily have to use this class to implement a custom joint path class. See "sample/GRobotPlugin/GRobotHandler.cpp" as a sample of using this class.

Constructor & Destructor Documentation

◆ CustomJointPathBase()

CustomJointPathBase::CustomJointPathBase ( Link baseLink,
Link endLink 
)

Member Function Documentation

◆ calcInverseKinematics()

bool CustomJointPathBase::calcInverseKinematics ( const Isometry3 T)
overridevirtual

Reimplemented from cnoid::JointPath.

◆ checkLinkPath()

bool CustomJointPathBase::checkLinkPath ( const std::string &  from,
const std::string &  to,
bool &  out_isReversed 
) const

◆ copyJointDisplacements()

template<typename iterator >
void cnoid::CustomJointPathBase::copyJointDisplacements ( iterator  q_iter)
inline

◆ customInverseKinematics()

InverseKinematicsFunc cnoid::CustomJointPathBase::customInverseKinematics ( ) const
inline

◆ hasCustomIK()

bool CustomJointPathBase::hasCustomIK ( ) const
overridevirtual

Reimplemented from cnoid::JointPath.

◆ isReversed()

bool cnoid::CustomJointPathBase::isReversed ( ) const
inline

◆ setCustomInverseKinematics()

void CustomJointPathBase::setCustomInverseKinematics ( InverseKinematicsFunc  func,
bool  isReversed = false 
)

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