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

#include <tsid/tasks/task-contact-force-equality.hpp>

Inheritance diagram for tsid::tasks::TaskContactForceEquality:
Collaboration diagram for tsid::tasks::TaskContactForceEquality:

Public Types

typedef trajectories::TrajectorySample TrajectorySample
 
typedef math::Vector Vector
 
typedef math::Vector6 Vector6
 
typedef math::Vector3 Vector3
 
typedef math::ConstraintEquality ConstraintEquality
 
typedef pinocchio::SE3 SE3
 
- Public Types inherited from tsid::tasks::TaskBase
typedef math::ConstRefVector ConstRefVector
 
typedef pinocchio::Data Data
 
typedef robots::RobotWrapper RobotWrapper
 

Public Member Functions

 TaskContactForceEquality (const std::string &name, RobotWrapper &robot, const double dt, contacts::ContactBase &contact)
 
int dim () const override
 Return the dimension of the task. \info should be overloaded in the child class. More...
 
virtual const std::string & getAssociatedContactName () override
 
virtual const contacts::ContactBasegetAssociatedContact ()
 
void setAssociatedContact (contacts::ContactBase &contact)
 
const ConstraintBasecompute (double t, ConstRefVector q, ConstRefVector v, Data &data) override
 
const ConstraintBasecompute (double t, ConstRefVector q, ConstRefVector v, Data &data, const std::vector< std::shared_ptr< ContactLevel > > *contacts) override
 
const ConstraintBasegetConstraint () const override
 
void setReference (TrajectorySample &ref)
 
const TrajectorySamplegetReference () const
 
void setExternalForce (TrajectorySample &f_ext)
 
const TrajectorySamplegetExternalForce () const
 
const VectorKp () const
 
const VectorKd () const
 
const VectorKi () const
 
const double & getLeakRate () const
 
void Kp (ConstRefVector Kp)
 
void Kd (ConstRefVector Kp)
 
void Ki (ConstRefVector Ki)
 
void setLeakRate (double leak)
 
- Public Member Functions inherited from tsid::tasks::TaskContactForce
EIGEN_MAKE_ALIGNED_OPERATOR_NEW TaskContactForce (const std::string &name, RobotWrapper &robot)
 
- Public Member Functions inherited from tsid::tasks::TaskBase
 TaskBase (const std::string &name, RobotWrapper &robot)
 
virtual ~TaskBase ()=default
 
const std::string & name () const
 
void name (const std::string &name)
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Index Index
 
- Public Attributes inherited from tsid::tasks::TaskBase
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::ConstraintBase ConstraintBase
 

Protected Attributes

contacts::ContactBasem_contact
 
std::string m_contact_name
 
ConstraintEquality m_constraint
 
TrajectorySample m_ref
 
TrajectorySample m_fext
 
Vector m_forceIntegralError
 
Vector m_Kp
 
Vector m_Kd
 
Vector m_Ki
 
double m_dt
 
double m_leak_rate
 
- Protected Attributes inherited from tsid::tasks::TaskBase
std::string m_name
 
RobotWrapperm_robot
 Reference on the robot model. More...
 

Member Typedef Documentation

◆ ConstraintEquality

◆ SE3

◆ TrajectorySample

◆ Vector

◆ Vector3

◆ Vector6

Constructor & Destructor Documentation

◆ TaskContactForceEquality()

tsid::tasks::TaskContactForceEquality::TaskContactForceEquality ( const std::string &  name,
RobotWrapper robot,
const double  dt,
contacts::ContactBase contact 
)

Member Function Documentation

◆ compute() [1/2]

const ConstraintBase & tsid::tasks::TaskContactForceEquality::compute ( double  t,
ConstRefVector  q,
ConstRefVector  v,
Data data 
)
overridevirtual

Implements tsid::tasks::TaskBase.

◆ compute() [2/2]

const ConstraintBase & tsid::tasks::TaskContactForceEquality::compute ( double  t,
ConstRefVector  q,
ConstRefVector  v,
Data data,
const std::vector< std::shared_ptr< ContactLevel > > *  contacts 
)
overridevirtual

Contact force tasks have an additional compute method that takes as extra input argument the list of active contacts. This can be needed for force tasks that involve all contacts, such as the CoP task.

Implements tsid::tasks::TaskContactForce.

◆ dim()

int tsid::tasks::TaskContactForceEquality::dim ( ) const
overridevirtual

Return the dimension of the task. \info should be overloaded in the child class.

Implements tsid::tasks::TaskBase.

◆ getAssociatedContact()

const contacts::ContactBase & tsid::tasks::TaskContactForceEquality::getAssociatedContact ( )
virtual

◆ getAssociatedContactName()

const std::string & tsid::tasks::TaskContactForceEquality::getAssociatedContactName ( )
overridevirtual

Return the name of the contact associated to this task if this task is associated to a specific contact. If this task is associated to multiple contact forces (all of them), returns an empty string.

Implements tsid::tasks::TaskContactForce.

◆ getConstraint()

const ConstraintBase & tsid::tasks::TaskContactForceEquality::getConstraint ( ) const
overridevirtual

Implements tsid::tasks::TaskBase.

◆ getExternalForce()

const TaskContactForceEquality::TrajectorySample & tsid::tasks::TaskContactForceEquality::getExternalForce ( ) const

◆ getLeakRate()

const double & tsid::tasks::TaskContactForceEquality::getLeakRate ( ) const

◆ getReference()

const TaskContactForceEquality::TrajectorySample & tsid::tasks::TaskContactForceEquality::getReference ( ) const

◆ Kd() [1/2]

const Vector & tsid::tasks::TaskContactForceEquality::Kd ( ) const

◆ Kd() [2/2]

void tsid::tasks::TaskContactForceEquality::Kd ( ConstRefVector  Kp)

◆ Ki() [1/2]

const Vector & tsid::tasks::TaskContactForceEquality::Ki ( ) const

◆ Ki() [2/2]

void tsid::tasks::TaskContactForceEquality::Ki ( ConstRefVector  Ki)

◆ Kp() [1/2]

const Vector & tsid::tasks::TaskContactForceEquality::Kp ( ) const

◆ Kp() [2/2]

void tsid::tasks::TaskContactForceEquality::Kp ( ConstRefVector  Kp)

◆ setAssociatedContact()

void tsid::tasks::TaskContactForceEquality::setAssociatedContact ( contacts::ContactBase contact)

◆ setExternalForce()

void tsid::tasks::TaskContactForceEquality::setExternalForce ( TrajectorySample f_ext)

◆ setLeakRate()

void tsid::tasks::TaskContactForceEquality::setLeakRate ( double  leak)

◆ setReference()

void tsid::tasks::TaskContactForceEquality::setReference ( TrajectorySample ref)

Member Data Documentation

◆ Index

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef math::Index tsid::tasks::TaskContactForceEquality::Index

◆ m_constraint

ConstraintEquality tsid::tasks::TaskContactForceEquality::m_constraint
protected

◆ m_contact

contacts::ContactBase* tsid::tasks::TaskContactForceEquality::m_contact
protected

◆ m_contact_name

std::string tsid::tasks::TaskContactForceEquality::m_contact_name
protected

◆ m_dt

double tsid::tasks::TaskContactForceEquality::m_dt
protected

◆ m_fext

TrajectorySample tsid::tasks::TaskContactForceEquality::m_fext
protected

◆ m_forceIntegralError

Vector tsid::tasks::TaskContactForceEquality::m_forceIntegralError
protected

◆ m_Kd

Vector tsid::tasks::TaskContactForceEquality::m_Kd
protected

◆ m_Ki

Vector tsid::tasks::TaskContactForceEquality::m_Ki
protected

◆ m_Kp

Vector tsid::tasks::TaskContactForceEquality::m_Kp
protected

◆ m_leak_rate

double tsid::tasks::TaskContactForceEquality::m_leak_rate
protected

◆ m_ref

TrajectorySample tsid::tasks::TaskContactForceEquality::m_ref
protected

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