Configuration JSONC Settings¶
Project AirSim configuration files use the JSONC (JSON with Comments) file format. The configuration JSONC settings that client scripts load are stored in a sim_config/
subfolder relative to the client script:
<client scripts>
└─ sim_config
scene_basic_drone.jsonc
scene_...
robot_quadrotor_fastphysics.jsonc
robot_...
The configuration settings are split into two levels:
Scene config - Settings for a specific scene, such as a list of actors and clock settings for that scene. This can be any JSONC file in the
sim_config/
folder, but generally starts withscene_
as a filename prefix.Robot config - Settings for a specific robot, such as its link/joint structure, controller, sensors, etc. This can be any JSONC file in the
sim_config/
folder, but generally starts withrobot_
as a filename prefix. Multiple actors in a scene can reference the same config file.Environment actors config - Settings for a specific environment actor, such as its link/joint structure, controller, sensors, etc. This can be any JSONC file in the
sim_config/
folder. For drones, the filename prefix generally start withenv_actor_
; for cars, they start withenv_actor_car
; for humans, they start withenv_actor_human
; and for particles, they start withenv_particle_effect
. Multiple actors in a scene can reference the same config file.
Note: Unlike Python, the JSON standard requires double-quotes ("
) so be sure not to use single-quotes ('
) in the JSONC configuration files.
Scene config¶
An example scene config look like:
scene_env_actor.jsonc
{
"id": "SceneBasicDrone",
"actors": [
{
"type": "robot",
"name": "Drone1",
"origin": {...},
"robot-config": "robot_quadrotor_fastphysics.jsonc"
}
],
"environment-actors": [
{
"type": "env_car",
"name": "car1",
"origin": {...},
"env-actor-config": "env_actor_car.jsonc"
}
],
"clock": {...},
"home-geo-point": {...},
"segmentation": {...},
"scene-type": "UnrealNative"
}
The actors
array contains a block for each robot to spawn in the simulation at its specified origin
coordinates, and each robot’s robot-config
string points to the robot config JSON file to load for it.
For more detailed info, see Scene Configuration Settings.
Robot config¶
An example robot config looks like:
robot_quadrotor_fastphysics.jsonc
{
"physics-type": "fast-physics",
"links": [...],
"joints": [...],
"controller": {...},
"actuators": [...],
"sensors": [...]
}
For more detailed info, see Robot Configuration Settings.
Environment actors config¶
An example environment actor config looks like:
env_actor_car.jsonc
{
"links": [...],
"joints": [...],
}
For more detailed info, see Environment Actor Configuration Settings and Environment Object Configuration Settings.
Copyright (C) Microsoft Corporation. All rights reserved.