Кейс · Астар АйТи (собственная разработка)

AstarIT Traffic — библиотека моделирования дорожного движения

C#-библиотека (.NET Standard 2.1) микросимуляции транспортных потоков с клеточным автоматом Nagel–Schreckenberg и Unity-адаптером для 3D-визуализации перекрёстков, светофоров и смены полос — на этапе конструирования и моделирования дорожной сети.

Клиент
Астар АйТи (собственная разработка)
Отрасль
Транспортное моделирование, RoadTech, Unity
  • Транспортное моделирование
  • Микросимуляция
  • Unity
  • C#
  • Дорожное проектирование
  • Клеточные автоматы
  • Nagel-Schreckenberg
AstarIT Traffic — библиотека моделирования дорожного движения

Кейс

О проекте

О проекте

AstarIT Traffic — собственная разработка Астар АйТи: детерминированная микросимуляция дорожного движения на основе клеточного автомата. Реализована как engine-agnostic библиотека на C# (netstandard2.1) с отдельным Unity-адаптером для визуализации и интерактивного тестирования схем.

Проект находится на этапе моделирования и конструирования дорожной инфраструктуры: проектировщик или инженер задаёт полосы, перекрёстки, фазы светофоров и интенсивность потока — и сразу видит, как ведёт себя транспорт до реального строительства.

Архитектурный принцип: вся логика движения, перекрёстков, светофоров и смены полос живёт в ядре AstarIT.Traffic.Core.dll, а Unity отвечает только за отображение — привязку клеток автомата к мировым координатам и анимацию транспортных средств.

Схожие решения на рынке

AstarIT Traffic решает те же задачи, что и профессиональные системы транспортного моделирования, но в формате embeddable C#-библиотеки с 3D-визуализацией в Unity:

  • PTV Vissim — отраслевой стандарт микросимуляции: моделирование перекрёстков, светофоров, развязок и прогноз загруженности;
  • AIMSUN — макро- и микромоделирование городского транспорта, сценарный анализ и оценка проектных решений;
  • SUMO (Eclipse) — open-source симуляция для транспортного планирования и исследований;
  • TransModeler / TransCAD — моделирование потоков при проектировании дорог и транспортных схем.

Наш продукт — на том же этапе «конструирование + моделирование»: проверить конфигурацию перекрёстка, фазы светофора, полосность и типы ТС до выхода на стройку. Отличие — лёгкое ядро на C#, встраиваемость в Unity-сцены, детерминированные прогоны и готовность к распространению как Unity-плагин.

Математическая модель

Ядро реализует клеточный автомат Nagel–Schreckenberg с расширениями для реалистичного перекрёстка:

  • slow-start — медленный разгон после остановки;
  • spatial anticipation — упреждающее торможение по плотности потока;
  • over-speed — вероятностное превышение локального лимита скорости;
  • probabilistic lane change — смена полосы по разнице плотностей;
  • intersection maneuvers — повороты и пересечения с учётом приоритетов и разметки;
  • traffic-light barriers — фазовое управление светофорами на перекрёстках.

Максимальные скорости для типов ТС (легковые, автобусы, грузовики) выводятся из ширины полосы и длины транспортного средства — параметры настраиваются через конфигурацию полосы (p, p_sts, d_sa и др.).

Архитектура: C#-библиотека + Unity-порт

  • TrafficSimulation.Corenetstandard2.1, без Unity: модель автомата, движок симуляции, fluent RoadNetworkBuilder, плагинируемый IRandomSource;
  • TrafficSimulation.Core.Tests — xUnit: правила движения, смена полос, перекрёстки, светофоры, спавн, метрики;
  • Unity Runtime — тонкий адаптер: TrafficLaneAuthoring, TrafficSimulationRunner, VehicleView;
  • Unity Editor — генератор демо-сцены одним кликом (меню AstarIT Traffic → Build Demo Scene).

Что видно в демо

На демо-сцене — многополосный перекрёсток с реалистичной разметкой, светофорами и потоком транспорта разных типов. В HUD отображаются метрики в реальном времени:

  • число активных ТС и шагов симуляции;
  • пересечения перекрёстка (прямо и с поворотами);
  • смены полос;
  • столкновения (accidents);
  • текущая фаза светофора (например, E-W green / N-S green).

Детерминизм и воспроизводимость

Симуляция полностью воспроизводима: весь стохастический процесс идёт через IRandomSource с фиксированным seed. Одинаковые параметры сцены и seed дают идентичные траектории — удобно для сравнения вариантов развязки и регрессионного тестирования модели.

Защита интеллектуальной собственности

Библиотека проектируется как защищаемый Unity Asset Store plugin: ядро собирается с Obfuscar (публичный API сохраняется, внутренности переименовываются, строки шифруются) и пост-обработкой UnityCorlibFix для совместимости с Mono-рантаймом Unity.

Результаты

  • Рабочая модель микросимуляции дорожного движения, верифицированная unit-тестами;
  • Разделение «математика в C#» / «визуализация в Unity» — переиспользуемое ядро без привязки к движку;
  • 3D-демонстрация перекрёстков, светофоров, смены полос и метрик потока;
  • Готовность к публикации как Unity-плагин с защищённым DLL-ядром.

Кейс демонстрирует экспертизу Астар АйТи на стыке транспортного моделирования, C#/.NET и Unity — от формализации модели до интерактивного демо на этапе проектирования дорожной сети. Услуга: моделирование дорожного движения на заказ.

Технологии

  • C#
  • .NET Standard 2.1
  • Unity 6
  • xUnit
  • Cellular Automata
  • Obfuscar
  • netstandard2.1

ASTAR IT

Есть похожая задача?

Расскажите о процессе, который нужно запустить, объединить или автоматизировать.

Обсудить проект
← Вернуться к проектам
Предварительная оценка

Расскажите о задаче

Короткий бриф помогает сразу подключить подходящего специалиста и вернуться с предметными вопросами по срокам, рискам и бюджету.

Обычно отвечаем в рабочее время. Поля формы сохраняются в защищённой админке; в Яндекс Метрику контакты и текст задачи не передаются.
Нужен короткий ответ?+7 (351) 220-99-41Telegram