tsid  1.8.0
Efficient Task Space Inverse Dynamics for Multi-body Systems based on Pinocchio
tsid::contacts::ContactPoint Class Reference

#include <tsid/contacts/contact-point.hpp>

Inheritance diagram for tsid::contacts::ContactPoint:
Collaboration diagram for tsid::contacts::ContactPoint:

Public Types

typedef math::ConstRefVector ConstRefVector
 
typedef math::Matrix3x Matrix3x
 
typedef math::Vector6 Vector6
 
typedef math::Vector3 Vector3
 
typedef math::Vector Vector
 
typedef tasks::TaskSE3Equality TaskSE3Equality
 
typedef math::ConstraintInequality ConstraintInequality
 
typedef math::ConstraintEquality ConstraintEquality
 
typedef pinocchio::SE3 SE3
 
- Public Types inherited from tsid::contacts::ContactBase
typedef math::ConstraintInequality ConstraintInequality
 
typedef math::ConstraintEquality ConstraintEquality
 
typedef math::ConstRefVector ConstRefVector
 
typedef math::Matrix Matrix
 
typedef math::Matrix3x Matrix3x
 
typedef tasks::TaskSE3Equality TaskSE3Equality
 
typedef tasks::TaskMotion TaskMotion
 
typedef pinocchio::Data Data
 
typedef robots::RobotWrapper RobotWrapper
 

Public Member Functions

 ContactPoint (const std::string &name, RobotWrapper &robot, const std::string &frameName, ConstRefVector contactNormal, const double frictionCoefficient, const double minNormalForce, const double maxNormalForce)
 
unsigned int n_motion () const override
 Return the number of motion constraints. More...
 
unsigned int n_force () const override
 Return the number of force variables. More...
 
const ConstraintBasecomputeMotionTask (double t, ConstRefVector q, ConstRefVector v, Data &data) override
 
const ConstraintInequalitycomputeForceTask (double t, ConstRefVector q, ConstRefVector v, const Data &data) override
 
const MatrixgetForceGeneratorMatrix () override
 
const ConstraintEqualitycomputeForceRegularizationTask (double t, ConstRefVector q, ConstRefVector v, const Data &data) override
 
const TaskSE3EqualitygetMotionTask () const override
 
const ConstraintBasegetMotionConstraint () const override
 
const ConstraintInequalitygetForceConstraint () const override
 
const ConstraintEqualitygetForceRegularizationTask () const override
 
double getMotionTaskWeight () const
 
const Matrix3xgetContactPoints () const override
 
double getNormalForce (ConstRefVector f) const override
 
double getMinNormalForce () const override
 
double getMaxNormalForce () const override
 
const VectorKp ()
 
const VectorKd ()
 
void Kp (ConstRefVector Kp)
 
void Kd (ConstRefVector Kp)
 
bool setContactNormal (ConstRefVector contactNormal)
 
bool setFrictionCoefficient (const double frictionCoefficient)
 
bool setMinNormalForce (const double minNormalForce) override
 
bool setMaxNormalForce (const double maxNormalForce) override
 
bool setMotionTaskWeight (const double w)
 
void setReference (const SE3 &ref)
 
void setForceReference (ConstRefVector &f_ref)
 
void setRegularizationTaskWeightVector (ConstRefVector &w)
 
void useLocalFrame (bool local_frame)
 Specifies if properties of the contact point and motion task are expressed in the local or local world oriented frame. The contact forces, contact normal and contact coefficients are interpreted in the specified frame. More...
 
- Public Member Functions inherited from tsid::contacts::ContactBase
 ContactBase (const std::string &name, RobotWrapper &robot)
 
virtual ~ContactBase ()=default
 
const std::string & name () const
 
void name (const std::string &name)
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::ConstRefMatrix ConstRefMatrix
 
- Public Attributes inherited from tsid::contacts::ContactBase
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::ConstraintBase ConstraintBase
 

Protected Member Functions

void updateForceInequalityConstraints ()
 
void updateForceRegularizationTask ()
 
void updateForceGeneratorMatrix ()
 

Protected Attributes

TaskSE3Equality m_motionTask
 
ConstraintInequality m_forceInequality
 
ConstraintEquality m_forceRegTask
 
Vector3 m_contactNormal
 
Vector3 m_fRef
 
Vector3 m_weightForceRegTask
 
Matrix3x m_contactPoints
 
Vector m_Kp3
 
Vector m_Kd3
 
double m_mu
 
double m_fMin
 
double m_fMax
 
double m_regularizationTaskWeight
 
double m_motionTaskWeight
 
Matrix m_forceGenMat
 
- Protected Attributes inherited from tsid::contacts::ContactBase
std::string m_name
 
RobotWrapperm_robot
 Reference on the robot model. More...
 

Member Typedef Documentation

◆ ConstraintEquality

◆ ConstraintInequality

◆ ConstRefVector

◆ Matrix3x

◆ SE3

typedef pinocchio::SE3 tsid::contacts::ContactPoint::SE3

◆ TaskSE3Equality

◆ Vector

◆ Vector3

◆ Vector6

Constructor & Destructor Documentation

◆ ContactPoint()

ContactPoint::ContactPoint ( const std::string &  name,
RobotWrapper robot,
const std::string &  frameName,
ConstRefVector  contactNormal,
const double  frictionCoefficient,
const double  minNormalForce,
const double  maxNormalForce 
)

Member Function Documentation

◆ computeForceRegularizationTask()

const ConstraintEquality & ContactPoint::computeForceRegularizationTask ( double  t,
ConstRefVector  q,
ConstRefVector  v,
const Data data 
)
overridevirtual

◆ computeForceTask()

const ConstraintInequality & ContactPoint::computeForceTask ( double  t,
ConstRefVector  q,
ConstRefVector  v,
const Data data 
)
overridevirtual

◆ computeMotionTask()

const ConstraintBase & ContactPoint::computeMotionTask ( double  t,
ConstRefVector  q,
ConstRefVector  v,
Data data 
)
overridevirtual

◆ getContactPoints()

const Matrix3x & ContactPoint::getContactPoints ( ) const
overridevirtual

◆ getForceConstraint()

const ConstraintInequality & ContactPoint::getForceConstraint ( ) const
overridevirtual

◆ getForceGeneratorMatrix()

const Matrix & ContactPoint::getForceGeneratorMatrix ( )
overridevirtual

◆ getForceRegularizationTask()

const ConstraintEquality & ContactPoint::getForceRegularizationTask ( ) const
overridevirtual

◆ getMaxNormalForce()

double ContactPoint::getMaxNormalForce ( ) const
overridevirtual

◆ getMinNormalForce()

double ContactPoint::getMinNormalForce ( ) const
overridevirtual

◆ getMotionConstraint()

const ConstraintBase & ContactPoint::getMotionConstraint ( ) const
overridevirtual

◆ getMotionTask()

const TaskSE3Equality & ContactPoint::getMotionTask ( ) const
overridevirtual

◆ getMotionTaskWeight()

double tsid::contacts::ContactPoint::getMotionTaskWeight ( ) const

◆ getNormalForce()

double ContactPoint::getNormalForce ( ConstRefVector  f) const
overridevirtual

◆ Kd() [1/2]

const Vector & ContactPoint::Kd ( )

◆ Kd() [2/2]

void ContactPoint::Kd ( ConstRefVector  Kp)

◆ Kp() [1/2]

const Vector & ContactPoint::Kp ( )

◆ Kp() [2/2]

void ContactPoint::Kp ( ConstRefVector  Kp)

◆ n_force()

unsigned int ContactPoint::n_force ( ) const
overridevirtual

Return the number of force variables.

Implements tsid::contacts::ContactBase.

◆ n_motion()

unsigned int ContactPoint::n_motion ( ) const
overridevirtual

Return the number of motion constraints.

Implements tsid::contacts::ContactBase.

◆ setContactNormal()

bool ContactPoint::setContactNormal ( ConstRefVector  contactNormal)

◆ setForceReference()

void ContactPoint::setForceReference ( ConstRefVector f_ref)

◆ setFrictionCoefficient()

bool ContactPoint::setFrictionCoefficient ( const double  frictionCoefficient)

◆ setMaxNormalForce()

bool ContactPoint::setMaxNormalForce ( const double  maxNormalForce)
overridevirtual

◆ setMinNormalForce()

bool ContactPoint::setMinNormalForce ( const double  minNormalForce)
overridevirtual

◆ setMotionTaskWeight()

bool tsid::contacts::ContactPoint::setMotionTaskWeight ( const double  w)

◆ setReference()

void ContactPoint::setReference ( const SE3 ref)

◆ setRegularizationTaskWeightVector()

void ContactPoint::setRegularizationTaskWeightVector ( ConstRefVector w)

◆ updateForceGeneratorMatrix()

void ContactPoint::updateForceGeneratorMatrix ( )
protected

◆ updateForceInequalityConstraints()

void ContactPoint::updateForceInequalityConstraints ( )
protected

◆ updateForceRegularizationTask()

void ContactPoint::updateForceRegularizationTask ( )
protected

◆ useLocalFrame()

void ContactPoint::useLocalFrame ( bool  local_frame)

Specifies if properties of the contact point and motion task are expressed in the local or local world oriented frame. The contact forces, contact normal and contact coefficients are interpreted in the specified frame.

Parameters
local_frameIf true, use the local frame, otherwise use the local world oriented

Member Data Documentation

◆ ConstRefMatrix

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::ConstRefMatrix tsid::contacts::ContactPoint::ConstRefMatrix

◆ m_contactNormal

Vector3 tsid::contacts::ContactPoint::m_contactNormal
protected

◆ m_contactPoints

Matrix3x tsid::contacts::ContactPoint::m_contactPoints
protected

◆ m_fMax

double tsid::contacts::ContactPoint::m_fMax
protected

◆ m_fMin

double tsid::contacts::ContactPoint::m_fMin
protected

◆ m_forceGenMat

Matrix tsid::contacts::ContactPoint::m_forceGenMat
protected

◆ m_forceInequality

ConstraintInequality tsid::contacts::ContactPoint::m_forceInequality
protected

◆ m_forceRegTask

ConstraintEquality tsid::contacts::ContactPoint::m_forceRegTask
protected

◆ m_fRef

Vector3 tsid::contacts::ContactPoint::m_fRef
protected

◆ m_Kd3

Vector tsid::contacts::ContactPoint::m_Kd3
protected

◆ m_Kp3

Vector tsid::contacts::ContactPoint::m_Kp3
protected

◆ m_motionTask

TaskSE3Equality tsid::contacts::ContactPoint::m_motionTask
protected

◆ m_motionTaskWeight

double tsid::contacts::ContactPoint::m_motionTaskWeight
protected

◆ m_mu

double tsid::contacts::ContactPoint::m_mu
protected

◆ m_regularizationTaskWeight

double tsid::contacts::ContactPoint::m_regularizationTaskWeight
protected

◆ m_weightForceRegTask

Vector3 tsid::contacts::ContactPoint::m_weightForceRegTask
protected

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