8 #define IKFAST_HAS_LIBRARY 9 #define IKFAST_NAMESPACE irb4600_ik 20 template <
typename SCALAR =
double>
24 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
37 const std::vector<size_t>& freeJoints = std::vector<size_t>())
override 43 throw std::runtime_error(
"Error specifying free joints in Irb4600InverseKinematics");
46 Eigen::Matrix<SCALAR, 3, 3, Eigen::RowMajor> eeBaseRotationRowMajor =
47 eeBasePose.getRotationMatrix().toImplementation();
48 const std::vector<double> freeJoints_ikf(freeJoints.begin(), freeJoints.end());
50 freeJoints_ikf.size() > 0 ? freeJoints_ikf.data() :
nullptr, solutions);
54 if (num_solutions == 0)
58 for (
size_t i = 0;
i < num_solutions; ++
i)
62 sol.
getPositions().data(), freeJoints_ikf.size() > 0 ? freeJoints_ikf.data() :
nullptr);
75 const std::vector<size_t>& freeJoints = std::vector<size_t>())
override 77 return computeInverseKinematics(res, eeWorldPose.inReferenceFrame(baseWorldPose), freeJoints);
bool computeInverseKinematics(JointPositionsVector_t &res, const RigidBodyPoseTpl &eeBasePose, const std::vector< size_t > &freeJoints=std::vector< size_t >()) override
Definition: Irb4600InverseKinematics.h:35
virtual const IkSolutionBase< T > & GetSolution(size_t index) const
typename BASE::JointPositionsVector_t JointPositionsVector_t
Definition: Irb4600InverseKinematics.h:28
typename JointState< 6, SCALAR >::Position JointPosition_t
virtual void GetSolution(T *solution, const T *freevalues) const=0
typename BASE::JointPosition_t JointPosition_t
Definition: Irb4600InverseKinematics.h:27
bool computeInverseKinematics(JointPositionsVector_t &res, const RigidBodyPoseTpl &eeWorldPose, const RigidBodyPoseTpl &baseWorldPose, const std::vector< size_t > &freeJoints=std::vector< size_t >()) override
Definition: Irb4600InverseKinematics.h:72
typename BASE::RigidBodyPoseTpl RigidBodyPoseTpl
Definition: Irb4600InverseKinematics.h:29
Definition: Irb4600InverseKinematics.h:21
JointPositionBlock getPositions()
virtual size_t GetNumSolutions() const
std::vector< JointPosition_t, Eigen::aligned_allocator< JointPosition_t > > JointPositionsVector_t