Public Member Functions | |
PlanarManipulator (unsigned int numLinks, double linkLength, const std::pair< double, double > &origin={0.0, 0.0}) | |
PlanarManipulator (unsigned int numLinks, const std::vector< double > &linkLengths, const std::pair< double, double > &origin={0.0, 0.0}) | |
unsigned int | getNumLinks () const |
const Eigen::Affine2d & | getBaseFrame () const |
void | setBaseFrame (const Eigen::Affine2d &frame) |
const std::vector< double > & | getLinkLengths () const |
void | setBounds (unsigned int link, double low, double high) |
void | setBounds (const std::vector< double > &low, const std::vector< double > &high) |
bool | hasBounds (unsigned int link) const |
void | getBounds (unsigned int link, double &low, double &high) const |
const std::vector< double > & | lowerBounds () const |
const std::vector< double > & | upperBounds () const |
void | FK (const double *joints, std::vector< Eigen::Affine2d > &frames) const |
void | FK (const std::vector< double > &joints, std::vector< Eigen::Affine2d > &frames) const |
void | FK (const Eigen::VectorXd &joints, std::vector< Eigen::Affine2d > &frames) const |
void | FK (const double *joints, Eigen::Affine2d &eeFrame) const |
void | FK (const std::vector< double > &joints, Eigen::Affine2d &eeFrame) const |
void | FK (const Eigen::VectorXd &joints, Eigen::Affine2d &eeFrame) const |
bool | IK (std::vector< double > &solution, const Eigen::Affine2d &eeFrame) const |
bool | IK (std::vector< double > &solution, const std::vector< double > &seed, const Eigen::Affine2d &desiredFrame) const |
bool | FABRIK (std::vector< double > &solution, const Eigen::Affine2d &eeFrame, double xyTol=1e-5, double thetaTol=1e-3) const |
bool | FABRIK (std::vector< double > &solution, const std::vector< double > &seed, const Eigen::Affine2d &desiredFrame, double xyTol=1e-5, double thetaTol=1e-3) const |
void | Jacobian (const std::vector< double > &joints, Eigen::MatrixXd &jac) const |
void | Jacobian (const Eigen::VectorXd &joints, Eigen::MatrixXd &jac) const |
void | Jacobian (const double *joints, Eigen::MatrixXd &jac) const |
Static Public Member Functions | |
static void | frameToPose (const Eigen::Affine2d &frame, Eigen::VectorXd &pose) |
Protected Member Functions | |
bool | infeasible (const Eigen::Affine2d &frame) const |
Protected Attributes | |
unsigned int | numLinks_ |
std::vector< double > | linkLengths_ |
std::vector< bool > | hasBounds_ |
std::vector< double > | lowerBounds_ |
std::vector< double > | upperBounds_ |
Eigen::Affine2d | baseFrame_ |
Detailed Description
Definition at line 43 of file PlanarManipulator.h.
Constructor & Destructor Documentation
◆ PlanarManipulator() [1/2]
PlanarManipulator::PlanarManipulator | ( | unsigned int | numLinks, |
double | linkLength, | ||
const std::pair< double, double > & | origin = {0.0, 0.0} ) |
Definition at line 45 of file PlanarManipulator.cpp.
◆ PlanarManipulator() [2/2]
PlanarManipulator::PlanarManipulator | ( | unsigned int | numLinks, |
const std::vector< double > & | linkLengths, | ||
const std::pair< double, double > & | origin = {0.0, 0.0} ) |
Definition at line 57 of file PlanarManipulator.cpp.
◆ ~PlanarManipulator()
|
virtual |
Definition at line 77 of file PlanarManipulator.cpp.
Member Function Documentation
◆ FABRIK() [1/2]
bool PlanarManipulator::FABRIK | ( | std::vector< double > & | solution, |
const Eigen::Affine2d & | eeFrame, | ||
double | xyTol = 1e-5, | ||
double | thetaTol = 1e-3 ) const |
Definition at line 308 of file PlanarManipulator.cpp.
◆ FABRIK() [2/2]
bool PlanarManipulator::FABRIK | ( | std::vector< double > & | solution, |
const std::vector< double > & | seed, | ||
const Eigen::Affine2d & | desiredFrame, | ||
double | xyTol = 1e-5, | ||
double | thetaTol = 1e-3 ) const |
Definition at line 315 of file PlanarManipulator.cpp.
◆ FK() [1/6]
void PlanarManipulator::FK | ( | const double * | joints, |
Eigen::Affine2d & | eeFrame ) const |
Definition at line 180 of file PlanarManipulator.cpp.
◆ FK() [2/6]
void PlanarManipulator::FK | ( | const double * | joints, |
std::vector< Eigen::Affine2d > & | frames ) const |
Definition at line 156 of file PlanarManipulator.cpp.
◆ FK() [3/6]
void PlanarManipulator::FK | ( | const Eigen::VectorXd & | joints, |
Eigen::Affine2d & | eeFrame ) const |
Definition at line 175 of file PlanarManipulator.cpp.
◆ FK() [4/6]
void PlanarManipulator::FK | ( | const Eigen::VectorXd & | joints, |
std::vector< Eigen::Affine2d > & | frames ) const |
Definition at line 151 of file PlanarManipulator.cpp.
◆ FK() [5/6]
void PlanarManipulator::FK | ( | const std::vector< double > & | joints, |
Eigen::Affine2d & | eeFrame ) const |
Definition at line 170 of file PlanarManipulator.cpp.
◆ FK() [6/6]
void PlanarManipulator::FK | ( | const std::vector< double > & | joints, |
std::vector< Eigen::Affine2d > & | frames ) const |
Definition at line 146 of file PlanarManipulator.cpp.
◆ frameToPose()
|
static |
Definition at line 508 of file PlanarManipulator.cpp.
◆ getBaseFrame()
const Eigen::Affine2d & PlanarManipulator::getBaseFrame | ( | ) | const |
Definition at line 87 of file PlanarManipulator.cpp.
◆ getBounds()
void PlanarManipulator::getBounds | ( | unsigned int | link, |
double & | low, | ||
double & | high ) const |
Definition at line 129 of file PlanarManipulator.cpp.
◆ getLinkLengths()
const std::vector< double > & PlanarManipulator::getLinkLengths | ( | ) | const |
Definition at line 98 of file PlanarManipulator.cpp.
◆ getNumLinks()
unsigned int PlanarManipulator::getNumLinks | ( | ) | const |
Definition at line 82 of file PlanarManipulator.cpp.
◆ hasBounds()
bool PlanarManipulator::hasBounds | ( | unsigned int | link | ) | const |
Definition at line 124 of file PlanarManipulator.cpp.
◆ IK() [1/2]
bool PlanarManipulator::IK | ( | std::vector< double > & | solution, |
const Eigen::Affine2d & | eeFrame ) const |
Definition at line 194 of file PlanarManipulator.cpp.
◆ IK() [2/2]
bool PlanarManipulator::IK | ( | std::vector< double > & | solution, |
const std::vector< double > & | seed, | ||
const Eigen::Affine2d & | desiredFrame ) const |
Definition at line 200 of file PlanarManipulator.cpp.
◆ infeasible()
|
protected |
Definition at line 516 of file PlanarManipulator.cpp.
◆ Jacobian() [1/3]
void PlanarManipulator::Jacobian | ( | const double * | joints, |
Eigen::MatrixXd & | jac ) const |
Definition at line 467 of file PlanarManipulator.cpp.
◆ Jacobian() [2/3]
void PlanarManipulator::Jacobian | ( | const Eigen::VectorXd & | joints, |
Eigen::MatrixXd & | jac ) const |
Definition at line 503 of file PlanarManipulator.cpp.
◆ Jacobian() [3/3]
void PlanarManipulator::Jacobian | ( | const std::vector< double > & | joints, |
Eigen::MatrixXd & | jac ) const |
Definition at line 498 of file PlanarManipulator.cpp.
◆ lowerBounds()
const std::vector< double > & PlanarManipulator::lowerBounds | ( | ) | const |
Definition at line 134 of file PlanarManipulator.cpp.
◆ setBaseFrame()
void PlanarManipulator::setBaseFrame | ( | const Eigen::Affine2d & | frame | ) |
Definition at line 92 of file PlanarManipulator.cpp.
◆ setBounds() [1/2]
void PlanarManipulator::setBounds | ( | const std::vector< double > & | low, |
const std::vector< double > & | high ) |
Definition at line 114 of file PlanarManipulator.cpp.
◆ setBounds() [2/2]
void PlanarManipulator::setBounds | ( | unsigned int | link, |
double | low, | ||
double | high ) |
Definition at line 104 of file PlanarManipulator.cpp.
◆ upperBounds()
const std::vector< double > & PlanarManipulator::upperBounds | ( | ) | const |
Definition at line 139 of file PlanarManipulator.cpp.
Member Data Documentation
◆ baseFrame_
|
protected |
Definition at line 125 of file PlanarManipulator.h.
◆ hasBounds_
|
protected |
Definition at line 120 of file PlanarManipulator.h.
◆ linkLengths_
|
protected |
Definition at line 118 of file PlanarManipulator.h.
◆ lowerBounds_
|
protected |
Definition at line 121 of file PlanarManipulator.h.
◆ numLinks_
|
protected |
Definition at line 116 of file PlanarManipulator.h.
◆ upperBounds_
|
protected |
Definition at line 122 of file PlanarManipulator.h.
The documentation for this class was generated from the following files:
- demos/PlanarManipulator/PlanarManipulator.h
- demos/PlanarManipulator/PlanarManipulator.cpp