omnisim
Health Gecti
- License — License: Apache-2.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 41 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Open-source robotics simulator for coding agents: HTTP/JSON + MCP control, Newton physics, wgpu rendering, ROS 2, and reproducible benchmarks.
OmniSim
The simulator you can talk to. Describe a scene and an agent builds it; describe a behaviour and
an agent wires the controller. Everything runs over plain HTTP/JSON, so the agent loads the world,
steps physics, takes a screenshot and hot-reloads — without leaving the conversation.
Built by agents, for agents: the HTTP harness, the Newton physics integration, the cloth and
soft-body stack, the RL pipeline and the ROS 2 sidecar were written by an AI agent under human
direction. Physics is Newton, the only backend.
Apache-2.0, with a first-party MCP server for Claude Code and Cursor,
and a ROS 2 sidecar speaking the simulation_interfaces standard.
Join the public beta · Builder challenge · For research labs · Latest release ·
Demos · Agent entry point · Protocol
The OmniArm 6 Universal Pick demo uses a top-down depth camera to choose grasp
points on arbitrary, previously unmodelled shapes and move them from the bin to
the tote. Normal picks use no object registry, classifier or authored pick
anchors; the controller documents its limited recovery and suction-bookkeeping
paths. Play the MP4.
Public beta: we are looking for the first ten external developers willing
to spend 20 minutes installing OmniSim, running one demo, and reporting the
first confusing or broken step. Windows has the first downloadable package;
Linux is a source build; macOS is not supported.
Take the 20-minute challenge →
Run a real robot demo
Three minutes on Windows. About half an hour on Linux, because you build it.
Get OmniSim.
- Windows 10/11 — install the asset from the
latest release
(~600 MB). This is the only prebuilt package. - Linux — Ubuntu 24.04, built from source:
bash scripts/install/linux_bootstrap.sh. Budget 25–45 minutes; most of it
is the compile. Details: quickstart.
⚠ Ubuntu 22.04 does not work — its Python 3.10 makesnewtonraise atModelBuilder(), so worlds load and nothing moves. - macOS — not supported. There is no package, no verified build, and
Newton physics is unverified. Use Windows or Ubuntu 24.04.
- Windows 10/11 — install the asset from the
Check the install. Open a terminal in the OmniSim directory:
python -m omnisim doctorIt ends on a VERDICT line, and exits non-zero if the install cannot run —
most usefully when the Newton runtime is absent, which is not a degraded
mode but an install where nothing ever falls. On Windows without Python,
runomnisim.bat doctorinstead: it uses the interpreter in the package.See a robot move.
python -m omnisim demoThat is the real friction-grasp demo above.
python -m omnisim demoslists
all 50, by category.
Then choose the shortest route to your own work:
- Coding agent or MCP client: read AGENTS.md. Opening this
directory in Claude Code registers the first-party
OmniSim MCP server automatically — the checked-in.mcp.jsondoes it, with no install. Start the harness it proxies withpython -m omnisim harness. There is also a packaged
OmniSim Codex plugin. - ROS 2: start with the verified
ros2_controlHusky diff-drive example. - Your robot or research task: use the URDF/STEP workflows,
or ask OmniLink to port one bounded, measurable pilot.
If any step is confusing or fails, that is exactly what the
public beta is designed to capture.
How OmniSim compares
Every OmniSim cell is measured by us and is reproducible from this repo. Every row names the
machines that produced it and we never average across them: the §3 throughput rows are three
machines, the §3 workload rows and the capability matrix are two, and a row that is still one
machine says so in the row. The machines are a laptop RTX 3060 (6 GB), Ryzen 16-thread, Windows
11 (9722d23d12a3), an RTX A4500 / AMD EPYC 7352, Ubuntu 22.04 (8ab788c4c833), and RunPod
RTX 4000 Ada (c72ce5632c81) and RTX 4090 (b5dadd645b1f). Competitor cells are their own
published documentation, dated and linked; we did not measure their engines. Where we lose is in
its own section.
1. Agent-native
| OmniSim | Gazebo Jetty | Isaac Sim 6.0.1 | |
|---|---|---|---|
| First-party HTTP/JSON scene API | 34 endpoints | none | none |
| Typed external control | 34 harness + 15 capture verbs, plus ROS 2 simulation_interfaces (15 svc + 1 action) and a ros2_control SystemInterface |
ROS 2 simulation_interfaces (18 svc + 1 action) + ros2_control |
ROS 2 + ros2_control, plus raw Python over TCP :8226 |
| First-party MCP server | 18 tools, stdio, zero deps | none | 5 tools — docs search; none touch a running sim |
| Structured load diagnostics | 54 codes | — | — |
| Typed runtime events | 10, with drop counters | — | — |
AGENTS.md at repo root |
695 lines | none | yes, + 25 SKILL.md skills |
2. Performance and resources
| OmniSim | Gazebo Jetty | Isaac Sim 6.0.1 | |
|---|---|---|---|
| Minimum GPU | none — the default solver is CPU | OpenGL >3.3 | GeForce RTX 4080 |
| Minimum VRAM | n/a on the CPU path | not published | 16 GB |
| Datacenter GPUs | fine | fine | A100 / H100 unsupported |
| Installed size | 7.7 MB binary + 647 MB runtime — Windows beta package published; Linux is source-build | not published | 13.02 GB + 80.17 GB assets ≈ 93 GB |
| Container image | CUDA training image on GHCR; a CPU runtime image (docker/) builds and smoke-tests but is not on the registry yet |
yes | 10.7 GB |
| GPU physics | yes (mujoco_warp) |
none, absent from the roadmap | yes |
| Batched parallel envs | yes | process-level only | yes |
3. What that hardware actually runs
Every row says which machines produced it, listed separately and never averaged. Throughput:
three machines (campaign, 2026-08-17):
| GPU | GPU-batched physics @4096 | Full in-engine PPO @4096 | overhead vs raw MuJoCo-Warp |
|---|---|---|---|
RTX 3060 Laptop, 6 GB (9722d23d12a3) |
165,369 env-steps/s | 98,136 env-steps/s | 1.27× @256 · 1.39× @4096 |
RTX 4000 Ada, 20 GB (c72ce5632c81) |
280,820 | 201,850 | 1.26× @256 · 1.44× @4096 |
RTX 4090, 24 GB (b5dadd645b1f) |
535,377 | 499,734 | 1.24× @256 · 1.40× @4096 |
Everything else, with its coverage stated per row
(campaign, 2026-08-17):
| Workload | Measured | measured on |
|---|---|---|
| Rigid bodies at real time, CPU solver | 200 bodies @ 1.45× (3060 laptop, Ryzen) and @ 1.35× (RTX A4500 pod, EPYC 7352) — ceiling not reached on either | 2 machines |
| Overhead vs raw MuJoCo-Warp, identical model, both CUDA-graphed | 1.24–1.44×, and the ratio tracks batch size, not GPU | 3 machines |
| With no CUDA device visible to the process | trajectory bit-identical to the GPU-visible run, on both | 2 machines |
| Cloth, 289-particle drape, as shipped | 2.85 ms/step (2.81×) laptop · 2.36 ms/step (3.39×) A4500 | 2 machines |
| Cloth, same drape at 2 VBD iterations | 1.28 ms/step (6.2×) laptop · 0.60 ms/step (13.2×) A4500 | 2 machines |
| Cloth forced onto the CPU | 51.9 ms/step — 0.15× real time, so deformables are a GPU feature | ⚠ 1 machine (laptop) |
Silent constraint-buffer overflow, mujoco_warp |
16 driven rovers exceed the 256-row default (peak 336 / 328) with a clean log and exit 0 | 2 machines |
| Unit | 1 env-step = one 16 ms control step = 8 physics substeps | — |
| RAM / VRAM footprint | not measured — we publish no figure | — |
4. Beyond rigid bodies — cloth, soft bodies, cables
| OmniSim | Gazebo Jetty | Isaac Sim 6.0 | |
|---|---|---|---|
| Cloth | yes — Newton VBD; a T-shirt grasp measured against a negative control | none | particle cloth removed → error stubs; replacement is beta |
| FEM soft bodies | yes — tet-SoftBody, two-way soft→rigid coupling measured |
none exposed | new schema (old removed) |
| Cables / rods | Newton ships it; no OmniSim node yet | none | Newton VBD only, not PhysX |
| Granular | CUDA kernel, 100k particles @ 4.50 ms/step — robot↔particle coupling currently dead | none | GPU PBD; no CPU support |
| Particles | via cloth / soft / granular | visual + lidar scattering only | GPU PBD; schema "not finalized" |
| Fluids | none (removed with ODE) | analytic drag only | PBD position-based |
The grasp numbers behind that first row — tracking error −1.50 mm on a 616-particle T-shirt
against −173.06 mm for a negative control whose jaws never close, corroborated by a second
instrument, plus the hem-edge target that misses and is reported as a miss — are in
cloth-simulation.md, with the three disclosures that travel
with them: the fabric is pinned, so these are tracking and not load-bearing numbers; self-contact
must be off to grasp and on to drape; and the composed fold is not demonstrated.
5. Newton maturity
| OmniSim | Isaac Sim 6.0.1 | Isaac Lab | |
|---|---|---|---|
| Newton version | 1.5.0 | 1.2.1 | 3.0 beta |
| Solvers driven | 2 (MuJoCo + VBD) | 1 of 8 (MJWarp) | primarily MJWarp |
| Status | only backend, shipping | "experimental" | beta since 2026-03-17, no GA |
6. Licence
| Engine licence | Runtime restrictions | |
|---|---|---|
| OmniSim | Apache-2.0 | none |
| Gazebo | Apache-2.0 | none |
| Isaac Lab | BSD-3-Clause | inherits Isaac Sim's when used with it |
| Isaac Sim | Apache-2.0 source only | NVIDIA ASML: no redistribution, no derivative works, use confined to "systems with NVIDIA GPUs" |
Caveats, sources and the claim-by-claim comparison with every entry marked verified / unaudited /
vendor-claim: docs/developer/simulator-comparison.md.
What OmniSim is worse at
- ROS 2 support is new and incomplete. OmniSim implements the ROS 2
simulation_interfacesstandard plus/clock,/tf,JointState,/odom,cmd_vel, sensor topics (Imu,LaserScan, GPS) and aros2_controlSystemInterface— but that last one is verified for velocity-commanded bases only
(diff_drive_controlleron the Husky). MoveIt is still out of reach, because OmniSim's arm
bridge treats a joint command as a goal and answers409 busyto a setpoint arriving while the
previous one is still interpolating — a trajectory would land in pieces. Nav2 has never been
brought up against OmniSim, and OmniSim is not in theros2_controlsimulator registry. Sensor
coverage is partial by measurement, not by omission: OmniSim'sGyroandAccelerometerproduce
no usable data, soImuships a real orientation and declares those two components absent, and no
robot in the tree has a camera. For a lab whose stack is ROS 2 end to end, Gazebo remains better
integrated. - Not photoreal. Isaac Sim's RTX renderer is a different class. Ours is wgpu-native (Vulkan / D3D12 / Metal): a real-time raster stack whose global illumination is baked — an off-frame path trace into an irradiance probe volume, not per-frame ray tracing.
- Sim-to-real is unproven — zero physical-robot transfer.
- No free-standing humanoid walk — every G1 result uses a weight-bearing balance harness.
Quadrupeds carry none. - Newton is young and we removed our fallback. macOS is untested, so it has no verified physics.
- Single-GPU training only. No multi-GPU or multi-node; Isaac Lab publishes a 16-GPU ladder.
Our figures are one GPU, and every number above says which one. - 78% of measured capabilities work (45 probes, run on two machines — 43 of 45 verdicts
agree, and both disagreements are attributed in the
campaign, neither to the hardware).
Restitution is unimplemented, and runtime scene mutation is non-physical in both directions:
deleted nodes keep colliding, and spawned nodes are never registered with the solver at all.
Compound colliders drop all but the first child by default. A motorisedBallJointstill does not
actuate (itsHinge2Jointsibling now does).
Capability matrix · CHANGELOG. - A
mujoco_warpscene silently drops constraint rows past 256. Measured on both machines:
16 driven four-wheeled rovers peak at 336 and 328 rows against a cap that does not grow, with a
clean log and exit code 0. RaiseWorldInfo.newtonNjmaxbefore you build a fleet. - Smaller ecosystem than Gazebo — fewer robots, fewer worlds, no package index.
Get started
The three-minute path above is the fastest start. Contributors who want a
source build can clone it, open the folder in a coding agent, and ask:
Set up OmniSim from this fresh clone — install whatever the toolchain needs, build it,
and then launch the warehouse Husky demo so I can watch it.
The agent follows AGENTS.md (auto-loaded) and the
quickstart. First build is 5–25 minutes. By hand instead:build_omni.bat on Windows, bash scripts/install/linux_bootstrap.sh on Linux.
Then run python -m omnisim doctor — it reports the ground truth about your clone. ⚠️ Newton is
the only backend, so a build without its runtime has no physics at all and otherwise fails
quietly.
| Windows 10/11 | Linux | macOS | |
|---|---|---|---|
| Build from source | ✅ documented | ✅ scripted | ⚠️ untested |
| Simulator, URDF import, harness, capture | ✅ | ✅ verified | ⚠️ untested |
| Newton physics (the only physics) | ✅ CPU default; GPU needs CUDA | ✅ wheels in the system python3 |
⚠️ untested — no fallback exists |
| RL training + locomotion demos | ✅ | ✅ | ❌ |
What you can ask for
"Launch the warehouse demo."
"Generate a Mars world with a 5-Husky fleet and run it headless for 30 seconds."
"Add three red cylinders in front of the Husky and make it avoid them."
"Wire a Jackal on a flat platform, expose it on HTTP, and drive it forward 2 m."
"Why isn't the camera seeing the red cylinder?"
The agent builds the world, edits controllers, runs the simulator, and verifies its own work through
the validation harness. For runtime control of robots in a live scene, point
OmniLink agents at the per-robot HTTP bridges
(protocol).
Robots
| Brand | Models |
|---|---|
| OmniSim | OmniArm 6 cobot · OmniArm 7 cobot · OmniTug 500 warehouse tug |
| Unitree | Go2 · B2 quadrupeds · G1 · H1 humanoids |
| OmniLink | OmniQuad quadruped |
| Clearpath | Husky · Jackal |
| Universal Robots | UR3e · UR5e · UR10e |
| Husarion | Rosbot · Rosbot XL |
| Robotis | TurtleBot3 |
| DJI | Mavic 2 Pro |
Per-robot status is in DEMOS.md. One caveat on OmniSim's own reference robots:
OmniTug 500 is a visual-only prop with no collider, so it is positioned kinematically and does
not participate in contact. OmniArm 6 and OmniArm 7 are fully simulated, and OmniArm 6 is
verified holding pose under gravity.
Teaching robots to move
Legged policies are made by Shadowing — train against a reference trajectory verified feasible
before learning starts, in-engine, so train and deploy share one solver. Fifteen skills ship across
G1, H1, Go2 and OmniQuad; BATON composes them into sequences.
python -m omnisim policy list # the catalogue
python -m omnisim policy sequence box_delivery # run a BATON demo
⚠️ Our humanoid demos run on a weight-bearing balance harness and are not free-standing walks.
Unitree's own policies re-hosted unchanged in OmniSim do walk free-standing, so the engine carries
it — training a policy that does is the open problem.
Shadowing · Skill Library ·
canonical RL status
Docs
| Audience | Start with |
|---|---|
| Installing it (per platform, prerequisites) | Installation procedure · System requirements |
| AI coding agent in this repo | AGENTS.md |
| Picking a demo | DEMOS.md |
| First-time human contributor | Developer Quickstart |
| Engine developer | docs/developer/ |
| World author | Simulation Authoring for Coding Agents |
| Driving OmniSim from outside | PROTOCOL.md |
| ROS 2 user | packages/omnisim-ros2/ · the ROS 2 story |
| Benchmarks and physics claims | docs/benchmarks/physics-comparison.md · simulator comparison |
| Video and 4K capture | scripts/capture/README.md |
| Contributing | CONTRIBUTING.md |
Licence · Brand · Bugs · Funding
Apache 2.0 (LICENSE · NOTICE). The OmniSim name and orb mark are OmniLink
trademarks (TRADEMARKS.md) — open code, protected brand: fork and ship, but rename a
modified fork. Bugs go to GitHub Issues; sponsorship funds the engine work
(Sponsor · SPONSORS.md).
Attribution
Built on Webots (Cyberbotics Ltd., open-sourced under
Apache 2.0 in 2018). Upstream copyright on derived files is preserved; files retaining Cyberbotics
headers remain © Cyberbotics. OmniSim is an independent fork, not affiliated with or endorsed by
Cyberbotics. See NOTICE for the full derivation.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi
