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 | Type | 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 | Type | 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 | Type | 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 |
[m,m] | [Vec2] | A list of (local) world coordinates. | |
path_lonlat |
[lon,lat] | [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.
Entry | Unit | Type | 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 == . |
== |
The PhysicalValues list shows the useable values for the compare
field.
Examples
This example requires the vehicle to reach the (10.1, -105.2)
and (-63.83, -171.96)
(local) coordinates within 5 meters, in this order.
It also requires the vehicle to always have its velocity smaller than 50.0 km/h (true_velocity
is the physical value name).
"task": {
"goals": [
{
"type": "path",
"ltl_operator": "eventually",
"path": [ [10.1, -105.2], [-63.83, -171.96] ],
"range": 5
},
{
"type": "metric",
"ltl_operator": "always",
"compare": "true_velocity",
"with": "50.0",
"operator": "<"
}
]
}