跳到正文
cccskills
免费在 GitHub 公开

install-leaderboard

Set up a CARLA driving evaluation environment for Leaderboard 1.0, 2.0, or 2.1. Match the simulator and scenario_runner versions, configure Python paths, and verify that the required components load correctly.

中文简介正在准备中。当前显示英语简介。

原文查看原文说明

Installs the CARLA Autonomous Driving Leaderboard (leaderboard.carla.org) at a chosen version — 1.0, 2.0 or 2.1 — together with the exact scenario_runner branch and CARLA build each one requires, then wires the four-root PYTHONPATH and verifies the whole stack imports. Detects which version an existing checkout is by reading its code, not its branch name. Use when the user asks to "install the leaderboard", "set up the CARLA challenge", "evaluate my driving agent", "reproduce my leaderboard score", or names a leaderboard version.

查看安装方法

适用场景

  • Setting up an environment to evaluate a driving agent
  • Checking version differences behind inconsistent scores
  • Recreating the Leaderboard 1.0 evaluation environment
  • Identifying the version of an existing checkout

包含的文件(5)

  • SKILL.md9.5 KB
  • references/versions.md6.9 KB
  • scripts/check_env.sh3.2 KB
  • scripts/env.sh1.8 KB
  • scripts/install_leaderboard.py12.5 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Install the CARLA Leaderboard

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.

The Leaderboard is an evaluation harness layered on ScenarioRunner: it supplies routes, a fixed sensor budget, infraction criteria and a scoring formula, and it imports srunner for the scenarios themselves. So a working install is four roots that agree on one version:

CARLA build  ──▶  scenario_runner branch  ──▶  leaderboard branch  ──▶  your agent

Get any pair out of step and nothing tells you so directly — routes load and then scenarios never trigger, or the score comes out different from the online one.

Instructions

Progress:
- [ ] Step 1: Decide the leaderboard version (1.0 / 2.0 / 2.1)
- [ ] Step 2: Get the CARLA build that version needs
- [ ] Step 3: Clone leaderboard + the matching scenario_runner branch
- [ ] Step 4: Install both requirement sets
- [ ] Step 5: Record the roots with `set_config`, then verify (bash scripts/check_env.sh)

Step 1: Which version

LB 1.0LB 2.0LB 2.1
Statuslegacysupersededcurrent (since Mar 2025)
CARLA0.9.10.1leaderboard build (0.9.14 + large maps)same as 2.0
leaderboard branchleaderboard-1.0leaderboard-2.0leaderboard-2.1
scenario_runner branchleaderboard-1.0leaderboard-2.0leaderboard-2.1
TownsTown01–Town06Town12 / Town13Town12 / Town13
Routes50 train / 26 test / 4 devtest90 train / 20 val / 2 devtestsame as 2.0
TracksSENSORS, MAP+ SENSORS_QUALIFIER, MAP_QUALIFIERsame as 2.0
Sensor budget4 cam / 1 lidar / 2 radar8 cam / 2 lidar / 4 radarsame as 2.0
Infraction penaltymultiplicativemultiplicativeadditive

2.0 and 2.1 differ in exactly one file. leaderboard/utils/statistics_manager.py — 38 lines. Same routes, same scenarios, same CARLA, same sensors. Only the maths that turns infractions into a penalty changed. Detail in references/versions.md.

master is the 2.0 line, not 2.1. Its penalty table still has PENALTY_PERC_DICT and the 0.5/0.6/0.65 multiplicative coefficients. If you want to reproduce a score from the live leaderboard, check out leaderboard-2.1.

python3 scripts/install_leaderboard.py detect   # what is here, and which version is it?
python3 scripts/install_leaderboard.py plan --version 2.1

detect identifies the version of any existing checkout from its code — SENSORS_QUALIFIER in autonomous_agent.py separates 2.x from 1.0, and PENALTY_PERC_DICT in statistics_manager.py separates 2.0 from 2.1 — so it is right even for a tarball, a docker image or a detached HEAD.

Step 2: CARLA

LB 2.x does not run on a stock release. It needs the leaderboard build, whose Python client reports the literal version string leaderboard (the evaluator special-cases it and skips its own minimum-version check). Get it from leaderboard.carla.org.

A stock 0.9.15/0.9.16 with AdditionalMaps installed gets you Town12/Town13 and will run routes, which is fine for developing an agent — but it is not the evaluation environment, so treat any score from it as indicative only.

LB 1.0 needs 0.9.10.1 exactly; [[download-carla]] can fetch it.

Step 3-4: Clone and install

# LB 2.1 (current)
git clone -b leaderboard-2.1 --single-branch https://github.com/carla-simulator/leaderboard.git
git clone -b leaderboard-2.1 --single-branch https://github.com/carla-simulator/scenario_runner.git

# LB 1.0
git clone -b leaderboard-1.0 --single-branch https://github.com/carla-simulator/leaderboard.git
git clone -b leaderboard-1.0 --single-branch https://github.com/carla-simulator/scenario_runner.git

python3 -m pip install -r leaderboard/requirements.txt -r scenario_runner/requirements.txt

Or in one step, which also switches an existing pair of checkouts:

python3 scripts/install_leaderboard.py install --version 2.1 --dir ~/carla-lb

leaderboard/requirements.txt pins opencv-python==4.2.0.32, which has no wheels for Python 3.9+. If pip tries to build it from source and fails, install a newer OpenCV instead — nothing in the leaderboard depends on that exact version (it is used only by human_agent.py for the HUD).

Step 5: Environment

export CARLA_ROOT=~/CARLA_Leaderboard_2.0
export SCENARIO_RUNNER_ROOT=~/carla-lb/scenario_runner
export LEADERBOARD_ROOT=~/carla-lb/leaderboard
export PYTHONPATH="${CARLA_ROOT}/PythonAPI/carla":"${SCENARIO_RUNNER_ROOT}":"${LEADERBOARD_ROOT}":"${CARLA_ROOT}/PythonAPI/carla/dist/carla-0.9.14-py3.7-linux-x86_64.egg":${PYTHONPATH}

bash scripts/check_env.sh

Order is the official one from scripts/Dockerfile.master. Two traps:

  • ${CARLA_ROOT}/PythonAPI/carla is mandatory — srunner imports agents.navigation.global_route_planner, and agents exists only in a CARLA tree, never in the carla wheel.
  • The .egg filename embeds the version and Python minor. Glob it rather than copying the line: ls ${CARLA_ROOT}/PythonAPI/carla/dist/.

scripts/env.sh builds all of this and prints the detected version, so source scripts/env.sh is the shortcut.

Recording the path

An export lasts until the shell exits. Persist LEADERBOARD_ROOT and SCENARIO_RUNNER_ROOT instead, so the next session — and list_skills — still knows where this went:

set_config({"LEADERBOARD_ROOT": "<the leaderboard path>",
            "SCENARIO_RUNNER_ROOT": "<the scenario_runner path>"})

Without it the group this just enabled keeps reporting available: false, and the next skill re-detects from scratch. CARLA_ROOT is the only CARLA path to record: set_config derives the engine-specific variable itself.

Examples

Example 1: "set up the leaderboard so I can evaluate my agent"

detect → nothing installed. install --version 2.1 clones both repos at leaderboard-2.1, installs requirements, prints the exports. Then [[write-leaderboard-agent]] for the agent, [[run-leaderboard-evaluation]] to run routes_devtest.xml.

Example 2: "my scores don't match what the leaderboard gave me"

Check the version first: detect. A master or leaderboard-2.0 checkout scores multiplicatively, the live 2.1 leaderboard scores additively — the same run yields different numbers. Switch with install --version 2.1, or recompute from the existing results.json with [[read-leaderboard-results]] --as 2.1.

Example 3: "I want to run the old 1.0 challenge routes"

install --version 1.0, plus CARLA 0.9.10.1 via [[download-carla]]. Expect API breaks in your agent: in 1.0 AutonomousAgent.__init__ takes path_to_conf_file and calls setup() itself; in 2.x it takes (carla_host, carla_port, debug) and the evaluator calls setup().

Troubleshooting

Problem: ModuleNotFoundError: No module named 'srunner' Cause: SCENARIO_RUNNER_ROOT not on PYTHONPATH. Solution: source scripts/env.sh, or add it by hand.

Problem: ModuleNotFoundError: No module named 'agents' Cause: carla from a wheel; agents lives in the CARLA tree. Solution: add ${CARLA_ROOT}/PythonAPI/carla.

Problem: routes load but no scenario ever triggers Cause: scenario_runner on master instead of a leaderboard-* branch. The route-scenario classes and their parameters differ. Solution: install --version <yours> fixes the pairing; check_env.sh fails loudly on it.

Problem: Exception: The CARLA server uses the wrong map! Cause: Town12/Town13 missing — stock release without AdditionalMaps. Solution: install AdditionalMaps ([[download-carla]]) or use the leaderboard build.

Problem: pip install opencv-python==4.2.0.32 fails to build Cause: no wheel for your Python; pip falls back to a source build. Solution: install a current opencv-python instead; only the human agent's HUD uses it.

Problem: ImportError: CARLA version 0.9.14 or newer required Cause: an older client than the evaluator's minimum. Solution: match the client to the leaderboard build ([[install-python-api]]).

Outputs

A leaderboard checkout at a known version, a scenario_runner checkout on the paired branch, requirements installed, and the four exports. check_env.sh prints the detected version, the pairing verdict and whether Town12/Town13 exist on the running server.

Version-by-version differences — scoring maths, tracks, sensor budgets, route formats, agent API breaks — in references/versions.md.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

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/carla1.5万2026年10月23日 更新

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/carla1.5万2026年10月23日 更新

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/carla1.5万2026年10月23日 更新

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/carla1.5万2026年10月23日 更新

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/carla1.5万2026年10月23日 更新

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/carla1.5万2026年10月23日 更新

查看 carla-simulator 的全部技能

报告此技能的问题