Skip to content
cccskills
FreePublished on GitHub

debug-navmesh

Validate CARLA pedestrian navigation by sampling walkable locations and reporting their coverage. Draw the samples as debug points to inspect the walkable area after a map import or investigate pedestrians that will not move.

OriginalShow the original description

Visualises and validates a map's pedestrian navigation mesh by sampling walkable locations (get_random_location_from_navigation) and drawing them as debug points. Use when the user asks to "show/visualise the pedestrian navmesh", "check walkable areas", "validate pedestrian navigation after a map import", or "why won't my walkers move". Confirms the navmesh loaded and how far it covers.

See how to install

Good for

  • Checking pedestrian navigation after importing a map
  • Investigating pedestrians that stand still
  • Visualizing the area pedestrians can walk through
  • Validating navigation coverage without a rendered view

Files included (5)

  • SKILL.md3.8 KB
  • references/navmesh.md2.1 KB
  • scripts/check_env.sh2.1 KB
  • scripts/env.sh1.1 KB
  • scripts/navmesh.py4.4 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Debug the pedestrian navmesh

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.

CARLA does not expose navmesh geometry, but every location from get_random_location_from_navigation() sits on the walkable mesh. Sampling many of them validates the navmesh loaded and visualises its coverage — the check to run after importing a map, or when walkers refuse to move.

Instructions

Progress:
- [ ] Step 1: Check prerequisites (bash scripts/check_env.sh), clear FAILs
- [ ] Step 2: Validate — confirm the navmesh exists and its extent
- [ ] Step 3: (rendered view) Sample + draw to see the walkable area

Commands need CARLA_HOST/CARLA_PORT from scripts/env.sh.

Step 1: Check prerequisites

bash scripts/check_env.sh

Step 2: Validate (works headless)

source scripts/env.sh
python3 scripts/navmesh.py validate --count 500

PASS reports the number of valid points, unique locations, and the walkable span. FAIL (exit 1) means get_random_location_from_navigation() returned nothing — no usable navmesh, so pedestrians with a WalkerAIController will not navigate.

Step 3: Visualise (rendered server)

python3 scripts/navmesh.py sample --count 2000 --life 120

Draws the sampled points via world.debug; the dotted region is walkable. Needs a windowed/packaged server (headless -nullrhi draws nothing — see debug-draw).

Examples

Example 1: after importing a map

User says: "I imported a town — did the pedestrian nav build?"

validate → PASS with a sensible span means yes; FAIL means the nav mesh is missing and must be rebuilt during import.

Example 2: walkers won't move

User says: "my pedestrians just stand still"

validate. If it FAILs, the navmesh is the cause; if it PASSes, look at the WalkerAIController wiring (owned by the walker-spawning skill), not the map.

Example 3: see the walkable area

User says: "show me where pedestrians can walk"

sample --count 3000 --life 180 on a rendered server; inspect the point cloud.

Troubleshooting

Problem: validate FAILs on a freshly imported map Cause: pedestrian navigation was not generated/exported for the map. Solution: rebuild the map's nav mesh in the import pipeline; then re-validate.

Problem: sample prints a count but nothing is visible Cause: headless -nullrhi server, or the camera is far from the coverage bounds. Solution: use a rendered server and move the spectator over the reported bounds.

Problem: very few unique locations Cause: navmesh is tiny or degenerate (a sliver of walkable area). Solution: check the source geometry / sidewalks in the imported map.

Outputs

  • validate: a PASS/FAIL report with coverage bounds and walkable span.
  • sample: a transient point overlay of the walkable area (rendered view).

Detail (navmesh basics, WalkerAIController link, import checklist) in references/navmesh.md.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Add a message type to CARLA's native ROS 2 interface. Create its C++ data structure, serialization code for transmission, type identity hash, registration, and tests, with Docker-based hash calculation and build checks.

  • Adding a standard ROS 2 message type missing from CARLA
  • Defining a custom carla_msgs message
  • Investigating type-hash warnings
carla-simulator/carla14.5KUpdated Oct 18, 2026

Extend CARLA’s native ROS 2 interface to publish sensor data or receive vehicle commands. Covers topic implementation, registration, data connections, and verification, plus adding middleware, the communication layer used to exchange messages.

  • Publish obstacle sensor data to ROS 2
  • Add a topic for vehicle speed commands
  • Integrate another communication middleware
carla-simulator/carla14.5KUpdated Oct 18, 2026

Summarize ScenarioRunner results to see which scenarios passed and which checks failed. Compare runs before and after changes, or analyze recorded driving to produce measurements and plots of vehicle distance and deviation from the lane center.

  • Checking scenario pass and fail results
  • Comparing results before and after controller changes
  • Plotting vehicle distances from a recorded run
carla-simulator/carla14.5KUpdated Oct 18, 2026

audit-carla-docs

FreeSummary

Checks a local CARLA checkout for missing API documentation, outdated references, broken links, and pages absent from navigation. Produces a grouped Markdown report without building the project or running the simulator.

  • Reviewing documentation before a release
  • Finding missing or outdated API references
  • Checking broken links and navigation gaps
carla-simulator/carla14.5KUpdated Oct 18, 2026

bounding-boxes

FreeSummary

Read and display CARLA object bounding boxes, then project them onto a camera image as 2D rectangles. Export an annotated PNG and box coordinates in JSON for object detection annotation work.

  • Adding vehicle boxes to a camera image
  • Exporting box coordinates for detection annotations
  • Checking vehicle dimensions
carla-simulator/carla14.5KUpdated Oct 18, 2026

build-carla-ue4

FreeSummary

Builds CARLA's ue4-dev branch on Linux, producing the Unreal Engine 4.26 editor, server modules, and an installed Python client package. Fetches required content, optionally compiles native ROS 2 support, and verifies the build against a source-built server.

  • Building CARLA ue4-dev from source
  • Compiling CARLA with native ROS 2 support
  • Building the Python client for an existing environment
carla-simulator/carla14.5KUpdated Oct 18, 2026

See all skills by carla-simulator

Report a problem with this skill