Технологии позиционирования РТЛС

Для определения точного местоположения меток на плане (карте) РТЛС использует метод расчета местоположения каждой метки, исходя из расстояний, измеренных от метки до, как минимум, трех (обычно четырех) анкеров, имеющих известное фиксированное положение в пространстве, как это показано на рисунке 1.


Рисунок 1. Позиционирование метки М относительно анкеров А1–А4.

Настоящая статья посвящена технологиям, применяемым компанией РТЛС в системах позиционирования для измерения расстояния от меток до анкеров – фиксированных элементов инфраструктуры. Каждый анкер в системах РТЛС выполняет две основные функции: служит для определения местоположения меток и в то же время является элементом транспортной и управляющей инфраструктуры.

При выборе технологий учитывались следующие основные требования:

  • обеспечение оптимальной для большинства промышленных применений точности измерения расстояний (и соответственно позиционирования) на уровне около одного метра на расстоянии до 30 метров внутри помещений;
  • высокая помехоустойчивость;
  • устойчивость к многолучевому затуханию;
  • отказ от необходимости синхронизации при сохранении точности измерения расстояний;
  • минимизация энергопотребления метками (повышение времени работы батарей);
  • минимизация стоимости.

Выбранные для применения в системах РТЛС технологии – CSS (Chirp Spread Spectrum) и SDS-TWR (Symmetrical Double-Sided Two Way Ranging) основаны на измерении времени распространения радиосигнала от передатчика до приемника (time of flight), обеспечивают выполнение перечисленных выше требований и соответствуют международным стандартам ISO 24730-5 и IEEE 802.15.4-2011 соответственно.

Структура системы

Укрупненная структурная схема системы РТЛС представлена на рисунке 2. Основными компонентами системы являются метки, которые взаимодействуют с инфраструктурой через двунаправленный радио интерфейс по стандарту ISO 24730-5. Инфраструктура обеспечивает программный интерфейс приложения (API) с сервером, что позволяет последнему управлять инфраструктурой, метками и процессом измерений, а также получать результаты измерения и информацию о состоянии меток.


Рисунок 2. Структура системы РТЛС

Особенность подхода РТЛС к решению проблемы заключается в том, что метки сами по себе не являются элементами инфраструктуры. Поэтому они не участвуют в формировании сети, трансляции данных, маршрутизации и тому подобное, то есть, освобождены от всех задач кроме измерения расстояний до анкеров и передачи результатов на сервер через транспортную инфраструктуру. Это позволило существенно упростить метки и соответственно снизить энергопотребление и стоимость меток.

Как показано на рис.2, метки взаимодействуют с инфраструктурой через двунаправленный радио интерфейс. Интерфейс определяет частотный диапазон, форму радиосигнала, способы модуляции и кодирования, форматы пакетов, а также команды и отчеты, которыми обмениваются метки и инфраструктура. Стек протоколов интерфейса, как показано на рис.3, включает:

  • физический уровень (PHY), определяющий рабочую частоту, ширину канала и другие характеристики среды передачи;
  • уровень доступа к среде (МАС), определяющий параметры кодирования, формат пакетов и тому подобное;
  • уровень приложения (API), определяющий возможные состояния метки, порядок их изменения, команды, протоколы взаимодействия меток и инфраструктуры и так далее.


Рисунок 3. Стек протоколов радио интерфейса метки.

Ключевым условием простоты развертывания инфраструктуры и снижения ее стоимости является возможность «автономной» работы элементов инфраструктуры. Под автономностью здесь понимается отсутствие необходимости точной синхронизации часов элементов инфраструктуры (анкеров), относительно которых позиционируются метки. Размещенные на фиксированных позициях анкеры просто взаимодействуют с метками в процессе позиционирования.

Это условие реализуется за счет использования симметричного двухстороннего двунаправленного измерения расстояния – Symmetrical Double-Sided Two Way Ranging (SDS-TWR). Естественно, метка при этом, так же как инфраструктура, должна поддерживать двухстороннюю связь. И хотя, с одной стороны, требование обеспечения двухсторонней связи несколько усложняет метку, с другой стороны, наличие двухсторонней связи, в конечном счете, ведет к упрощению метки, так как в этом случае не требуется дополнительный внешний интерфейс для управления, программирования и настройки метки, обновления встроенного в метку программного обеспечения Таким образом, двухсторонняя связь метки с инфраструктурой является предпочтительной для многих приложений.

В качестве инфраструктуры в системе позиционирования РТЛС используется ячеистая сеть ZigBee (IEEE 802.15.4), базовые станции которой имеют дополнительный двунаправленный радио интерфейс, соответствующий стандарту ISO 24730-5. Программный интерфейс приложений (API), связывающий инфраструктуру с сервером, разработан компанией РТЛС и позволяет организовать процесс измерения расстояний, а также управление метками, их программирование и настройку. В то же время, сервер имеет внешний стандартный API, позволяющий использовать транспортную сеть РТЛС для организации связи внешних систем автоматизации с датчиками, исполнительными механизмами и локальными контроллерами, расположенными на охваченной сетью территории. Подробнее о сетях ZigBee можно прочесть в соответствующей статье.

Для обеспечения необходимой точности и надежности измерений при проектировании инфраструктуры необходимо предусматривать, чтобы в любой точке контролируемого пространства метка могла связываться минимум с тремя анкерами. Конечно, это не означает, что при нарушении указанного правила (например, в случае временного отказа анкера или появления препятствия, блокирующего прохождение радиосигнала) система «потеряет» метку. Разработанный РТЛС сложный математический аппарат позволяет обеспечивать точное позиционирование объекта даже в этом случае. Тем не менее, соблюдение требования «видимости трех анкеров» при проектировании обеспечивает высокую точность и надежность системы в процессе эксплуатации.

Работа системы

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

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

В случае, когда метка теряет связь с инфраструктурой (не получает команд в определенное время), она возвращается в исходное состояние – к «профилю по умолчанию» и периодически отправляет блинки для восстановления связи. Подробнее о состояниях метки и командах управления меткой можно прочитать в приложении к настоящей статье.

Технология помехоустойчивой двухсторонней связи для измерения расстояния: Chirp Spread Spectrum (CSS)

CSS – технология, использующая «chirp» импульсы (chirp в дословном переводе – чириканье). Chirp импульсы – это импульсы монотонно непрерывно увеличивающейся или уменьшающейся частоты. Нижняя и верхняя частоты chirp импульсов соответствуют нижней и верхней границе выделенного частотного диапазона.

«Чирикающие» (Chirp) импульсы применяются для измерения расстояний уже сотни тысяч или даже миллионы лет – в природе они используются для этого дельфинами и летучими мышами. Для применения в радиолокации chirp импульсы были впервые запатентованы в 1940 году профессором Гуттманом и в дальнейшем развиты Сидни Дарлингтоном в 1947 году. В середине 1990-х фирма Canon запатентовала chirp импульсы для передачи данных в волоконно-оптических системах. Начиная с 1996 года, компания NanotronTechnologies исследовала и запатентовала CSS для коммерческой беспроводной передачи данных.

CSS является радиочастотной технологией, наиболее подходящей для приложений с автономным электропитанием (battery–powered), где особое значение имеют надежность передачи и низкое потребление энергии. CSS используется в приложениях со средней скоростью передачи данных.

Ключевые особенности CSS:

  • устойчивость к помехам;
  • устойчивость к многолучевому затуханию;
  • низкое потребление энергии;
  • простота реализации в кремнии.

Как это работает

Любое сообщение CSS состоит из Chirp импульсов нарастающей (Upchirp) и уменьшающейся (Downchirp) частоты, как показано на рисунках 4 и 5:


Рисунок 4. Chirp импульсы. Т0 – длительность импульса.


Рисунок 5. Изменение частоты Chirp импульсов во времени

CSS работает на центральной частоте 2,45 ГГц с шириной полосы 80 МГц и обеспечивает максимальную скорость передачи данных 2 Мбит/с. Chirp импульс имеет фиксированную длительность T=1 мкс.

Chirp импульсы используются в технологии CSS для передачи кодированной информации. Символ «1» передается Upchirp импульсом, символ «0» – Downchirp импульсом. Декодирование осуществляется с помощью двух комплементарных (дополняющих друг друга) дисперсионных линий задержки (ДЛЗ). Сигналы разной частоты проходят через ДЛЗ с разной скоростью. Параметры ДЛЗ для Upchirp импульсов подбираются так, чтобы высокие частоты распространялись через линию задержки быстрее, а параметры второй ДЛЗ, для Downchirp импульсов, наоборот настраиваются на быстрейшее похождение низких частот. В результате при прохождении через ДЛЗ вся равномерно распределенная на протяжении chirp импульса энергия сосредотачивается в коротком промежутке времени и амплитуда короткого импульса на выходе ДЛЗ многократно превосходит амплитуду входного chirp сигнала. На входы обеих линий подается входная последовательность импульсов. На выходе первой ДЛЗ появляются короткие импульсы, соответствующие символу «1», на выходе второй – соответствующие символу «0», как это показано на рис.6.


Рисунок 6. Декодирование последовательности chirp импульсов

Осуществляя функцию декодирования, ДЛЗ одновременно повышают устойчивость к узкополосным помехам и широкополосному шуму. Дело в том, что в отличие от chirp импульсов, помехи (шум) имеют неизменный во времени частотный спектр и при прохождении через ДЛЗ не меняют своей амплитуды. В результате chirp импульсы легко выделяются даже в случаях, когда их исходная амплитуда несколько ниже шума или помехи.

По этой причине CSS хорошо подходит для так называемых «ISM частотных диапазонов», где радиоизлучения от других услуг связи, микроволновых печей и прочего СВЧ оборудования создают мощные помехи.

Примечание: ISM диапазоны зарезервированы на международном уровне для использования радиочастотной энергии для промышленных, научных и медицинских целей, например СВЧ нагрева в промышленности, микроволновых печей в быту и т.д. Мощные излучения этих устройств могут создавать электромагнитные помехи и нарушать радиосвязь при использовании той же частоты. Пользователи связи не имеют нормативно-правовой защиты от работы устройств ISM. Широко используемый в приборах связи диапазон 2,4-2,5 ГГц наряду с другими относится к ISM диапазонам.

Еще одно значительное преимущество CSS – его устойчивость к многолучевому затуханию. Исходный сигнал передатчика зачастую достигает приемника, сопровождаемый несколькими эхосигналами – отражениями от препятствий за счет многолучевого распространения либо даже в виде только эхосигналов в случае отсутствия прямой видимости. Достигая приемника путями различной длины, отражения оказываются сдвинутыми по фазе относительно исходного сигнала. Кроме того, одни частоты отраженных сигналов оказываются усиленными, другие ослабленными, в зависимости от условий. В случае узкополосных систем передачи наличие отражений нарушает связь. CSS отличается тем, что усиленные и ослабленные в результате многолучевого распространения сигналы разных частот в результирующем сигнале находятся в относительном равновесии, что позволяет вновь собрать на дисперсионной линии задержки практически всю энергию, которая была распределена в 80 мегагерцовой полосе исходного сигнала.

Технология измерения расстояния, не требующая синхронизации:
Symmetrical Double-Sided Two Way Ranging (SDS-TWR)

В соответствии со стандартами ISO/IEC 24730-5 и IEEE 802.15.4-2011 процесс измерения расстояния между двумя RTLS трансиверами по методу TWR осуществляется парами передаваемых во встречном направлении пакетов: запрос – ответ.

Термин SymmetricalDouble-SidedTwo-WayRanging (SDS-TWR) применительно к системам позиционирования РТЛС означает:

  • Double-Sided (двухсторонняя) означает, что для измерения расстояния используются два устройства – метка и анкер.
  • Two-Way означает, что для измерения расстояния используется двунаправленная связь. То есть, используются два пакета: пакет запрос в прямом направлении и пакет подтверждения – в обратном.
  • Symmetrical означает, что измерение расстояния осуществляется в обоих направлениях: от метки до анкера и от анкера до метки, что позволяет практически исключить ошибку, связанную с отсутствием синхронизации.

Эта технология использует два периода времени, которые естественным образом присутствуют при передаче сигнала для определения расстояния между двумя станциями. Это time of flight – время распространения сигнала (ТРС) между двумя беспроводными устройствами и известное, программно устанавливаемое время отклика (Тотклика) – задержка отправки подтверждения в беспроводном устройстве. Время (задержка) отклика определяется необходимостью обработки пакета запроса, длина которого может составлять несколько миллисекунд. Задержка отклика всегда много больше времени распространения сигнала (Тотклика >> ТРС), обычно составляет несколько (до пяти) миллисекунд и является основным источником погрешности, связанной с отклонениями частоты тактовых генераторов устройств.

Интервалы времени измеряются двумя участвующими в процессе измерения устройствами независимо друг от друга (устройства не синхронизированы). В системах РТЛС расстояние измеряется между меткой и анкером.

Процесс двухстороннего двунаправленного измерения расстояния иллюстрируется рисунком 7. На рисунке каждое из участвующих в процессе измерения устройств – метка и анкер имеет свою ось времени. Для первого цикла измерения отмечены моменты отправки запроса меткой (tМО), приема запроса анкером (tАП), отправки подтверждения анкером (tАО) и приема подтверждения меткой (tМП).

Чтобы понять механизм образования погрешности, рассмотрим процесс двунаправленного измерения расстояния (TWR) на примере первого цикла обмена пакетами на рис.7.

Метка начинает цикл измерения отправкой запроса анкеру в момент tМО. Анкер фиксирует момент получения пакета tАП, однако не может определить время распространения сигнала ТРС, так как не знает время его отправки. Вместо этого анкер, выждав время задержки Тотклика А, в момент tАО отправляет метке подтверждение. После этого метка, получив в момент tМП подтверждение, может определить время цикла измерения:

Т цикла М = tМП – tМО

Теперь, зная время цикла и время отклика, казалось бы, легко определить удвоенное время распространения сигнала между меткой и анкером:

2 ТРС = Т цикла М – Тотклика А

Но проблема в том, что Т цикла М и Тотклика А измерены разными устройствами, каждое из которых имеет свою погрешность опорного генератора (еМ и еА). Примечание: в соответствии с ISO 24730-5 погрешность опорного генератора RTLS устройства не должна превышать 80 ppm (долей на миллион). Поэтому с учетом погрешностей опорных генераторов выражение можно переписать так:

2 ŤРС = Т цикла М × (1 + еМ) – Тотклика А× (1 + еА),

где ŤРС – фактическое время распространения сигнала.

Легко определить, что разность между измеренным и фактическим временем распространения сигнала составит:

ŤРС – ТРС = (Тотклика А × еА – Тотклика А × еМ + 2 ТРС × еМ)/2

Или, учитывая, что Тотклика >> ТРС:

ŤРС – ТРС = Тотклика × (еА – еМ)/2

Типичные величины ошибок двунаправленного измерения расстояния (TWR) при различных величинах разницы погрешностей опорных генераторов (еА – еМ) и задержки отклика Тотклика приведены в таблице:

Тотклика \ (еА – еМ)

2 ppm

20 ppm

40 ppm

80 ppm

100 мкс

0.1 нс

1 нс

2 нс

4 нс

5 мс

5 нс

50 нс

100 нс

200 нс

Если учесть, что радиосигнал за одну наносекунду распространяется на 30 сантиметров, очевидно, что для измерения расстояний с точностью до метра метод TWR неприменим.


Рисунок 7. Обмен пакетами в процессе измерения расстояния методом SDS-TWR

Как работает SDS-TWR

Как упоминалось выше, измерение расстояния между меткой и анкером осуществляется в процессе обмена парами пакетов запрос – подтверждение. То есть устройство, инициирующее связь, направляет запрос, а в ответ получает подтверждение. Непосредственный процесс измерения методом SDS-TWR состоит из двух симметричных встречно направленных (зеркальных) циклов.

В первом цикле метка направляет анкеру пакет-запрос. Анкер, получив запрос, обрабатывает его и отправляет метке пакет-подтверждение. При этом анкер отправляет подтверждение с задержкой (Т отклика А). Метка, получив подтверждение, определяет время цикла измерения (Т цикла М). Это время равно удвоенному времени распространения сигнала (ТРС) плюс Т отклика А. На этом первый цикл измерения завершается.

Второй цикл измерения начинается с того, что уже анкер, выждав после отправки подтверждения время, необходимое для завершения первого цикла (Т задержки), направляет метке пакет-запрос, включив в него в качестве полезной нагрузки значение Т отклика А. Метка, получив запрос, так же, как анкер в первом цикле, обрабатывает запрос и возвращает подтверждение анкеру, запоминая Т отклика М. Анкер, получив подтверждение от метки, определяет значение Т цикла А и отправляет это значение метке со следующим запросом.

В результате метка получает всю необходимую для определения времени распространения сигнала информацию, которую впоследствии передает на сервер для обработки. Из диаграммы на рис.7 видно, что:

ТРС = (Т цикла М + Т цикла А – Т отклика А – Т отклика М) / 4

С учетом погрешностей опорных генераторов измеренное время распространения сигнала составит:

ŤРС = (Т цикла М – Тотклика М) × (1 + еМ) / 4 + (Т цикла А – Тотклика А) × (1 + еА) / 4

Если теперь Т отклика М и Т отклика А заменить на

Тотклика М = Тотклика

Тотклика А = Тотклика + Δотклика,

а модуль максимальной погрешности еА и еМ обозначить емакс, то после несложных преобразований получим следующее выражение для модуля погрешности:

РС – ТРС| = |Δотклика| × емакс / 2

Поскольку Δотклика при соблюдении требований стандарта ISO24730-5 не превышает одной микросекунды, очевидно, что погрешность измерения времени распространения сигнала, связанная с отсутствием синхронизации, в случае использования метода SDS-TWR пренебрежимо мала. Типичные значения погрешности измерения, в зависимости от реальных значений емакс приведены в таблице:

Δотклика емакс
2 ppm 20 ppm 40 ppm 80 ppm
1 мкс 1 пс 10 пс 20 пс 40 пс

Из таблицы видно, что даже при максимально допустимой погрешности опорной частоты погрешность измерения не превышает 40 пикосекунд. За это время радиосигнал распространяется на 12 миллиметров.


Приложение

Спецификация уровня приложения метки

На уровне приложения метка связывается с инфраструктурой пакетами приложения.

Определено четыре типа таких пакетов:

  1. командные пакеты – используются инфраструктурой для передачи команд меткам;

  2. пакеты отчетов – используются метками для передачи инфраструктуре информации и уведомлений;

  3. пакеты измерения расстояний – используются метками и анкерами при обмене пакетами с целью измерения расстояния (как описано выше);

  4. блинк пакеты (блинки) – широковещательные пакеты, отправляемые метками для установления связи с инфраструктурой.

Приложение метки может находиться в одном из пяти состояний и изменять состояние по командам инфраструктуры либо при наступлении определенных обстоятельств.

Пример поведения метки

Первоначально метка перемещается по территории, не оборудованной беспроводной инфраструктурой. При этом метка будет находиться в исходном состоянии и регулярно отправлять блинки.

Когда метка попадает в область, оборудованную соответствующей инфраструктурой, инфраструктура получает один или несколько блинков, после чего направляет метке один или несколько управляющих пакетов, определяющих дальнейшее поведение метки. Каждый из этих пакетов может содержать одну или несколько команд. Одна из таких команд – SetRangingPeers (установить анкеры для измерения расстояния) определяет, с какими конкретными анкерами метка должна проводить измерения расстояния. Последующей командой SwitchState (переключить состояние) с аргументом Ranging (измерение расстояния) инфраструктура дает метке указание провести измерение с ранее указанными анкерами. Одновременно в параметрах этой команды инфраструктура сообщает метке количество и периодичность циклов измерения, а также инструкции по отправке отчетов.

Перейдя в состояние измерения расстояния, метка циклически измеряет расстояние с назначенными парами.

По мере перемещения метки назначенные для измерений анкеры могут меняться. Для этого инфраструктура направляет метке командные пакеты SetRangingPeers и/или AddRangingPeers со списком анкеров в качестве аргумента.

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

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

Состояния приложения метки

Как уже говорилось, приложение метки может находиться в одном из пяти состояний:

  • Defaultstate – исходное состояние.
  • Blinkstate – блинк-состояние.
  • Waitstate – состояние ожидания.
  • Rangestate – состояние измерения расстояний.
  • Sleepstate – спящее состояние.
Исходное состояние

В исходное состояние метка переходит по команде SwitchState с аргументом (Default) либо если метка не получает пакетов от инфраструктуры в течение определенного времени. В этом состоянии метка периодически отправляет блинки, пытаясь связаться с инфраструктурой.

Состояние ожидания

В состояние ожидания метка переходит по команде SwitchState с аргументом (Wait) или при выходе из спящего состояния. Перейдя в это состояние, метка проверяет ранее полученные команды в поисках не исполненных, и если обнаруживает, переходит к их исполнению. Если после исполнения последней из этих команд ни одна из команд не изменила состояние приложения, метка ожидает дальнейших инструкций. Если в течение максимального времени ожидания (WaitMaxDuration) команда на переключение состояния не поступила, метка переходит в Блинк-состояние.

Блинк-состояние

Метка переходит в блинк-состояние по команде SwitchState(Blink) или по истечении таймаута в состояние ожидания. Это состояние интенсивного поиска связи с инфраструктурой. Метка отправляет не просто блинки, как в исходном состоянии, а пакеты блинков, после каждого из которых ожидает поступления команды. Метка изменяет состояние, получив соответствующую команду либо обнаружив, что вышла из зоны обслуживания.

Состояние измерения расстояния

В состояние измерения расстояния метка переходит по команде SwitchState с аргументом (Rangestate). В этом состоянии метка проводит циклы измерения с назначенными анкерами, а после завершения последнего цикла переходит в состояние ожидания.

Спящее состояние

Метка переходит в спящее состояние при получении соответствующей команды на указанное в параметрах команды время. В этом состоянии приемник и передатчик метки отключены. По истечении заданного времени метка переходит в состояние ожидания.