aruco_detect:
  ros__parameters:
    # ── Marker specification ─────────────────────────────────────────────────
    marker_size_m:      0.10      # physical side length of printed ArUco markers (m)
                                  # measure the black border edge-to-edge

    # ── Dock target filter ───────────────────────────────────────────────────
    # dock_marker_ids: IDs that may serve as dock target.
    #   - Empty list [] → any detected marker is a dock candidate (closest wins)
    #   - Non-empty     → only listed IDs are candidates; others still appear in
    #                     /saltybot/aruco/markers but not in dock_target
    # The saltybot dock uses marker ID 42 on the charging face by convention.
    dock_marker_ids:    [42]

    # Maximum distance to consider a marker as dock target (m)
    max_dock_range_m:   3.0

    # ── ArUco dictionary ─────────────────────────────────────────────────────
    aruco_dict:         DICT_4X4_50          # cv2.aruco constant name

    # Corner sub-pixel refinement (improves pose accuracy at close range)
    #   CORNER_REFINE_NONE     — fastest, no refinement
    #   CORNER_REFINE_SUBPIX   — best for high-contrast markers (recommended)
    #   CORNER_REFINE_CONTOUR  — good for blurry or low-res images
    corner_refinement:  CORNER_REFINE_SUBPIX

    # ── Frame / topic config ─────────────────────────────────────────────────
    camera_frame:       camera_color_optical_frame

    # ── Debug image output (disabled by default) ─────────────────────────────
    # When true, publishes annotated BGR image with markers + axes drawn.
    # Useful for tuning but costs ~10 ms/frame encoding overhead.
    draw_debug_image:   false
    debug_image_topic:  /saltybot/aruco/debug_image
