Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Haosulab ManiSkill KitchenObjects

From Leeroopedia
Revision as of 12:53, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Haosulab_ManiSkill_KitchenObjects.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains Robotics, Simulation, Scene_Building
Last Updated 2026-02-15 08:00 GMT

Overview

Concrete tool providing the comprehensive kitchen object category registry for RoboCasa environments, defining metadata, physics properties, and model references for all manipulable kitchen objects.

Description

This module is the central registry for all kitchen object categories used in RoboCasa tasks. It defines two main data structures:

OBJ_CATEGORIES is a dictionary mapping object category names to their configuration dictionaries. Each category includes:

  • types -- classification tags (e.g., "fruit", "meat", "drink", "packaged_food", "dairy", "sweets", etc.)
  • Boolean flags: graspable, washable, microwavable, cookable, freezable
  • aigen / objaverse sub-configs with model folders, scales, and exclusion lists

The module defines approximately 80+ object categories spanning the full range of kitchen items including: fruits (apple, banana, lemon, orange, etc.), vegetables (avocado, bell pepper, broccoli, corn, etc.), proteins (steak, fish, hot dog, etc.), baked goods (bagel, baguette, bread, cake, etc.), beverages (beer, wine, soda can, etc.), condiments (ketchup, jam, etc.), kitchenware (bowl, cup, mug, pan, pot, plate, etc.), and many more.

OBJ_GROUPS organizes categories into functional groups such as:

  • "food" -- all edible items
  • "containers" -- bowls, cups, mugs, etc.
  • "cookware" -- pans, pots, etc.
  • Various specialized groups for task-specific selections

Each category entry provides separate configurations for AI-generated (aigen) and Objaverse model sources, allowing the system to select from different 3D model libraries.

Usage

Used by the RoboCasa scene builder and task definitions to select and instantiate kitchen objects. Tasks reference categories by name to specify which objects should appear in a given scenario.

Code Reference

Source Location

Signature

# Module-level constants
OBJ_CATEGORIES = dict(
    liquor=dict(types=("drink", "alcohol"), graspable=True, ...),
    apple=dict(types=("fruit"), graspable=True, washable=True, ...),
    avocado=dict(types=("vegetable"), graspable=True, ...),
    # ... 80+ categories
)

OBJ_GROUPS = dict(
    # Groups of categories organized by function
    food=[...],
    containers=[...],
    cookware=[...],
    # ...
)

BASE_ASSET_ZOO_PATH = str(ROBOCASA_ASSET_DIR / "objects")

Import

from mani_skill.utils.scene_builder.robocasa.objects.kitchen_objects import (
    OBJ_CATEGORIES, OBJ_GROUPS, BASE_ASSET_ZOO_PATH
)

I/O Contract

Data Structure Type Description
OBJ_CATEGORIES dict Maps category name to config dict with types, booleans, model info
OBJ_GROUPS dict Maps group name to list of category names
BASE_ASSET_ZOO_PATH str Filesystem path to the objects asset directory

Each category config dictionary follows this schema:

Key Type Description
types tuple Category classifications (e.g., "fruit", "meat")
graspable bool Whether the object can be grasped by a gripper
washable bool Whether the object can be washed
microwavable bool Whether the object can be microwaved
cookable bool Whether the object can be cooked
freezable bool Whether the object can be frozen
aigen dict AI-generated model config (model_folders, scale, exclude)
objaverse dict Objaverse model config (model_folders, scale, exclude)

Usage Examples

from mani_skill.utils.scene_builder.robocasa.objects.kitchen_objects import (
    OBJ_CATEGORIES, OBJ_GROUPS
)

# Look up properties of an object category
apple_config = OBJ_CATEGORIES["apple"]
print(apple_config["graspable"])   # True
print(apple_config["types"])       # ("fruit")

# Get all food categories
food_categories = OBJ_GROUPS.get("food", [])

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment