A continuous environment for reinforcement learning of the task of the following the leader
Пример работы среды в скрипте main.py:
python main.py
Имеет следующие аргументы командной строки:
- флаг manual -- если указан, управление агентом проводится вручную, с помощью стрелок;
- n_steps -- число шагов среды, в течение которых проводится проверочная симуляция (по умолчанию: 5000);
- training_steps -- в случае автоматического режима работы - число шагов, в течение которых учится модель.
На данный момент одна симуляция длится не более 5000 шагов (задаётся при создании конкретной среды параметром max_steps) или до тех пор, пока агент не попадёт в аварию (что наступит раньше) При создании среды можно задавать дополнительные ограничения;
Чтобы создать свою версию среды:
-
в файле follow_the_leader_continuous_env.py создать наследующий основную среду класс (как, например, Test-Cont-Env-Auto-v0);
-
в методе init созданного класса задать нужные параметры при инициализации родительского класса (полный список параметров смотреть в методе init класса Game);
-
"зарегистрировать" среду как среду gym с помощью gym_register, по следующему шаблону:
3.1. id=Test-Cont-Env-<собственное_название>-v0;
3.2. follow_the_leader_continuous_env:<название класса среды, который создан в п.1>;
3.3. reward_threshold по своему желанию.
- сигнал "стоп";
- фабрика-конфигуратор сред;
- конфигурации роботов;
- конфигуратор получаемых от среды наблюдений;
- лидары на роботах;
- генерация препятствий (особенно мостов!);
- генерация маршрута Ведущего с учётом препятствий;
- управление Ведущим с учётом препятствий;
- вынесение логики из метода show_tick();
- дополнительная декомпозиция метода step;
- аварии, при которых происходит столкновение, но не конец симуляции;
- при тестировании модели управление Ведущим с клавиатуры.