-
-
Notifications
You must be signed in to change notification settings - Fork 8
Add the Mission Measurement: NavigateThroughPoses adapter #388
Copy link
Copy link
Closed
Labels
ecosystem-measurementsEcosystem Measurements initiativeEcosystem Measurements initiativeenhancementNew feature or requestNew feature or requestmeasurementMeasurement nodeMeasurement nodeready-for-agentPRD ready for agent implementationPRD ready for agent implementation
Description
Activity
Metadata
Metadata
Assignees
Labels
ecosystem-measurementsEcosystem Measurements initiativeEcosystem Measurements initiativeenhancementNew feature or requestNew feature or requestmeasurementMeasurement nodeMeasurement nodeready-for-agentPRD ready for agent implementationPRD ready for agent implementation
Parent
#305 (mission lifecycle contract), #387 (the
NavigateToPoseadapter this reuses), and #396 (Ecosystem Measurements epic).What to build
A sibling
dc_measurementsplugin,mission_nav2_through_poses(class
MissionNav2ThroughPoses), watching nav2'sNavigateThroughPosesaction —the action a deployment issues when a mission is a single job through several
hard-constraint poses in one call, rather than a chain of separate
NavigateToPosegoals. Reuses #387's Record schema and ROS-free core logic pattern; the only real
difference is the action interface being watched and the extra fields its
feedback/result carry.
Acceptance criteria
NavigateThroughPoses(configurable action name,default
navigate_through_poses), following Add the Mission Measurement: nav2 adapter (mission_start/mission_end Records) #387'srclcpp_actionpatternmission_start/mission_endRecords in Add the Mission Measurement: nav2 adapter (mission_start/mission_end Records) #387's schema, withmission_type: "navigate_through_poses"mission_endcarriesoutcome/reason/error_code/duration_sec/recoveriesexactly as Add the Mission Measurement: nav2 adapter (mission_start/mission_end Records) #387 defines them, sourced from the equivalent
NavigateThroughPosesresult/feedback fieldswaypoint_statuses(which poses in the job succeeded vs. failed) isrepresented on
mission_end— implementer's call on exact shape (raw array vs.an aggregate count), following whichever is simpler to keep the Record
reasonably flat; not pre-decided here
MeasurementServerintegration test using Add the Mission Measurement: nav2 adapter (mission_start/mission_end Records) #387's fake-action-server test pattern
doc/src/dc/measurements/, matching the convention ofbattery.md/intervention.mdBlocked by
None — can start immediately. Reuses #387's documented Record
schema/pattern and the pre-existing
dc_common::StateTransitionDetector(from #360, already used by
intervention/fault), not any code #387 itselfproduces — no shared class or header ties the two together, so this doesn't
need #387's implementation to land first.