RoboVerse Documentation

repository·main·Indexed 23 days ago

https://github.com/roboverseorg/roboverse

A unified platform, dataset, and benchmark for scalable and generalizable robot learning, built on MetaSim. RoboVerse provides a wide array of tasks, robots, scenes, assets, and learning algorithms. It includes tools for generating 3D assets from text and images (img3d-cli, text3d-cli), creating interactive 3D layouts, and a dashboard for executing and monitoring robot tasks across various simulators such as IsaacLab, MuJoCo, and PyBullet.

Tokens
64.3K
Snippets
166
Records
313
Agent score
82%

What's inside RoboVerse

  1. Overview of RoboVerse Task Sources and Paths

    main

    RoboVerse includes a variety of predefined scenes and tasks migrated from several benchmark sources. These tasks are organized within the roboverse_pack/tasks/ directory. Use the following table to locate specific task categories and their corresponding paths in the repository:

    SourcePath in RoboverseCategories & Amounts
    ARNOLDroboverse_pack/tasks/arnoldHouse (6)
    CALVINroboverse_pack/tasks/calvinCALVIN Table (4: Calvin Table A, B, C, D)
    DMControlroboverse_pack/tasks/dmcontrolLocomotion (1)
    Fetchroboverse_pack/tasks/fetchManipulation (1)
    GAPartManiproboverse_pack/tasks/gapartmanipManipulation (2)
    GAPartNetroboverse_pack/tasks/gapartnetManipulation (5)
    GPTroboverse_pack/tasks/gptManipulation (1)
    GraspNetroboverse_pack/tasks/graspnetGrasping (1)
    HumanoidBenchroboverse_pack/tasks/humanoid_benchHumanoid (19)
    IsaacgymEnvsroboverse_pack/tasks/isaacgym_envsLocomotion (1) Manipulation (1)
    LIBEROroboverse_pack/tasks/liberoManipulation (10)
    Maniskillroboverse_pack/tasks/maniskillManipulation (7)
    MetaWorldroboverse_pack/tasks/metaworldManipulation (6)
    Open6Dorroboverse_pack/tasks/open6dorManipulation (68)
    RLAffordroboverse_pack/tasks/rlaffordManipulation (1)
    RLBenchroboverse_pack/tasks/rlbenchManipulation (68)
    RoboSuiteroboverse_pack/tasks/robosuiteManipulation (7)
    SimplerEnvroboverse_pack/tasks/simpler_envManipulation (1)
    UH1roboverse_pack/tasks/uh1Humanoid (1)
  2. Overview of RoboVerse Task Categories

    main

    RoboVerse provides a diverse suite of tasks categorized into three main domains for robot learning and evaluation:

    Manipulation Tasks

    Focuses on single-arm and bimanual manipulation, including:

    • Pick & Place: Grasping and relocating objects.
    • Insertion: Peg-in-hole and assembly tasks.
    • Tool Use: Using tools to manipulate objects.
    • Articulated Objects: Interacting with doors, drawers, buttons, and switches.

    Locomotion Tasks

    Focuses on whole-body control and movement, including:

    • Walking: Forward, backward, and turning gaits.
    • Running: High-speed locomotion.
    • Terrain Navigation: Navigating stairs, slopes, and rough terrain.
    • Recovery: Fall recovery and balance maintenance.

    Mobile Manipulation

    Combines navigation and manipulation for complex tasks:

    • Fetch Tasks: Navigating to an object, picking it up, and delivering it.
    • Household Tasks: Cleaning, organizing, and cooking assistance.
  3. Overview of RoboVerse components

    main

    RoboVerse is a multi-layered ecosystem built on top of the MetaSim simulator framework. It provides a unified interface for robotics research through four primary pillars:

    1. Tasks & Benchmarks: A comprehensive task inventory and standardized evaluation protocols to measure performance across different namespaces.
    2. Assets: Detailed configurations for robots, object assets, and scene definitions used within tasks.
    3. Imitation Learning: Workflows and implementations for models such as Diffusion Policy, ACT, OpenVLA, SmolVLA, RDT, and Octo, including guides on how to integrate custom models.
    4. Reinforcement Learning: Implementations of algorithms like PPO, FastTD3, SAC, TD3, SkillBlender, and humanoid locomotion stacks.

    Use RoboVerse if you need a structured dataset, benchmark, or learning layer for robotic manipulation and locomotion tasks.

  4. Understand RoboVerse benchmarking for robot learning

    main

    RoboVerse provides standardized benchmarks for both imitation learning and reinforcement learning. The platform defines a unified training and evaluation protocol and provides standardized baselines and learning frameworks.

    For imitation learning, RoboVerse specifically focuses on assessing model generalization through different levels of generalization benchmarks.

  5. Current status of Calvin Task Migration

    main

    The migration of the Calvin task to RoboVerse is partially complete.

    Completed features:

    • Loading data from the Calvin dataset.
    • Static environment setup for calvin_scene_A.
    • Joint-state based control of the robot.

    Pending features:

    • Implementation of light and button functions in the Calvin Env.
    • Splitting the large dataset into small clips saved as trajectories.
    • Writing configuration files for all scenes (A, B, C, D).
  6. Details on Open6Dor benchmark tasks

    main

    Open6Dor is a benchmark for open-instruction 6-DoF object rearrangement. It consists of 5k+ tasks across position-track, rotation-track, and 6-DoF-track.

    Assets: Objects are filtered and scaled from YCB and Objaverse-XL into a standardized mesh representation. Success Criteria: Success is determined by comparing the target object's final pose against the annotated ground-truth pose range.

  7. Configure Joint Position vs End Effector control in ACT

    main

    When setting up your data collection and training, you can switch between control modes by adjusting the action_space and observation_space parameters:

    • Joint Position Control: Set both action_space and observation_space to joint_pos.
    • End Effector Control: Set both action_space and observation_space to ee.
      • Use delta_ee=1 for delta control.
      • Use delta_ee=0 for absolute positioning.

    Note on state_dim: While the original ACT paper uses an action joint space of 14, this implementation allows a parameterized state_dim. It defaults to 9, which is compatible with both Franka joint space and end effector space.

  8. Compare Supported VLA Models

    main

    RoboVerse supports multiple VLA architectures depending on your resource constraints and accuracy requirements:

    ModelSizeData FormatBest For
    OpenVLA~7B paramsRLDSHigh accuracy, research
    SmolVLA<1B paramsLeRobotFast training/inference, resource-constrained
    π0VariousLeRobotProduction deployment, multi-task
    • OpenVLA: Full-size model using RLDS. Detailed in OpenVLA/ directory.
    • SmolVLA: Lightweight model from Hugging Face/LeRobot. Detailed in SmolVLA/README.md.
    • π0 family: Physical Intelligence's models. Detailed in pi0/README.md.
  9. Configure terrain for locomotion training

    main

    The framework supports customizable terrain generation via metasim.scenario.grounds. Predefined configurations are in roboverse_pack/grounds/.

    Supported Terrain Types:

    • SlopeCfg: Planar inclined surfaces.
    • StairCfg: Staircase features.
    • ObstacleCfg: Random rectangular obstacle fields.
    • StoneCfg: Stone-like protrusions.
    • GapCfg: Gaps to traverse.
    • PitCfg: Rectangular pits.

    Example Configuration:

    from metasim.scenario.grounds import GroundCfg, SlopeCfg, StairCfg
    
    ground_cfg = GroundCfg(
        width=20.0,
        length=20.0,
        horizontal_scale=0.1,
        vertical_scale=0.005,
        static_friction=1.0,
        dynamic_friction=1.0,
        elements={
            "slope": [SlopeCfg(origin=[0, 0], size=[2.0, 2.0], slope=0.3)],
            "stair": [StairCfg(origin=[5, 0], size=[2.0, 2.0], step_height=0.1)]
        }
    )