Skip to content

Cap DROID wrist camera decalibration at the gripper - #1144

Draft
alexmillane wants to merge 1 commit into
mainfrom
alex/fix/extrinsic_decalibration_range
Draft

Cap DROID wrist camera decalibration at the gripper#1144
alexmillane wants to merge 1 commit into
mainfrom
alex/fix/extrinsic_decalibration_range

Conversation

@alexmillane

Copy link
Copy Markdown
Collaborator

Summary

Bound DROID wrist camera decalibration

Detailed description

  • The camera extrinsics variation drew offsets from a symmetric cube, so large +Y draws pushed the DROID wrist camera into the gripper body. Rendering 100 wrist frames across the sampled range showed the jaws intruding from about +0.01 m and the view substantially or fully occluded beyond +0.03 m.
  • Added an overridable EmbodimentBase.get_camera_extrinsics_variation_cfg hook so an embodiment can seed per-camera decalibration bounds, and had DROID bound its wrist camera to [-0.06, -0.06, -0.06]..[0.06, 0.03, 0.06] in the ROS optical frame. The external cameras are unobstructed and keep the variation default.
  • Dropped the duplicated wrist camera ranges from the robolab and camera sensitivity Experiments and from the OSMO benchmark submission script; they now inherit the embodiment bounds, and an explicit Experiment or Hydra override still takes precedence.
  • Impact: any Experiment enabling this variation on DROID now gets 0.06 m of decalibration per axis instead of the 0.005 m default, capped at 0.03 m in +Y. Covered by a new case in test_camera_extrinsics_variation.py; the variations concept doc is updated to match.

The camera extrinsics variation drew decalibration offsets from a symmetric
cube, so large +Y draws pushed the DROID wrist camera into the gripper body
and occluded its view of the scene. Rendering 100 wrist frames over the
sampled range showed the gripper jaws intruding from about +0.01 m and the
view substantially or fully occluded beyond +0.03 m.

- Add an overridable EmbodimentBase.get_camera_extrinsics_variation_cfg hook
  so an embodiment can seed per-camera decalibration bounds.
- Have DROID bound its wrist camera to [-0.06, -0.06, -0.06]..[0.06, 0.03,
  0.06] in the ROS optical frame; the external cameras keep the default.
- Drop the per-config wrist camera ranges from the robolab and camera
  sensitivity Experiments and the OSMO benchmark submission script, which
  now inherit the embodiment bounds.
- Cover the new bounds in test_camera_extrinsics_variation and refresh the
  variations concept doc.

Signed-off-by: alex <amillane@nvidia.com>
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.

1 participant