24 template <
size_t NJOINTS,
typename SCALAR =
double>
28 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
51 const std::vector<size_t>& freeJoints) = 0;
64 const std::vector<size_t>& freeJoints) = 0;
79 const std::vector<size_t>& freeJoints = std::vector<size_t>())
83 bool hasSolution = computeInverseKinematics(solutions, eeWorldPose, baseWorldPose, freeJoints);
89 ikSolution = solutions[0];
90 double minNorm = (ikSolution - queryJointPositions).norm();
92 for (
size_t i = 1;
i < solutions.size(); ++
i)
94 if ((solutions[
i] - queryJointPositions).norm() < minNorm)
96 minNorm = (solutions[
i] - queryJointPositions).norm();
97 ikSolution = solutions[
i];
113 const std::vector<size_t>& freeJoints = std::vector<size_t>())
118 return computeInverseKinematicsCloseTo(
119 ikSolution, eeBasePose, identityWorldPose, queryJointPositions, freeJoints);
InverseKinematicsSettings settings_
Definition: InverseKinematicsBase.h:125
size_t maxNumTrials_
Definition: InverseKinematicsBase.h:18
Pose of a single rigid body.
Definition: RigidBodyPose.h:29
joint state and joint velocity
Definition: JointState.h:21
InverseKinematicsSettings()
Definition: InverseKinematicsBase.h:17
const InverseKinematicsSettings & getSettings() const
Definition: InverseKinematicsBase.h:122
InverseKinematicsBase(const InverseKinematicsSettings &settings)
constructor with additional settings
Definition: InverseKinematicsBase.h:38
void setIdentity()
Sets orientation to identity and position to (0, 0, 0)
Definition: RigidBodyPose.h:390
Definition: InverseKinematicsBase.h:25
Definition: InverseKinematicsBase.h:15
bool randomizeInitialGuess_
Definition: InverseKinematicsBase.h:19
typename JointState< NJOINTS, SCALAR >::Position JointPosition_t
Definition: InverseKinematicsBase.h:30
virtual bool computeInverseKinematicsCloseTo(JointPosition_t &ikSolution, const RigidBodyPoseTpl &eeWorldPose, const RigidBodyPoseTpl &baseWorldPose, const JointPosition_t &queryJointPositions, const std::vector< size_t > &freeJoints=std::vector< size_t >())
compute inverse kinematics for an end-effector
Definition: InverseKinematicsBase.h:75
void updateSettings(const InverseKinematicsSettings &settings)
Definition: InverseKinematicsBase.h:123
virtual bool computeInverseKinematicsCloseTo(JointPosition_t &ikSolution, const RigidBodyPoseTpl &eeBasePose, const JointPosition_t &queryJointPositions, const std::vector< size_t > &freeJoints=std::vector< size_t >())
compute inverse kinematics for an end-effector
Definition: InverseKinematicsBase.h:110
std::vector< JointPosition_t, Eigen::aligned_allocator< JointPosition_t > > JointPositionsVector_t
Definition: InverseKinematicsBase.h:31
double validationTol_
Definition: InverseKinematicsBase.h:20