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

Inverse Kinematics joint limit constraints. More...

#include <JointLimitConstraints.h>

Inheritance diagram for ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >:
ct::optcon::tpl::DiscreteConstraintBase< SCALAR >

Public Types

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

Public Member Functions

 JointLimitConstraints (std::shared_ptr< ct::optcon::tpl::OptVector< SCALAR >> optVector, const JointPosition &lowerBound, const JointPosition &upperBound)
 
 ~JointLimitConstraints () override=default
 
VectorXs eval () override
 
VectorXs evalSparseJacobian () override
 
size_t getConstraintSize () override
 
size_t getNumNonZerosJacobian () override
 
void genSparsityPattern (Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec) override
 
void genSparsityPatternHessian (Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec) override
 
void sparseHessianValues (const Eigen::VectorXd &optVec, const Eigen::VectorXd &lambda, Eigen::VectorXd &sparseHes) override
 
VectorXs getLowerBound () override
 
VectorXs getUpperBound () override
 
const VectorXs getLowerBound () const
 
const VectorXs getUpperBound () const
 
- Public Member Functions inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR >
 DiscreteConstraintBase ()=default
 
virtual ~DiscreteConstraintBase ()=default
 
Eigen::VectorXi & iRowHessian ()
 
Eigen::VectorXi & jColHessian ()
 

Additional Inherited Members

- Protected Member Functions inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR >
size_t genDiagonalIndices (const size_t col_start, const size_t num_elements, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec, const size_t indexNumber)
 
size_t genBlockIndices (const size_t col_start, const size_t num_rows, const size_t num_cols, Eigen::VectorXi &iRow_vec, Eigen::VectorXi &jCol_vec, const size_t indexNumber)
 
- Protected Attributes inherited from ct::optcon::tpl::DiscreteConstraintBase< SCALAR >
Eigen::VectorXi iRowHessian_
 
Eigen::VectorXi jColHessian_
 

Detailed Description

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

Inverse Kinematics joint limit constraints.

Member Typedef Documentation

◆ VectorXs

template<typename KINEMATICS , typename SCALAR = double>
using ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::VectorXs = Eigen::Matrix<SCALAR, Eigen::Dynamic, 1>

◆ JointPosition

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

Constructor & Destructor Documentation

◆ JointLimitConstraints()

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

◆ ~JointLimitConstraints()

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

Member Function Documentation

◆ eval()

template<typename KINEMATICS , typename SCALAR = double>
VectorXs ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::eval ( )
inlineoverridevirtual

◆ evalSparseJacobian()

template<typename KINEMATICS , typename SCALAR = double>
VectorXs ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::evalSparseJacobian ( )
inlineoverridevirtual

◆ getConstraintSize()

template<typename KINEMATICS , typename SCALAR = double>
size_t ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::getConstraintSize ( )
inlineoverridevirtual

◆ getNumNonZerosJacobian()

template<typename KINEMATICS , typename SCALAR = double>
size_t ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::getNumNonZerosJacobian ( )
inlineoverridevirtual

◆ genSparsityPattern()

template<typename KINEMATICS , typename SCALAR = double>
void ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::genSparsityPattern ( Eigen::VectorXi &  iRow_vec,
Eigen::VectorXi &  jCol_vec 
)
inlineoverridevirtual

◆ genSparsityPatternHessian()

template<typename KINEMATICS , typename SCALAR = double>
void ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::genSparsityPatternHessian ( Eigen::VectorXi &  iRow_vec,
Eigen::VectorXi &  jCol_vec 
)
inlineoverridevirtual

◆ sparseHessianValues()

template<typename KINEMATICS , typename SCALAR = double>
void ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::sparseHessianValues ( const Eigen::VectorXd &  optVec,
const Eigen::VectorXd &  lambda,
Eigen::VectorXd &  sparseHes 
)
inlineoverridevirtual

◆ getLowerBound() [1/2]

template<typename KINEMATICS , typename SCALAR = double>
VectorXs ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::getLowerBound ( )
inlineoverridevirtual

◆ getUpperBound() [1/2]

template<typename KINEMATICS , typename SCALAR = double>
VectorXs ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::getUpperBound ( )
inlineoverridevirtual

◆ getLowerBound() [2/2]

template<typename KINEMATICS , typename SCALAR = double>
const VectorXs ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::getLowerBound ( ) const
inline

◆ getUpperBound() [2/2]

template<typename KINEMATICS , typename SCALAR = double>
const VectorXs ct::rbd::JointLimitConstraints< KINEMATICS, SCALAR >::getUpperBound ( ) const
inline

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