Телематический прибор
TELEMATIC DEVICE

Изобретение относится к измерительной технике, в частности к телематическим приборам, и может быть применено в системах мониторинга и контроля различных подвижных объектов.
Известна навигационная система для обеспечения навигационных направлений, содержащая навигационное устройство, содержащее корпус, снабженный принимающей частью, имеющей внутреннюю поверхность, снабженную соединительным элементом разъем-вилка; систему стыковки, выполненную с возможностью размещения упомянутого навигационного устройства, причем упомянутая система стыковки содержит выступающую часть, снабженную соединительным элементом типа разъем-розетка, причем упомянутый соединительный элемент типа разъем-розетка выполнен для соединения с упомянутым соединительным элементом типа разъем-вилка; причем упомянутая выступающая часть содержит внешнюю поверхность с формой, по существу, подобной, по меньшей мере, части внутренней поверхности принимающей части навигационного устройства, и упомянутая принимающая часть может скользить вдоль траектории над упомянутой внешней поверхностью, причем упомянутая траектория определяется формой как внутренней поверхности принимающей части навигационного устройства, так и внешней поверхности выступающей части системы стыковки и упомянутая траектория такова, что упомянутый соединительный элемент типа разъем-вилка направляется к соединительному элементу типа разъем-розетка соединения для соединения (RU 2391229 С1, 10.06.2010).
Известен навигационный прибор, содержащий блок угловой ориентации, датчик перемещения, вычислительное устройство, пульт управления, блок индикации и звукоизлучающий элемент, информационные выходы блока угловой ориентации соединены с первыми входами данных вычислительного устройства, выходы данных которого соединены с входами блока индикации и входами пульта управления, выход которого соединен с входом управления вычислительного устройства, при этом в него введены формирователь задержанного импульса и таймер, входы управления и информационные выходы которого соединены соответственно с выходами управления и вторыми входами данных вычислительного устройства, первый выход управления которого соединен с первым входом запуска формирователя задержанного импульса, второй вход запуска которого соединен с выходом датчика перемещения, а первый и второй выходы соединены соответственно с входами коррекции и запуска блока угловой ориентации, выход готовности которого соединен с входом прерывания вычислительного устройства, второй выход управления которого соединен с входом звукоизлучающего элемента (RU 2160431 С2, 10.12.2000).
Известен навигационный прибор, содержащий датчик перемещения, блок формирования задержки импульса, подключенный управляющим выходом к блоку угловой ориентации, вычислительное устройство, взаимосвязанное с пультом управления и таймером и соединенное первым управляющим выходом с блоком формирования задержки импульсов, вторым управляющим выходом с звукоизлучающим элементом, информационным входом - с блоком угловой ориентации, а информационным выходом - с блоком индикации, при этом в навигационный прибор введены блок определения маневра и блок хранения текущей информации, при этом управляющие выходы блока определения маневра подключены к блоку формирования задержки импульса, к вычислительному устройству и к блоку хранения текущей информации, информационный вход которого соединен с датчиком перемещений, а информационный выход с вычислительным устройством, третий и четвертый выходы управления которого подключены к блоку угловой ориентации и к датчику перемещения, кроме того, блок определения маневра входами подключен к датчику перемещения и таймеру, блок индикации управляющим входом подключен к вычислительному устройству, а управляющий вход звукоизлучающего элемента подключен к пульту управления (RU 54426 U1, 27.06.2006).
Наиболее близким к предлагаемому по технической сущности телематическому прибору является телематическая система для транспортного средства, содержащая N штатных электронных модулей, М из которых связаны с функциональными органами транспортного средства и обеспечивают определение состояния этих функциональных органов и управление ими, контроллер локальной информационной сети транспортного средства, подключенный к общей мультиплексной шине и к контроллеру-преобразователю протокола обмена данными, связанному с блоком приема и передачи данных, например с абонентским терминалом сотовой сети подвижной связи, охранно-противоугонную подсистему, содержащую связанный с общей мультиплексной шиной контроллер охранно-противоугонной подсистемы, электронные блоки охранно-противоугонной подсистемы, каждый из которых связан с соответствующим функциональным органом транспортного средства для обеспечения охраны и защиты от угона, и блок дистанционной идентификации пользователя транспортного средства, состоящий из бесконтактно связанных между собой носимой части, например транспондерной карточки, и возимой части, подключенной к контроллеру охранно-противоугонной подсистемы. Каждый из N штатных электронных модулей через интерфейс этого модуля и каждый из электронных блоков охранно-противоугонной подсистемы через интерфейс этого блока связаны с общей мультиплексной шиной, при этом в систему введены последовательно соединенные блок считывания контрольных данных, вход которого подключен к общей мультиплексной шине, и блок сравнения, второй вход которого подключен к общей мультиплексной шине, а также блок регистрации контролируемых параметров отклонений от штатных режимов, первый и второй выходы которого соединены соответственно с дополнительным входом контроллера охранно-противоугонной подсистемы и с общей мультиплексной шиной, блок записи исходных данных о водителе и транспортном средстве, выполненный с возможностью записи и перезаписи цифровой информации о водителе и транспортном средстве в память носимой части блока дистанционной идентификации пользователя, например в цифровую память транспондерной карточки, при этом выход блока сравнения подключен к дополнительному входу контроллера-преобразователя протокола обмена данными и ко входу блока регистрации контролируемых параметров отклонений от штатных режимов, контроллер-преобразователь протокола обмена данными выполнен с возможностью приема данных о контролируемых параметрах отклонений от штатных режимов и трансляции их с помощью блока приема и передачи данных по радиоэфиру, а возимая часть блока дистанционной идентификации пользователя выполнена с возможностью ввода в нее через контроллер охранно-противоугонной подсистемы контролируемых параметров отклонений от штатных режимов и записи их в память носимой части блока дистанционной идентификации пользователя, например в цифровую память транспондерной карточки (RU 2207262 С1, 27.06.2003).
Основным недостатком указанных устройств является их узконаправленность, т.е. отсутствие максимального функционала, который должен быть присущ подобным телематическим приборам.
Задачей, на решение которой направлено предлагаемое изобретение, является создание многофункционального прибора, обладающего полностью открытым серверным программным обеспечением.
Технический результат, достигаемый при решении поставленной задачи, заключается в создании высокоэффективного телематического прибора, доступного в использовании, не только за счет заложенного и реализованного максимального функционала, но и за счет использования полностью открытого серверного программного обеспечения, что, в свою очередь, делает возможным использование данного прибора на российском рынке в качестве импортозамещения зарубежного аналога.
Для достижения указанного технического результата предложен телематический прибор, содержащий корпус, внутри которого размещены соединенные между собой цепи питания прибора; основной процессорный блок и радиомодуль, который содержит приемник GPS-Glonass сигнала и GSM приемо-передатчик, причем приемник GPS-Glonass сигнала и GSM приемопередатчик управляются и конфигурируются по отдельным последовательным портам, при этом радиомодуль выполнен с возможностью подключения к нему, по меньшей мере, одной SIM - карты, снаружи корпуса размещены, по меньшей мере, два индикационных светодиода, разъемы для подключения прибора к внешней гарнитуре, разъемы для подключения внешних антенн, а также порты ввода-вывода.
Возможно, но не обязательно в качестве основного процессора применять микроконтроллер STM32F105VBT6 в корпусе LQFP100.
Возможно, но не обязательно, что цепи питания прибора выполнены с возможностью подключения к внешней резервной батарее питания.
Возможно, но не обязательно, что прибор содержит порт для подключения кнопки вызова диспетчера и порт для подключения кнопки Emergency.
На фиг. 1 - представлена функциональная схема телематического прибора
При этом, телематический прибор состоит из соединенных между собой в едином корпусе цепи питания прибора, основного процессорного блока, входов-выходов, GSM-GPS модуля, внешней гарнитуры.
На фиг. 2 - представлены цепи питания телематического прибора
На элементах FU1, VD2, VD3, С6 собрана цепь защиты от перегрузки по напряжению и переполюсовки питания. Через диод VD1 в схему может подаваться напряжение с дополнительной внешней резервной батареи питания, напряжение которой прибор может измерять через резистивный делитель на элементах R4, R6, С11. Напряжение поступающее на вход преобразователя питания (цепь +PWR на схеме) также может быть измерено прибором через резистивный делитель на элементах R5, R7, С12. На микросхеме DA1 собран DC-DC конвертор питания из входного напряжения в 4 В, необходимые для питания GSM модуля. Диапазон входных напряжений микросхемы составляет от 5,5 до 48 вольт, что позволяет использовать прибор на транспортных средствах с напряжением бортовой сети как 12 так и 24 вольта. Для питания еще более низковольтной процессорной части устройства применен маломощный линейный преобразователь NCP511SN33T1G, который понижает входные 4 вольт до 3,3 вольт.
На фиг. 3 - схема основного процессорного блока телематического прибора.
На схеме 3 изображена схема основного вычислительного ядра прибора. В качестве основного процессора применен микроконтроллер STM32F105VBT6 в корпусе LQFP100. При этом данная модель используемся в качестве примера и не является обязательной. Для программирования микроконтроллера используется J-TAG интерфейс - разъем Х2. Для обеспечения высокой стабильности рабочей частоты процессора применены кварцевые резонаторы на 8MHz - для ядра и 32768Hz для встроенных часов. В качестве опорного источника напряжения для встроенного в микроконтроллер АЦП применена микросхема DA3 МСР1525. Светодиоды HL3 и HL4 установлены для отображения состояния процессорного ядра при программировании. Микросхемы DD2 и DD3 устанавливаются не одновременно, а только одна из них, и являются энергонезависимой памятью прибора. В качестве накопителя данных можно использовать также micro-SD карточку (вставляется в холдер Х4).
На фиг. 4 - схема цепей портов входа-вывода На фиг. 5 - схема цепей портов ввода-вывода и портов GPIO На схеме 4-5 отображены цепи портов ввода-вывода и GPIO портов. Например - Х3-USB интерфейс, подключен непосредственно к порту микроконтроллера. DA4 и DA5 - преобразователи интерфейса RS-485. Микросхема DD4 - конвертор интерфейса CAN. Выходные управляющие цепи прибора построены по схеме открытый сток и могут коммутировать токи до 1-го ампера, что вполне достаточно для управления внешним силовым реле. Для защиты выходных транзисторов от ЭДС самоиндукции в схеме 4-5 присутствуют защитные диоды и необходимо напряжение, питающее управляющие реле на вход +Vext. Аналоговые входы прибора представляют собой резистивные делители с блокировочным конденсатором для защиты от возможных помех. Всего аналоговых входов в схеме предусмотрено 8 штук. Диапазон входных напряжений аналоговых входов определяется коэффициентом входного делителя, для данного случая взят как 0-30В и может быть изменен путем изменения номиналов резисторов. Так же в схеме 4-5 предусмотрено 8 дискретных входов. Цепи защиты которых устроены немного по-другому - присутствует подтяжка к напряжению питания (R35 для 1-го входа), резистор-ограничитель входного тока (R38) и защитный стабилитрон на 3,3 В (VD14 - один корпус на два канала).
На фиг. 6 - схема GSM-GPS модуля.
На схеме 6 отображена схема подключения радиомодуля SIM868. Модуль содержит в себе приемник GPS-Glonass сигнала и GSM приемопередатчик. Каждая из сущностей (GPS и GSM радиочасть) управляется и конфигурируется по отдельному последовательному порту (UART4, USART1). Сим-карты подключают к радиомодулю посредством мультиплексора построенного на микросхеме DA6 (74НС4053), управление которой осуществляется непосредственно от микроконтроллера. Для управления питанием модуля построена цепь на транзисторе VT5. Выводы модуля GSMRI, RF_SYNC, ON/OFF_Status, GNSS_EN позволяют процессорному ядру получать дополнительную информацию о состоянии радиочасти, а также дополнительные возможности по управлению им.
На фиг. 7 - схема подключения внешней гарнитуры.
Прибор поддерживает подключение внешней гарнитуры, на схеме 7 изображена схема цепей, осуществляющих эту возможность. Непосредственно гарнитура подключается к разъему X11, транзистор VT7 осуществляет согласование дифференциального входа радиомодуля и несимметричного выхода микрофона, к этой же цепи микрофона подключена цепь кнопки. Подключение гарнитуры вкупе с внешними кнопками Emergency и Call позволят использовать прибор для связи с диспетчером в штатных и аварийных ситуациях.
Основные алгоритмы функционирования устройства
Для разработки основных алгоритмов функционирования устройства необходимо определить данные, поступающие с источников геоинформации.
Введем ряд обозначений.
- i - порядковый номер точки местоположения.
i
i
- lat, lon - соответственно широта и долгота точки местоположения в градусах.
- Hdop - геометрическое снижение точности в горизонтальной плоскости. Традиционно, параметр рассчитывается как квадратный корень из сумм квадратов среднеквадратичных отклонений измерений широты и долготы по двум осям соответственно (север-восток или юг-восток).
i
- spd - моментальная скорость в текущей точке в метрах в секунду.
i
- sat - число спутников, принимающих участие в определении текущей точки местоположения.
i
i
i
- ax, ay, az - ускорение, измеряемое акселерометром по осям х, у, z соответственно.
i
- s - признак стоянки
Алгоритм обработки навигационных координат
Алгоритмы обработки навигационных данных предполагают формирование пакетов на основании получаемых от GPS/ГЛОНАСС-модуля координат для передачи их на телематический сервер.
При этом осуществляется:
- сокращение объема навигационной информации, удаление выбросов, которые приводят к искажениям данных и помехам в определении местоположения, и избыточных данных, не приносящих никакой полезной информации о положении объекта, полученных от GPS/ГЛОНАСС-модуля;
- сокращение количества и усреднение значений координат в случае детектирования состояния «стоянка» транспортного средства;
- увеличение количества координат, записываемых в трек при изменении курса транспортного средства.
Уменьшение объемы обрабатываемой информации с сохранением ее достоверности достигается за счет фильтрации. Выделяют несколько типов выбросов.
- Хаотичный. Наблюдается при движении на малых скоростях или при стоянке на одном месте в течение непродолжительного времени.
- Грубый (неконтролируемый сдвиг). Возникает в случае длительной стоянки транспортного средства на одном месте. Распознать такие выбросы можно по резкому скачку из последней предполагаемой точки местонахождения объекта на его реальное местоположение, при этом скачок сопровождается ускорением движения, выходящим за границы пороговых значений.
- Систематический. Вызывается изменением условий приема сигналов со спутников. В отличие от хаотичных выбросов, ошибка в определении координат сопровождается снижением встроенных показателей точности в получаемых навигационных данных.
Проведение фильтрации устройством, установленным на транспортном средстве, значительно снижает нагрузку на канал передачи данных между мобильным объектом и телематическим сервером, а также уменьшает объем хранимой информации.
Задача фильтрации навигационных данных может быть решена с использованием статистических методов фильтрации, таких как математические алгоритмы сглаживания: фильтр Калмана, метод наименьший квадратов, правило трех сигм, медианный фильтр. Для выявления выбросов могут применяться: критерий Граббса, критерий Шовене, критерий Пирса, Q-тест Диксона. Однако, при большом числе выбросов, применение статистических методов обработки спутниковой информации нецелесообразно, ввиду сохранения высокой погрешности. Обработка данных выполняется в три этапа.
Предварительный отсев. Выполняется фильтрация координат, которые, скорее всего, являются некорректными. Невалидными считаются координаты, полученные в ходе ошибочных измерений, приводящих к перемещению транспортного средства на дистанцию более 100 м за 1 секунду.
Отсев осуществляется по следующим критериям:
- количество видимых спутников меньше допустимого значения;
- значения встроенных факторов точности позиционирования больше допустимых значений;
- скорость движения превышает максимально допустимую для данного транспортного средства;
- максимальное моментальное ускорение движения превышает максимально допустимое для данного транспортного средства.
Диагностическая фильтрация. Выполняется фильтрация координат, в случае, если расстояние между двумя точками, меньшее порогового значения, определяемого точностью позиционирования, зависящей от значений факторов снижения точности в текущий момент. При достижении значений максимальных и/или минимальных порогов фильтр отбросит очередную координату. Кроме того, диагностическая фильтрация позволяет отличать состояния «стоянки» и «медленного движения».
Сглаживание данных. Сглаживание позволяет получить более реалистичное отображение пути передвижения, а также более точные значения пройденного расстояния. Обработка данных состоит в усреднении координат объекта с помощью статистических методов на основе истории его движения. Необходимость сглаживания объясняется тем, что после предварительного отсева данные носят разрывный характер, хотя реальная траектория движения объекта непрерывная и гладкая.
Для восстановления траектории в случае, когда отсутствует связь со спутниками или полученные данные не валидны применяется интерполяция B-сплайнами по имеющимся точкам.
Таким образом, за отбор данных в буферизируемые и передаваемые на сервер пакеты отвечает набор фильтров.
i
j
i
j
Каждый фильтр рассматривается как функция F({x}, {P}) ∈ {0, 1}, где i≥1 - порядковый номер координаты, j - порядковый номер фильтра в последовательности, {x} - упорядоченное множество входных точек для фильтрации, {P} - параметры фильтрации. В общем случае фильтр может принимать на вход либо только текущую координату, либо несколько предыдущих координат, при этом фильтр должен содержать блок памяти. Функция F принимает значение 0, если фильтр отсекает координату, иначе - 1. Если все функции вернули значение 1, координата записываешься в пакет для передачи серверу, считается, что координата имеет достаточную точность для формирования реальной траектории движения транспортного средства.
Фильтрация по точности
Цель состоит в том, чтобы отбросить координаты, значения параметров точности которых выше определенного порога. В качестве параметра точности используется радиус круга, в котором находится транспортное средство с вероятностью 68%, также анализируется параметр погрешности Hdop, и минимальное число спутников.
Фильтрация по скорости
Цель состоит в отсечении невалидных по скорости координат. По параметру максимальной скорости и интервалу времени между предыдущей и текущей координатой можно определить максимальную дистанцию, которую могло преодолеть транспортное средство, и сравнить ее с реальной. Если отношение реальной дистанции к максимальной больше определенного коэффициента, текущая координат фильтруется. Между предыдущей и текущей координатой может быть довольно большой промежуток времени, поэтому анализ координат следует ограничить максимальным интервалом времени. Итоговое выражение для фильтрации 6.3 состоит из двух условий: во-первых, фильтр не пропускает координаты с моментальной скоростью больше настроенного параметра, во-вторых, оценивает достоверность расстояния между двумя смежными точками в зависимости от коэффициента.
Алгоритм предполагает использование в фильтре значений предыдущего времени и координаты. Эти параметры будем представлять переменными Prevtime, Prevlat и Prevlon. Алгоритм вычисляет значение интервала времени между получением текущей координаты и Prevtime. Значение сравнивается с параметром фильтра P2MaxTime. Далее вычисляется параметр d, который соответствует отношению расстояния между координатами к максимальному расстоянию, которое возможно преодолеть за найденный интервал времени со скоростью P2MaxSpeed. Функция distance, определяющая дистанцию между координатами с широтой lat и Prevlat и долготой Ion и Prevlon соответственно, рассчитывается на основании WGS84:
Параметр d сравнивается с параметром фильтра P2DistK. Валидная координата сохраняется для дальнейшего использования.
Фильтр по ускорению
При условии, что движение между точками считается равноускоренным, г по интервалу времени между координатами и скорости транспортного средства в двух смежных точках возможно рассчитать моментальное ускорение. Цель такой фильтрации - исключение координат с ускорением, больше максимально возможного.
Итоговое выражение 6.5. рассчитывает равномерное ускорение между двумя точками как отношение модуля скоростей к разнице времени и сравнивает его с предельным значением.
Метод фильтрации предполагает наличие у фильтра значений времени получения предыдущей координаты и скорости, соответственно переменные Prevtime и Prevspeed. Алгоритм рассчитывает ускорение accel по скоростям и времени получения текущей и предыдущей координаты. Полученное ускорение сравнивается с параметром фильтра P3MaxAccel. Валидные координаты сохраняются.
Угловая фильтрация
Цель обработки - скорректировать плотность валидных точек в треке координат, на основании анализа угла между направлениями движения по трем координатам. Направление движения рассчитывается по двум координатам: первой и второй, второй и третьей в последовательности.
i
i
i-1
i-1
i-1
i-1
i-2
i-2
Угловой фильтр сравнивает интервал времени между предыдущей и текущей координатами с максимальным интервалом времени, который рассчитывается в зависимости от угла а в градусах: α=abs(azimuth(lat, lon, lat, lon) - azimuth(lat, lon, lat, lon)). Если α>180, то принимается угол 360-α.
i
i
i-1
i-1
azimuth(lat, lon, lat, lon) - функция угла направления в градусах по соответствующим координатам.
ΔTmax(α) - функция угла α, вычисляющая максимальный интервал времени в миллисекундах между текущей и предыдущей координатой в зависимости от угла α.
Таким образом, порог интервала времени динамически зависит от угла направления, что позволяет корректировать плотность точек на прямых участках и участках смены курса (поворот).
Алгоритм фильтрации использует значения широты, долготы, скорости двух предыдущих координат и времени предыдущей координаты. Соответственно Prevlat, Prevlon, Prevspd, Prevprevlat, Prevprevlon, Prevprevspd и Prevtime. Если значения широты и долготы предыдущей координаты совпадают со значениями текущей, то проводить дальнейший анализ угла не имеет смысла. Если значения всех трех последовательных координат присутствуют, вычисляется угол и соответствующая ему функция времени. Если интервал между точками превышает значение данной функции, точка заносится в трек, иначе сбрасывается.
Сглаживание валидных координат
Механизм сглаживания позволяет существенно увеличить качество результирующего трека, приближая его к реальному. В качестве метода фильтрации используется экспоненциальное скользящее среднее.
Фильтр никогда не отбрасывает координату и всегда возвращает единицу.
Метод фильтрации предполагает использование значений широты и долготы предыдущей координаты, соответственно Prevlat и Prevlon. Вычисляется расстояние между координатами distance и сравнивается с максимальным расстоянием между точками. Значение переменной сравнивается с P5MaxSmoothDistance. При успешном сравнении широта и долгота текущей координаты корректируются на основе предыдущих координат и параметра P5SmoothBase.
P5MaxSmoothDistance - максимальное расстояние между точками в метрах, при котором еще применяется сглаживание. В случае, когда точки находятся далеко друг от друга сглаживание нецелесообразно.
P5SmoothBase - безразмерная константа из диапазона [0.0; 1.0], чем меньше ее значение, тем больше влияние предыдущей координаты на текущую.
Алгоритм детектирования состояния транспортного средства
Разрабатываемое устройство должно различать следующие состояния транспортного средства: движение и стоянка.
Переход в состояние «движение» может выполняться только из состояния «стоянка», при этом фиксируется событие «начало движения». Такое событие определяется по превышению порогового значения вектора ускорения по трем проекциям. Данный факт обнаруживается акселератором. При детектировании начала движения устройство изменяет периодичность отправки данных на телематический сервер
Переход в состояние «стоянки» выполняться из состояния «движения», при фиксации события «остановка». Данное событие определяется по совокупности двух параметров:
- получаемые ГНСС-приемником координаты в течение заданного промежутка времени изменяются только в пределах погрешности,
- акселерометр не фиксирует значение ускорения выше собственного допустимого шума.
При фиксации остановки происходит увеличение периода отправки данных на сервер и выполняется усреднение координат за период отправки.
Детектирование вышеописанных состояний выполняется с помощью фильтра стоянок совместно с диагностическим фильтром.
Фильтр стоянок
Данный фильтр является одним из основных блоков для достоверного определения стоянок транспортного средства. Цель фильтрации - выявление состояний стоянок, исключение существенных выбросов и девиаций координат.
accel
speed
Обнаружение стоянок осуществляется на основе двух признаков s и s.
accel
s определяется по показаниям акселерометра (6.9) как среднее значение дисперсии ускорений по трем осям за n предыдущих значений.
speed
Если на основе акселерометра не удалось определить состояние «стоянка», или данные отсутствуют, вычисляется признак s, как среднее значение дисперсии скорости устройства по двум осям.
Если дисперсия больше порога P6SpeedCut (верхний порог дисперсии скорости, до которой фильтр считает текущую точку стоянкой) - текущая координата - координата стоянки, иначе - движения.
accel
speed
Итоговый признак стоянки рассчитывается каждый раз при поступлении очередной координаты в фильтр как: Q=s v s.
Так как алгоритм определяет признак стоянки для очередной координаты по дисперсиям скорости и ускорения, параметры времени, скорости и ускорений текущей и предыдущих координат сохраняются в соответствующие списки listtime, listspeed, listtimea, listax, listay, listaz.
Проверяется наличие ускорений в списках за период P6PeriodAccel. Устанавливаются начальные значения параметров средних значений и дисперсий ускорений по всем осям, и происходит вычисление дисперсии в цикле по данным списка. Полученное значение сравнивается с параметром P6AccelCut.
Если алгоритму не удалось определить стоянку по данным ускорения, выполняется аналогичный анализ дисперсии скорости с проверкой полноты по времени P6PeriodCoord. Алгоритм определяет дисперсию скорости аналогично вычислению дисперсии ускорения. Итоговое значение сравнивается с параметром P6SpeedCut. Фильтр возвращает текущее состояние транспортного средства и значение признака стоянки.
Диагностический фильтр
В качестве критерия фильтрации используется расстояние между двумя точками, которое должно быть не меньше порогового значения Dlimit. Точка не должна включаться в пакет, если она попадает в окружность радиус которой вычисляется на основе точности позиционирования Hdop. Данные о текущем местоположении считаются валидными при условии, что их окружность не пересекается с окружностью предыдущей точки.
Если условие distance≥Dlimit выполняется, и предыдущая координата -стоянка, можно с достаточной степенью уверенности утверждать, что текущая координата является продолжением стоянки.
Алгоритм диагностической фильтрации использует значений долготы, широты, скорости, точности, признака стоянки предыдущей точки (Prevlat, Prevlon, Prevspeed, PrevHdop, PrevStand). Фильтр проверяет существование значений предыдущей координаты, если значения не существует, дальнейший анализ проводить не имеет смысла. Иначе, вычисляется значение Dlimit. Оно сравнивается с расстоянием между смежными точками. Если условие выполняется, анализируются признаки стоянок текущей и предыдущей координаты. Если предыдущая координата - «стоянка» и превышено время вхождения в стоянку (PointsPeriodInStand), определенное в конфигураторе, то значения широты, долготы, скорости и признака стоянки текущей координаты модифицируются в предположении, что текущая точка - «стоянка». Фильтр сохраняет необходимые параметры текущей координаты и возвращает True. В противном случае координата не включается в трек. Если текущее и предыдущее состояние «движение», то даже при малом расстоянии между точками координата сохраняется в трек. Если предыдущая координата - «движение», а текущая - «стоянка», координата интерпретируется как «начало стоянки» с установкой начала соответствующего периода и сохранением данных в треке.
Механизмы взаимодействия с сервером
Обмен данными между контрольно-навигационным устройством, установленным на борту транспортного средства, и телематическим сервером осуществляется с использованием протокола EGTS. Сервер имеет внешний IP-адрес, установленный при конфигурации устройства и находится в непрерывном режиме ожидания. Инициатором соединения является бортовое устройство, которое после успешной установки соединения отправляет на сервер пакеты данных размером 196 байт, содержащие параметры мониторинга с заданной конфигуратором периодичностью. Пакеты подвергаются предварительной буферизации на стороне устройства с целью минимизации сеансов передач с малым объемом информации. Передача информации из буфера осуществляется в следующих ситуациях:
- заполнение буфера данными мониторинга;
- истечению заданного периода времени;
- наступление события, генерирующего внеочередной пакет.
Буфер пакетов
Буфер пакетов реализует динамическую структуру типа очереди, обеспечивающей изъятие элементов в порядке их поступления в память. Запись очередного пакета осуществляется в ячейки, ассоциированные с «хвостом» очереди, а извлечение - из ячейки, ассоциированной с «головой». «Голова» и «хвост» являются указателями на соответствующие структуры. Значение указателей модифицируются всякий раз при выполнении соответствующих операции чтения и записи. Для экономии пространства и в связи с чередованием операций включения и исключения элементов, очередь организована как кольцевой буфер. В исходном состоянии «голова» и «хвост» указывают на начало области памяти. Равенство этих указателей, при любом их значении, есть признак пустой очереди. Если в ходе работы количество операций включения превысит число операций исключения, то указатели начала и конца очереди могут совпасть. Для детектирования ситуаций пустой и полной очереди используется «зазор» из свободного элемента, при достижении которого дальнейшая запись в очередь блокируется до извлечения следующей порции пакетов.
В таблице приведен расчет количества пакетов, которые могут быть размещены в буфере, для карт памяти наиболее распространенных объемов.