Skip to content

Fix: Launch fuse and AprilTag detectors for space_satellite_sim in dev#641

Open
davetcoleman wants to merge 2 commits into
mainfrom
fix/space-satellite-sim-fuse-dev-launch
Open

Fix: Launch fuse and AprilTag detectors for space_satellite_sim in dev#641
davetcoleman wants to merge 2 commits into
mainfrom
fix/space-satellite-sim-fuse-dev-launch

Conversation

@davetcoleman
Copy link
Copy Markdown
Member

@davetcoleman davetcoleman commented May 20, 2026

In dev mode (agent_robot.app), the space_satellite_sim configuration never started the fuse state_estimator or the AprilTag detectors. /odom_filtered was never published, so Grapple Moving Satellite via Fiducial Tracking's GetOdom only ever produced a default-constructed PoseStamped with an empty frame_id, surfacing as a rapid stream of:

[ERROR] odom pose for debug Error: Cannot find transform between frames `world` (target) and `` (source).

Verified with ros2 node list (no state_estimator, no apriltag_*) and ros2 topic echo --once /odom_filtered ("topic does not appear to be published yet").

agent_bridge.launch.xml is only launched as a standalone container in prod / e2e (docker-compose-prod.yaml:120, docker-compose.e2e.yaml:73). The mechanism that makes agent_robot.app include extra simulation nodes in dev is the hardware.simulated_hardware_launch_file key (see moveit_studio_agent/launch_description.py:302-312's if is_simulated: block). That key was never set for space_satellite_sim, so fuse + AprilTag detectors were dev-invisible since PR #225.

Changes

  • New simulated_extras.launch.xml holding the AprilTag + fuse includes.
  • agent_bridge.launch.xml delegates to it, so prod / e2e and dev share one source.
  • config/config.yaml sets hardware.simulated_hardware_launch_file so agent_robot.app picks it up automatically when running simulated.

Commit structure

Two commits, kept separate intentionally (please do not squash):

  1. fix(space_satellite_sim): launch fuse and apriltag detectors in dev — the launch-wiring fix described above.
  2. chore(space_satellite_sim): clarify operator approval breakpoint message — small UX tweak to the grappling objective: replaces a LogMessage console line with a descriptive BreakpointSubscriber message ("Approve satellite grappling") so the prompt shows up in the operator UI.

The two changes are unrelated; splitting them keeps the launch fix bisect-clean and lets the UX tweak be reverted independently if needed.

`agent_robot.app` includes the config's `hardware.simulated_hardware_launch_file`
when `simulated: True`. That key was never set, so fuse + AprilTag detectors only
ran in prod / e2e (via the standalone `agent_bridge.launch.xml` container) and
`/odom_filtered` was never published in dev.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@davetcoleman davetcoleman requested review from danwahl and rlpratt12 May 20, 2026 01:54
Replace the standalone `Waiting for operator approval` log line with a
descriptive `BreakpointSubscriber` message ("Approve satellite grappling") so
the prompt appears in the operator UI alongside the breakpoint instead of as a
separate console log.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@davetcoleman davetcoleman force-pushed the fix/space-satellite-sim-fuse-dev-launch branch from 36a8334 to 999f4ec Compare May 20, 2026 02:03
@davetcoleman davetcoleman marked this pull request as ready for review May 20, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant