... | ... | @@ -67,7 +67,7 @@ The `Simulation` element has the following **attributes**: |
|
|
|
|
|
| Attribute name | Mandatory? | Type, constraints | Description | Default value |
|
|
|
| ------ | ------ | ------ | ------ | ------ |
|
|
|
| `delta_time` | Yes | float, >0 | The length of a simulation time step, in seconds. | *none* |
|
|
|
| `delta_time` | Yes | float, > 0 | The length of a simulation time step, in seconds. | *none* |
|
|
|
| `end_time` | Yes (Console application) / No (GUI, Dynamic library) | float, >0 | The time (in seconds) after which the simulation should automatically stop. Only used in the console application. | *none* |
|
|
|
|
|
|
The `Simulation` element has the following **child elements**:
|
... | ... | @@ -108,10 +108,36 @@ It has 3 or more child elements named `Point`. Each `Point` element has two floa |
|
|
|
|
|
UMANS will treat each boundary segment of each obstacle separately. It is technically allowed to create overlapping obstacles. Obstacles with holes are not allowed, but you can replicate them by creating several smaller obstacles with touching boundaries.
|
|
|
|
|
|
# 'Agents' block
|
|
|
# 'Agents' element
|
|
|
|
|
|
This section will be filled in soon.
|
|
|
The `Agents` element has 0 or more **child elements** named `Agent`.
|
|
|
|
|
|
### 'Agent' element
|
|
|
|
|
|
An `Agent` element describes a single agent in the simulation. It has the following **attributes**:
|
|
|
|
|
|
| Attribute name | Mandatory? | Type, constraints | Description | Default value |
|
|
|
| ------ | ------ | ------ | ------ | ------ |
|
|
|
| `id` | No | integer, > 0 | A unique ID for this agent. If it is not specified, a suitable ID will be assigned at run-time. | *none* |
|
|
|
| `rad` | No | float, > 0 | The radius of the agent's disk representation, in meters. | 0.24 |
|
|
|
| `pref_speed` | No | float, > 0 | The preferred walking speed of the agent, in meters per second. Most navigation policies will try to let the agent use this speed. | 1.4 |
|
|
|
| `max_speed` | No | float, > 0 | The maximum walking speed of the agent, in meters per second. Some navigation policies will allow the agent to walk faster than `pref_speed`, but limited to `max_speed`. | 1.8 |
|
|
|
| `max_acceleration` | No | float, > 0 | The maximum acceleration of the agent, in meters per second squared. The simulation uses this to limit an agent's change in velocity. | 5.0 |
|
|
|
| `remove_at_goal` | No | Boolean | Whether or not the agent should be removed from the simulation when it has reached its goal position. | `false` |
|
|
|
| `start_time` | No | float, >= 0 | The time (in seconds since the start of the simulation) after which the agent should be added. This allows you to insert agents over time. | 0 |
|
|
|
|
|
|
**Warning:** If an attribute or element is missing from the XML file, it will be replaced by a default value from this table if possible. After this replacement step, if any value is incorrect (such as a negative agent radius), the agent will not be added to the simulation.
|
|
|
|
|
|
An `Agent` element has the following **child elements**:
|
|
|
|
|
|
| Element name | Number of occurrences | Description |
|
|
|
| ------ | ------ | ------ |
|
|
|
| `pos` | 1 | The agent's starting position. It has two floating-point attributes `x` and `y`. |
|
|
|
| `goal` | 0 or 1 | The agent's goal position. It has two floating-point attributes `x` and `y`. If not specified, the agent's goal will be made equal to its starting position, so the agent will remain stationary. |
|
|
|
| `Policy` | 1 | A reference to the agent's policy. It has only one attribute, `id`, a non-negative integer that should refer to one of the policies in the file's `Policies` block. |
|
|
|
|
|
|
**Warning:** If a mandatory element is missing, or if the specified policy does not exist, the agent will not be added to the simulation.
|
|
|
|
|
|
# 'Policies' block
|
|
|
# 'Policies' element
|
|
|
|
|
|
This section will be filled in soon. |