56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# InteractionImitation
|
|
Imitation Learning with the INTERACTION Dataset
|
|
|
|
## Getting started
|
|
Clone InteractionSimulator and pip install the module.
|
|
```
|
|
git clone https://github.com/sisl/InteractionSimulator.git
|
|
cd InteractionSimulator
|
|
pip install -e .
|
|
cd ..
|
|
export PYTHONPATH=$(pwd):$PYTHONPATH
|
|
```
|
|
Install additional requirements
|
|
```
|
|
pip install -r requirements.txt
|
|
```
|
|
Copy INTERACTION Dataset files:
|
|
The INTERACTION dataset contains a two folders which should be copied into a folder called `./InteractionSimulator/datasets`:
|
|
- the contents of `recorded_trackfiles` should be copied to `./InteractionSimulator/datasets/trackfiles`
|
|
- the contents of `maps` should be copied to `./InteractionSimulator/datasets/maps`
|
|
|
|
## Package Structure
|
|
```
|
|
InteractionImitation
|
|
|- demos
|
|
|- algorithms
|
|
|- BC
|
|
|- AdVIL
|
|
|- nets
|
|
|- Encoder
|
|
|- DeepSet
|
|
|- Decoder
|
|
|- policies
|
|
|- discriminators
|
|
|- demo_generators
|
|
```
|
|
|
|
## Type Definitions
|
|
```
|
|
Demo: List[Trajectory]
|
|
Trajectory: List[Tuple[Observation, Action]] # single expert
|
|
Observation: Dict[
|
|
'own_state': [x, y, v, psi, psidot],
|
|
'relative_states': List[[xr, yr, vr, psir, psidotr]],
|
|
'own_path': List[[xr, yr]], # fixed length, constant dt
|
|
'map': Map, # relative
|
|
]
|
|
Action: Range[0, 1]
|
|
Policy: Union[
|
|
Callable[[Observation], Action],
|
|
Callable[[Observation, Action], probability],
|
|
]
|
|
Discriminator: Callable[[Observation, Action], value]
|
|
Map: Dictionary[...]
|
|
```
|