Skip to content

Reject mixed-parent binary-classifier target pairs or transform seed centroids #29

Description

@coderabbitai

Summary

riptide_mapping/riptide_mapping2/mapping.py currently allows MappingNode.start_binary_classifier_callback() to start the binary classifier with any two existing mapping objects as object1_name and object2_name.

However, the later seeding flow reuses a centroid computed in the first instance target's parent frame. When the two targets have different configured parent frames, the second target can be seeded in the wrong frame.

Why this matters

This can produce incorrect seeded poses/TF for the second binary-classifier target, which may cause downstream autonomy to navigate to or reason about an invalid location.

Affected area

  • riptide_mapping/riptide_mapping2/mapping.py
    • MappingNode.start_binary_classifier_callback
    • binary-classifier seeding flow (maybe_seed_binary_instances, seed_object_estimate, try_update_binary_classifier_pose)

Required change

Before calling self.binary_classifier.start(...), validate that object1_name and object2_name resolve to the same configured init_data.<object>.parent frame.

If mixed-parent targets must be supported, then the implementation should transform the centroid into the second target's parent frame before seeding/resetting the second object.

Acceptance criteria

  • Starting the binary classifier with two targets that have different parent frames is either:
    • rejected with a clear error message, or
    • handled correctly by transforming the centroid before seeding.
  • Starting with two targets that share the same parent frame continues to work as expected.
  • The behavior is documented in code comments and/or service response messages.

Backlinks

Requested by: @zehdari

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions