#include <Tasks/QPConstr.h>


Public Member Functions | |
| ImageConstr (const std::vector< rbd::MultiBody > &mbs, int robotIndex, const std::string &bName, const sva::PTransformd &X_b_gaze, double step, double constrDirection=1.) | |
| ImageConstr (const ImageConstr &rhs) | |
| ImageConstr (ImageConstr &&)=default | |
| ImageConstr & | operator= (const ImageConstr &rhs) |
| ImageConstr & | operator= (ImageConstr &&)=default |
| void | setLimits (const Eigen::Vector2d &min, const Eigen::Vector2d &max, const double iPercent, const double sPercent, const double damping, const double dampingOffsetPercent) |
| setLimits More... | |
| int | addPoint (const Eigen::Vector2d &point2d, const double depthEstimate) |
| addPoint More... | |
| int | addPoint (const Eigen::Vector3d &point3d) |
| void | addPoint (const std::vector< rbd::MultiBody > &mbs, const std::string &bName, const sva::PTransformd &X_b_p=sva::PTransformd::Identity()) |
| addPoint - overload for adding a self point More... | |
| void | reset () |
| void | updatePoint (const int pointId, const Eigen::Vector2d &point2d) |
| void | updatePoint (const int pointId, const Eigen::Vector2d &point2d, const double depthEstimate) |
| void | updatePoint (const int pointId, const Eigen::Vector3d &point3d) |
| void | computeComponents (const rbd::MultiBody &mb, const rbd::MultiBodyConfig &mbc, const SolverData &data, const Eigen::Vector2d &point2d, const double depth, rbd::Jacobian &jac, const int bodyIndex, const sva::PTransformd &X_b_p, Eigen::MatrixXd &fullJacobian, Eigen::Vector2d &bCommonTerm) |
| 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 |
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 () |
Generalized Image Point Constraint This can be used as either a Field of View constraint or an Occlusion avoidance constraint. Both with damping Note that the point must start within the feasible boundary.
| tasks::qp::ImageConstr::ImageConstr | ( | const std::vector< rbd::MultiBody > & | mbs, |
| int | robotIndex, | ||
| const std::string & | bName, | ||
| const sva::PTransformd & | X_b_gaze, | ||
| double | step, | ||
| double | constrDirection = 1. |
||
| ) |
| mbs | Multi-robot system. |
| robotIndex | the index of the robot the constraint is used on |
| bName | name of the body containing the camera |
| X_b_gaze | pose of the camera frame relative to the body containing it |
| step | Time step in second. |
| constrDirection | used to switch between a field of view constraint (point inside the image limits) and occlusion avoidance (point outside the limits) 1 by default corresponds to FoV, set it to -1 for occlusion avoidance |
| tasks::qp::ImageConstr::ImageConstr | ( | const ImageConstr & | rhs | ) |
Copy constructor
|
default |
Move constructor
| int tasks::qp::ImageConstr::addPoint | ( | const Eigen::Vector2d & | point2d, |
| const double | depthEstimate | ||
| ) |
addPoint
| point2d | |
| depthEstimate |
| int tasks::qp::ImageConstr::addPoint | ( | const Eigen::Vector3d & | point3d | ) |
| void tasks::qp::ImageConstr::addPoint | ( | const std::vector< rbd::MultiBody > & | mbs, |
| const std::string & | bName, | ||
| const sva::PTransformd & | X_b_p = sva::PTransformd::Identity() |
||
| ) |
addPoint - overload for adding a self point
| mbs | |
| bodyId | |
| X_b_p |
|
overridevirtual |
|
overridevirtual |
| void tasks::qp::ImageConstr::computeComponents | ( | const rbd::MultiBody & | mb, |
| const rbd::MultiBodyConfig & | mbc, | ||
| const SolverData & | data, | ||
| const Eigen::Vector2d & | point2d, | ||
| const double | depth, | ||
| rbd::Jacobian & | jac, | ||
| const int | bodyIndex, | ||
| const sva::PTransformd & | X_b_p, | ||
| Eigen::MatrixXd & | fullJacobian, | ||
| Eigen::Vector2d & | bCommonTerm | ||
| ) |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
| ImageConstr& tasks::qp::ImageConstr::operator= | ( | const ImageConstr & | rhs | ) |
Copy assignment operator
|
default |
Move assignment operator
| void tasks::qp::ImageConstr::reset | ( | ) |
| void tasks::qp::ImageConstr::setLimits | ( | const Eigen::Vector2d & | min, |
| const Eigen::Vector2d & | max, | ||
| const double | iPercent, | ||
| const double | sPercent, | ||
| const double | damping, | ||
| const double | dampingOffsetPercent | ||
| ) |
setLimits
| min | |
| max | |
| iPercent | |
| sPercent | |
| damping |
|
overridevirtual |
Implements tasks::qp::Constraint.
|
overridevirtual |
Implements tasks::qp::Constraint.
| void tasks::qp::ImageConstr::updatePoint | ( | const int | pointId, |
| const Eigen::Vector2d & | point2d | ||
| ) |
| void tasks::qp::ImageConstr::updatePoint | ( | const int | pointId, |
| const Eigen::Vector2d & | point2d, | ||
| const double | depthEstimate | ||
| ) |
| void tasks::qp::ImageConstr::updatePoint | ( | const int | pointId, |
| const Eigen::Vector3d & | point3d | ||
| ) |