melodic 下的moveit逆运动学迁移到noetic下 竟然报错了,明明代码没有改动
报错如下 tuple no header
源代码如下:
target_pose = PoseStamped()
target_pose.header.frame_id = reference_frame
target_pose.header.stamp = rospy.Time.now()
target_pose.pose.position.x = 0.2
target_pose.pose.position.y = 0.25
target_pose.pose.position.z = 0.36
target_pose.pose.orientation.x = 1
target_pose.pose.orientation.y = 0
target_pose.pose.orientation.z = 0
target_pose.pose.orientation.w = 0
arm.set_start_state_to_current_state()
arm.set_pose_target(target_pose, end_effector_link)
traj = arm.plan()
arm.execute(traj)
rospy.sleep(2)
因为melodic默认是py2.7所以我新建conda py2.7的环境
还是报错:
在这个文章获得灵感:
修改的代码如下:
target_pose.pose.position.x = 0.2
target_pose.pose.position.y = 0.25
target_pose.pose.position.z = 0.36
target_pose.pose.orientation.x = 1
target_pose.pose.orientation.y = 0
target_pose.pose.orientation.z = 0
target_pose.pose.orientation.w = 0
arm.set_start_state_to_current_state()
arm.set_pose_target(target_pose, end_effector_link)
plan_success,traj,planning_time,error_code = arm.plan()
# traj = arm.plan()
arm.execute(traj)
rospy.sleep(2)
最终成功了