Производство, Корпоративное ПО
Java (Spring), Python, React JS
Наш клиент — крупная компания нефтегазоперерабатывающего сектора, один из лидеров российского рынка в производстве полимеров и каучуков. Основные производственные мощности компании расположены за пределами города, что требует хорошо организованной транспортной логистики для сотрудников.
Корпоративные перевозки сотрудников на предприятии организует частная транспортная компания, использующая автопарк из 81 автобуса туристического типа. Основной проблемой было то, что, поскольку это корпоративные перевозки, а не регулярные рейсовые маршруты, маршруты гибко регулировались ежедневно в зависимости от производственных нужд и не были закреплены за конкретными автобусами. Для каждого автобуса составлялись индивидуальные маршрутные и путевые листы, а водители имели возможность пропускать остановки, если на них не было пассажиров.
Такая организация работы затрудняла оценку эффективности транспортной системы. Руководству было сложно точно определить, сколько автобусов действительно необходимо для выполнения перевозок, какие маршруты следует сохранить, изменить или объединить. Например, они заметили, что некоторые автобусы курсируют полупустыми, что приводит к недозагрузке и неэффективному расходованию бюджета на перевозки.
Вторая проблема заключалась в отсутствии системы фиксации, которая позволяла бы отслеживать, кто из пассажиров является сотрудником предприятия, а кто — посторонним лицом. Это приводило к тому, что автобус мог перевозить «зайцев», заходивших и выходивших на остановках в городе. Предприятию требовалось оценить, сколько таких посторонних пассажиров использовали транспорт, а также рассчитать экономические потери, связанные с этим.
Разработать систему для эффективной аналитики маршрутов и пассажиропотока, которая позволила бы:
Для решения этих задач мы предложили клиенту установить наш продукт RDetector. RDetector — это система учета пассажиропотока, которая использует искусственный интеллект для анализа видеозаписей и подсчета количества пассажиров в автобусах.
Система идеально подходит для крупных автопарков на промышленных предприятиях, включая туристические автобусы, и обеспечивает точный учет пассажиров. Она соответствует требованиям Постановления Правительства №969, обеспечивая круглосуточное видеонаблюдение в салоне автобусов.
Система фиксирует все события посадки и высадки пассажиров, передает данные на сервер и сохраняет записи на жестких дисках или внешних носителях. Пользователи могут просматривать видеозаписи и получать отчеты через удобный личный кабинет в режиме реального времени или в записи. Если в транспорте произошел инцидент, то скачать данные с регистратора можно не снимая автобус с рейса.
Ранее для автобусов меньшей вместимости мы использовали четырехканальные видеорегистраторы. Однако для туристических автобусов, вмещающих до 53 пассажиров, этого оказалось недостаточно, поскольку для подключения всех камер требовалось больше каналов. Поэтому была выбрана модель восьмиканального видеорегистратора, который поддерживает до 8 камер и обеспечивает достаточную память для хранения видеозаписей.
При первой настройке в систему вносятся данные о каждом автобусе. Затем проводится калибровка: настройка камер для правильного угла обзора и корректной фиксации событий, а также настройка соединений между устройствами для бесперебойной передачи данных.
Сначала мы установили систему на один автобус и протестировали её работу. После успешных испытаний клиент решил оснастить и подключить к системе весь автопарк, который включает 81 автобус.
По умолчанию RDetector считает, что каждый автобус движется по одному маршруту. После первого проезда система автоматически рисует маршрут, принимает его как эталонный для конкретного автобуса и добавляет эту информацию в систему. Но у клиента ситуация была сложнее.
Например, сегодня автобус мог ехать по одному маршруту, завтра — по другому. Если не было пассажиров — мог пропускать остановки. Иногда один и тот же автобус следовал по нескольким маршрутам в течение дня.
Решение было следующим: наши разработчики создали новую сущность — треки, которые содержат все данные о траектории движения и остановках. Это позволило отделить автобус от маршрута. Наша команда импортировала треки из системы Wialon, задала на них остановки и загрузила их в RDetector. Теперь, когда автобус движется по маршруту, система определяет его трек, основываясь на совпадении остановок, и присваивает соответствующий маршрут.
Для всех маршрутов была добавлена дополнительная остановка вне маршрута, на месте стоянки автотранспорта. С помощью кода система была настроена таким образом, чтобы учитывать только входы и выходы на маршруте, а на месте стоянки они не учитываются. Это исключает из статистики входы и выходы водителя, например, когда он заходит и выходит из салона во время обеда. На этой остановке вход и выход теперь фиксируются отдельно, что позволяет системе корректно учитывать только пассажиров.
Система автоматически формирует несколько типов отчетов: один, где учтены все входы и выходы, и второй — без учета перемещений водителя.
Отчеты дают гибкие возможности для анализа: можно смотреть данные по конкретным маршрутам, остановкам, автобусам, а также сравнивать показатели за различные периоды времени или дни недели. Подсчет данных происходит автоматически, обеспечивая точность и оперативность анализа. Кроме того, система открыта для доработки: при необходимости можно разработать дополнительные отчеты любого типа, чтобы учесть новые задачи компании.
В системе теперь автоматически учитывается количество пассажиров, заходящих и выходящих в каждый момент времени. Статистика по пассажиропотоку доступна в личном кабинете в виде автоматизированных отчетов, которые можно разделять по маршрутам, остановкам и временным интервалам. Данные регистратора хранятся 30 дней по ПП №969, могут быть записаны на внешний носитель.
В результате внедрения RDetector наш клиент определил, какие маршруты наиболее востребованы и где можно сократить количество рейсов. Оптимизация маршрутов позволила уменьшить затраты на перевозку персонала на 15%, что окупило внедрение RDetector в 10,5 раз.
Процесс внедрения системы от заключения договора до начала эксплуатации занял всего 3 недели, с учетом заказа и поставки оборудования.
Java, Python, React