def IK(self, T_goal):
req = moveit_msgs.srv.GetPositionIKRequest()
req.ik_request.group_name = self.group_name
req.ik_request.robot_state = moveit_msgs.msg.RobotState()
req.ik_request.robot_state.joint_state = self.joint_state
req.ik_request.avoid_collisions = True
req.ik_request.pose_stamped = geometry_msgs.msg.PoseStamped()
req.ik_request.pose_stamped.header.frame_id = "world_link"
req.ik_request.pose_stamped.header.stamp = rospy.get_rostime()
req.ik_request.pose_stamped.pose = convert_to_message(T_goal)
req.ik_request.timeout = rospy.Duration(3.0)
res = self.ik_service(req)
q = []
if res.error_code.val == res.error_code.SUCCESS:
q = self.q_from_joint_state(res.solution.joint_state)
return q
评论列表
文章目录