|
|
TODO
|
|
|
The `Task` properties specify a list of `Goals` that the vehicle must fulfill.
|
|
|
Goals can be `PathGoals` or `MetricGoals`.
|
|
|
|
|
|
`PathGoals` specify one or multiple positions in the world that must be reached or avoided by the vehicle (depending on the LTL operator).
|
|
|
|
|
|
`MetricGoals` specify conditions on values, for example that the speed of the vehicle cannot be greater than 50km/h.
|
|
|
|
|
|
## Task Properties
|
|
|
|
|
|
| Entry | [Unit](/user-docs/JSON-scenarios-reference#units) | [Type](/user-docs/JSON-scenarios-reference#types) | Description | Default Value |
|
|
|
| :---- | :--- | :--- | :---------- | :------------ |
|
|
|
| `goals` | - | [O] | A list of `Goal` properties. Goals can be of type `path` or `metric`. | - |
|
|
|
|
|
|
## Goal Properties
|
|
|
|
|
|
`Goal` is an abstract class. Sub-types can be `path` or `metric`. All sub-types can have the following entry:
|
|
|
|
|
|
| Entry | [Unit](/user-docs/JSON-scenarios-reference#units) | [Type](/user-docs/JSON-scenarios-reference#types) | Description | Default Value |
|
|
|
| :---- | :--- | :--- | :---------- | :------------ |
|
|
|
| `ltl_operator` | - | S | `always`, `eventually` or `never`. | - |
|
|
|
|
|
|
The LTL operator entry specifies when and how the goal must be fulfilled.
|
|
|
|
|
|
- `always`: The goal must always be fulfilled.
|
|
|
- `eventually`: The goal must be fulfilled at one point in the simulation.
|
|
|
- `never`: The goal can never be fulfilled.
|
|
|
|
|
|
### PathGoal Properties
|
|
|
|
|
|
`PathGoals` only support the `eventually` and `never` LTL operators.
|
|
|
|
|
|
In the `eventually` setting, the positions given by one of the `path` entries must be reached within `range` **in the specified order**.
|
|
|
|
|
|
In the `never` setting, **none** of the position can be reached at any point.
|
|
|
|
|
|
| Entry | [Unit](/user-docs/JSON-scenarios-reference#units) | [Type](/user-docs/JSON-scenarios-reference#types) | Description | Default Value |
|
|
|
| :---- | :--- | :--- | :---------- | :------------ |
|
|
|
| `type` | | S | Must be `path` for a `PathGoal`. Must be the first entry. | |
|
|
|
| | | | The following `path`, `path_lonlat` and `path_osm` entries are exclusive: they represent different ways of giving positions in the world. | |
|
|
|
| `path` | - | [Vec2] | A list of (local) world coordinates. | - |
|
|
|
| `path_lonlat` | - | [Coordinates] | A list of Geographic coordinates. | - |
|
|
|
| `path_osm` | - | [I] | A list of OSM node-ids (visible in the .osm files in the node tags). | - |
|
|
|
| `range` | m | I | The range (circular) around the given positions that counts as valid. | `2 m` |
|
|
|
|
|
|
### MetricGoal Properties
|
|
|
|
|
|
`MetricGoals` can specify conditions on `PhysicalValues` inside the vehicle. A list of those can be seen below the [Sensor and Actuator Properties](/user-docs/json-scenario-reference/Sensor-and-Actuator-Properties).
|
|
|
|
|
|
| Entry | [Unit](/user-docs/JSON-scenarios-reference#units) | [Type](/user-docs/JSON-scenarios-reference#types) | Description | Default Value |
|
|
|
| :---- | :--- | :--- | :---------- | :------------ |
|
|
|
| `type` | | S | Must be `metric` for a `MetricGoal`. Must be the first entry. | |
|
|
|
| `compare` | - | S | The name of the `PhysicalValue` to be compared. | - |
|
|
|
| `with` | - | FP | The value to be compared with. | `0.0` |
|
|
|
| `operator` | - | S | Comparison operator: `<`, `<=`, `>`, `>=` or `==`. | `==` |
|
|
|
|
|
|
---
|
|
|
Next: [Body and Wheel Properties](/user-docs/json-scenario-reference/Body-and-Wheel-Properties) |
|
|
\ No newline at end of file |