Tasks  1.9.1
tasks::qp::CollisionConstr Class Reference

#include <Tasks/QPConstr.h>

Inheritance diagram for tasks::qp::CollisionConstr:
Collaboration diagram for tasks::qp::CollisionConstr:

Public Member Functions

 CollisionConstr (const std::vector< rbd::MultiBody > &mbs, double step)
 
void addCollision (const std::vector< rbd::MultiBody > &mbs, int collId, int r1Index, const std::string &r1BodyName, sch::S_Object *body1, const sva::PTransformd &X_op1_o1, int r2Index, const std::string &r2BodyName, sch::S_Object *body2, const sva::PTransformd &X_op2_o2, double di, double ds, double damping, double dampingOff=0., const Eigen::VectorXd &r1Selector=Eigen::VectorXd::Zero(0), const Eigen::VectorXd &r2Selector=Eigen::VectorXd::Zero(0))
 
bool rmCollision (int collId)
 
std::size_t nrCollisions () const
 
void updateNrCollisions ()
 
const DistLimData & getCollisionData (int collId) const
 
- Public Member Functions inherited from tasks::qp::DistanceConstr
 DistanceConstr (const std::vector< rbd::MultiBody > &mbs, double step)
 
void addDistanceLimit (const std::vector< rbd::MultiBody > &mbs, int dlId, int r1Index, const std::string &r1BodyName, sch::S_Object *body1, const sva::PTransformd &X_op1_o1, int r2Index, const std::string &r2BodyName, sch::S_Object *body2, const sva::PTransformd &X_op2_o2, double di, double ds, double damping, double dampingOff=0., const Eigen::VectorXd &r1Selector=Eigen::VectorXd::Zero(0), const Eigen::VectorXd &r2Selector=Eigen::VectorXd::Zero(0))
 
bool rmDistanceLimit (int dlId)
 
std::size_t nrDistanceLimits () const
 
void reset ()
 Remove all distance constraints. More...
 
void updateNrDistanceLimits ()
 Reallocate A and b matrix. More...
 
virtual void updateNrVars (const std::vector< rbd::MultiBody > &mbs, const SolverData &data) override
 
virtual void update (const std::vector< rbd::MultiBody > &mbs, const std::vector< rbd::MultiBodyConfig > &mbcs, const SolverData &data) override
 
virtual std::string nameInEq () const override
 
virtual std::string descInEq (const std::vector< rbd::MultiBody > &mbs, int line) override
 
virtual int nrInEq () const override
 
virtual int maxInEq () const override
 
virtual const Eigen::MatrixXd & AInEq () const override
 
virtual const Eigen::VectorXd & bInEq () const override
 
const DistLimData & getDistanceData (int dlId) const
 
- Public Member Functions inherited from tasks::qp::ConstraintFunction< Inequality >
virtual ~ConstraintFunction () override
 
void addToSolver (QPSolver &sol)
 
void addToSolver (const std::vector< rbd::MultiBody > &mbs, QPSolver &sol)
 
void removeFromSolver (QPSolver &sol)
 
- Public Member Functions inherited from tasks::qp::Constraint
virtual ~Constraint ()
 

Detailed Description

Deprecated:
Use DistanceConstr instead.

Backward-compatible interface for CollisionConstr.

Constructor & Destructor Documentation

◆ CollisionConstr()

tasks::qp::CollisionConstr::CollisionConstr ( const std::vector< rbd::MultiBody > &  mbs,
double  step 
)

Member Function Documentation

◆ addCollision()

void tasks::qp::CollisionConstr::addCollision ( const std::vector< rbd::MultiBody > &  mbs,
int  collId,
int  r1Index,
const std::string &  r1BodyName,
sch::S_Object *  body1,
const sva::PTransformd &  X_op1_o1,
int  r2Index,
const std::string &  r2BodyName,
sch::S_Object *  body2,
const sva::PTransformd &  X_op2_o2,
double  di,
double  ds,
double  damping,
double  dampingOff = 0.,
const Eigen::VectorXd &  r1Selector = Eigen::VectorXd::Zero(0),
const Eigen::VectorXd &  r2Selector = Eigen::VectorXd::Zero(0) 
)
inline

◆ getCollisionData()

const DistLimData& tasks::qp::CollisionConstr::getCollisionData ( int  collId) const
inline

◆ nrCollisions()

std::size_t tasks::qp::CollisionConstr::nrCollisions ( ) const
inline

◆ rmCollision()

bool tasks::qp::CollisionConstr::rmCollision ( int  collId)
inline

◆ updateNrCollisions()

void tasks::qp::CollisionConstr::updateNrCollisions ( )
inline

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