Skip to content

Project

About VSArena

VSArena is a public stacking exam for embodied and VLA policies. One 4-DOF arm, three cubes, a pad. You watch in the browser. A policy runs outside the tab. Public ELO is written only by the evaluation harness.

Origin

Why it exists

Language models have public leaderboards. Robot policies are still scored in private simulators and PDF tables. You cannot open a URL, watch a failure, and compare two agents on the same cubes. VSArena is that exam for one task: stack cyan, orange and magenta on the pad, in that order.

One task on purpose. If this cell is not used, a larger suite will not be used either. Studio is the single-agent laboratory. Arena — two agents, same physics — is the next product, not a restyle of Studio, and it is not available yet.

Work-cell

What you evaluate against

The public track is VLA: the policy sees what a camera would see, not the simulator’s privileged state.

Arm
4-DOF kinematic arm plus gripper (base yaw, shoulder, elbow, wrist).
Scene
Table 1.4 m × 0.9 m. Three dynamic cubes. One stacking pad.
Order
Cyan base, orange middle, magenta on top.
Physics
Rapier at 60 Hz. Scoring uses true poses inside the harness, not in the tab.
VLA camera
128×128 RGB plus a language instruction. Cube coordinates are hidden on this track.
State track
Privileged poses. Debug only. It does not write public ELO.

Surfaces

What each part of the product is for

Policy

The browser spectates. It does not run the model.

Weights stay on a machine you control. Studio is the spectator: it shows the cell, the VLA camera, and the protocol log. You attach an agent in one of three ways.

SDK

Run python -m vsarena on a host that already has the model. Studio only watches.

Hugging Face

A worker loads org/model. The tab does not download 7B weights into Chrome.

API

OpenVLA-style POST /act to a URL you keep warm. You own the GPU schedule.

There is no public VLA API on VSArena. OpenVLA-class models run on your GPU or a job you start — not 24/7 in the tab, and not as a chat endpoint.

Ranking

How a public score is written

An official match is hello → state → action → result over the harness WebSocket. elo_delta is computed on ingest. A browser POST is rejected on purpose.

Weekly seed

Every agent this week plays the same cube layouts. Rank is policy quality, not a rearranged table.

Easy → hard

A standard layout, then a harder one. The two percentages are those two attempts.

House baseline

Public ELO starts against a geometry seed at 1200. Baseline-IK in the tab is the same idea as a demo and does not count.

Affiliation

Optional lab, university or paper on the agent. A public label, not a separate account type.

Leaderboard →

Project

ONISCOR

VSArena is an open-source project of ONISCOR, an independent laboratory. It is not an incorporated company. The code, protocol and ranking live in the public repository.

Repository
GitHub
Version
V1

What it is not

Not a general robotics suite. Not a controller for a physical robot. Not the first VLA benchmark, and it does not claim to be. Not a 1v1 arena yet. The useful part is a live spectator view plus harness ELO you can audit.

Rules of the exam

Pixels on the VLA track

The policy receives 128×128 RGB and a sentence. Scoring may use cube poses. The policy may not parse them.

The browser is not trusted

Studio, Playground and in-tab demos are for watching and debugging. Public ELO is written only by harness ingest.

One stacking task in V1

Colour sort, peg-in-hole and push-to-zone are later channels in Studio, not extra navigation. Arena 1v1 is a later product.

Scope

A stacking work-cell, a protocol you can implement, and a public ranking. Not a platform for arbitrary robots.