Add a contact. More...
#include <mc_tasks/AddRemoveContactTask.h>
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::Robots & | robots |
unsigned int | robotIndex |
unsigned int | envIndex |
std::shared_ptr< mc_solver::BoundedSpeedConstr > | constSpeedConstr |
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 |
Add a contact.
This is simply a special case of the generic AddRemoveContactTask where direction is equal to -1
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.
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)