Simox
2.3.74.0
|
Public Types | |
enum | SeedType { eSeedZero, eSeedInitial, eSeedOther } |
Public Member Functions | |
ConstrainedIK (RobotPtr &robot, const RobotNodeSetPtr &nodeSet, int maxIterations=1000, float stall_epsilon=0.0001, float raise_epsilon=0.8, bool reduceRobot=false) | |
void | addConstraint (const ConstraintPtr &constraint, int priority=0, bool hard_constraint=true) |
void | removeConstraint (const ConstraintPtr &constraint) |
std::vector< ConstraintPtr > | getConstraints () |
void | addSeed (SeedType type, const Eigen::VectorXf seed=Eigen::VectorXf()) |
void | clearSeeds () |
virtual bool | initialize () |
virtual bool | solveStep ()=0 |
virtual bool | solve (bool stepwise=false) |
void | setMaxIterations (int maxIterations) |
int | getMaxIterations () |
bool | getRunning () |
int | getCurrentIteration () |
Protected Member Functions | |
void | getUnitableNodes (const RobotNodePtr &robotNode, const RobotNodeSetPtr &nodeSet, std::vector< std::string > &unitable) |
RobotPtr | buildReducedRobot (const RobotPtr &original) |
Protected Attributes | |
std::vector< ConstraintPtr > | constraints |
std::map< ConstraintPtr, int > | priorities |
std::map< ConstraintPtr, bool > | hardConstraints |
RobotPtr | originalRobot |
RobotPtr | robot |
RobotNodeSetPtr | nodeSet |
Eigen::VectorXf | initialConfig |
std::vector< std::pair< SeedType, Eigen::VectorXf > > | seeds |
int | maxIterations |
int | currentIteration |
bool | running |
float | stallEpsilon |
float | raiseEpsilon |
ConstrainedIK::ConstrainedIK | ( | RobotPtr & | robot, |
const RobotNodeSetPtr & | nodeSet, | ||
int | maxIterations = 1000 , |
||
float | stall_epsilon = 0.0001 , |
||
float | raise_epsilon = 0.8 , |
||
bool | reduceRobot = false |
||
) |
void ConstrainedIK::addConstraint | ( | const ConstraintPtr & | constraint, |
int | priority = 0 , |
||
bool | hard_constraint = true |
||
) |
void ConstrainedIK::addSeed | ( | ConstrainedIK::SeedType | type, |
const Eigen::VectorXf | seed = Eigen::VectorXf() |
||
) |
void ConstrainedIK::clearSeeds | ( | ) |
std::vector< ConstraintPtr > ConstrainedIK::getConstraints | ( | ) |
int ConstrainedIK::getCurrentIteration | ( | ) |
int ConstrainedIK::getMaxIterations | ( | ) |
bool ConstrainedIK::getRunning | ( | ) |
|
protected |
|
virtual |
void ConstrainedIK::removeConstraint | ( | const ConstraintPtr & | constraint | ) |
void ConstrainedIK::setMaxIterations | ( | int | maxIterations | ) |
|
virtual |
Reimplemented in VirtualRobot::ConstrainedOptimizationIK.
|
pure virtual |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |