本文へ移動
cccskills
無料GitHub で公開

debug-draw

Draws debug overlays in a running CARLA world via world.debug — points, lines, arrows, bounding boxes, and text strings, each with a colour and lifetime. Use when the user asks to "draw/mark/highlight a point or box in the world", "visualise a path/waypoints", "label a location", or "show something on the map for debugging". Shapes are an overlay, not actors.

インストール方法を見る

含まれるファイル(5)

  • SKILL.md4.5 KB
  • references/debug.md3.0 KB
  • scripts/check_env.sh2.1 KB
  • scripts/debug_draw.py4.6 KB
  • scripts/env.sh1.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Draw CARLA debug shapes

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.

Overlay primitives on the running world for visual debugging: points, lines, arrows, boxes, text. They are drawn by the server as a transient overlay — not actors — so they cannot be selected or deleted individually; they expire after their --life. Other skills (e.g. map-waypoints) draw through this same world.debug API.

Instructions

Progress:
- [ ] Step 1: Check prerequisites (bash scripts/check_env.sh), clear FAILs
- [ ] Step 2: Draw the primitive(s) with a colour and lifetime
- [ ] Step 3: Confirm in a rendered view; redraw if it must persist in sync mode

Commands need CARLA_HOST/CARLA_PORT from scripts/env.sh. Coordinates are world metres X,Y,Z; colours are r,g,b (0-255). Negative coordinates: use the = form (--at=-10,-5,1, --from=-3,0,1) so a leading minus isn't read as a flag.

Step 1: Check prerequisites

bash scripts/check_env.sh

Step 2: Draw

source scripts/env.sh

python3 scripts/debug_draw.py point  --at 10,20,1 --size 0.2 --color 0,255,0 --life 60
python3 scripts/debug_draw.py line   --from 0,0,1 --to 50,0,1 --thickness 0.2 --life 60
python3 scripts/debug_draw.py arrow  --from 0,0,1 --to 10,0,1 --color 0,0,255 --life 60
python3 scripts/debug_draw.py box    --center 30,30,1 --extent 2,4,1.5 --yaw 45 --life 60
python3 scripts/debug_draw.py text   --at 30,30,3 --text "junction 12" --color 255,255,0 --life 60

Step 3: Confirm / persistence

Shapes render on a world tick, in a rendered view. Two gotchas:

  • Headless -nullrhi servers show nothing — there is no render thread. Use a windowed or packaged server to see overlays.
  • Sync mode: nothing appears until the client ticks, and --life is in simulation time. For an overlay that stays up while stepping, redraw each frame (or set --life longer than your tick interval).

On CARLA 0.10.0 (the UE5 line: 5.5 and 5.8)

The HUD variants are gone on 0.10.0. carla.DebugHelper there exposes exactly seven methods — draw_point, draw_line, draw_arrow, draw_box, draw_string, clear_debug_shape, clear_debug_string — so the 0.9.14+ draw_hud_point / draw_hud_line / draw_hud_box family (which drew in screen space, ignoring depth) has no equivalent. Use the world-space calls; they behave the same on both versions.

clear_debug_shape and clear_debug_string exist on both, and are the only way to remove a shape before its lifetime expires.

Examples

Example 1: mark a spot

User says: "mark world position (10, 20)"

point --at 10,20,1 --size 0.2 --color 0,255,0 --life 120.

Example 2: label and box an object

User says: "put a box and a label around (30,30)"

box --center 30,30,1 --extent 2,4,1.5 then text --at 30,30,3 --text "target".

Troubleshooting

Problem: nothing shows up Cause: headless -nullrhi server (no rendering), or sync mode without a tick. Solution: run a windowed/packaged server; in sync mode tick the world.

Problem: shape vanishes immediately Cause: very small --life, or a single-frame draw in sync mode. Solution: raise --life, or redraw each frame for a persistent overlay.

Problem: I can't delete a shape Cause: debug shapes are not actors. Solution: they expire on their own; use a short --life, or reload the world.

Outputs

Transient visual overlay in the rendered world. No file, no persistent actor.

Detail (each primitive's parameters, colour/lifetime semantics, sync-mode behaviour) in references/debug.md.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Adds a new ROS 2 message type to CARLA's native ROS 2 interface — the hand-written POD struct under LibCarla/source/carla/ros2/types/msg, its Fast-CDR serialize/deserialize pair, the RIHS01 type hash computed in Docker, the CdrTopicInfo registration and the type-hash test. Use when the user asks to "add a ROS message type", "support sensor_msgs/X in CARLA", "add a carla_msgs type", "why is my type hash warning appearing", or needs a message CARLA does not publish yet. There is no IDL codegen — every step is manual.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Adds a new topic to CARLA's native ROS 2 interface — a publisher (BasePublisher + PublisherImpl, topic suffix, QoS, registration in ROS2::GetOrCreateSensor, a ProcessDataFrom* entry point and its call site in the UE4 plugin) or a subscriber that lets ROS drive an actor. Also covers adding a middleware (RMW) behind IPublisherMiddleware. Use when the user asks to "publish X to ROS from CARLA", "add a ROS topic/publisher/subscriber", "make the obstacle/lane-invasion sensor publish", "add odometry to ROS", or "add another RMW".

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Reads and summarises ScenarioRunner output — the criteria pass/fail tables from --output/--file, the machine-readable --json and --junit result files, and the criteria JSON written alongside a --record recording — and runs the metrics module (metrics_manager.py) to compute custom measurements over a recorded run offline, without the simulator. Use when the user asks "did the scenario pass", "why did it fail", "summarise these results", "compare these runs", or wants distance/speed/lane metrics from a recording.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Gets actor and level 3D bounding boxes and projects them into a camera image as 2D boxes — the dataset-annotation workflow. Lists box geometry, draws 3D boxes in the world via debug, or captures one camera frame and writes an annotated PNG plus a JSON of 2D boxes for matching actors. Use when the user asks to "get bounding boxes", "draw boxes around the cars", "project boxes onto the camera", or "generate a detection dataset / annotations".

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Builds CARLA (branch ue4-dev, Unreal Engine 4.26) from source on Linux end-to-end — UE4 fork, the Carla server (editor C++ modules), the LibCarla Python client wheel, and content — then verifies them against a from-source server. Optionally builds the native ROS 2 interface in (ROS2=1 → --ros2, Fast-DDS/CycloneDDS/Zenoh), which is compile-time only and cannot be enabled later. Use when the user asks to "build CARLA from source", "compile CARLA ue4-dev", "set up CARLA on Ubuntu (incl. 24.04)", "build CARLA with ROS2 support", or "produce a CARLA server + client wheel". Cooking a distributable Dist/ package is a separate skill (package-carla-ue4); running the build is run-carla-server.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

Builds CARLA on Unreal Engine 5.8 from the ue58-dev branch using its CMake build system — configure a preset, then build the carla-unreal / carla-unreal-editor / carla-python-api-install / launch targets — with ROS 2, DLSS, RSS and cook-scope options, and the engine-side build of the CarlaUnreal UE 5.8 fork. There is no Makefile and no Util/BuildTools in this tree, so every UE4 `make` recipe is invalid here. Use when the user asks to "build CARLA UE5", "build ue58-dev", "compile CARLA with cmake", "rebuild the Python API", or hits a CMake configure or target failure.

日本語の概要は準備中です。原文の説明を表示しています。

carla-simulator/carla-agentic-tools42026年9月12日 更新

carla-simulator のスキルをすべて見る

このスキルの問題を報告する