- 3.0.2 rigid body dynamics module.
ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR > Class Template Referencefinal

Inverse Kinematics constraint container. More...

#include <IKConstraintContainer.h>

Inheritance diagram for ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >:
ct::optcon::tpl::DiscreteConstraintContainerBase< SCALAR >

Public Types

using JointPosition = typename ct::rbd::JointState< KINEMATICS::NJOINTS, SCALAR >::Position
 
- Public Types inherited from ct::optcon::tpl::DiscreteConstraintContainerBase< SCALAR >
typedef Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > VectorXs
 
typedef Eigen::Matrix< int, Eigen::Dynamic, 1 > VectorXi
 
typedef Eigen::Map< VectorXsMapVecXs
 
typedef Eigen::Map< VectorXiMapVecXi
 

Public Member Functions

 IKConstraintsContainer (std::shared_ptr< ct::optcon::tpl::OptVector< SCALAR >> optVector, const JointPosition &lowerBound, const JointPosition &upperBound)
 
 ~IKConstraintsContainer () override=default
 
void prepareEvaluation () override
 
void prepareJacobianEvaluation () override
 
const std::shared_ptr< JointLimitConstraints< KINEMATICS, SCALAR > > getJointLimitConstraints () const
 get pointer to joint-limit constraints More...
 
- Public Member Functions inherited from ct::optcon::tpl::DiscreteConstraintContainerBase< SCALAR >
 DiscreteConstraintContainerBase ()=default
 
virtual ~DiscreteConstraintContainerBase ()=default
 
void evalConstraints (MapVecXs &c_nlp)
 
void evalConstraints (VectorXs &c_nlp)
 
void evalSparseJacobian (MapVecXs &jac_nlp, const int nzz_jac_g)
 
void getSparsityPattern (Eigen::Map< Eigen::VectorXi > &iRow_nlp, Eigen::Map< Eigen::VectorXi > &jCol_nlp, const int nnz_jac_g)
 
size_t getConstraintsCount () const
 
size_t getNonZerosJacobianCount () const
 
void getSparsityPatternHessian (Eigen::VectorXi &iRow, Eigen::VectorXi &jCol, size_t numOptVar)
 
Eigen::VectorXd sparseHessianValues (const Eigen::VectorXd &optVec, const Eigen::VectorXd &lambda)
 
void getBounds (MapVecXs &lowerBound, MapVecXs &upperBound)
 

Additional Inherited Members

- Protected Attributes inherited from ct::optcon::tpl::DiscreteConstraintContainerBase< SCALAR >
std::vector< std::shared_ptr< DiscreteConstraintBase< SCALAR > > > constraints_
 
std::vector< int > iRowHessianStdVec_
 
std::vector< int > jColHessianStdVec_
 

Detailed Description

template<typename KINEMATICS, typename SCALAR = double>
class ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >

Inverse Kinematics constraint container.

Warning
currently this works only with fix-base systems

Member Typedef Documentation

◆ JointPosition

template<typename KINEMATICS , typename SCALAR = double>
using ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >::JointPosition = typename ct::rbd::JointState<KINEMATICS::NJOINTS, SCALAR>::Position

Constructor & Destructor Documentation

◆ IKConstraintsContainer()

template<typename KINEMATICS , typename SCALAR = double>
ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >::IKConstraintsContainer ( std::shared_ptr< ct::optcon::tpl::OptVector< SCALAR >>  optVector,
const JointPosition lowerBound,
const JointPosition upperBound 
)
inline

◆ ~IKConstraintsContainer()

template<typename KINEMATICS , typename SCALAR = double>
ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >::~IKConstraintsContainer ( )
overridedefault

Member Function Documentation

◆ prepareEvaluation()

template<typename KINEMATICS , typename SCALAR = double>
void ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >::prepareEvaluation ( )
inlineoverridevirtual

◆ prepareJacobianEvaluation()

template<typename KINEMATICS , typename SCALAR = double>
void ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >::prepareJacobianEvaluation ( )
inlineoverridevirtual

◆ getJointLimitConstraints()

template<typename KINEMATICS , typename SCALAR = double>
const std::shared_ptr<JointLimitConstraints<KINEMATICS, SCALAR> > ct::rbd::IKConstraintsContainer< KINEMATICS, SCALAR >::getJointLimitConstraints ( ) const
inline

get pointer to joint-limit constraints

Warning
the index is currently hard-coded (first in order)

References ct::optcon::tpl::DiscreteConstraintContainerBase< SCALAR >::constraints_.


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