Способ фиксации отклонений транспортного средства от заданного заранее маршрута
METHOD OF RECORDING DEVIATIONS OF VEHICLE FROM PREDETERMINED ROUTE

1. Область применения
Способ имеет техническое воплощение в подсистеме «Пломба» в модуле «Отклонения по Пломбе» системы ОБОЗ - открытой платформы, предназначенной для организации цифрового взаимодействия независимых участников транспортно-логистического рынка между собой на взаимовыгодных условиях по определенным правилам. Традиционными участниками этого взаимодействия являются Клиенты (заказчики, конечные потребители услуг) и Поставщики (конечные производители услуг).
Клиент размещает Заказ, и Поставщик его исполняет. Заказ может быть дефрагментирован на рейсы. Поставщик, выигравший заказ, назначает на Рейс своего Перевозчика (водитель + ТС). Следование Перевозчика по маршруту Рейса отслеживается с помощью Пломбы, находящейся на ТС и имеющей зафиксированную логическую связь с ТС через БД системы ОБОЗ.
Мониторинг Перевозчика осуществляется в реальном времени. Если Перевозчик отклоняется от маршрута, прописанного в параметрах Рейса, или опаздывает с прибытием в точку загрузки/разгрузки, то в Модуле отклонений по Пломбе (МОП) формируется сообщение об отклонении и направляется в Личный кабинет Клиента.
Область применения способа не ограничивается транспортно-логистическим рынком. Способ можно применять в любой сфере деятельности, когда есть задача отслеживать передвижение объекта, находящегося на заранее определенном маршруте. Маршрут задан как по траектории движения, так и по времени прохождения реперных точек.
2. Принцип действия
Способ базируется на том, что система мониторинга движения по маршруту Рейса заранее знает траекторию движения Перевозчика - эта траектория хранится в базе данных в виде набора географических опорных точек, каждая из которых имеет:
- координату широты,
- координату долготы,
- признак реперности,
- расчетное время с начала движения по маршруту.
Способ подразумевает, что на ТС Перевозчика находится передающее устройство Пломба, которое с определенной периодичностью излучает в эфир свои координаты и скорость движения. Эти данные попадают в МОП, сравниваются с образцовыми данными, заданными в параметрах Рейса, анализируются на предмет отклонения от образцовых данных. В случае критических отклонений МОП формирует и передает сообщение в ЛК Клиента. Сообщения об отклонениях могут также передаваться на мобильные устройства как Клиента, так и Перевозчика.
В системе заданы величины отклонений, согласно которым несовпадения траектории заданного и реального маршрута, а также несовпадения во времени прибытия на реперные точки, будут считаться критическим отклонением. Это нужно для того, чтобы система лишний раз по незначительным отклонениям не запускала механизм сообщений и не беспокоила участников процесса.
Также отклонением будет считаться, если скорость движение равна нулю на протяжении заданного периода времени.
Способ и метод обработки информации
Способ реализован в информационно-логистической системе ОБОЗ во время исполнения Рейса Перевозчиком по заказу Клиента. Перевозчик находится под постоянным наблюдением внешней Системы спутникового мониторинга 107 как показано на Фиг. 1. Способ пользуется данными этого мониторинга, чтобы вычислять дистанционные отклонения от трека, заданного заранее маршрута или временные отклонения от расписания рейса.
На Фиг. 3 показана карта из Личного кабинета Клиента, с помощью которой он следит за выполнением рейса:
301. Точка старта рейса. Скорее всего это точка погрузки.
302. Точка финиша рейса. Скорее всего это точка разгрузки.
303. Толстая синяя полоса. Это трек, отрисованный системой по опорным точкам, заданным в параметрах рейса. Трек рисуется заранее с помощью визуального редактора, вручную координаты точек не набиваются. Создание набора опорных точек (на карте они не видны вследствие их большого количества), и, благодаря этому, формирование трека может происходить посредством двух подходов:
- после задания адреса точки старта и адреса точки финиша с промежуточными точками загрузки/разгрузки или без них (это делает картографический сервис типа Google Maps);
- после рисования линии на карте пользователем системы (это делает пользователь).
304. Пунктирная линия. Это реальный трек исполняемого рейса.
305. Направление движения и текущая последняя измеренная точка рейса.
306. Отклонение от образцового маршрута.
307. Реперная точка, в которой измеряется отклонение по времени.
308. Индикация отклонения по расстоянию с указанием точки измерения.
309. Индикация отклонения по времени с указанием опорной точки измерения. Видно, что на следующей реперной точке отставание от графика сократилось с 2 ч. до 1,5 ч.
310. Настройка значений допустимых отклонений.
При расчете отклонения по расстоянию в точке реального рейса сравнивается расстояние между этой точкой и ближайшей(!) опорной точкой образцового трека.
Для расчета простоя подсчитывается количество непрерывных измерений с нулевой скоростью. Критическим является такое количество измерений: величина простоя, деленное на частоту измерений. В случае по умолчанию это будет: 60 мин / 5 мин = 12.
При желании Клиент может отключить в настройках мониторинг отклонений. Тогда сообщения формироваться не будут и на карте текстовой индикации (308 и/или 309) не будет. Но графическая индикация реального трека 304 останется.
В настройках можно задать параметр, согласно которому индикация отклонения по расстоянию будет выводиться по каждой измеренной опорной точке или среднее отклонение по совокупности смежных точек. Это нужно для того, чтобы не загромождать карту массой индикаторов 308.
Способ позволяет фиксировать нестандартные ситуации даже без визуализации карты, когда отклонения по одному параметру не могут быть замечены, но отклонения по другому параметру определяются, и заинтересованный пользователь информируется о проблеме на маршруте:
1. Перевозчик развернул свой транспорт и движется в обратном направлении. В этом случае отклонения по координатам зафиксированы не будут. Но при пересечении реперной точки, когда на эту точку Перевозчик приедет явно с опозданием, сработает отклонение по времени с вытекающими из этого информационными сообщениями.
2. Перевозчик остановился, не едет, находится между реперными точками. В этом случае отклонения по координатам зафиксированы не будут. Отклонения по времени тоже не зафиксируются, так как, перевозчик не пересекает реперные точки. Но сработает отклонение по скорости, так как, будет превышено время возможного нахождения с нулевой скоростью, которое по умолчанию выставляется в 1 час.
4. Описание аппаратной части
Аппаратная часть не играет принципиального значения в заявленном способе.
5. Преимущества перед аналогами
Некоторым аналогом способа является сервис мониторинга городского транспорта с помощью системы ГЛОНАСС или GPS. Сервис умеет предсказывать время прибытия ТС (автобуса, троллейбуса, трамвая)  на остановку. Потенциальный пассажир, стоящий на остановке, имеющий на своем мобильном устройстве транспортное приложение и желающий узнать, когда прибудет на остановку ближайший автобус, отсылает запрос на сервер сервиса. Серверная программа вычисляет местонахождения пассажира с приложением, местонахождение ближайшего к остановке автобуса, разницу между этими географическими точками, делит эту разницу на среднестатистическую скорость автобуса. Результатом вычислений является время ожидания автобуса пассажиром.
Другим аналогом является сервис мониторинга пробок. Пользователь мобильного устройства находится за рулем своего автомобиля в условиях активного городского трафика. Он хочет узнать, через какое время прибудет на место назначения. Он посылает запрос на сервер сервиса мониторинга пробок. Серверная программа вычисляет геокоординаты водителя и геокоординаты места назначения. Так как трафик между этими точками разный в силу пробок на разных участках пути, программа делит весть путь на участки, по каждому участку получает скорость движения транспорта, высчитывает время прохождения каждого участка (протяженность участка / скорость), складывает эти времена и высылает пользователю мобильного устройства.
Заявленный способ отличается от аналогов тем, что
- Известны не только координаты образцового маршрута, но и времена каждой точки маршрута от времени старта, если принять время старта за 0 (ноль).
- Высчитывается не просто время, которое надо преодолеть ТС от точки А до точки Б, а разница между реальным маршрутом и предсказанным образцовым маршрутом на каждом участке маршрута по позиции  и по времени.
- Высчитывается позиционное отклонение реального маршрута от образцового.
- Формируются и высылаются пользователям оповещения в случае позиционного отклонения от образцового маршрута на критическую величину.
- Формируются и высылаются пользователям оповещения в случае временного отклонения (опаздывание) от образцового маршрута на критическую величину.
- Визуализируются два трека, образцовый и реальный, на карте.
Последовательность действий при работе
На Фиг. 1 показана блок-схема способа. Архитектурно во внутренний контур системы ОБОЗ (101) входят серверная часть (102) с серверами, на которых располагаются базы данных и программный код, и клиентская часть (103) с Личными кабинетами пользователей. Во внешнем контуре передвигается Перевозчик 104, у которого на борту находится Пломба 106 и мобильное устройство 105, с помощью которого водитель может входить в свой Личный кабинет и получать в виде СМС, например, сообщения из ОБОЗа.
Пломба 106 с определенной периодичностью (согласно настройкам по умолчанию - раз в 5 минут) передает в сеть оператора связи свое местоположение в виде координат широты и долготы, которые считывает некоторая Система спутникового мониторинга 107 (например, Wialon).
Система ОБОЗ в лице Сервиса приема данных 108, имея свой аккаунт в Системе спутникового мониторинга, запрашивает и принимает координаты Перевозчика 104 с той же периодичностью, например, раз в 5 минут.
Полученные данные записываются в БД 109, которая хранит координаты Перевозчика 104, находящегося на реальной маршруте.
Данные из БД 109 получает Сервис контроля за маршрутом 110 и передает их Сервису вычисления отклонений по маршруту 112.
Сервис вычисления отклонений по маршруту 112 оценивает отклонение от маршрута при прохождении точки с координатами, полученными при последней итерации. Если отклонение превышает критический уровень, то Сервис 112 отправляет Сервису формирования сообщений 115 данные по отклонению.
Сервис формирования сообщений 115 отправляет сообщение об отклонении в три места (в зависимости от настроек):
- в Личный кабинет Клиента
- в Личный кабинет Перевозчика
- на мобильное устройство Клиента
- на мобильное устройство Перевозчика (водителя)
В Личном кабинете Клиента 118 данные следования по маршруту накапливаются и преобразуются в визуальную карту 119, на которой наглядно показан трек образцового запланированного маршрута и трек реально исполняемого рейса. Запланированный маршрут выглядит как сплошная линия, а реальный трек выглядит как пунктирная линия. Блок 119 на Фиг. 1 - это фрагмент экрана, который видит пользователь в роли Клиента. На экране четко видно, что вместо того, чтобы отвезти груз со склада в магазин Перевозчик заехал в пивбар.
Визуальную карту удается построить благодаря Сервису построения маршрута 114, который получает динамичные данные исполняемого рейса из БД 109 и данные запланированного рейса из БД 116.
Происходит также проверка 113 по временным задержкам при прохождении реперных точек и простоям ТС во время рейса. В случае фиксации отклонений от возможной величины задержки или от времени простоя происходит информирование 115 участников 117 и 118.
На Фиг. 2 показана функциональная схема способа.
Процесс начинается после старта Рейса.
Модуль отклонения по пломбе (МОП) получает 201 параметры географической точки реального маршрута каждые 5 минут. После каждого такого получения производятся три цепочки операций.
Цепочка операций с координатами:
202. МОП получает координаты ближайшей точки образцового маршрута. Ближайшей к точке реального рейса, полученной в 201.
205. Происходит вычисление расстояния между образцовой и реальной точкой.
207. Полученное расстояние сравнивается с заложенным в систему критическим значением отклонения. Если расстояние 205 больше или равно критического значения, то формируется и отсылается 209 оповещение об этом участникам процесса. Если расстояние 205 меньше критического значения, а также после рассылки оповещения, если она имела место, процесс переходит к проверке - не последняя ли это точка маршрута.
210. МОП проверяет все ли проверки (по координатам, по времени и по скорости) завершены. Если вторая или третья проверка не завершена, то по линии проверки координат больше ничего не происходит. Если завершены все проверки, то МОП переходит к последней проверке завершенности рейса.
214. МОП проверяет, последняя ли точка маршрута только что проверена (последняя точка образцового маршрута должна быть ближайшей к только что измеренной точке реального маршрута). Если это последняя точка, то процесс заканчивается. Если это не последняя точка, то процесс переходит в ожидание следующей итерации, которая, условно говоря, наступит через 5 минут.
Цепочка операций со временем:
204. После получения координат последней реальной точки происходит проверка на предмет реперная ли она. Из всей совокупности опорных точек именно реперная должны быть ближайшей к текущей точке рейса. Если точка не реперная, то сравнения по времени не производится. Если точка реперная, то производится сравнение по времени 206.
206. Вычисляется разница между временем, через которое должна быть точка достигнута согласно образцовому маршруту, и временем, затраченное Перевозчиком для достижения этой же точки в реально исполняемом маршруте.
208. Если временная разница больше критического отклонения, взятой из настроек в системе, то формируется и отсылается 209 оповещение об этом участникам процесса. Если вычисленная в 206 разница меньше критического значения, то происходит переход к узнаванию завершенности обеих проверок (блок 210) и завершенности рейса (блок 214).
Цепочка операций со скоростью:
211. Модуль проверяет, не нулевая ли скорость движения Перевозчика. Если скорость не нулевая, то ничего дальше не происходить в цепочке проверки скорости.
212. Если скорость нулевая, то срабатывает счетчик проверок скорости S, который к своему значению прибавляет единицу. В начале рейса этот счетчик равнялся нулю.
213. Проверяется, не равняется ли значение счетчика 12. Двенадцать - это количество проверок час. Таким образом получается, что если при каждой пятиминутной проверке к счетчику прибавляется единица, то это значит, что в течение часа Перевозчик стоит на месте. И модуль отправляет 209 оповещение о проблеме.
Терминологический словарь
Термин
Определение
Клиент
Участник логистической платформы, выступающий в качестве конечного потребителя услуги по перевозке груза, на которую он размещает заказ.
Поставщик
Участник логистической платформы, выступающий в качестве конечного производителя услуги по заказу. Это перевозчик.
ТС
Транспортное средство.
Пломба
Передающее устройство, устанавливаемое на ТС для передачи в эфир геоположения ТС и других контрольных данных в реальном времени.
Заказ
Заявка Клиента на перевозку груза/грузов. В одном заказе может быть несколько Рейсов.
Рейс
Заказ на разовую перевозку груза.
Демон
Программа без графического интерфейса, постоянно находящаяся в оперативной памяти компьютера, выполняющая определенные действия по определенному расписанию.
БД
База данных.
ЛК
Личный кабинет. Личное пользовательское пространство в рамках информационной системы, организованное согласно роли пользователя.
МОП
Модуль Отклонения по Пломбе. Архитектурный модуль в системе ОБОЗ, выявляющий опоздания и отклонения от маршрута Перевозчика на Рейсе.
Опорная точка
Точка на пути следования маршрута. Множество опорных точек составляют трек маршрута.
Реперная точка
Точка на пути следования маршрута, которая является значимой с точки зрения бизнес-логики. Например, точка погрузки, точка слежения...