В этом репозитории вы можете просмотреть исходный код нашего программного обеспечения и дополнительные материалы к проекту.
Порядок действий пользователя, user-experience:
- Запуск исполняемого файла
- Создание нового проекта
- Задание имени нового проекта
- Добавление модели (PNG/SVG чертежа) в программу
- Запуск окошка симуляции
- Ввод необходмых параметров
- Запуск симуляции
- Конец симуляции
- Открытие проекта
- Выбор
*.json
файла с симуляцией - Запуск визуализатора
- Анализ проблемных зон
Изначально мы смоделировали поведение агентов в текущей планировке Восточного вокзала. Результаты представлены ниже:
После того как программа построила цветовые карты загруженности, мы можем оптимизировать планировку вручную, ориентируясь на данные о проблемных зонах. На цветовой карте можно явно выделить места, где проход слишком узкий, помещения, в которых не хватает выходов/входов и основные траектории перемещения людей.
Проведя анализ - меняем планировку и запускаем симуляцию ещё раз.
✅ Очереди практически перестали появляться, пассажиропотоки перемещаются равномерно, не застревая в каких-либо местах.
A-star — в информатике и математике, алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью от одной вершины к другой. Этот алгоритм был впервые описан в 1968 году Питером Хартом, Нильсом Нильсоном и Бертрамом Рафаэлем.
За время конкурса наша команда создала модель поведения агента, которая позволяет обобщённо симулировать передвижение реального человека.
visualize.py
- Главный скрипт визуализатора. С помощью передачи аргументов через командную строку вы можете запустить исключительно визуализацию проекта.
-pn
,--PROJECT_NAME
- Имя проекта, визуализацию из которого вы хотите запустить-sn
,--SIM_NAME
- Название самого*.json
файла, симуляцию из котрого вы хотите запустить.
simulator.py
-pn
,--PROJECT_NAME
- Project name-sn
,--SIM_NAME
- Simulation name-ss
,--SCREEN_SIZE
- Visualizer window dimensions-gs
,--GRID_SIZE
- Grid dimensions-gcs
,--GRID_CELL_SIZE
- Grid cell size in pixels-svgs
,--SVG_SCALE
- Image scale-svgd
,--SVG_DELTA
- Image delta-mf
,--MODEL_FILENAME
- Image filename-fn
,--FONT_NAME
- Font name-aa
,--AGENTS_AMOUNT
- Maximum simulation agents amount-psr
,--PASSENGERS_SPAWN_RECTS
- Rectangle, where agents ar-g
,--goal
- Target for all agents