mc_tasks::AddContactTask Struct Reference

Add a contact. More...

#include <mc_tasks/AddRemoveContactTask.h>

Inheritance diagram for mc_tasks::AddContactTask:
Collaboration diagram for mc_tasks::AddContactTask:

Public Member Functions

 AddContactTask (mc_rbdyn::Robots &robots, std::shared_ptr< mc_solver::BoundedSpeedConstr > constSpeedConstr, mc_rbdyn::Contact &contact, double speed=0.01, double stiffness=2, double weight=1000, Eigen::Vector3d *userT_0_s=nullptr)
 Constructor. More...
 
 AddContactTask (mc_solver::QPSolver &solver, mc_rbdyn::Contact &contact, double speed=0.01, double stiffness=2, double weight=1000, Eigen::Vector3d *userT_0_s=nullptr)
 Constructor (self-managed speed constraint) More...
 
- Public Member Functions inherited from mc_tasks::AddRemoveContactTask
 AddRemoveContactTask (const mc_rbdyn::Robots &robots, std::shared_ptr< mc_solver::BoundedSpeedConstr > constSpeedConstr, const mc_rbdyn::Contact &contact, double direction, double speed=0.01, double stiffness=2, double weight=1000, Eigen::Vector3d *userT_0_s=nullptr)
 General constructor. More...
 
 AddRemoveContactTask (const mc_solver::QPSolver &solver, const mc_rbdyn::Contact &contact, double direction, double speed=0.01, double stiffness=2, double weight=1000, Eigen::Vector3d *userT_0_s=nullptr)
 General constructor with self-managed bounded speed constraint. More...
 
void direction (double direction)
 Set the displacement direction. More...
 
double speed ()
 Get the desired dislacement speed. More...
 
void speed (double s)
 Set the desired dislacement speed. More...
 
double stiffness ()
 Get the task stiffness. More...
 
double weight ()
 Get the task weight. More...
 
Eigen::Vector3d velError ()
 Get the velocity error. More...
 
void dimWeight (const Eigen::VectorXd &dimW) override
 Set the task's dimension weight vector. More...
 
Eigen::VectorXd dimWeight () const override
 Get the current task's dim weight vector. More...
 
Eigen::VectorXd eval () const override
 Returns the task error. More...
 
Eigen::VectorXd speed () const override
 Returns the task velocity. More...
 
- Public Member Functions inherited from mc_tasks::MetaTask
 MetaTask ()
 
virtual ~MetaTask ()
 
const std::string & type () const
 
virtual void name (const std::string &name)
 
const std::string & name () const
 
virtual void load (mc_solver::QPSolver &solver, const mc_rtc::Configuration &config)
 Load parameters from a Configuration object. More...
 
size_t iterInSolver () const noexcept
 Get the number of iterations since the task was added to the solver. More...
 
void resetIterInSolver () noexcept
 Set the number of iterations since the task was added to the solver to zero. More...
 
void incrementIterInSolver () noexcept
 Increment the number of iterations since the task was added to the solver. More...
 
Backend backend () const noexcept
 

Additional Inherited Members

- Public Types inherited from mc_tasks::MetaTask
using Backend = mc_solver::QPSolver::Backend
 
- Public Attributes inherited from mc_tasks::AddRemoveContactTask
const mc_rbdyn::Robotsrobots
 
unsigned int robotIndex
 
unsigned int envIndex
 
std::shared_ptr< mc_solver::BoundedSpeedConstrconstSpeedConstr
 
mc_rbdyn::SurfacePtr robotSurf
 
unsigned int robotBodyIndex
 
sva::PTransformd targetTf
 
std::string bodyId
 
Eigen::Matrix6d dofMat
 
Eigen::Vector6d speedMat
 
Eigen::Vector3d normal
 
double stiffness_
 
double weight_
 
double speed_
 
double direction_
 
Eigen::Vector3d targetSpeed
 
mc_rtc::void_ptr impl_
 
double targetVelWeight
 
- Protected Member Functions inherited from mc_tasks::MetaTask
virtual void addToLogger (mc_rtc::Logger &)
 
virtual void removeFromLogger (mc_rtc::Logger &)
 
virtual void addToGUI (mc_rtc::gui::StateBuilder &)
 
virtual void removeFromGUI (mc_rtc::gui::StateBuilder &)
 
virtual std::function< bool(const mc_tasks::MetaTask &task, std::string &)> buildCompletionCriteria (double dt, const mc_rtc::Configuration &config) const
 
- Static Protected Member Functions inherited from mc_tasks::MetaTask
static void addToSolver (MetaTask &t, mc_solver::QPSolver &solver)
 
static void removeFromSolver (MetaTask &t, mc_solver::QPSolver &solver)
 
static void update (MetaTask &t, mc_solver::QPSolver &solver)
 
static void addToLogger (MetaTask &t, mc_rtc::Logger &logger)
 
static void removeFromLogger (MetaTask &t, mc_rtc::Logger &logger)
 
static void addToGUI (MetaTask &t, mc_rtc::gui::StateBuilder &gui)
 
static void removeFromGUI (MetaTask &t, mc_rtc::gui::StateBuilder &gui)
 
static void ensureHasJoints (const mc_rbdyn::Robot &robot, const std::vector< std::string > &joints, const std::string &prefix)
 
- Protected Attributes inherited from mc_tasks::MetaTask
Backend backend_
 
std::string type_
 
std::string name_
 
size_t iterInSolver_ = 0
 

Detailed Description

Add a contact.

This is simply a special case of the generic AddRemoveContactTask where direction is equal to -1

Constructor & Destructor Documentation

◆ AddContactTask() [1/2]

mc_tasks::AddContactTask::AddContactTask ( mc_rbdyn::Robots robots,
std::shared_ptr< mc_solver::BoundedSpeedConstr constSpeedConstr,
mc_rbdyn::Contact contact,
double  speed = 0.01,
double  stiffness = 2,
double  weight = 1000,
Eigen::Vector3d *  userT_0_s = nullptr 
)

Constructor.

◆ AddContactTask() [2/2]

mc_tasks::AddContactTask::AddContactTask ( mc_solver::QPSolver solver,
mc_rbdyn::Contact contact,
double  speed = 0.01,
double  stiffness = 2,
double  weight = 1000,
Eigen::Vector3d *  userT_0_s = nullptr 
)

Constructor (self-managed speed constraint)


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