This was some example code used to traverse a GraphNav map and record fiducial positions along the way from the World Objects model of Spot.
<code python>
import typing
import pickle
import time
import rospy
import actionlib
from actionlib_msgs.msg import GoalStatus
from rosservice import get_service_class_by_name
from std_msgs.msg import String
from geometry_msgs.msg import PoseStamped
from spot_msgs.msg import WorldObjectArray, WorldObject
from spot_msgs.msg import AprilTagProperties
from spot_msgs.msg import FrameTreeSnapshot, ParentEdge
from spot_msgs.msg import NavigateInitAction, NavigateInitGoal
from spot_msgs.msg import NavigateToAction, NavigateToGoal
from spot_msgs.srv import ListGraphResponse
from std_srvs.srv import TriggerRequest
from fiducial import Fiducial
class SpotNav:
def __init__(self):
self.world_objects = None
self.fiducials_seen: typing.Dict[int, typing.List["Fiducial"]] = {}
self.waypoint_fiducial: typing.Dict[str, typing.List["Fiducial"]] = {}