... | ... | @@ -206,4 +206,23 @@ A `CostFunction` element has the following **main attributes**: |
|
|
| ------ | ------ | ------ | ------ | ------ |
|
|
|
| `name` | Yes | enum (see below for all options) | The name of the cost function to use. This name should correspond to one of the cost functions that exist in the UMANS source code. If the specified name could not be found, then the cost function cannot be loaded. | *none* |
|
|
|
| `coeff` | Yes | float | A scale factor for all costs and gradients that this cost function returns. This is useful if you are combining this cost function with others, or if you want to give the cost function a weaker or stronger gradient. | 1 |
|
|
|
| `range` | Yes | float, >= 0 | The interaction range of this cost function, in meters. Usually, this value is used as the distance for nearest-neighbor searches, so the cost function will only consider neighboring agents within `range` meters from the agent in question. However, it is possible that a cost function uses `range` for other purposes as well. | 5 | |
|
|
\ No newline at end of file |
|
|
| `range` | Yes | float, >= 0 | The interaction range of this cost function, in meters. Usually, this value is used as the distance for nearest-neighbor searches, so the cost function will only consider neighboring agents within `range` meters from the agent in question. However, it is possible that a cost function uses `range` for other purposes as well. | 5 |
|
|
|
|
|
|
The following cost functions are currently supported:
|
|
|
|
|
|
| Name in XML | Description | Used in example policy | Notes |
|
|
|
| ------ | ------ | ------ | ------ |
|
|
|
| `FOEAvoidance` | An avoidance function based on the focus of expansion. | - | - |
|
|
|
| `GoalReachingForce` | The goal-reaching force described by Helbing and Molnár (1995). | SocialForces | - |
|
|
|
| `Karamouzas` | The cost function used in the velocity-based algorithm by Karamouzas and Overmars (2010). | Karamouzas | - |
|
|
|
| `Moussaid` | The cost function used in the velocity-based algorithm by Moussaid et al. (2011). | Moussaid | - |
|
|
|
| `ORCA` | The cost function used in the ORCA method by van den Berg et al. (2011). | ORCA | - |
|
|
|
| `PLEdestrians` | The cost function used in the PLEdestrians model by Guy et al. (2010). | PLEdestrians | - |
|
|
|
| `PowerLaw` | The force used in the 'Universal Power Law' model by Karamouzas et al. (2014) | PowerLaw | - |
|
|
|
| `RandomFunction` | A function that returns random costs and gradients. Useful for adding noise to the system. | - | - |
|
|
|
| `RVO` | The cost function used in the original RVO implementation by van den Berg et al. (2008). | RVO | - |
|
|
|
| `SocialForcesAvoidance` | The avoidance component of the social-force model by Helbing and Molnár (1995). | SocialForces | - |
|
|
|
| `TtcaDca` | The cost function used in the vision-based steering algorithm by Dutra et al. (2016), simplified to our domain. | Dutra | - |
|
|
|
| `VanToll` | A custom collision-avoidance cost function that is sometimes used by our own team. | VanToll | - |
|
|
|
|
|
|
Each specific cost function can have its own **specific attributes**. We are currently not listing these attributes here. Instead, they are specified in the (Doxygen) comments of each cost function's C++ header file. For example, the documentation in `core/CostFunctions/RVO.h` describes the parameters of the RVO cost function. Therefore, the best option is to look in the Doxygen comments of the cost function that you want to use. |
|
|
\ No newline at end of file |