|
#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 NullspaceGradient > | NullspaceGradientPtr |
typedef std::shared_ptr< class NullspaceJointLimitAvoidance > | NullspaceJointLimitAvoidancePtr |
typedef std::shared_ptr< class NullspaceJointTarget > | NullspaceJointTargetPtr |
typedef std::shared_ptr< class NullspaceTarget > | NullspaceTargetPtr |
typedef std::shared_ptr< Target > | TargetPtr |
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 ¶ms, 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) |
Definition at line 41 of file CompositeDiffIK.h.
typedef std::shared_ptr<class NullspaceGradient> NullspaceGradientPtr |
Definition at line 66 of file CompositeDiffIK.h.
typedef std::shared_ptr<class NullspaceJointLimitAvoidance> NullspaceJointLimitAvoidancePtr |
Definition at line 129 of file CompositeDiffIK.h.
typedef std::shared_ptr<class NullspaceJointTarget> NullspaceJointTargetPtr |
Definition at line 110 of file CompositeDiffIK.h.
typedef std::shared_ptr<class NullspaceTarget> NullspaceTargetPtr |
Definition at line 92 of file CompositeDiffIK.h.
Definition at line 166 of file CompositeDiffIK.h.
CompositeDiffIK | ( | const VirtualRobot::RobotNodeSetPtr & | rns | ) |
Definition at line 34 of file CompositeDiffIK.cpp.
void addNullspaceGradient | ( | const NullspaceGradientPtr & | gradient | ) |
CompositeDiffIK::NullspaceTargetPtr addNullspacePositionTarget | ( | const VirtualRobot::RobotNodePtr & | tcp, |
const Eigen::Vector3f & | target | ||
) |
Definition at line 57 of file CompositeDiffIK.cpp.
void addTarget | ( | const TargetPtr & | target | ) |
Definition at line 40 of file CompositeDiffIK.cpp.
CompositeDiffIK::TargetPtr addTarget | ( | const VirtualRobot::RobotNodePtr & | tcp, |
const Eigen::Matrix4f & | target, | ||
VirtualRobot::IKSolver::CartesianSelection | mode | ||
) |
|
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.
|
static |
Definition at line 158 of file CompositeDiffIK.cpp.
int CartesianSelectionToSize | ( | VirtualRobot::IKSolver::CartesianSelection | mode | ) |
Definition at line 284 of file CompositeDiffIK.cpp.
|
static |
CompositeDiffIK::Result solve | ( | Parameters | params | ) |
Definition at line 67 of file CompositeDiffIK.cpp.
void step | ( | CompositeDiffIK::Parameters & | params, |
SolveState & | s, | ||
int | stepNr | ||
) |
Definition at line 182 of file CompositeDiffIK.cpp.