32#include <VirtualRobot/VirtualRobot.h>
67 VirtualRobot::RobotNodeSetPtr
rns;
68 VirtualRobot::RobotNodePtr
elbow;
70 VirtualRobot::RobotNodePtr
tcp;
83 static constexpr float MMM_L = 1700;
104 Eigen::Vector3f shoulderPos = Eigen::Vector3f::Zero(),
109 std::optional<float> minElbowHeight = std::nullopt);
150 Eigen::Vector3f shoulderPos;
153 int soechtingIterations = 2;
168 const Eigen::VectorXf& startJointValues);
DiffIKResult SolveAbsolute(const Eigen::Matrix4f &targetPose)
DiffIKResult SolveRelative(const Eigen::Matrix4f &targetPose, const Eigen::VectorXf &startJointValues)
NaturalIKProvider(const NaturalIK &natik, const NaturalIK::ArmJoints &arm, const NaturalDiffIK::Mode &setOri, const NaturalIK::Parameters ¶ms=NaturalIK::Parameters())
Eigen::Vector3f getShoulderPos()
NaturalIK::SoechtingForwardPositions solveSoechtingIK(const Eigen::Vector3f &targetPos, std::optional< float > minElbowHeight=std::nullopt)
NaturalDiffIK::Result calculateIK(const Eigen::Matrix4f &targetPose, ArmJoints arm, NaturalIK::Parameters params=NaturalIK::Parameters())
NaturalDiffIK::Result calculateIKpos(const Eigen::Vector3f &targetPos, ArmJoints arm, NaturalIK::Parameters params=NaturalIK::Parameters())
NaturalIK(std::string side, Eigen::Vector3f shoulderPos=Eigen::Vector3f::Zero(), float scale=1)
float getUpperArmLength() const
SoechtingForwardPositions forwardKinematics(SoechtingAngles sa)
SoechtingAngles CalculateSoechtingAngles(Eigen::Vector3f target)
NaturalIK::CalculateSoechtingAngles.
void setUpperArmLength(float value)
float getLowerArmLength() const
void setLowerArmLength(float value)
void setScale(float scale)
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< class NaturalIK > NaturalIKPtr
VirtualRobot::RobotNodePtr elbow
VirtualRobot::RobotNodePtr shoulder
VirtualRobot::RobotNodeSetPtr rns
VirtualRobot::RobotNodePtr tcp
NaturalDiffIK::Parameters diffIKparams
std::optional< float > minimumElbowHeight
static constexpr float MMM_LOWER_ARM_LENGTH
static constexpr float MMM_CLAVICULAR_WIDTH
static constexpr float MMM_LSC2LS
static constexpr float MMM_LE2LW
static constexpr float MMM_SHOULDER_POS
static constexpr float MMM_LS2LE
static constexpr float MMM_L
static constexpr float MMM_BT2LSC
static constexpr float MMM_UPPER_ARM_LENGTH
SoechtingAngles soechtingAngles