Simox  2.3.74.0
VirtualRobot::ConstrainedHierarchicalIK Class Reference
Inheritance diagram for VirtualRobot::ConstrainedHierarchicalIK:
VirtualRobot::ConstrainedIK

Public Member Functions

 ConstrainedHierarchicalIK (RobotPtr &robot, const RobotNodeSetPtr &nodeSet, float stepSize=0.2f, int maxIterations=1000, float stall_epsilon=0.0001, float raise_epsilon=0.1)
 
bool initialize () override
 
bool solveStep () override
 
- 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< ConstraintPtrgetConstraints ()
 
void addSeed (SeedType type, const Eigen::VectorXf seed=Eigen::VectorXf())
 
void clearSeeds ()
 
virtual bool solve (bool stepwise=false)
 
void setMaxIterations (int maxIterations)
 
int getMaxIterations ()
 
bool getRunning ()
 
int getCurrentIteration ()
 

Protected Attributes

RobotNodeSetPtr nodeSet
 
HierarchicalIKPtr ik
 
std::vector< JacobiProviderPtrjacobians
 
float stepSize
 
Eigen::VectorXf lastDelta
 
- Protected Attributes inherited from VirtualRobot::ConstrainedIK
std::vector< ConstraintPtrconstraints
 
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 }
 
- 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)
 

Constructor & Destructor Documentation

◆ ConstrainedHierarchicalIK()

ConstrainedHierarchicalIK::ConstrainedHierarchicalIK ( RobotPtr robot,
const RobotNodeSetPtr nodeSet,
float  stepSize = 0.2f,
int  maxIterations = 1000,
float  stall_epsilon = 0.0001,
float  raise_epsilon = 0.1 
)

Member Function Documentation

◆ initialize()

bool ConstrainedHierarchicalIK::initialize ( )
overridevirtual

Reimplemented from VirtualRobot::ConstrainedIK.

◆ solveStep()

bool ConstrainedHierarchicalIK::solveStep ( )
overridevirtual

Field Documentation

◆ ik

HierarchicalIKPtr VirtualRobot::ConstrainedHierarchicalIK::ik
protected

◆ jacobians

std::vector<JacobiProviderPtr> VirtualRobot::ConstrainedHierarchicalIK::jacobians
protected

◆ lastDelta

Eigen::VectorXf VirtualRobot::ConstrainedHierarchicalIK::lastDelta
protected

◆ nodeSet

RobotNodeSetPtr VirtualRobot::ConstrainedHierarchicalIK::nodeSet
protected

◆ stepSize

float VirtualRobot::ConstrainedHierarchicalIK::stepSize
protected