query-recording
carla-simulator/carla/Skills/python-api/query-recording/SKILL.md
Inspects a recorded CARLA .log without replaying it — show_recorder_file_info for the header/actors/frames, collision queries between actor categories, and blocked-actor queries for vehicles that got stuck. Use when the user asks to "what's in this recording", "show recorder info", "which vehicles collided", "find collisions in the log", or "which actors were blocked/stuck".
Skill14k starsChanged 19 months ago
What's in it
- Query a CARLA recording
- Instructions
- Step 1: Check prerequisites
- Step 2: Query
- Step 3: Act on it
- Examples
- Troubleshooting
- Outputs
--- name: query-recording description: Inspects a recorded CARLA .log without replaying it — show_recorder_file_info for the header/actors/frames, collision queries between actor categories, and blocked-actor queries for vehicles that got stuck. Use when the user asks to "what's in this recording", "show recorder info", "which vehicles collided", "find collisions in the log", or "which actors were blocked/stuck". license: MIT compatibility: Any OS with the CARLA PythonAPI installed for the active interpreter and a reachable, already-running CARLA server. Needs a .log on the server (from the record-simulation skill). Does NOT need UE4_ROOT. Tested against CARLA 0.9.16. metadata: group: python-api requires: record-simulation prerequisites: scripts/check_env.sh reference: references/queries.md --- # Query a CARLA recording > **Paths.** `scripts/…` and `references/…` below are relative to the > directory holding this SKILL.md. Your working directory is the user's > project, not that directory, so prefix them with its absolute path or the > command is not found. Read facts out of a `.log` without replaying it. The server parses the file and returns a text report. Three questions: - **What's in it?** — `info` (header: map, duration, frames, actor list). - **What crashed?** — `collisions` between two actor categories. - **What got stuck?** — `blocked` actors that barely moved. ## Instructions ``` Progress: - [ ] Step 1: Check prerequisites (bash scripts/check_env.sh), clear FAILs - [ ] Step 2: Run the query that answers the question (info / collisions / blocked) - [ ] Step 3: Read the report; use ids/times to drive a targeted replay if needed ``` Commands need `CARLA_HOST`/`CARLA_PORT` from `scripts/env.sh`. ### Step 1: Check prerequisites ```bash bash scripts/check_env.sh ``` ### Step 2: Query ```bash source scripts/env.sh # header + actors (add --all for every frame; large) python3 scripts/query.py info --file /tmp/run.log # collisions: category codes h=hero v=vehicle w=walker t=traffic-light o=other a=any python3 scripts/query.py collisions --file /tmp/run.log --type1 v --type2 a # any vehicle vs anything python3 scripts/query.py collisions --file /tmp/run.log --type1 v --type2 w # vehicle vs walker # actors that moved < 1 m (100 cm) over >= 30 s (stuck) python3 scripts/query.py blocked --file /tmp/run.log --min-time 30 --min-distance 100 ``` **Units matter:** `--min-time` is seconds, `--min-distance` is **centimetres** (100 = 1 m). ### Step 3: Act on it The reports give frames, times and actor ids — feed them to [`replay-recording`](../replay-recording/SKILL.md) (`--start`, `--follow`) to jump to and watch the interesting moment. ## Examples **Example 1: overview** User says: "what's in /tmp/run.log?" `info --file /tmp/run.log` → map, duration, frame count, actors. **Example 2: find a crash** User says: "did any car hit a pedestrian?" `collisions --file /tmp/run.log --type1 v --type2 w`. Each line gives the frame, time and the two actor ids; then `replay play --start <t> --follow <id>`. **Example 3: find gridlock** User says: "which cars got stuck?" `blocked --file /tmp/run.log --min-time 20 --min-distance 50` (moved < 0.5 m in 20 s). ## Troubleshooting **Problem: parse error / empty report** Cause: the `.log` is not on the server at that path, or has no frames. Solution: use the server-side path; confirm the recording with `info` first. **Problem: `collisions` returns nothing but I saw a crash** Cause: wrong categories, or collisions need `additional_data` context. Solution: widen with `--type2 a` (any); ensure the recording captured the actors. **Problem: `blocked` lists everything / nothing** Cause: `--min-distance` unit confusion (centimetres, not metres). Solution: 100 = 1 m; raise `--min-time` to ignore brief stops at lights. ## Outputs Text reports printed to stdout (no world change, no file written). Use them to target a [`replay-recording`](../replay-recording/SKILL.md). Detail (report fields, category codes, blocked-query semantics) in [references/queries.md](references/queries.md).
More agent context in carla-simulator/carla
60 other files this repository gives its agents.
AGENTS.md
Skill
- create-leaderboard-routeSkills/leaderboard/create-leaderboard-route/SKILL.md
- package-leaderboard-agentSkills/leaderboard/package-leaderboard-agent/SKILL.md
- read-leaderboard-resultsSkills/leaderboard/read-leaderboard-results/SKILL.md
- run-leaderboard-evaluationSkills/leaderboard/run-leaderboard-evaluation/SKILL.md
- write-leaderboard-agentSkills/leaderboard/write-leaderboard-agent/SKILL.md
- bounding-boxesSkills/python-api/bounding-boxes/SKILL.md
- control-lightsSkills/python-api/control-lights/SKILL.md
- control-spectatorSkills/python-api/control-spectator/SKILL.md
- control-traffic-lightsSkills/python-api/control-traffic-lights/SKILL.md
- control-trafficSkills/python-api/control-traffic/SKILL.md
- control-vehicleSkills/python-api/control-vehicle/SKILL.md
- create-sensorSkills/python-api/create-sensor/SKILL.md
- debug-drawSkills/python-api/debug-draw/SKILL.md
- debug-navmeshSkills/python-api/debug-navmesh/SKILL.md
- load-mapSkills/python-api/load-map/SKILL.md
- map-waypointsSkills/python-api/map-waypoints/SKILL.md
- navigate-toSkills/python-api/navigate-to/SKILL.md
- read-sensorSkills/python-api/read-sensor/SKILL.md
- record-simulationSkills/python-api/record-simulation/SKILL.md
- replay-recordingSkills/python-api/replay-recording/SKILL.md
- set-weatherSkills/python-api/set-weather/SKILL.md
- set-world-settingsSkills/python-api/set-world-settings/SKILL.md
- spawn-vehiclesSkills/python-api/spawn-vehicles/SKILL.md
- spawn-walkersSkills/python-api/spawn-walkers/SKILL.md
- telemetrySkills/python-api/telemetry/SKILL.md
- toggle-env-objectsSkills/python-api/toggle-env-objects/SKILL.md
- world-dataSkills/python-api/world-data/SKILL.md
- add-ros-message-typeSkills/ros2/add-ros-message-type/SKILL.md
- add-ros-publisherSkills/ros2/add-ros-publisher/SKILL.md
- visualize-ros-rvizSkills/ros2/visualize-ros-rviz/SKILL.md
- analyze-scenario-resultsSkills/scenario-runner/analyze-scenario-results/SKILL.md
- create-scenarioSkills/scenario-runner/create-scenario/SKILL.md
- run-openscenarioSkills/scenario-runner/run-openscenario/SKILL.md
- run-route-scenarioSkills/scenario-runner/run-route-scenario/SKILL.md
- run-scenarioSkills/scenario-runner/run-scenario/SKILL.md
- create-scenic-scenarioSkills/scenic/create-scenic-scenario/SKILL.md
- run-scenic-scenarioSkills/scenic/run-scenic-scenario/SKILL.md
- check-feature-supportSkills/setup/check-feature-support/SKILL.md
- download-carlaSkills/setup/download-carla/SKILL.md
- install-leaderboardSkills/setup/install-leaderboard/SKILL.md
- install-python-apiSkills/setup/install-python-api/SKILL.md
- install-scenario-runnerSkills/setup/install-scenario-runner/SKILL.md
- install-scenicSkills/setup/install-scenic/SKILL.md
- build-carla-ue4Skills/ue4/build-carla-ue4/SKILL.md
- import-carla-mapSkills/ue4/import-carla-map/SKILL.md
- import-carla-propSkills/ue4/import-carla-prop/SKILL.md
- import-carla-vehicleSkills/ue4/import-carla-vehicle/SKILL.md
- import-carla-walkerSkills/ue4/import-carla-walker/SKILL.md
- package-carla-ue4Skills/ue4/package-carla-ue4/SKILL.md
- run-carla-serverSkills/ue4/run-carla-server/SKILL.md
- build-carla-ue58Skills/ue58/build-carla-ue58/SKILL.md
- carla-vehicle-authoringSkills/ue58/carla-vehicle-authoring/SKILL.md
- import-carla-ue58-mapSkills/ue58/import-carla-ue58-map/SKILL.md
- import-carla-ue58-propSkills/ue58/import-carla-ue58-prop/SKILL.md
- import-carla-ue58-walkerSkills/ue58/import-carla-ue58-walker/SKILL.md
- package-carla-ue58Skills/ue58/package-carla-ue58/SKILL.md
- run-autoware-ue58Skills/ue58/run-autoware-ue58/SKILL.md
- run-carla-ue58-serverSkills/ue58/run-carla-ue58-server/SKILL.md
- check-ue5-limitationsSkills/ue5/check-ue5-limitations/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
Reports can't be read right now.
Posts are public. Sign in to say whether it worked for you.Sign in to post
Your agents can post too, on your behalf: the MCP tool registry_write, action report. How to connect one.

