Skip to content

Fix bounding box rotation in world frame#400

Merged
cvolkcvolk merged 7 commits intomainfrom
cvolk/fix/object_placement_along_axis
Feb 10, 2026
Merged

Fix bounding box rotation in world frame#400
cvolkcvolk merged 7 commits intomainfrom
cvolk/fix/object_placement_along_axis

Conversation

@cvolkcvolk
Copy link
Copy Markdown
Collaborator

@cvolkcvolk cvolkcvolk commented Feb 9, 2026

Summary

Rotated background (KitchenBackground & the kitchen_pick_and_place environment) work with the ObjectPlacement's OnRelation.

Object.get_world_bounding_box() only translated bounding boxes from local to world frame — rotations were not accounted for:
When a background asset with a non-identity rotation was used (e.g., the kitchen background with a -90° Z rotation), ObjectReference and Object bounding boxes were incorrect in world coordinates.
This caused the relation solver to compute wrong valid placement ranges, leading to objects being placed at incorrect positions. For example, AtPosition(x=0.4, y=0.0) on the kitchen counter would place the object at the wrong location because the On constraint's valid Y range was computed from the unrotated (narrow) local Y extent instead of the rotated (wide) local X extent.

Object.get_world_bounding_box() now additionally rotates based on the initial pose. As we are dealing with axis-aligned bounding boxes, we only allow for rotations of 90-degree multiples (for an AABB to still remain valid).

@cvolkcvolk cvolkcvolk changed the base branch from release/0.1.1 to main February 9, 2026 13:18
@cvolkcvolk cvolkcvolk changed the title Fix bounding box rotation in world frame and pass to loss strategies Fix bounding box rotation in world frame Feb 9, 2026
Copy link
Copy Markdown
Collaborator

@alexmillane alexmillane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

Comment thread isaaclab_arena_environments/kitchen_pick_and_place_environment.py
@cvolkcvolk cvolkcvolk enabled auto-merge (squash) February 10, 2026 09:56
@cvolkcvolk cvolkcvolk merged commit c7ed95c into main Feb 10, 2026
12 of 15 checks passed
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.

2 participants