def list_to_pose(pose_list):
pose_msg = Pose()
if len(pose_list) == 7:
pose_msg.position.x = pose_list[0]
pose_msg.position.y = pose_list[1]
pose_msg.position.z = pose_list[2]
pose_msg.orientation.x = pose_list[3]
pose_msg.orientation.y = pose_list[4]
pose_msg.orientation.z = pose_list[5]
pose_msg.orientation.w = pose_list[6]
elif len(pose_list) == 6:
pose_msg.position.x = pose_list[0]
pose_msg.position.y = pose_list[1]
pose_msg.position.z = pose_list[2]
q = tf.transformations.quaternion_from_euler(pose_list[3], pose_list[4], pose_list[5])
pose_msg.orientation.x = q[0]
pose_msg.orientation.y = q[1]
pose_msg.orientation.z = q[2]
pose_msg.orientation.w = q[3]
else:
raise MoveItCommanderException("Expected either 6 or 7 elements in list: (x,y,z,r,p,y) or (x,y,z,qx,qy,qz,qw)")
return pose_msg
评论列表
文章目录