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

Public Member Functions

 ConstrainedStackedIK (RobotPtr &robot, const RobotNodeSetPtr &nodeSet, float stepSize=0.2f, int maxIterations=1000, JacobiProvider::InverseJacobiMethod method=JacobiProvider::eSVD)
 
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
 
StackedIKPtr ik
 
std::vector< JacobiProviderPtrjacobians
 
JacobiProvider::InverseJacobiMethod method
 
float stepSize
 
- 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

◆ ConstrainedStackedIK()

ConstrainedStackedIK::ConstrainedStackedIK ( RobotPtr robot,
const RobotNodeSetPtr nodeSet,
float  stepSize = 0.2f,
int  maxIterations = 1000,
JacobiProvider::InverseJacobiMethod  method = JacobiProvider::eSVD 
)

Member Function Documentation

◆ initialize()

bool ConstrainedStackedIK::initialize ( )
overridevirtual

Reimplemented from VirtualRobot::ConstrainedIK.

◆ solveStep()

bool ConstrainedStackedIK::solveStep ( )
overridevirtual

Field Documentation

◆ ik

StackedIKPtr VirtualRobot::ConstrainedStackedIK::ik
protected

◆ jacobians

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

◆ method

JacobiProvider::InverseJacobiMethod VirtualRobot::ConstrainedStackedIK::method
protected

◆ nodeSet

RobotNodeSetPtr VirtualRobot::ConstrainedStackedIK::nodeSet
protected

◆ stepSize

float VirtualRobot::ConstrainedStackedIK::stepSize
protected