Submit Benchmark Solutions

Results to CommonRoad benchmarks have to be uploaded as an .xml file according to the format specified below. Valid solution files can be easily created using our solution writer. After submitting your solution, you can check your results before publishing it.

You can submit multiple solution files (upto 20) at once.

Tutorial

This tutorial for our tool CommonRoad_io guides through the process of opening a CommonRoad scenario, implementing a simple trajectory planner, and finally creating and uploading a solution file.

Tutorial Preview

Submission Format

A comprehensive introduction to CommonRoad benchmarks can be found in our paper. In short, a benchmark consists of a scenario id, a cost function, and a vehicle model and vehicle type. The solution file has to be uploaded as a formatted XML file adhering to the .xsd schema definition in commonroad_solution_schema.xsd.

A solution file contains the solutions for all planning problems in the scenario. Each planning problem solution can either be specified as a trajectory or as an input vector of the chosen vehicle model. Both types have to specify the id of their planning problem in the planningProblemId attribute. The two solution child element formats are described below.

Cost Functions and Vehicle Models

Cost functions are specified by the IDs shown below. Each cost function consists of partial cost functions and a weight. For details on all partial cost functions, have a look at the documentation.
Cost function ID Partial cost functions and weight
JB1 (T|1)
SA1 (SA|0.1), (SR|0.1), (D|105)
WX1 (T|10), (V|1), (A|0.1), (J|0.1), (D|0.1), (LC|10)
SM1 (A|50), (SA|50), (SR|50), (LC|1), (V|20), (O|50)
SM2 (A|50), (SA|50), (SR|50), (LC|1), (O|50)
SM3 (A|50), (SA|50), (SR|50), (V|20), (O|50)
MW1 (Jlat|5.0), (Jlong|0.5), (V|50), (ID|1)
Model ID Vehicle Models
PM Point-Mass
KS Kinematic Single-Track
ST Single-Track
MB Multi-Body

XML format for input vectors

Vehicle inputs are submitted as input vectors for the vehicle model. The default inputVector type inputVector is applicable for all vehicle models except the PointMass model.

  • inputVector
    • input
      • acceleration: float
      • steeringAngleSpeed: float
      • time: int
  • pmInputVector
    • pmInput
      • xAcceleration: float
      • yAcceleration: float
      • time: int

XML format for trajectories

Trajectories are submitted as state vectors describing the vehicle state at each time step. Depending on the vehicle model in the planning problem, different trajectory types containing different state vectors need to be selected. We provide a shortened description of the trajectory formats, the full format can be found in the schema definition file.

  • pmTrajectory
    • pmState
      • x: float
      • y: float
      • xAcceleration: float
      • yAcceleration: float
      • time: int
  • ksTrajectory
    • ksState
      • x: float
      • y: float
      • orientation: float
      • velocity: float
      • steeringAngle: float
      • time: int
  • stTrajectory
    • stState
      • x: float
      • y: float
      • orientation: float
      • velocity: float
      • steeringAngle: float
      • yawRate: float
      • slipAngle: float
      • time: int
  • mbTrajectory
    • mbState
      • x: float
      • ...