plurigrid/asi

mujoco-scenes

Package for creating different scenes in MuJoCo. Compose environments with objects, terrains, and obstacles for robot training.

First seen Jun 26, 2026

Installation

$ npx skills add plurigrid/asi --skill mujoco-scenes

Also in this package

Other skills from plurigrid/asi · top by installs.

npx skills add plurigrid/asi

Browse all from plurigrid/asi

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 62
License LICENSE
Default branch main
Open issues 3
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
LicenseMIT

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,100 B
  • docs SUMMARY.md 148 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

MuJoCo Scenes Skill

Trit: 0 (ERGODIC - coordination/infrastructure) Color: #9FD875 (Soft Green) URI: skill://mujoco-scenes#9FD875

Overview

Package for composing MuJoCo scenes with objects, terrains, and obstacles. Enables diverse environment generation for robot training.

Usage

from mujoco_scenes import SceneBuilder, Terrain, Object

# Build a training scene
scene = SceneBuilder()

# Add terrain
scene.add_terrain(
    Terrain.FLAT,
    size=(10, 10),
    friction=1.0,
)

# Add obstacles
scene.add_object(
    Object.BOX,
    pos=(2, 0, 0.5),
    size=(0.5, 0.5, 0.5),
    color=(1, 0, 0, 1),
)

scene.add_object(
    Object.SPHERE,
    pos=(-1, 2, 0.3),
    radius=0.3,
    mass=0.5,
)

# Add terrain variations
scene.add_terrain(
    Terrain.STAIRS,
    pos=(5, 0, 0),
    step_height=0.15,
    step_count=5,
)

# Export to MJCF
mjcf = scene.to_mjcf()

Terrain Types

┌─────────────────────────────────────────────────────────────┐
│                     TERRAIN TYPES                            │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  FLAT        ═══════════════════════════                    │
│                                                              │
│  STAIRS      ┌─┐                                            │
│            ┌─┘ └─┐                                          │
│          ┌─┘     └─┐                                        │
│                                                              │
│  RAMP        ╱╲                                             │
│             ╱  ╲                                            │
│                                                              │
│  ROUGH      ∿∿∿∿∿∿∿∿∿∿∿∿∿∿∿                                │
│  (heightfield)                                               │
│                                                              │
│  GAPS       ═══   ═══   ═══   ═══                           │
│                                                              │
└─────────────────────────────────────────────────────────────┘

Domain Randomization

from mujoco_scenes import DomainRandomizer

randomizer = DomainRandomizer(
    terrain_roughness=(0.0, 0.1),
    friction_range=(0.5, 1.5),
    object_position_noise=0.2,
    lighting_variation=True,
)

# Generate randomized scenes
for i in range(100):
    scene = randomizer.generate()
    scene.save(f"scene_{i}.mjcf")

Integration with KSIM

from ksim import RLTask
from mujoco_scenes import SceneBuilder

class WalkingWithObstacles(RLTask):
    def build_scene(self):
        scene = SceneBuilder()
        scene.add_terrain(Terrain.FLAT)
        scene.add_random_obstacles(count=10)
        return scene.to_mjcf()

GF(3) Triads

This skill acts as the ERGODIC (0) coordinator:

ksim-rl (-1) ⊗ kos-firmware (+1) ⊗ mujoco-scenes (0) = 0 ✓
evla-vla (-1) ⊗ kos-firmware (+1) ⊗ mujoco-scenes (0) = 0 ✓
urdf2mjcf (-1) ⊗ kos-firmware (+1) ⊗ mujoco-scenes (0) = 0 ✓
kbot-humanoid (-1) ⊗ kos-firmware (+1) ⊗ mujoco-scenes (0) = 0 ✓
zeroth-bot (-1) ⊗ kos-firmware (+1) ⊗ mujoco-scenes (0) = 0 ✓

Related Skills

  • ksim-rl (-1): Uses scenes for training
  • kos-firmware (+1): Robot firmware
  • urdf2mjcf (-1): Model conversion
  • kbot-humanoid (-1): K-Bot robot

References

@misc{mujocoscenes2024,
  title={MuJoCo Scenes: Environment Composition for Robot Training},
  author={K-Scale Labs},
  year={2024},
  url={https://github.com/kscalelabs/mujoco-scenes}
}

SDF Interleaving

This skill connects to Software Design for Flexibility (Hanson & Sussman, 2021):

Primary Chapter: 1. Flexibility through Abstraction

Concepts: combinators, compose, parallel-combine, spread-combine, arity

GF(3) Balanced Triad

mujoco-scenes (○) + SDF.Ch1 (+) + [balancer] (−) = 0

Skill Trit: 0 (ERGODIC - coordination)

Secondary Chapters

  • Ch5: Evaluation

Connection Pattern

Combinators compose operations. This skill provides composable abstractions.