CompositeDiffIK Class Reference

#include <RobotAPI/libraries/diffik/CompositeDiffIK.h>

Classes

class  NullspaceGradient
 
class  NullspaceJointLimitAvoidance
 
class  NullspaceJointTarget
 
class  NullspaceTarget
 
struct  NullspaceTargetStep
 
struct  Parameters
 
struct  Result
 
struct  SolveState
 
class  Target
 
struct  TargetStep
 

Public Types

typedef std::shared_ptr< class NullspaceGradientNullspaceGradientPtr
 
typedef std::shared_ptr< class NullspaceJointLimitAvoidanceNullspaceJointLimitAvoidancePtr
 
typedef std::shared_ptr< class NullspaceJointTargetNullspaceJointTargetPtr
 
typedef std::shared_ptr< class NullspaceTargetNullspaceTargetPtr
 
typedef std::shared_ptr< TargetTargetPtr
 

Public Member Functions

void addNullspaceGradient (const NullspaceGradientPtr &gradient)
 
NullspaceTargetPtr addNullspacePositionTarget (const VirtualRobot::RobotNodePtr &tcp, const Eigen::Vector3f &target)
 
void addTarget (const TargetPtr &target)
 
TargetPtr addTarget (const VirtualRobot::RobotNodePtr &tcp, const Eigen::Matrix4f &target, VirtualRobot::IKSolver::CartesianSelection mode)
 
int CartesianSelectionToSize (VirtualRobot::IKSolver::CartesianSelection mode)
 
 CompositeDiffIK (const VirtualRobot::RobotNodeSetPtr &rns)
 
Result solve (Parameters params)
 
void step (Parameters &params, SolveState &s, int stepNr)
 

Static Public Member Functions

static Eigen::MatrixXf CalculateNullspaceLU (const Eigen::Matrix4f &jacobi)
 
static Eigen::MatrixXf CalculateNullspaceSVD (const Eigen::Matrix4f &jacobi)
 
static Eigen::VectorXf LimitInfNormTo (Eigen::VectorXf vec, float maxValue)
 

Detailed Description

Definition at line 41 of file CompositeDiffIK.h.

Member Typedef Documentation

◆ NullspaceGradientPtr

typedef std::shared_ptr<class NullspaceGradient> NullspaceGradientPtr

Definition at line 66 of file CompositeDiffIK.h.

◆ NullspaceJointLimitAvoidancePtr

Definition at line 129 of file CompositeDiffIK.h.

◆ NullspaceJointTargetPtr

typedef std::shared_ptr<class NullspaceJointTarget> NullspaceJointTargetPtr

Definition at line 110 of file CompositeDiffIK.h.

◆ NullspaceTargetPtr

typedef std::shared_ptr<class NullspaceTarget> NullspaceTargetPtr

Definition at line 92 of file CompositeDiffIK.h.

◆ TargetPtr

typedef std::shared_ptr<Target> TargetPtr

Definition at line 166 of file CompositeDiffIK.h.

Constructor & Destructor Documentation

◆ CompositeDiffIK()

CompositeDiffIK ( const VirtualRobot::RobotNodeSetPtr &  rns)

Definition at line 34 of file CompositeDiffIK.cpp.

Member Function Documentation

◆ addNullspaceGradient()

void addNullspaceGradient ( const NullspaceGradientPtr gradient)

Definition at line 52 of file CompositeDiffIK.cpp.

+ Here is the caller graph for this function:

◆ addNullspacePositionTarget()

CompositeDiffIK::NullspaceTargetPtr addNullspacePositionTarget ( const VirtualRobot::RobotNodePtr &  tcp,
const Eigen::Vector3f &  target 
)

Definition at line 57 of file CompositeDiffIK.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTarget() [1/2]

void addTarget ( const TargetPtr target)

Definition at line 40 of file CompositeDiffIK.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTarget() [2/2]

CompositeDiffIK::TargetPtr addTarget ( const VirtualRobot::RobotNodePtr &  tcp,
const Eigen::Matrix4f &  target,
VirtualRobot::IKSolver::CartesianSelection  mode 
)

Definition at line 45 of file CompositeDiffIK.cpp.

+ Here is the call graph for this function:

◆ CalculateNullspaceLU()

Eigen::MatrixXf CalculateNullspaceLU ( const Eigen::Matrix4f &  jacobi)
static

V contains right singular vector and nullspace: V.shape: (cols,cols) singular vectors: V[:,0:rows] nullspace: V[:,rows:cols-rows]

Definition at line 165 of file CompositeDiffIK.cpp.

◆ CalculateNullspaceSVD()

Eigen::MatrixXf CalculateNullspaceSVD ( const Eigen::Matrix4f &  jacobi)
static

Definition at line 158 of file CompositeDiffIK.cpp.

◆ CartesianSelectionToSize()

int CartesianSelectionToSize ( VirtualRobot::IKSolver::CartesianSelection  mode)

Definition at line 284 of file CompositeDiffIK.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LimitInfNormTo()

Eigen::VectorXf LimitInfNormTo ( Eigen::VectorXf  vec,
float  maxValue 
)
static

Definition at line 334 of file CompositeDiffIK.cpp.

+ Here is the caller graph for this function:

◆ solve()

Definition at line 67 of file CompositeDiffIK.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ step()

void step ( CompositeDiffIK::Parameters params,
SolveState s,
int  stepNr 
)

Definition at line 182 of file CompositeDiffIK.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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