Spaces:
Paused
Paused
Commit History
26 days ago
-
Add a first-pass video review with NVIDIA Cosmos Reason
Chandra KiranUnverified signatureEvery finished run with a video gets a follow-up job (AUTO_REVIEW, on by default; or POST /simulate/run/{id}/review): Cosmos Reason on a Modal L4 watches the video at 2 fps next to the scenario text and the simulator's facts, and answers whether the scene matches, whether the physics look plausible and whether the robot fell, with its reasoning. The verdict shows on the run's report. Weights live in a Modal volume filled once by download_cosmos. Runs now also save trajectory.npz (robot joint positions, velocities and controls at 30 Hz) for dataset export.6772038 -
Add robustness sweeps with MuJoCo Warp
Chandra KiranUnverified signaturePOST /simulate/sweep runs a scene (from a run, a generation, or raw MJCF) as up to 256 copies at once, each with its own friction, object masses, joint noise and a push on the robot, and reports how many fell. MuJoCo Warp runs all worlds on the GPU; without CUDA the same randomization runs in plain MuJoCo, and results agree within a millimetre. Models using contact features Warp lacks (the Go2's 1 mm margins) are adapted and the report says so. The report plots push against friction for every world. CI runs both engines inside the worker image.a7dddb6 -
Add /code/check, more robots, and a real hold controller
Chandra KiranUnverified signatureROS 2 check: POST /code/check (or check: true on /code/generate) runs a generated package through the sandbox. The report shows build/launch/test results, errors, missing dependencies, the nodes and topics that came up, the logs, and the recorded bag in Foxglove. The sandbox now uses CycloneDDS with unicast discovery on loopback (containers have no loopback multicast), and our own shutdown no longer counts as a crash. The interface catalogue adds nav2_msgs, control_msgs and moveit_msgs. Robots: Unitree H1 and Go2 and the Franka Panda join the G1. 'hold' keeps the starting pose with a PD law on torque motors (H1, Go2) and targets on position servos; 'passive' now really switches actuation off. The H1 gets a balanced standing pose (it tips over from Menagerie's home pose); all four hold for 20 s.225dc91 -
Track every backend job with its cost and stop at a monthly budget
Chandra KiranUnverified signatureRuns become one kind of job (sim, sweep, ros_check, review, export, isaac) in the same table, with the hardware it ran on and an estimated cost. New jobs are refused with 402 once the month's estimate reaches MONTHLY_CREDIT_LIMIT_USD (default $28). Sandboxed workers can return files inline; the API stores them in R2. GET /jobs and /jobs/{id} show any job, /report/{id} renders it with its follow-up jobs.1a36c6b -
Use GLM-5.3 via OpenRouter and run simulations on Modal (RunPod optional)
Chandra KiranUnverified signature- LLM settings are provider-neutral (LLM_API_KEY, LLM_BASE_URL, LLM_MODEL), defaulting to z-ai/glm-5.3 on OpenRouter; OpenCode gets the same endpoint as its only provider. - SIM_BACKEND selects modal (default) or runpod. worker/modal_app.py deploys the worker on a T4 (or CPU with MODAL_GPU=none) with a container cap and time limit. - Runs record backend + job_id; GPU time falls back to the worker's own timing on Modal. Existing run tables are migrated.da839c2
27 days ago
-
Fix scene validation breaking when a GL backend is configured
Chandra KiranUnverified signatureImporting worker.handler set MUJOCO_GL=egl for the whole process, and the validation subprocess inherited it; on a machine without EGL, importing mujoco then failed and every scene was reported invalid. Validation never renders, so it now runs without rendering settings, and the handler no longer modifies the environment (the worker image sets MUJOCO_GL itself). Also pass stdin to the CI smoke run so its script actually executes.fab4b5b -
Harden simulation runs: official Foxglove embed, WebM video, CI image build
Chandra KiranUnverified signature- Report page uses Foxglove's embedding library (@foxglove/embed, vendored) with the MCAP as a remote-file source; R2 CORS now allows embed.foxglove.dev; FOXGLOVE_ORG setting - Worker writes a VP9 WebM next to the H.264 MP4 so every browser plays the video; a rendering failure mid-run no longer loses the run - Pin onnxruntime below 1.29, whose Linux build sends Microsoft telemetry, and disable its telemetry events - CI: lint, tests, build the RunPod worker image and run a real job in it04ad412 -
Add GPU simulation runs: RunPod worker, R2 storage, report page
Chandra KiranUnverified signature- POST /simulate/run re-validates the scene, logs the call (tester, time) and submits a RunPod serverless job; GET /simulate/run/{id} for status; GET /simulate/report/{id} (signed link) shows the run summary, video and an embedded Foxglove replay of the MCAP - worker/: MuJoCo simulation with the robot holding its keyframe, Foxglove MCAP (/scene, /tf, /state), H.264 video via EGL with CPU fallback, upload to Cloudflare R2; Dockerfile for RunPod - Usage visibility without caps: runs table, burst warning in logs, review runs/usage commands - R2 setup CLI (CORS for Foxglove, credential check); README setup for R2, the RunPod endpoint and the spend alert5dbd0bf