Loading...
Searching...
No Matches

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()

PlanarManipulator::~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()

void PlanarManipulator::frameToPose ( const Eigen::Affine2d &  frame,
Eigen::VectorXd &  pose 
)
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()

bool PlanarManipulator::infeasible ( const Eigen::Affine2d &  frame) const
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_

Eigen::Affine2d PlanarManipulator::baseFrame_
protected

Definition at line 125 of file PlanarManipulator.h.

◆ hasBounds_

std::vector<bool> PlanarManipulator::hasBounds_
protected

Definition at line 120 of file PlanarManipulator.h.

◆ linkLengths_

std::vector<double> PlanarManipulator::linkLengths_
protected

Definition at line 118 of file PlanarManipulator.h.

◆ lowerBounds_

std::vector<double> PlanarManipulator::lowerBounds_
protected

Definition at line 121 of file PlanarManipulator.h.

◆ numLinks_

unsigned int PlanarManipulator::numLinks_
protected

Definition at line 116 of file PlanarManipulator.h.

◆ upperBounds_

std::vector<double> PlanarManipulator::upperBounds_
protected

Definition at line 122 of file PlanarManipulator.h.


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