YAML schema for Chrono::Vehicle model specification
A Chrono::Vehicle YAML FSI problem specification file defines the vehicle models and consists of two main objects:
- [required] The Chrono version (
chrono-version
) that is compatible with the YAML model specification. This is a string of the formM.m
(major.minor) orM.m.p
(major-minor-patch), although only the two fileds are verified for compatibility. - [required] The
model
object which defines JSON specification files for the vehicle sub-systems.
Model specification
YAML schema
The YAML vehicle model specification file must follow the data/yaml/schema/vehicle_model.schema.yaml
provided in the Chrono data directory:
# =============================================================================
# PROJECT CHRONO - http://projectchrono.org
#
# Copyright (c) 2025 projectchrono.org
# All rights reserved.
#
# Use of this source code is governed by a BSD-style license that can be found
# in the LICENSE file at the top level of the distribution and at
# http://projectchrono.org/license-chrono.txt.
# =============================================================================
#
# Schema for a YAML Chrono::Vehicle model specification file.
# The `chrono-version` must match the Chrono major and minor version numbers.
#
# =============================================================================
required: [chrono-version, model]
chrono-version:
type: string
description: Chrono version compatible with this YAML problem specification (M.m or M.m.p)
# -----------------------------------------------------------------------------
# Definitions of common Chrono types
vector3d: &VECTOR3D # Specification of a ChVector3d
type: array
items:
type: number
minItems: 3
maxItems: 3
# -----------------------------------------------------------------------------
# Definition of the vehicle model
model:
description: |
Schema for FSDI problem parameters.
This schema defines the multibody and fluid models, the simulation parameters for the two solvers, and the co-simulation metastep.
type: object
required: [vehicle_json, engine_json, transmission_json]
properties:
vehicle_json:
description: JSON file for vehicle model specification.
type: string
engine_json:
description: JSON file for engine model specification.
type: string
transmission_json:
description: JSON file for transmission model specification.
type: string
time_json:
description: JSON file for tire model specification (WHEELED vehicles only).
type: string
terrain_json:
description: JSON file for rigid terrain specification.
type: string
default: ""
initial_position:
<<: *VECTOR3D
description: Initial vehicle position
default: [0, 0, 0]
initial_yaw:
description: Initial vehicle yaw
type: number
default: 0.0
chase_camera:
description: PArameters for the vehicle chase camera.
type: object
required: [chassis_point, chase_distance, chase_height]
properties:
chassis_point:
<<: *VECTOR3D
description: Chase camera target point on chassis.
chase_distance:
description: Initial value of the horizontal distance between camera and target point
type: number
chase_height:
description: Initial value of the vertical distance between camera and target point
type: number