Как работает слияние датчиков

Как работает слияние датчиков
Как работает слияние датчиков
Anonim

Как работает слияние датчиков

Слияние датчиков - это сочетание сочетания множества физических датчиков для получения точной «истины», хотя каждый датчик может быть ненадежным сам по себе. Узнайте о том, как и почему происходит слияние сенсора.

Откуда вы знаете, где вы находитесь: «Я собираюсь самостоятельно бежать в Белый дом? Потому что мне сказали не делать этого», который встроен в прошивку коммерческих Quadcopters.

Датчики - далеко не идеальные устройства. У каждого есть условия, которые пошлют их с ума.

Инерционные измерительные устройства - это классический случай: там есть чипы IMU, которые кажутся превосходными на бумаге, но завоевали репутацию «запираться» на поле при определенных условиях, например, пролететь 60 км в час на квадроцикле без резиновых подушек.

Image
Image
Чип ИДУ. Изображение предоставлено Университетом штата Мичиган

В этих случаях IMU может подвергаться колебаниям - в то время как внутри spec, которые могут соответствовать гармоникам с микромеханическими частями. IMU, возможно, был разработан для использования в мобильном телефоне с воблером, а не рядом с несколькими двигателями, напевающими при 20000 об / мин. Внезапно робот думает, что он переворачивает вверх дном (когда это не так) и вращается, чтобы компенсировать. Некоторые пилоты летают с регистраторами данных и захватили момент, когда ИДУ взлетает с шумом непосредственно перед впечатляющим крахом.

Итак, как мы справляемся с несовершенными датчиками? Мы можем добавить больше, но разве мы не просто усугубляем проблему?

Ваши слепые пятна становятся меньше, чем больше у вас датчиков. Но математика усложняется, чтобы справиться с возникающей нечеткостью. Современные алгоритмы для слияния датчиков - это системы «Вероучение» - классическим примером является фильтр Калмана.

Image
Image
Контроллер полета Naze32 с бортовым «датчиком слияния» Инерционный измерительный блок. Этот человек летал много раз

Фильтр Калмана

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

Роботизированные системы также включают в себя ограничения, которые кодируют реальные знания о том, что физические объекты движутся плавно и непрерывно через пространство (часто на колесах), а не телепортируются вокруг, например, как образцы координат GPS.

Это означает, что если один датчик, который всегда давал отличные последовательные значения, начинает говорить вам о маловероятных и откровенно невозможных вещах (таких как GPS / радиосистемы, когда вы входите в туннель), рейтинг правдоподобия датчиков понижается в течение нескольких миллисекундных итераций, пока он снова начинает говорить смысл.

Это лучше, чем просто усреднение или голосование, потому что фильтр Калмана может справиться с тем, что большинство его датчиков будут временно сумасшедшими, пока человек держится здравым смыслом. Он становится спасательным кругом, который получает робота в темные времена.

Фильтр Калмана представляет собой применение более общих понятий Марковских цепей и байесовского вывода, которые являются математическими системами, которые итеративно дорабатывают свои догадки с использованием доказательств. Это инструменты, призванные помочь науке самим тестировать идеи (и являются основой того, что мы называем «статистической значимостью»).

Image
Image
Представление фильтра Калмана. Изображение создано Petteri Aimonen через Википедия

Поэтому можно было бы поэтически утверждать, что некоторые системы слияния датчиков выражают самую суть науки тысячу раз в секунду.

Фильтры Калмана использовались для орбитальной станции на космических спутниках в течение десятилетий, и они становятся популярными в робототехнике, потому что современные микроконтроллеры способны достаточно эффективно выполнять алгоритм в реальном времени.

ПИД-фильтры

Упрощенные роботизированные системы имеют ПИД-фильтры. Их можно рассматривать как примитивные фильтры Калмана, питаемые одним датчиком, при этом все итерационные настройки взломаны и заменены тремя фиксированными значениями.

Даже когда значения ПИД-регулятора автонастраиваются или устанавливаются вручную, весь процесс «настройки» (корректировать, летать, судить, повторять) - это экзистенциальная версия Кальмана с человеком, выполняющим шаг распространения убеждений. Основные принципы все еще существуют.

Пользовательские фильтры

Реальные системы часто являются гибридами, где-то между ними.

Полный Kalman включает в себя «контрольные команды», которые имеют смысл для роботов, например: «Я знаю, что я повернул рулевое колесо влево. Компас говорит, что я ухожу, GPS думает, что я все равно иду. верить?»

Даже для термостата - классического простейшего контура управления - фильтр Калмана понимает, что он может судить о качестве термометров и нагревателей, пускаясь в ручку и ожидая, что произойдет.

Отдельные датчики, как правило, не могут повлиять на реальный мир, поэтому эти термины выпадают из математики, и многие силы идут с ними. Но вы все равно можете применять перекрестные проверки идей распространения убеждений и ограничений «без телепортации», даже если мы не можем полностью закрыть контур управления,

Торговые датчики

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

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

Мы быстро обнаружим, что нет единого датчика товара, который мы можем абсолютно доверять в 100% случаев. Так почему же роботы не выходят из неба? Потому что каждый решает другой фрагмент большой головоломки судоку, пока остается только правда.

Давайте рассмотрим некоторые типичные датчики, которые вы можете найти на квадроцикле, и обсудите их сильные и слабые стороны и общее место в этой головоломке «Судоку» слияния датчиков.

GPS

Это очевидный выход, но о ограничениях! Есть ошибка образца, возможно, два метра, и отклонение будет дрейфовать со спутниками.

Если вы хотите использовать GPS для получения положения с точностью до сантиметра, вам нужно прибить его на место и провести измерения в течение нескольких дней. Мы этого не хотим. Двигаясь по воздуху со скоростью, даже устройство с частотой 100 Гц не может выполнять временное сглаживание. Это в 20 раз медленнее, чем основной цикл событий управления полетом.

GPS также не может сказать вам, с каким способом вы сталкиваетесь. Только в каком направлении вы двигаетесь.

Кроме того, Z-разрешение (высота) может быть 1/10-м столь же надежным, как широта и долгота. Мы должны дать почву, возможно, 20 метров.

О, и только GPS не говорит вам, насколько далеко вы находитесь над землей, только как далеко над уровнем моря. Логическое исправление заключается в чтении перед взлетом, но тогда у нас есть еще одна 20-метровая панель ошибок в миксе. И есть эффекты наземной плоскости на сигналы GPS, которые отличаются в полете, поэтому мы не можем предположить, что ошибки будут отменены в долгосрочной перспективе - хотя они будут сначала!

И это все еще не мешает нам летать в горы.

Image
Image
Товарный GPS-приемник, который легко сопряжен с микроконтроллерами по сравнению с I 2 C

Одного GPS недостаточно. Мы не можем надежно пролететь в пределах 20-40 метров от плоского грунта, который по крайней мере пять этажей в воздухе, и это длинный путь для обеспечения безопасности. Не поймите меня неправильно, имея возможность найти себя в любой точке мира с 20-метровой вертикальной ошибкой, совершенно потрясающе … но это не остановит нас от сбоев. Не без дифференциальной GPS-станции в петле, дорогостоящих высокоскоростных приемниках и некоторых чертовых хороших топологических карт.

Сонар, Лидар, Радар / Оптический поток

Поэтому, если триангуляция себя с использованием спутников - это не лучший способ избежать наземной ситуации, давайте просто попробуем «увидеть» ее прямо!

Существует, по крайней мере, три готовые технологии ранжирования, которые испускают пинг и видят, сколько времени потребуется для возврата: теперь доступны SONAR, LIDAR и, по-видимому, модули RADAR.

Однако эти датчики имеют недостатки:

абсорбция

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

Перекрестные помехи

Менее очевидным является то, что происходит, когда вы ставите несколько одинаковых датчиков рядом друг с другом. Откуда вы знаете, что «пинг», который вы обнаружили, принадлежит вам? Даже одиночные датчики должны справляться с перекрестными разговорами от себя, ожидая достаточно долго, чтобы эхо-сигналы исчезли.

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

Оптические датчики потока - это другой подход, с помощью камеры, чтобы увидеть, все ли в выстреле становится больше (что указывает на то, что земля / стена быстро поднимается) или меньше (когда препятствие уходит) или скользит вбок. Камеры не мешают друг другу, как сонар, и если вы действительно умны, вы можете оценить наклоны и другие 3D-свойства.

Оптические датчики потока по-прежнему страдают от слабости поглощения. Вам нужна хорошая текстурированная поверхность для просмотра потока, так же как оптические мыши, на которых они основаны, не работают на стекле. Они становятся популярными, поскольку расчеты потока теперь являются чем-то, что вы можете поместить в FPGA или быстрый встроенный компьютер.

Image
Image
Датчики изображения (например, эта 2-кратная камера Raspberry Pi) могут использоваться для предотвращения препятствия оптическому потоку

Геометрия

Последний вопрос является геометрическим. Рассмотрим физический датчик, летящий на квадроцикле. Если вы находитесь под углом, Пифагор говорит, что земля будет казаться еще дальше, чем на самом деле. Наклоните достаточно, и мы не увидим его вообще, хотя мы - сантиметры от грохота.

Чтобы исправить это, нам нужно знать о нашей склонности. И это значит…

гироскоп

Гироскопы объединяются с акселерометром и называются «ИДУ», но причина, по которой они появляются так часто вместе, естественно, охватывает основную слабость друг друга. Это классическая пара фьюжн.

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

Не вдаваясь в подробности, гироскопы построены из микромеханических вилок настройки, которые выгравированы на поверхности чипа. Когда чип повернут, на некоторых вилочных усилителях есть силы, и они изменяют шаг друг против друга. (Увы, нет крошечных вращающихся вершин - это было бы слишком просто).

Гироскопы MEMS почти не защищены от каждого движения, кроме вращения. Даже сильная вибрация не влияет на них (в пределах спецификации), потому что это боковое ускорение.

Если вы посмотрите на внутренний контур управления мультиротором, это гироскоп, который использует контроллер полета, чтобы оставаться в воздухе. Некоторые пилоты режима скорости полностью отключают акселерометр, чтобы дать гироскопу большую пропускную способность. Это ключ к тому, насколько важен гироскоп.

Image
Image
Интерьер датчика гироскопа MEMS. Изображение предоставлено Geek Mom Projects

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

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

акселерометр

Вот почему акселерометры - лучший друг гироскопа: потому что он обнаруживает абсолютную ссылку «вниз» (по крайней мере, когда они находятся в гравитации Земли).

Ну, в среднем так или иначе. С момента на мгновение он поднимает гравитацию, линейное ускорение, центробежные силы от вращения, вибрации, громких шумов и, конечно, несовершенства датчика.

Поэтому данные акселерометра являются одними из самых шумных и наименее надежных, несмотря на высокую частоту дискретизации и хорошую точность датчика MEMS, которая обычно не хуже гироскопа. Он собирает несколько «сигналов», которые должны быть устранены. Но это чувствительность ко всем этим различным сигналам, которые делают его настолько универсальным. Он слышит все.

Ускорение - это также два шага интеграции от того, что мы действительно хотим знать, - поэтому мы должны суммировать множество дельт и баров ошибок, чтобы перейти от измеренного ускорения к оценочной скорости, а затем мы должны сделать это снова, чтобы добраться до оценочная позиция. Ошибки накапливаются.

И именно поэтому GPS является лучшим другом акселерометра: поскольку он регулярно «обнуляет» растущую погрешность местоположения, то же самое, что и акселерометр мягко изгибает ошибку ориентации гироскопа.

Image
Image
Пример чипа датчика акселерометра. Изображение предоставлено Parallax

магнитометр

Хорошим компасом не следует пренебрегать. Однако, как и акселерометр, он обычно используется как способ господства в долгосрочном дрейфе гироскопа. Знание того, какой путь вверх, более полезно, чем знать, какой путь является магнитным северным, но вместе с ним мы можем знать нашу истинную абсолютную ориентацию на Земле.

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

Они часто соединяются с приемниками GPS, потому что, опять же, они противостоят наибольшей слабости друг друга, в то время как в противном случае они точно соответствуют друг другу. Один дает грубое абсолютное положение, в то время как другое дает грубое абсолютное направление. Если ваш робот ограничен землей на колесах (вместо того, чтобы летать, как дурак), это действительно все, что вам нужно.

В два раза больше. Дважды смертельно

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

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

Или, по крайней мере, достаточно, чтобы не рухнуть.

Временная суета

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

Подумайте, что произойдет, если у вас есть блок датчиков, который вы скользите по столу, но на полпути через него вы поворачиваете его на 90 градусов на свою сторону.

IMU должен видеть, что как «скольжение вбок, поворот 90, скольжение вверх» - интеграция этого в реальное положение в пространстве вы должны получить плоскую прямую линию. Но если сигналы гироскопа «flip 90» задерживаются (или просто ошибочно отмечены), то векторы акселерометра не будут должным образом повернуты назад в плоскость таблицы на каждый момент времени, и будет некоторый вертикальный дрейф как движение », утечки "в неправильную ось. Не из-за каких-либо неточностей в датчиках, а исключительно из-за последовательности обработки.

Вот почему некоторые ИДУ делают все сами. Популярный MPU-6050 имеет встроенную прошивку, гироскоп и акселерометр на борту, а также внешний магнитометр. После слияния ИДУ сообщает обратно идеализированный вектор движения к микроконтроллеру, который дает более последовательные результаты. Конечно, всегда есть компромисс. Обновления с плавным движением (по крайней мере, для этого чипа) имеют более низкую скорость, чем исходные значения.

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