Skip to content

[Bug] entity_placer: missing TF buffer + silent failure when knowledge service is down #236

Description

@codeluz

Current Behavior

Two robustness bugs in entity_placer.py:

  1. Missing TF buffer — _to_target_frame uses self.tf_buffer, but init never creates a TF buffer/listener. Any pose not already in map raises, is swallowed by the broad except, and is dropped. Only works because RViz publishes goals in the map frame.

  2. Silent knowledge-service failure — when /arlab/knowledge/add_entity is unavailable (or the call raises), _place_callback sets an error on the service response but logs nothing specific to missing knowledge services.

Expected Behavior

Poses in any frame are transformed to map and staged. When the knowledge service is unavailable or a call fails, entity_placer logs a clear warning/error (not just the response field) and stays responsive; ideally logs whether
/arlab/knowledge/add_entity is reachable at startup.

Steps to Reproduce

  1. (TF) Publish a PoseStamped in a non-map frame (e.g. base_link) to /arlab/entity_pose, call /arlab/entity_placer/place → no entity added.
  2. (Silent failure) Run entity_placer without the knowledge stack, stage a map-frame pose, call the place service → error returned in response but nothing logged; node looks stalled.

Definition of Completion

  • tf2_ros.Buffer + TransformListener created in init; non-map poses transform correctly; tf2_geometry_msgs added to package.xml.
  • All failure paths in _place_callback log via get_logger(); knowledge-service unavailability is reported and the node remains responsive.

Testability

  • Publish a base_link pose, call place, confirm entity stored at correct map coords; repeat with a map pose (no regression).
  • Start without the knowledge node, call place, confirm a warning/error is logged and the node keeps serving.

Code Dependencies

No response

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions