Documentation Index

Fetch the complete documentation index at: https://docs.safetypooldb.ai/llms.txt

Use this file to discover all available pages before exploring further.

Euro NCAP Protocols 2026

Prev Next

User Documentation  ·  v1.1

1.  Overview

This catalogue is a set of logical, simulation-ready scenarios derived from the Euro NCAP 2026 test protocols. Each scenario is an ASAM OpenSCENARIO 1.1 (.xosc) file paired with an ASAM OpenDRIVE (.xodr) road network, built to run in the esmini simulator (v2.58.0 or later). It contains 54 scenarios across four functional classes. Each runs standalone at default values, and contains a commented parametric-sweep block that, when enabled, generates the full set of protocol-defined permutations.

Class

Prefix

Scope

Count

Forward Collision Avoidance

fca_

AEB / FCW vs cars, motorcyclists, pedestrians, cyclists

27

Lane Departure Collision

ldc_

Emergency Lane Keeping vs road edge, cars, motorcyclists

7

Low Speed Collision

lsc_

Start-from-stop junctions, reverse manoeuvring, dooring

9

Adaptive Cruise Control

acc_

ACC performance, cut-in/out, steering & lane-change assist

11

Status: a derived, simulation-oriented catalogue built from protocol analysis. It is not the official Euro NCAP catalogue and carries no Euro NCAP endorsement.

2.  Source protocols and standards

Derived from the Euro NCAP v1.1 (October 2025) protocols, in force January 2026:

  • Crash Avoidance — Frontal Collisions (all fca_ scenarios)

  • Crash Avoidance — Lane Departure Collisions (all ldc_ scenarios)

  • Crash Avoidance — Low Speed Collisions (all lsc_ scenarios)

  • Safe Driving — Vehicle Assistance (ACC, steering & lane-change assist)

  • Assisted Driving (ACC safety-backup scenarios)

  • Supporting Protocol — Virtual Testing (v1.0, simulation qualification & KPI criteria)

Supporting standards: ISO 19206 (test target specs — pedestrian, vehicle, bicyclist, motorcyclist), ASAM OpenSCENARIO / OpenDRIVE / OpenLABEL, and ISO 8855 (vehicle coordinate system, defines the nearside/farside convention).

3.  Scenario nomenclature

Filenames follow the pattern <class>_<group>_<protocol-code>_scenario.xosc.

Example: fca_ped_cpncoday_scenario  →  Forward Collision Avoidance · pedestrian · CPNCO (child obstructed) · day.

Scenario (code)

Plain-language description

acc_c2c_ccrs

Cruise control: approaching a stationary car ahead

acc_c2c_ccrm

Cruise control: approaching a slower-moving car ahead

acc_c2m_cmrs

Cruise control: approaching a stationary motorcyclist

acc_c2m_cmrm

Cruise control: approaching a slower-moving motorcyclist

acc_c2m_cmrb

Cruise control: approaching a braking motorcyclist

acc_cut_cutin

Cruise control: a vehicle cuts in to the lane ahead

acc_cut_cutout

Cruise control: lead vehicle pulls away, revealing a stationary vehicle

acc_lca_emt

Cruise control: lane-change assist with a motorcyclist alongside

acc_steer_sbend

Cruise control: steering assist through an S-bend

acc_vru_cpla

Cruise control: following a pedestrian ahead

acc_vru_cbla

Cruise control: following a cyclist ahead

fca_c2c_ccrs

Emergency braking: stationary car ahead

fca_c2c_ccrm

Emergency braking: slower-moving car ahead

fca_c2c_ccrb

Emergency braking: braking car ahead

fca_c2c_ccfhos

Emergency braking: oncoming car drifts head-on (straight road)

fca_c2c_ccfhol

Emergency braking: oncoming car head-on during an overtake

fca_c2c_ccftap

Emergency braking: turning across an oncoming car at a junction

fca_c2c_cccscp

Emergency braking: car crossing at a junction

fca_cmr_cmrs

Emergency braking: stationary motorcyclist ahead

fca_cmr_cmrb

Emergency braking: braking motorcyclist ahead

fca_cmf_cmftap

Emergency braking: turning across an oncoming motorcyclist

fca_cmc_cmcscp

Emergency braking: motorcyclist crossing at a junction

fca_ped_cpladay / cplanight

Emergency braking: pedestrian walking ahead in lane (day / night)

fca_ped_cpnaday / cpnanight

Emergency braking: pedestrian crossing from the near side (day / night)

fca_ped_cpfaday / cpfanight

Emergency braking: pedestrian running from the far side (day / night)

fca_ped_cpncoday / cpnconight

Emergency braking: child crossing from behind parked cars (day / night)

fca_ped_cptafs_ns

Emergency braking: turning into a crossing pedestrian (same direction)

fca_ped_cptafo_no

Emergency braking: turning into a crossing pedestrian (opposite direction)

fca_cyc_cbla

Emergency braking: cyclist riding ahead in lane

fca_cyc_cbna

Emergency braking: cyclist crossing from the near side

fca_cyc_cbnao

Emergency braking: cyclist crossing from the near side, view obstructed

fca_cyc_cbfa

Emergency braking: cyclist crossing from the far side

fca_cyc_cbtafs_ns

Emergency braking: turning into a crossing cyclist (same direction)

fca_cyc_cbtafo_no

Emergency braking: turning into a crossing cyclist (opposite direction)

ldc_elk_re

Lane-keeping: drifting off the road edge

ldc_elk_on_c2c

Lane-keeping: drifting toward an oncoming car

ldc_elk_on_c2m

Lane-keeping: drifting toward an oncoming motorcyclist

ldc_elk_ov_c2c_unintentional

Lane-keeping: unintended drift toward an overtaking car

ldc_elk_ov_c2c_intentional

Lane-keeping: deliberate lane change toward an overtaking car

ldc_elk_ov_c2m_unintentional

Lane-keeping: unintended drift toward an overtaking motorcyclist

ldc_elk_ov_c2m_intentional

Lane-keeping: deliberate lane change toward an overtaking motorcyclist

lsc_sfs_cccscp

Low speed: pulling away into a crossing car

lsc_sfs_ccftap

Low speed: pulling away, turning across an oncoming car

lsc_sfs_cmcscp

Low speed: pulling away into a crossing motorcyclist

lsc_sfs_cmftap

Low speed: pulling away, turning across an oncoming motorcyclist

lsc_sfs_cbnao

Low speed: pulling away into an obstructed crossing cyclist

lsc_man_cpmrcm

Low speed: reversing toward a moving child

lsc_man_cpmrcs

Low speed: reversing toward a stationary child

lsc_man_cpmfc

Low speed: pedal-error protection with a child in front

lsc_door_cbda

Low speed: opening a door into a passing cyclist (dooring)

4.  Units and conventions

All values in the scenario files are in SI units. This is the most important thing to know before reading or editing a file.

Quantity

Unit in file

Example

Human equivalent

Speed

metres / second

15.2778

55 km/h

Position / offset

metres

124.917

Time gap / time

seconds

1.5

Sun elevation / azimuth

radians

1.308997

75°

Wind speed

metres / second

0.1

near-calm

Conversion: km/h ÷ 3.6 = m/s  (30 km/h = 8.3333, 60 = 16.6667, 80 = 22.2222).

Side convention: nearside/farside (offside) follow ISO 8855. These files are authored for Left-Hand Traffic (nearside = left of the vehicle); for Right-Hand Traffic the lateral geometry mirrors.

5.  Prerequisites and file dependencies

  1. esmini v2.58.0 or later installed and on your PATH.

  2. The matching .xodr road file present in the same folder as the .xosc.

  3. The Controller_Catalog directory present at the path referenced in the file (provides the ACC controller).

  4. Fix the 3D model paths for your machine. Each entity references a model via a relative path such as ../../../esmini-master/resources/models/car_white.osgb. This path is machine-specific and will not resolve unmodified — update the File filepath entries to point at your esmini resources/models/ directory, or models will fail to load.

6.  Running a single scenario (default values)

Each scenario runs immediately at its default speeds, positions and (daytime) lighting:

esmini --window 60 60 1024 576 --osc acc_vru_cbla_scenario.xosc

Use this to confirm a scenario loads before sweeping.

7.  Running parametric variations (the sweep)

Every file ends with a commented-out <ParameterValueDistribution> block defining the protocol-relevant permutations — speed ranges, position ranges, and the locked day/night environment pair.

1.  Enable the sweep. Delete the comment delimiters (<!-- and -->) around the block, and save.

2.  Count the permutations:

esmini --osc acc_vru_cbla_scenario.xosc \
      --param_dist acc_vru_cbla_scenario.xosc \
      --return_nr_permutations

3.  Run a specific permutation (0-indexed):

esmini --window 60 60 1024 576 \
      --osc acc_vru_cbla_scenario.xosc \
      --param_dist acc_vru_cbla_scenario.xosc \
      --param_permutation 0

4.  Run the full sweep by looping the index from 0 to (count − 1), logging results on each run.

How permutations are counted

The total is the product of each swept parameter's step count, times the locked environment pair:

  • <DistributionRange>  →  floor((upper − lower) / step) + 1 values.

  • <DistributionSet>  →  the number of <Element> entries (often 1 = fixed).

  • Day/night <ValueSetDistribution>  →  ×2 (the four environment parameters are swept as a locked pair, not combinatorially).

Targeted sweeps: to test a subset, narrow the <Range> limits or replace a range with a <DistributionSet> of just the values you want, before counting and running.

8.  Capturing results

Log per-frame state for offline analysis, and run headless for fast batch sweeps:

esmini --osc <file> --param_dist <file> --param_permutation N \
      --csv_logger results_permN.csv --headless

Each scenario's stop trigger is a collision condition plus a 30-second timeout, so a run ends at impact or at the time limit. The presence or absence of a collision event is the primary pass/fail signal; residual impact speed comes from the entity speed channels in the CSV.

9.  Quick-start checklist

  • Confirm esmini v2.58.0+ is installed.

  • Keep each .xosc with its .xodr and the Controller_Catalog.

  • Fix the model filepath entries for your esmini install (Section 5).

  • Run at defaults to confirm it loads (Section 6).

  • Read values as SI units — m/s, metres, radians, seconds (Section 4).

  • To sweep: uncomment the block, count, then run permutations (Section 7).

  • Narrow the range or set for targeted testing before full runs.

  • Log to CSV and check the collision condition for pass/fail (Section 8).