Skip to content

Releases: NVlabs/RoboLab

RoboLab v0.3.2

Choose a tag to compare

@xuningy xuningy released this 19 Oct 01:39

Added

  • Astranomy Direct-API and Codex Agent-EEF policy backends, with configurable
    model access, action representations, history selection, and inference logs.
  • Optional episode context sent once before inference, allowing compatible
    policy clients to use video demonstrations for in-context learning (ICL).
  • Object-counting task predicates, multiple tracked instruction fields, and
    support for multi-articulation end-effector recording and gripper labels.

Changed

  • Cosmos3 supports full WebSocket URIs, optional Bearer authentication, and
    separate policy sessions for parallel environments. Cosmos3 and DreamZero
    share a MsgPack/NumPy WebSocket transport.
  • Batched policy replans are divided into bounded per-request environment
    groups.

Fixed

  • Ground meshes no longer occlude cleaning-scene backgrounds.
  • Recorded subtask conditionals resolve correctly during replay.

RoboLab v0.3.1

Choose a tag to compare

@xuningy xuningy released this 12 Aug 18:15

Added

  • Kinova Gen3 (Robotiq 2F-85) fixed-base support: robot config, joint-position
    environment registrations, and an example runner
    (examples/run_kinova_jointpos.py).
    (#23)
  • Floor-standing robot support: a robot config can declare the
    root_z_above_ground label (the reach of its lowest colliders below the
    root), and the environment factory places the root on each task scene's
    authored ground plane plus that offset (docs/robots.md).
  • Per-scene ground-height lock (tests/test_scene_ground.py): the task table
    is a dynamic rigid body resting on the ground plane, so the authored ground
    height sets the tabletop height and is now locked per scene.

Changed

  • Every robot config must now declare the ee_recorder_bodies label mapping
    HDF5 channel names to the articulation bodies recorded for end-effector
    pose ({} opts out). Breaking for custom robot configs: environment
    generation fails with a ValueError naming the config until the label is
    added — see docs/robots.md#end-effector-pose-recording.
  • Remaining task-scene ground planes aligned to the canonical -0.697 height;
    legacy scenes keep their original -0.65 ground to preserve replay
    compatibility with existing recordings.

RoboLab v0.3.0

Choose a tag to compare

@xuningy xuningy released this 07 Aug 23:55

Added

  • Explicit coordinate-frame contract: end-effector observations are now
    published in the robot-root frame, with a compatibility shim for older
    recordings (robolab/core/logging/frame_compat.py) and a reference doc
    (docs/frames.md).
  • Ground-truth state export during stepping: --enable-gt-state makes every
    runner emit a raw per-env world-state snapshot each step under
    obs["gt_state"] (robolab.eval.GroundTruthStateExporter; schema in
    docs/environment_run.md).
  • VoLo policy backend (policies/volo/): a proxy wrapper over existing
    clients that adds depth observations, camera calibration, and ground-truth
    state metadata to the inference payload.
  • Robot-owned scene fixtures with per-robot fixture selection
    (robolab/core/environments/scene_fixture.py): a robot config declares the
    table fixture it is mounted on (or none, for robots with their own base),
    and the environment factory swaps the task scene's default fixture
    accordingly.
  • Multi-gripper support in the task conditional system: robots can declare
    named gripper groups (e.g. "gripper": ["left", "right"] on a bimanual
    robot), and success/failure predicates can target any member of a group or
    require several grippers simultaneously (see docs/task_conditionals.md
    and docs/event_tracking.md).
  • Pull request template and documentation of accepted PR types in
    CONTRIBUTING.md.
  • News section in the README and an ecosystem page (docs/ecosystem.md).

Fixed

  • Explicitly-named tasks now resolve correctly from scoped content-pack
    folders.

RoboLab v0.2.1

Choose a tag to compare

@xuningy xuningy released this 20 Jul 09:38

Added

  • Faithful replay of recorded episodes: new robolab/core/replay/ module with
    recorded env-config overlay, initial-state restore, and per-step state
    validation; driver script examples/run_recorded.py; user guide
    docs/replay.md. (#19)
  • Batched inference support in the eval client interface.
  • The pytest install-verification suite now ships in tests/ (documented
    fresh-install check: uv run pytest tests/).

Changed

  • Subtask progress tracking is enabled by default during evaluation.
  • Updated the GR00T N1.7 client.
    (#15)
  • Overrode isaacsim's stale websockets==12.0 pin so uv lock resolves a
    modern websockets for the policy clients.

Fixed

  • WorldState extras handling on IsaacLab 2.3 (XformPrimView).

RoboLab v0.2.0

Choose a tag to compare

@xuningy xuningy released this 20 Jul 09:40

Added

  • IsaacSim 5.1 / IsaacLab 2.3 support alongside 5.0 / 2.2, selected via the
    mutually-exclusive isaac50 / isaac51 extras.
  • Relative differential-IK environment registrations
    (examples/run_rel_ik_demo.py).
  • Realtime/pathtracing RTX renderer selection via --rendering-type.
  • Poly Haven attribution files for the curated backgrounds.

Changed

  • Bundled backgrounds trimmed to a curated indoor set. More backgrounds can be obtained from Poly Haven.
  • End-effector pose position is recorded in the env-local frame.
  • Docs: asset contribution guidelines, conditionals
    restructure; generalized VRAM sizing guide.

Fixed

  • HDF5 episode success is derived from terminated rather than a named
    termination term.

RoboLab v0.1.1

Choose a tag to compare

@xuningy xuningy released this 20 Jul 09:40

Added

  • Cosmos3 policy client; refreshed DreamZero, GR00T, and Pi0-family clients.
  • Results dashboard (robolab-dashboard CLI).
  • /robolab-scenegen and /robolab-taskgen Claude Code skills.
  • Convex-hull placement predicates, adaptive sampling, and DROID IK control.
  • CONTRIBUTING.md and a uv-based install flow.

Changed

  • Per-policy reorganization: one runner per backend under
    policies/<policy>/run.py.
  • Docs revamp: per-policy READMEs, SPDX headers, THIRD_PARTY_NOTICES.md.
  • Episode videos encoded as streaming H.264 (libx264) so they play in
    browsers.

Fixed

  • Placement order enforced in then-sequenced tasks.
  • Frozen-env data leaks in the episode recorder.

RoboLab v0.1.0

Choose a tag to compare

@xuningy xuningy released this 20 Jul 09:40

Initial public release: 100+ benchmark tasks,
DROID and Franka embodiments, server-client policy evaluation (Pi0 family,
GR00T, DreamZero), and HDF5 episode recording with analysis tools.