Skip to content

Visualize the live semantic map in RViz via MarkerArray #9

Description

@adharshvenkat

Motivation

The semantic map is currently only visible as a JSON string on /natural_nav/semantic_map, readable only via ros2 topic echo. For demos, debugging, and general usability, the map should be visible directly in RViz alongside the robot and costmap.

Proposed design

Publish a visualization_msgs/MarkerArray (new topic, e.g. /natural_nav/semantic_map_markers) with, per known label:

  • A TEXT_VIEW_FACING marker at the label's map-frame pose showing the label text.
  • A small SPHERE (or CYLINDER) marker at the same pose as a visual anchor.
  • Marker color scaled by detection confidence (e.g. green above ~0.6, yellow/red below).
  • Stable marker IDs per label so RViz updates markers in place rather than accumulating duplicates on every publish cycle.

Dependency

Best done alongside #6: today each label has exactly one (possibly wrong, averaged) pose, so a marker for a multi-instance label would render in empty space. Once instances are separated, each instance gets its own marker.

Acceptance criteria

  • /natural_nav/semantic_map_markers publishes a MarkerArray reflecting the live semantic map.
  • Markers are visible in RViz at the correct map-frame poses alongside the robot.
  • Markers update/persist correctly as the map changes (no duplicate/orphaned markers).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions