Simox
2.3.74.0
|
Data Structures | |
struct | AdditionalOutputData |
Public Member Functions | |
ConstrainedOptimizationIK (RobotPtr &robot, const RobotNodeSetPtr &nodeSet, float timeout=0.5, float globalTolerance=std::numeric_limits< float >::quiet_NaN()) | |
bool | initialize () override |
bool | solve (bool stepwise=false) override |
bool | solveStep () override |
void | setRandomSamplingDisplacementFactor (float displacementFactor) |
Public Member Functions inherited from VirtualRobot::ConstrainedIK | |
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 () |
void | setMaxIterations (int maxIterations) |
int | getMaxIterations () |
bool | getRunning () |
int | getCurrentIteration () |
Protected Member Functions | |
double | optimizationFunction (const std::vector< double > &x, std::vector< double > &gradient) |
double | optimizationConstraint (const std::vector< double > &x, std::vector< double > &gradient, const OptimizationFunctionSetup &setup) |
bool | hardOptimizationFunction (const std::vector< double > &x, double &error, AdditionalOutputData &data) |
Protected Member Functions inherited from VirtualRobot::ConstrainedIK | |
void | getUnitableNodes (const RobotNodePtr &robotNode, const RobotNodeSetPtr &nodeSet, std::vector< std::string > &unitable) |
RobotPtr | buildReducedRobot (const RobotPtr &original) |
Static Protected Member Functions | |
static double | optimizationFunctionWrapper (const std::vector< double > &x, std::vector< double > &gradient, void *data) |
static double | optimizationConstraintWrapper (const std::vector< double > &x, std::vector< double > &gradient, void *data) |
Protected Attributes | |
RobotNodeSetPtr | nodeSet |
OptimizerPtr | optimizer |
float | timeout |
float | globalTolerance |
std::vector< double > | currentX |
unsigned int | numIterations |
float | randomSamplingDisplacementFactor |
float | functionValueTolerance |
float | optimizationValueTolerance |
Protected Attributes inherited from VirtualRobot::ConstrainedIK | |
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 |
Additional Inherited Members | |
Public Types inherited from VirtualRobot::ConstrainedIK | |
enum | SeedType { eSeedZero, eSeedInitial, eSeedOther } |
ConstrainedOptimizationIK::ConstrainedOptimizationIK | ( | RobotPtr & | robot, |
const RobotNodeSetPtr & | nodeSet, | ||
float | timeout = 0.5 , |
||
float | globalTolerance = std::numeric_limits<float>::quiet_NaN() |
||
) |
|
protected |
|
overridevirtual |
Reimplemented from VirtualRobot::ConstrainedIK.
|
protected |
|
staticprotected |
|
protected |
|
staticprotected |
void ConstrainedOptimizationIK::setRandomSamplingDisplacementFactor | ( | float | displacementFactor | ) |
This factor limits the interval around the initial robot configuration where random samplings are placed. A value of 1 (the default) means that samplings can in the whole joint limit interval.
|
overridevirtual |
Reimplemented from VirtualRobot::ConstrainedIK.
|
overridevirtual |
Implements VirtualRobot::ConstrainedIK.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |