Быстрая IPS / RTLS с малой задержкой на основе sensor fusion ультразвука и IMU для автономных дронов и роботов в помещениях
Краткое резюме
- Частота обновления координат 80 Гц (в будущем она может стать выше с новыми версиями ПО на том же оборудовании)
- 12-20 мс задержка – в зависимости от типа движения мобильного объекта и настроек
- 3D-трекинг. Трекинг в 1D и 2D, конечно, тоже поддерживается 🙂
- Особенно хорошо подходит для автономных дронов и других шумных объектов
- Эта статья посвящена NIA и MF NIA. Sensor fusion ультразвука и IMU для IA была выпущена несколько месяцев назад
- Направление определяется по одному маяку. Конфигурация Paired Beacons (парные маяки) для определения положения и направления также поддерживается
- Существенно более высокая устойчивость трекинга в условиях временного отсутствия прямой видимости
- В комплект входит новый Marvelmind Dashboard 3D для более удобной 3D-визуализации (пока только в режиме плеера)
- Функциональность включается лицензией MMSW0021: Realtime Ultrasound + IMU sensor fusion (как для IA, так и для NIA)
- Решение полностью доступно в коммерческой продаже. Скачайте и начните использовать прямо сейчас
Минимальная конфигурация
Система позиционирования в помещениях NIA с IMU sensor fusion состоит из нескольких ключевых элементов:
- Мобильный маяк, установленный на мобильном объекте, например, на дроне
- Стационарные маяки, размещённые вокруг для обеспечения зоны покрытия – посмотрите видео выше, чтобы составить представление, и изучите рекомендации в руководстве по размещению (Placement Manual)
- Модем – для управления всеми ими. В NIA он больше не рассчитывает координаты. Теперь это делает мобильный маяк. Это новый подход, действующий отныне
- RHU – для приёма быстрых данных IMU на стороне модема. Кроме того, он выполняет несколько слоёв постобработки, дополнительно повышая устойчивость и качество трекинга. Это относительно новичок в линейке. Однако он уже стал ключевым элементом архитектуры Split-Modem (архитектуры с разделённым модемом), которая становится основной, если нужно получать данные IMU sensor fusion с малой задержкой на стороне модема. Если вы используете данные на стороне мобильного маяка, RHU не нужен
Таким образом, рекомендуемая минимальная конфигурация для высокоскоростного трекинга с малой задержкой:
- Starter Set Super-MP-3D
- Modem HW v5.1 – для RHU. То же оборудование, что и модем, но другое ПО из комплекта
- 4 x Magnetic holder для стационарных маяков
- 1 x MMSW0021: Realtime Ultrasound + IMU sensor fusion
Поддерживаются только новые маяки с -4 или более поздней версией в названии
Сейчас поддерживаются следующие мобильные маяки:
- Super-Beacons-4
- Industrial Super-Beacons-4
- Industrial-RX-4 с Omni
- Industrial-RX-4 с Horn
Если вы покупаете оборудование сейчас, вы можете попросить дистрибьюторов проверить и отгрузить версию -4. На нашем складе остались только версии -4. Но версий -1, -2, -3 в эксплуатации ещё много.
Более новые аппаратные версии этих и других мобильных маяков, вероятно, будут поддерживать MMSW0021: Realtime Ultrasound + IMU sensor fusion.
Во избежание сомнений:
- Super-Beacons, Super-Beacons-2, Super-Beacons-3, Industrial Super-Beacons-2 и -3, Industrial-RX-2 и -3 и другие более ранние устройства не поддерживают MMSW0021: Realtime Ultrasound + IMU sensor fusion в качестве мобильных устройств
- Однако для стационарных маяков ограничений нет, и их легко использовать в качестве стационарных маяков, если они могут работать стационарными маяками в IA. Например, Industrial-RX не может быть стационарным маяком в IA, поскольку у него вообще нет ультразвуковых преобразователей и он не может излучать ультразвук. Это не связано с данной функцией, но не следует забывать об основных требованиях архитектуры. Даже очень ранние Beacons HW v4.9 можно использовать в качестве стационарных маяков
Подкарты, суперкарты, MF NIA, PixHawk, DJI и всё остальное, что обычно поддерживается системой, поддерживается и NIA IMU sensor fusion. IMU sensor fusion – это надстройка над существующими слоями.
Sensor fusion - святой Грааль робототехники
Благодаря sensor fusion вы получаете лучшее от двух миров:
- Ультразвук обеспечивает высокую точность позиционирования и отсутствие дрейфа координат, но может давать скачки даже из-за кратковременных перекрытий или шума
- IMU обеспечивает чрезвычайно высокое угловое разрешение и отсутствие скачков координат, но дрейфует
Правильно объединить оба источника технически очень сложно, требуется сделать некоторые допущения о мобильном объекте, но результат недостижим для автономных систем только на ультразвуке или только на IMU: очень высокая частота обновления координат, малая задержка, большая устойчивость к перекрытиям и более высокая точность. Так что это буквально лучшее от двух миров.
Sensor fusion - это дерево технологий, а не одно решение для всех случаев
Как обсуждалось в предыдущей статье, у IMU sensor fusion есть несколько ветвей. Коротко:
- IMU sensor fusion для NIA – оптимальна для шумных объектов, таких как дроны
- IMU sensor fusion для IA – когда мобильный маяк принимает ультразвук: отслеживание людей или дронов/роботов в роях
- Постобработка IMU sensor fusion – отлично подходит, когда нужен лучший общий результат трекинга: вы уже располагаете всей картиной данных, а задержка некритична, например, для спорта или анализа траекторий
- IMU sensor fusion для определения направления – конфигурация Paired Beacons
- Экстраполяция – технически это не sensor fusion. Но это оптимальное решение для случаев с предсказуемой траекторией
Малая задержка, высокая скорость, повышенная устойчивость, определение направления по одному маяку и другие преимущества
В статье об IMU sensor fusion для IA мы сильно акцентировали внимание на малой задержке данных о положении, которую обеспечивает IMU sensor fusion, и на том, как её измерять. Поэтому в той статье вы можете увидеть множество графиков ударных воздействий и пояснений того, как мы измеряли задержку – от механического удара до интеграции данных IMU, обработки и вычисления координат.
С новым ПО IMU sensor fusion для NIA и дальнейшей разработкой, в ходе которой IMU sensor fusion для IA и NIA будут объединены в крупном релизе ПО, мы делаем больший акцент на общем превосходстве подхода IMU sensor fusion, а не только на малой задержке данных о положении:
- Высокая частота обновления – 80 Гц или выше в будущем – этого достаточно для подавляющего большинства реальных промышленных применений
- Малая задержка – 12-20 мс – её трудно измерить на практике, и она зависит от настроек, карты, истории перемещений объекта, т.е. является адаптивной. Но главное, что этого тоже достаточно для подавляющего большинства реальных применений. В конце концов, мы работаем в сфере промышленной автоматизации
- Повышенная точность, особенно в статике
- Существенно более высокая устойчивость к кратковременным перекрытиям, акустическим шумам и другим неблагоприятным факторам и улучшенное качество трекинга благодаря многослойному подходу
- Теперь один мобильный маяк даёт направление/ориентацию. Это происходит динамически: нужно переместиться примерно на 50 см в любом направлении. Система определяет положение, очень точно его измеряет и сохраняет даже в статике, пока вы не выключите систему
Подводя итог, IMU sensor fusion действительно является святым Граалем робототехники в целом и позиционирования в помещениях как её части, принося с собой множество преимуществ.
Повышенная точность
IMU sensor fusion повышает точность за счёт объединения большего объёма данных и устранения части скачков.
IMU sensor fusion особенно полезна для точности в статических условиях. В то же время в динамике IMU sensor fusion может увеличить размах ошибки, но результат полностью зависит от настройки, условий и типа движения. Чем больше вы знаете об объекте, тем лучше можно оптимизировать настройки и характеристики.
Теперь один мобильный маяк определяет и направление
Раньше для определения направления требовалась конфигурация Paired Beacons.
Теперь мы рекомендуем летать с одним мобильным маяком, а конфигурация Paired Beacons остаётся вариантом.
Один мобильный маяк:
- Лёгкий вариант: не нужны второй маяк, рама, базовое расстояние, два провода между мобильными маяками
- Для определения направления требуется переместиться примерно на 50 см в любом направлении, после чего направление фиксируется
- Направление сохраняется и запоминается даже в статике, пока вы не выключите систему
- По сути, это единственный вариант для небольших дронов вроде DJI Mini и меньше
Paired Beacons:
- Определяет направление даже в статике, без необходимости сначала лететь, чтобы определить направление
- Особенно хорошо подходит для крупных дронов, где вес маяков некритичен, а база достаточно велика
Повышенная устойчивость и качество трекинга
Мы применяем многослойный подход к трекингу:
- Ультразвуковой трекинг: классический вариант, синие точки которого вы видите в нашем Dashboard 2D
- На основе данных ультразвука и IMU мы формируем данные sensor fusion. Они уже дают все преимущества малой задержки и высокой частоты обновления. Эти данные доступны на стороне hedgehog (мобильного маяка), но пока не на стороне модема. Поэтому полностью автономный дрон на PixHawk может их использовать, а дрон DJI, «мозг» которого находится вне дрона, – нет
- Относительно медленные данные (~8 Гц) передаются на модем как обычно. А высокоскоростные (80 Гц) данные IMU sensor fusion передаются на RHU. На видео видны очень быстрые синие точки хвоста – это и есть данные IMU sensor fusion
- RHU не только принимает данные, но и активно обрабатывает их как на уровне IMU, так и снова на уровне ультразвука, но уже при большем объёме доступных данных. Обработка идёт в несколько слоёв. Но итоговый слой – «золотой»: он выбирает лучшую информацию с наивысшим уровнем достоверности из всех слоёв. Таким образом, вы как пользователь можете получить и очень быстрые данные IMU с задержкой 12-20 мс, и примерно через 200-300 мс ещё более проверенные «золотые» данные. В результате устойчивость трекинга заметно возрастает. Вы легко можете визуально оценить, насколько чище и согласованнее трекинг даже в не самых хороших условиях или при частичных либо временных препятствиях.
Подключение к устройствам пользователя и способы избежать дополнительной задержки
Поскольку одно из главных преимуществ функции MMSW0021: Realtime Ultrasound + IMU sensor fusion – малая задержка данных о положении, крайне важно чётко понимать, как получать эти данные и не вносить дополнительную задержку из-за интерфейсов или операционных систем.
В новой версии теперь поддерживаются следующие способы:
- Обычный UART мобильного маяка (его также называют hedge или hedgehog) через контакты 4×4 Super-Beacon или контакты внутри 7-контактного разъёма данных промышленных (Industrial) маяков – лучший и самый простой способ получить данные о положении с малой задержкой без заметной дополнительной задержки
- Через USB от hedge (дополнительная задержка ~ 1 мс + задержка USB-драйвера (зависит от ОС)). Главная проблема – непредсказуемость задержки ОС и её джиттер. Дополнительную задержку трудно оценить: от незаметной до существенной. Возможный джиттер задержки из-за неконтролируемых задержек ОС – ещё один повод для беспокойства. Однако на практике эти опасения могут быть преувеличены, и тогда такое подключение даже проще, чем провода от UART (см. выше), поскольку используется USB
- Через USB/UART RHU. По сути, мы используем архитектуру Split Modem (с разделённым модемом). Это лучший способ получить данные с малой задержкой на стороне модема, а не на стороне мобильных маяков, когда нужно отслеживать объект с высокой частотой обновления координат и малой задержкой или, например, управлять полётом дронов DJI, поскольку в такой системе «мозг» внешний, а не на дроне
Есть и другие способы получения данных о положении, которые скорее теоретически возможны, чем практически рекомендуются:
- Через UDP из Dashboard при подключении hedge по USB (дополнительная задержка ~ 1 мс + задержка USB-драйвера + задержка передачи по UDP (обычно 3…50 мс в зависимости от вашей сети))
- Через REST или MQTT из Dashboard при подключении главного (master) hedge по USB (дополнительная задержка ~ 1 мс + задержка USB-драйвера + задержка передачи по REST/MQTT). Общую дополнительную задержку также трудно оценить. Но этот способ тоже поддерживается
- Через UDP/REST/MQTT/лог из Dashboard при использовании Modem HW v 5.1 со специальной прошивкой в архитектуре Split Modem (дополнительная задержка такая же, как при подключении hedge к Dashboard, + ~ 1 мс по радио на скорости 500 кбит/с)
- Через лог-файл в Dashboard при подключении главного (master) hedge по USB (для постобработки – задержка неприменима)
Постоянно развивающийся sensor fusion для точного, быстрого трекинга в помещениях с малой задержкой
NIA и IMU sensor fusion уже полностью доступны, и вы можете заказать, скачать и начать пользоваться ими уже сегодня:
Однако его развитие не прекращается. Подход – объединять больше данных, умно их комбинировать и обеспечивать трекинг ещё быстрее, с ещё меньшей задержкой и ещё более высокой устойчивостью – всегда выигрышный.