L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Design et création · SKILL.md

sensors-visualization

sensors-visualization

Configure SMARTS sensor observations, optional Panda3D rendering, Envision recording and replay, and safe diagnostics without conflating CPU checks with graphics services.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: sensors-visualization description: "Configure SMARTS sensor observations, optional Panda3D rendering, Envision recording and replay, and safe diagnostics without conflating CPU checks with graphics services." disable-model-invocation: true metadata: disco-role: operating license: MIT

SMARTS sensors and visualization

Use this route when an agent needs additional SMARTS observations, camera/grid outputs, custom shader renders, Envision state streaming or replay, or a read-only check of rendering and replay prerequisites. Keep the simulation lifecycle and environment creation in simulation-environments; use cli-integrations for exact scl command syntax. Frontend npm development, raw media, and long-running servers are outside this route.

Decide which boundary you are testing

  1. Start with a CPU/non-rendered interface when the policy only needs state, waypoints, lidar, lane positions, accelerometer, signals, or nearby actors.
  2. Treat drivable_area_grid_map, occupancy_grid_map, top_down_rgb, and custom_renders as software-rendering features. They require the camera extra and a usable Panda3D/OpenGL offscreen or X11 display.
  3. An occlusion_map also requires an occupancy map with identical width and height. It is a rendered output, not a CPU-only visibility calculation.
  4. Envision is a separate client/server/browser path. A successful SMARTS import or Panda3D import does not prove that the server is listening.

Read the linked references before building an interface:

Configure the interface

Use AgentInterface with explicit dataclass values when a non-default shape, range, or lookahead matters. Boolean True resolves to the corresponding config dataclass; False disables the sensor. The interface defaults accelerometer and lane positions on, but leaves most expensive or optional sensors off. AgentInterface.from_type(AgentType.Full, ...) is convenient but also enables rendered observations and lidar; do not use it as a cheap smoke interface.

from smarts.core.agent_interface import (
    AgentInterface, Waypoints, NeighborhoodVehicles, RGB, OGM,
)

interface = AgentInterface(
    waypoint_paths=Waypoints(lookahead=32),
    neighborhood_vehicle_states=NeighborhoodVehicles(radius=50),
    top_down_rgb=RGB(width=128, height=128, resolution=100 / 128),
    occupancy_grid_map=OGM(width=128, height=128, resolution=100 / 128),
    action=...,  # select an action type in the environment route
)

Before stepping, inspect the environment's per-agent observation space and confirm that the policy reads only enabled fields. After a step, check None for disabled optional fields and preserve the named observation structures; do not assume every observation is a flat NumPy array.

Workflow and checks

  • For CPU checks, import AgentInterface, construct low-dimensional sensor configs, and run a bounded environment test through the sibling lifecycle route. This does not require Panda3D.
  • For camera checks, run scripts/check_rendering.py, preferably under xvfb-run -a. Use --probe-offscreen only for a bounded construction and teardown probe; it is not a renderer behavior test.
  • For Envision records, use scripts/inspect_replay_records.py on a file or directory. It never sends data, starts a server, or modifies files.
  • Keep image dimensions and resolution small while diagnosing. Image sensors can dominate step() time and memory.
  • For recording or replay, verify the server endpoint separately and inspect the generated JSONL before attempting playback. Use the CLI sibling route for command spelling; this skill documents the Python client contract only.

Verified limits

The prepared SMARTS 2.0.1 environment passed package imports, live interface and lidar signature inspection, and a Panda3D/SMARTS renderer import smoke under Xvfb. That is evidence for importability only. Full renderer behavior, large image observations, Visdom, and a live Envision server remain optional or unverified. The bundled helpers report these limits rather than claiming a successful renderer or visualization session.

Skills enregistrées