26#ifndef TESSERACT_KINEMATICS_ROP_INVERSE_KINEMATICS_H 
   27#define TESSERACT_KINEMATICS_ROP_INVERSE_KINEMATICS_H 
   31#include <unordered_map> 
   32#include <console_bridge/console.h> 
   53  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
   56  using Ptr = std::shared_ptr<ROPInvKin>;
 
   57  using ConstPtr = std::shared_ptr<const ROPInvKin>;
 
   58  using UPtr = std::unique_ptr<ROPInvKin>;
 
   82            double manipulator_reach,
 
   84            const Eigen::VectorXd& positioner_sample_resolution,
 
  103            double manipulator_reach,
 
  105            const Eigen::MatrixX2d& positioner_sample_range,
 
  106            const Eigen::VectorXd& positioner_sample_resolution,
 
  110                         const Eigen::Ref<const Eigen::VectorXd>& 
seed) 
const override final;
 
  112  std::vector<std::string> 
getJointNames() const override final;
 
  113  Eigen::Index 
numJoints() const override final;
 
  135            double manipulator_reach,
 
  137            const Eigen::MatrixX2d& poitioner_sample_range,
 
  138            const Eigen::VectorXd& positioner_sample_resolution,
 
  143                               const Eigen::Ref<const Eigen::VectorXd>& 
seed) 
const;
 
  147                 const std::vector<Eigen::VectorXd>& dof_range,
 
  149                 Eigen::VectorXd& positioner_pose,
 
  150                 const Eigen::Ref<const Eigen::VectorXd>& 
seed) 
const;
 
  154            Eigen::VectorXd& positioner_pose,
 
  155            const Eigen::Ref<const Eigen::VectorXd>& 
seed) 
const;
 
#define vector(a, b, c)
Definition: FloatMath.inl:3227
 
Forward kinematics functions.
Definition: forward_kinematics.h:47
 
std::unique_ptr< ForwardKinematics > UPtr
Definition: forward_kinematics.h:55
 
Inverse kinematics functions.
Definition: inverse_kinematics.h:47
 
std::unique_ptr< InverseKinematics > UPtr
Definition: inverse_kinematics.h:55
 
Robot on Positioner Inverse kinematic implementation.
Definition: rop_inv_kin.h:50
 
ROPInvKin(ROPInvKin &&)=default
 
InverseKinematics::UPtr clone() const override final
Clone the forward kinematics object.
Definition: rop_inv_kin.cpp:160
 
std::unique_ptr< const ROPInvKin > ConstUPtr
Definition: rop_inv_kin.h:59
 
Eigen::Index numJoints() const override final
Number of joints in robot.
Definition: rop_inv_kin.cpp:248
 
std::string getWorkingFrame() const override final
Get the inverse kinematics working frame.
Definition: rop_inv_kin.cpp:252
 
ForwardKinematics::UPtr positioner_fwd_kin_
Definition: rop_inv_kin.h:123
 
std::string positioner_tip_link_
Definition: rop_inv_kin.h:125
 
std::string solver_name_
Name of this solver.
Definition: rop_inv_kin.h:130
 
ROPInvKin & operator=(const ROPInvKin &other)
Definition: rop_inv_kin.cpp:164
 
IKSolutions calcInvKinHelper(const tesseract_common::TransformMap &tip_link_poses, const Eigen::Ref< const Eigen::VectorXd > &seed) const
calcFwdKin helper function
Definition: rop_inv_kin.cpp:178
 
double manip_reach_
Definition: rop_inv_kin.h:126
 
std::vector< std::string > joint_names_
Definition: rop_inv_kin.h:121
 
Eigen::Index dof_
Definition: rop_inv_kin.h:127
 
~ROPInvKin() override=default
 
void nested_ik(IKSolutions &solutions, int loop_level, const std::vector< Eigen::VectorXd > &dof_range, const tesseract_common::TransformMap &tip_link_poses, Eigen::VectorXd &positioner_pose, const Eigen::Ref< const Eigen::VectorXd > &seed) const
Definition: rop_inv_kin.cpp:187
 
void init(const tesseract_scene_graph::SceneGraph &scene_graph, const tesseract_scene_graph::SceneState &scene_state, InverseKinematics::UPtr manipulator, double manipulator_reach, ForwardKinematics::UPtr positioner, const Eigen::MatrixX2d &poitioner_sample_range, const Eigen::VectorXd &positioner_sample_resolution, std::string solver_name=DEFAULT_ROP_INV_KIN_SOLVER_NAME)
Definition: rop_inv_kin.cpp:92
 
std::shared_ptr< const ROPInvKin > ConstPtr
Definition: rop_inv_kin.h:57
 
void ikAt(IKSolutions &solutions, const tesseract_common::TransformMap &tip_link_poses, Eigen::VectorXd &positioner_pose, const Eigen::Ref< const Eigen::VectorXd > &seed) const
Definition: rop_inv_kin.cpp:207
 
std::shared_ptr< ROPInvKin > Ptr
Definition: rop_inv_kin.h:56
 
std::unique_ptr< ROPInvKin > UPtr
Definition: rop_inv_kin.h:58
 
std::vector< std::string > getTipLinkNames() const override final
Get the names of the tip links of the kinematics group.
Definition: rop_inv_kin.cpp:254
 
std::string manip_tip_link_
Definition: rop_inv_kin.h:124
 
std::string getSolverName() const override final
Get the name of the solver. Recommend using the name of the class.
Definition: rop_inv_kin.cpp:256
 
IKSolutions calcInvKin(const tesseract_common::TransformMap &tip_link_poses, const Eigen::Ref< const Eigen::VectorXd > &seed) const override final
Calculates joint solutions given a pose for each tip link.
Definition: rop_inv_kin.cpp:237
 
ROPInvKin & operator=(ROPInvKin &&)=default
 
Eigen::Isometry3d positioner_to_robot_
Definition: rop_inv_kin.h:128
 
std::string getBaseLinkName() const override final
Get the robot base link name.
Definition: rop_inv_kin.cpp:250
 
std::vector< std::string > getJointNames() const override final
Get list of joint names for kinematic object.
Definition: rop_inv_kin.cpp:246
 
InverseKinematics::UPtr manip_inv_kin_
Definition: rop_inv_kin.h:122
 
std::vector< Eigen::VectorXd > dof_range_
Definition: rop_inv_kin.h:129
 
Forward kinematics functions.
 
A basic scene graph using boost.
 
Eigen::VectorXd seed
Definition: ikfast_kinematics_7dof_unit.cpp:48
 
auto scene_graph
Definition: ikfast_kinematics_7dof_unit.cpp:51
 
Inverse kinematics functions.
 
tesseract_scene_graph::SceneState scene_state
Definition: kinematics_factory_unit.cpp:265
 
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
 
Definition: create_convex_hull.cpp:36
 
AlignedMap< std::string, Eigen::Isometry3d > TransformMap
Definition: types.h:66
 
Definition: forward_kinematics.h:44
 
static const std::string DEFAULT_ROP_INV_KIN_SOLVER_NAME
Definition: rop_inv_kin.h:44
 
std::vector< Eigen::VectorXd > IKSolutions
The inverse kinematics solutions container.
Definition: types.h:41
 
This holds a state of the scene.
 
This holds a state of the scene.
Definition: scene_state.h:54