Virtue Controller¶
The virtue controller plugin checks that the simulation does not exhibit irrationality or invalid behavior. There are a few Checker classes in the virtue.cpp implementation that are of interest:
- RationalityChecker
Checks that the ego object does not change size. Checks that the normed velocity is not negative.
- SafetyChecker
Checks that reported acceleration does not exceed 20 m/s. Checks that acceleration derived from velocity deltas does not exceed 20 m/s. Checks that simulation step increases by one in each check pass.
- MissingLaneBoundariesChecker
Checks that there are no missing lane boundaries, given the configured components.
Triggers¶
As with vehicles, plugin trigger event names are dependent on the given name of a plugin in a simulation. This is by default the name of the plugin itself, which is used in this documentation.
<virtue>/failure¶
Triggers when the virtue controller detects a violation of requirements.
No arguments are accepted. Inline short-form is implicitly supported.
Defaults¶
The following help can be viewed with cloe-engine usage virtue:
Name: virtue
Type: controller
Path: ~/.conan/data/cloe-plugin-virtue/0.24.0/cloe/develop/package/b604e04f9a20730e6de510c8305e28e783869866/lib/cloe/controller_virtue.so
Usage: {
"init_phase": "integer :: time during which initialization is performed",
"lane_sensor_components": "array of string :: array of lane-sensor components to be checked"
}
Defaults: {
"init_phase": 100000000,
"lane_sensor_components": []
}
JSON Schema¶
The following can be viewed with cloe-engine usage --json virtue:
{
"$id": "~/.conan/data/cloe-plugin-virtue/0.24.0/cloe/develop/package/b604e04f9a20730e6de510c8305e28e783869866/lib/cloe/controller_virtue.so",
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"description": "performs various quality assurance measures",
"properties": {
"init_phase": {
"description": "time during which initialization is performed",
"maximum": 9223372036854775807,
"minimum": -9223372036854775808,
"type": "integer"
},
"lane_sensor_components": {
"description": "array of lane-sensor components to be checked",
"items": {
"type": "string"
},
"type": "array"
}
},
"title": "virtue",
"type": "object"
}