2021-07-23 09:30:23 +02:00
2021-07-16 07:15:33 -07:00
2021-07-20 15:25:07 +02:00
2021-07-22 18:44:12 +02:00
2021-07-22 18:44:12 +02:00
2021-07-23 09:30:23 +02:00
2021-07-02 13:41:17 +02:00

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

Processing, saving, and loading expert demos

Once the repository has been set up, you can process and save expert track demonstrations with:

python src/expert_data.py --loc [LOCNUM] --track [TRACKNUM]

You can then load the experts actions and observations using

from src import expert_data
observations, actions = expert_data.load_expert_data(loc = [LOCNUM], track = [TRACKNUM])
for (s, a) in zip (observations, actions):
    # do some imitation learning

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[...]
Description
No description provided
Readme MIT 76 MiB
Languages
Python 98.1%
Shell 1.9%