Spaces:
Running on Zero
Running on Zero
| ## Using with IDE Agent via Natural Language | |
| The Agent will automatically load this skill based on its **description** when you mention URDF, floorplan, indoor scene, object placement, etc. You only need to specify in natural language **what to do** and provide **key information like paths/room names**. | |
| ### LLM Environment Configuration (When Using Semantic Matching) | |
| If you want to use natural language descriptions (e.g., "put lamp on bookshelf") instead of exact instance/room names, you need to configure the LLM environment first: | |
| ```bash | |
| # If outputs/env.sh exists, source it first | |
| source outputs/env.sh | |
| ``` | |
| If access to the LLM interface is unavailable, please provide exact instance names (you can check them via `--list_instances`). | |
| ### URDF Visualization Only (Generate Floorplan) | |
| **You can say:** | |
| - "Help me visualize `path_to/scene.urdf` or `path_to/folder_contain/scene.urdf`" | |
| **Agent will:** Use `visualize_floorplan(urdf_path=..., output_path=...)` or the corresponding CLI to generate the floorplan only, without modifying URDF/USD. | |
| ### Insert Object and Update Scene (URDF, or URDF+USD) | |
| **You can say:** | |
| - "Put `chair.obj` into scene.urdf's kitchen room" | |
| - "Put `bottle.obj` into the URDF at `outputs/rooms/Kitchen_seed3773`, instance name bottle_1, update scene and generate floorplan" | |
| - "Put a cup on the table in the living room" → Agent will use `on_instance="table"`, `place_strategy="top"`, etc. | |
| **If you also want to update USD:** | |
| - "Put a chair in the kitchen, update both URDF and USD, USD path is `xxx/usd/export_scene.usdc`" | |
| - Note that you need to use **room-cli** to execute (this skill will prompt the Agent), because writing USD requires bpy. | |
| **Agent will:** Use `FloorplanManager` + `insert_object` (or `insert_object_to_scene`), execute according to the paths and room names you provided; when USD is needed, use room-cli to run the CLI. | |
| ### View Instances and Rooms in the Scene | |
| Before placing objects, you can first view what instances and rooms are in the scene: | |
| **You can say:** | |
| - "Help me list all instances and room names in `.../scene.urdf`" | |
| **Agent will:** Execute `--list_instances` to display the instance names and room names in the current scene. | |
| ### URDF/USD Output Notes | |
| - **URDF Output**: The updated URDF is written to `*_updated.urdf` by default (e.g., `scene.urdf` → `scene_updated.urdf`), and **will not overwrite** the original `scene.urdf` | |
| - **USD Output**: If `usd_path` is specified, the USD file will be written to `*_updated.usdc` following the same rule | |
| - **Only Update USD**: Requires using **room-cli** to execute, because writing USD needs Blender (bpy) | |
| ### What Information to Provide | |
| | Goal | Suggested Information to Provide in Conversation | | |
| |------|-----------------------------------------------| | |
| | Visualization only | URDF path, floorplan save path (optional, Agent can default to floorplan.png in same directory) | | |
| | View instances/rooms | URDF path, let Agent list instance names and room names in current scene | | |
| | Placement + update | URDF path, object mesh path (.obj), instance name (e.g., chair_1), room name (e.g., kitchen); if placing on table, say "place on table"; if updating USD, also provide USD path and use room-cli | | |
| Example in one go: "Use spatial_computing skill, generate floorplan for `.../scene.urdf` and save to floorplan.png in same directory, then put `path/to/bottle.obj` into kitchen, instance name bottle_1, update URDF only." |