Artha Labs
Module 1 · Scenes
Scenes

Video, image or text → a scene that actually simulates.

Reconstruction gives you pixels. Artha Labs gives you physics: segmented objects with articulated joints and calibrated mass and friction, built by an agentic generate → critique loop and exported as collision-correct USD / MJCF.

Create from video / imageCreate from textManage
in

Video / images

Phone clip, teleop POV, or a Marble/Cosmos export.

→
geometry

3DGS reconstruct

Splats → meshes, segment objects. commodity

→
articulation

Infer joints

Revolute / prismatic, limits. closing fast

→
dynamics

Calibrate physics

Mass, friction: video priors + real probe. the hard part

→
out

Sim-ready asset

USD / MJCF + collision meshes, versioned.

kitchen_counter_v3

articulated7 objectsUSD · MJCF
3DGS + physics overlay · frame 142/300
collision: convex-decomp ✓
cabinet · μ=0.42 · m=14.2kg
mug · m=0.31kg
drawer · prismatic
bottle · μ=0.30
vs. World Labs / Marble & NVIDIA Cosmos: they produce a navigable world and export geometry, but do not calibrate mass or friction. Articulation from video is closing fast in research (Articulate-Anything, URDF-Anything+, ArtiTwinSplat), so Artha Labs uses those methods. What it adds is dynamics calibrated by interaction, since pixels do not encode inertia.

Inferred physics

selected: drawer_01
Articulationprismatic
Travel0 – 0.48 m
Mass3.8 kg ±0.6
Friction μ0.35 ±0.05
Restitution0.05
Sourcevideo + prior
Property confidence
Low-confidence props get flagged for the real-world probe step (push/pull to identify μ & mass) before training.
Agentic build loop
1

Segment

objects, depth

→
2

Layout

assets placed on support surfaces

→
3

Render

same camera as source

→
4

Critique

checks → back to Layout

Critique log · kitchen_counter_v3

iter 1mug_01 floating 2.1 cm above counter → snap to support surfacefix
iter 2bottle_01 interpenetrates cabinet door at 40° open → move 8 cmfix
iter 3render vs source mask IoU 0.71 on drawer → swap asset (closer match)fix
iter 40 interpenetrations · stable after 2 s settle · mask IoU 0.88 · joints swept to limitspass

Every check is machine-verifiable: physics settle test, interpenetration count, mask IoU against the source segmentation, full joint sweep. A VLM critic flags semantic errors (wrong object, implausible placement), and low-confidence cases go to a human judge.

Asset library

Objaverse800K+ objects
NVIDIA SimReadyphysics-tagged
Artha Labs-generatedimage → mesh
Customer-ownedprivate

Generated assets (image-to-3D, e.g. TripoSG) get a watertight check, convex decomposition and physics priors before they enter the library.

Create from text

artha scenes.create( text = "galley kitchen, dishwasher open, 6 dishes on counter", robot = "Humanoid-G1", tasks = "kitchen_manip_v1", )

Layout sampled from the library, then the same critique loop.

Scene objects
cabinet_01 revolute · 14.2kg
drawer_01 prismatic · 3.8kg
mug_01 rigid · 0.31kg
bottle_01 rigid · 0.52kg
countertop static · μ=0.6

Export

artha export kitchen_counter_v3 \ --format usd,mjcf \ --collision convex-decomp \ --randomize visual=high physics=low \ --target isaac-lab
Domain-randomization default = "visual aggressive, physics conservative." Matches the 2025–26 best-practice recipe for closing sim-to-real on contact-rich tasks — encoded as a one-flag default, not tribal knowledge.
Provenance & versioning
VersionSourceΔ changeReal-probe validated
v3iphone_clip_0612.mov+ drawer articulation inferredyes · μ,m measuredsimulate →
v2marble_export.glb+ mass/friction priorssim-onlydiff
v13 photosgeometry onlynodiff

Mock only — illustrative data. Next: Robots →