Case study: retail and logistics

Humanoids from the loading dock to the boutique shelf

For Fragrance Castle, two AgiBot G2 humanoids and a mobile robot restock a perfume warehouse, pack online orders and refill a luxury boutique.

Client
Fragrance Castle, perfume online and in a boutique
Robots
2 × AgiBot G2 (five-finger hands, suction tool) and an AMR with a tray trolley
Simulator
NVIDIA Isaac Sim 6.0.1, RTX real-time path tracing
Stage
Simulation film. No test on a real robot yet

The job

One stock of perfume, three ways out of the building

A perfume business moves the same small boxes again and again. Master cartons arrive on pallets and are opened and shelved. Online orders are picked, packed and sealed. The boutique runs low and needs a top-up, with the tester bottles back in front of the boxes.

All of this happens in spaces built for people: racks, packing benches and shop cabinets. Humanoids fit those spaces without a rebuild. We wanted to show the whole chain on one site, with every lift and reach inside what an AgiBot G2 can really do.

Site plan: a 50 by 30 m warehouse hall with an inbound dock, eight rack aisles, a packing zone and an outbound area, a mezzanine office above, an open-sided covered linkway and the boutique as a separate building, with robot routes, the 11 stations, the exits and the travel distances
Site plan. Generated from the same layout file as the 3D scene. Routes, stations, exits and travel distances.

The site

A real building, drawn to the fire code

We built the whole site before any robot moved: a 50 × 30 m warehouse hall with a 10 m clear height and eight rack aisles, a packing line, a mezzanine office with a glass view of the floor, and an open-sided covered linkway to a 20 × 15 m boutique.

The layout follows Singapore building rules. The worst travel distance to an exit is 17.4 m in the hall, against a two-way limit of 40 m, and 16.4 m in the boutique, against a one-way limit of 16.7 m. One Python file holds every position, and the drawings, the scene and the tests all read it.

Robots

Two G2s, two kinds of hand

G2-H has two Shadow Hand E3M5 five-finger hands. It lifts and opens cartons, packs orders and handles the glass testers in the boutique. G2-S has a suction tool and handles the perfume boxes. An AMR carries a tray trolley between the racks, the packing line and the boutique.

Opening a master carton. Each grasp is solved for its prop, with every fingertip contact at 0.71 to 0.80 mm.
Boutique restock. Tester aside, new boxes behind, tester back in front.

Master carton

8kg

12 perfumes in a 32 × 32 × 42 cm carton, under the G2 limit of 10 kg with two arms. The first carton size broke the limit, so we changed it.

Shelf band

0.30–1.60m

pick and place heights in the warehouse, measured on the simulated G2 before the racks were frozen.

Suction hold

<10−9m

drift of a perfume box on the G2-S suction cup while it moves.

How we built it

Every frame is checked before it renders

We ran the project as a systems engineering V-model: needs, requirements, a site layout, five feasibility studies, then four asset packages built in parallel. Each phase passed a gate, checked from evidence, before the next one started.

Pipeline: design inputs feed four asset work packages and one USD stage. Each shot is baked from the world state of the previous shot, with posture IK, a solved grasp library and suction attach. A validator checks every frame. Only a shot that passes, with a matching bake hash, goes to the Isaac Sim renderer; a failed shot goes back to the bake.
Build and render pipeline. A shot that fails the validator goes back to the bake. It is never rendered with a defect.

A validator that learned from a review

Our first rough cut passed the automatic checks. A review still found four defects: arms through each other, a board pushed through the wire mesh of the recycling cage, a wrist flip and a time jump in one camera angle. Voxel checks cannot see thin parts such as cardboard and wire.

We rebuilt the validator around those four cases. They are now regression tests that must fail. An exact crossing test checks thin geometry, and a shot fails for an IK error above 10 mm, a joint flip or a time splice. Motion follows a slow profile: at most 40% of joint speed and 0.05 m/s for the last 6 cm of a placement.

Rendered overnight on one GPU

Isaac Sim renders each shot with RTX real-time path tracing at 1080p and 32 subframes, in 2.6 to 3.3 s per frame. The boutique shots take 6.6 s per frame, because glass, coloured liquid and brass need 12 light bounces to look right.

The racks hold 31,200 instanced stock boxes at no extra memory cost. The full film rendered overnight on one RTX 3070 with 8 GB, and a watchdog stops any render job that hangs on the GPU.

Shots through the gate

16/16

every shot passed the collision and motion checks with zero exemptions. None was dropped.

Automated tests

314

on the layout, the assets, the scene assembly and the validator itself.

Film

120s

2,880 frames at 1080p and 24 fps, delivered with stills, a title card and banners.

The film

Inbound, online order, boutique

A carton arrives and is opened and shelved. An order is picked, packed and sealed. Then the AMR and G2-H take the linkway to the boutique and restock the display.

The full film, 16 shots. The robot motion is staged and checked against the G2 limits. It is not a trained policy.
G2-H lifts a master carton off a pallet with two hands
Inbound. G2-H lifts an 8 kg master carton with two hands.
G2-S picks perfume boxes from the racks next to the AMR tray trolley
Online order. G2-S picks into the AMR trolley.
G2-H packs perfume boxes from a tray into a shipping box on the packing conveyor
Packing. G2-H packs the order before the tape sealer.

Status

Simulation film, delivered. All results on this page come from simulation. No real robot did these tasks, and the site plan has not had a professional building review.

In one shot the hand releases a box 16.5 cm above its rest position, because the fingers need clearance at the carton wall. A suction placement by G2-S would bring that to about 1 cm. An independent review against the original needs and requirements is next.

The Fragrance Castle name and logo belong to Fragrance Castle. The renders use the AgiBot G2 model from Genie Sim (CC BY-NC-SA 4.0), the Shadow Hand E3M5 from MuJoCo Menagerie (Apache 2.0), Unitree H2 and R1 descriptions (BSD 3-Clause), NVIDIA Isaac Sim character assets, Poly Haven and ambientCG textures (CC0) and NVIDIA Isaac Sim.

Running a warehouse and a shop floor?

We can model your site and show what a humanoid can and cannot do in it, before you buy one.