# Add robots and poses from Wandelbots NOVA

> Build your scene from the robots, TCPs, and mountings that your Wandelbots NOVA cell already knows. Learn how to insert robot models, sync TCPs and mountings, and turn prims into poses and ghost objects.

The context menu `Create` → `Wandelbots NOVA` builds a scene from the data of your Wandelbots NOVA cell.
It inserts robot models, keeps TCPs and mountings in sync, and turns prims into poses and ghost objects.

The examples on this page use the stacking demo scene from the [quickstart](/simulation/quickstart).

### Prerequisites

1. [Install the extension and connect a Wandelbots NOVA instance](/simulation/installation).
2. Optional: Open the stacking demo scene `main.usd` from the quickstart.

To open an entry, right-click a prim in the stage tree and select `Create` → `Wandelbots NOVA`.

## Insert robot models

### Insert a single robot model

1. In the stage tree, right-click the prim to mount the robot on, for example `mounting` below `MIR`.
2. Select `Create` → `Wandelbots NOVA` → `Single Robot Model`.
3. Select the `Instance`.
4. Optional: Select a `Motion Group` of the cell.\
   → `Manufacturer` and `Model` are filled in from the motion group.
5. Otherwise, select `Manufacturer` and `Model`.\
   → A preview of the robot appears at the location in the viewport.
6. Click `Confirm`.
7. Select a folder for the robot USD file and click `Download Here`.\
   → The robot is added below the location prim.

![Screenshot of the window Select and insert robot model with instance, motion group, and model selected](/assets/nova/omniservice/scene_from_nova/single-robot-model-window.webp)

Video: [/video/omniservice/scene\_from\_nova/single-robot-model.webm](/video/omniservice/scene_from_nova/single-robot-model.webm)

`Location` defaults to the prim you right-clicked.
Pick another prim with the pipette next to the field.

### Insert all robots of a cell

1. In the stage tree, right-click the prim to place the cell below, for example `World`.
2. Select `Create` → `Wandelbots NOVA` → `All Robots from Cell`.
3. Select the `Instance` and the `Cell`.\
   → A preview of all robots of the cell appears in the viewport.
4. Click `Confirm`.
5. Select a folder for the robot USD files and click `Download Here`.\
   → Each robot is added at the mounting defined in Wandelbots NOVA.

![Screenshot of the window Insert all robot models matching a NOVA cell](/assets/nova/omniservice/scene_from_nova/all-robots-from-cell-window.webp)

Each robot gets a `tool` prim at its flange.
The `tool` prim holds a TCP prim for every TCP of the motion group in Wandelbots NOVA, except the flange.

## Sync tool data with Wandelbots NOVA

The TCP entries need a tool prim with the [Tool API](/simulation/build-scene/open-usd-types).
Attach its rigid body to the flange of a robot connected to Wandelbots NOVA.

### Fetch a TCP from Wandelbots NOVA

1. In the stage tree, right-click the tool prim, for example `schunk_coact_gripper`.
2. Select `Create` → `Wandelbots NOVA` → `TCP from NOVA`.
3. Select the `TCP` and click `Fetch TCP`.\
   → A TCP prim with the offset from Wandelbots NOVA appears below the tool.

![Screenshot of the dialog Select TCP with the TCP Flange selected](/assets/nova/omniservice/scene_from_nova/tcp-from-nova-dialog.webp)

### Create a TCP in Wandelbots NOVA

1. In the stage tree, right-click a TCP prim of the tool, e.g., `tcp_gripper` or a ghost object.
2. Select `Create` → `Wandelbots NOVA` → `TCP in NOVA`.
3. Enter the `TCP Name` and click `Create`.\
   → The notification `TCP '<name>' was successfully created in NOVA.` appears.

![Screenshot of the dialog Create NOVA TCP with the TCP name gripper](/assets/nova/omniservice/scene_from_nova/tcp-in-nova-dialog.webp)

> **Info:** Only virtual controllers accept new TCPs from Isaac Sim.
> For a physical controller, define the TCP on the robot controller.

### Send the mounting to Wandelbots NOVA

1. In the stage tree, right-click the robot prim with the Motion Group API.
2. Select `Create` → `Wandelbots NOVA` → `Mounting in NOVA`.\
   → The notification `NOVA mounting successfully created.` appears.

The pose of the robot prim becomes the mounting of its virtual controller.

> **Warning:** The extension sends the pose of the robot prim relative to its parent prim, not its world pose.
> If the parent prim is moved, for example the `mounting` of the MiR, the mounting in Wandelbots NOVA differs from the scene.
> Place the robot below a prim at the world origin before you send the mounting, or correct the mounting in Wandelbots NOVA.

Planning in Wandelbots NOVA then uses the same robot position as your scene.

To place a TCP by hand instead, select `Create` → `Wandelbots NOVA` → `TCP`.
It adds an empty TCP prim below the selected prim.

## Mark target poses

### Convert prims to poses

1. Select one or more Xform prims, for example markers above the workpieces.
2. Right-click one of them and select `Create` → `Wandelbots NOVA` → `Convert to Pose`.\
   → Each prim shows the pose gizmo, and the notification `Converted 3 prim(s) to pose.` appears.

Video: [/video/omniservice/scene\_from\_nova/convert-to-pose.webm](/video/omniservice/scene_from_nova/convert-to-pose.webm)

### Convert poses to ghost objects

1. Select the poses.
2. Right-click one of them and select `Create` → `Wandelbots NOVA` → `Convert to Ghost Object`.
3. Select the `Motion Group` and the `TCP`.\
   If the TCP of the tool also exists in Wandelbots NOVA, it is preselected.
4. Click `Convert`.\
   → Each pose is replaced by a ghost object of the tool at the same position.

![Screenshot of the window Convert Poses to Ghost Objects with motion group and TCP selected](/assets/nova/omniservice/scene_from_nova/convert-to-ghost-window.webp)

Video: [/video/omniservice/scene\_from\_nova/convert-to-ghost.webm](/video/omniservice/scene_from_nova/convert-to-ghost.webm)

Learn how to move the robot to these ghost objects in [ghost teaching](/simulation/ghost-teaching).

## Browse assets

Open `Window` → `Browsers` → `Wandelbots NOVA Assets Browser` to see the USD files of your asset folders.
Add a folder, for example the `assets` folder of the stacking demo, with the settings of the browser.
Drag an asset into the viewport or onto a prim in the stage tree to add it to the scene.

![Screenshot of the Wandelbots NOVA Assets browser with the stacking demo assets](/assets/nova/omniservice/scene_from_nova/assets-browser.webp)
