Библиотека AltBeacon: оценка расстояния дает слишком низкие значения

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

Проблема в том, что у меня были довольно плохие оценки расстояния, которые не позволяли рассчитать позицию. В частности, расстояния намного ниже реальных значений: когда я стою в 10+ метрах от маяка, библиотека говорит мне, что я не дальше 3 метров.

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

Любая идея, почему это происходит? Удалось ли вам использовать эту библиотеку и получить лучшие результаты?


person fsestini    schedule 23.07.2015    source источник
comment
Используете ли вы маяки с аккумулятором? Потому что у меня была аналогичная проблема, потому что батареи были низкими   -  person R. Adang    schedule 23.07.2015
comment
Да, я использую маяки на батарейках (точнее, маячки Kontakt.io), но у всех у них больше 50% остатка заряда батареи. Обратите внимание, что значения RSSI, которые, я думаю, связаны с батареей, такие же, как у iPhone. Просто библиотека не присваивает разумную оценку расстояния этим RSSI.   -  person fsestini    schedule 23.07.2015


Ответы (1)


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

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

Поскольку разные мобильные устройства имеют разные антенны, стандартным устройством для выполнения калибровки является iPhone 5. Для этого вы держите iPhone 5 ровно в одном метре от маяка задней стороной к маяку и используете бесплатное приложение, такое как Найдите для выполнения калибровки. Это даст вам эталонное значение в дБм, которое необходимо настроить в вашем маяке. Затем вы можете использовать инструкции от Kontakt.io для настройки маяка с этим значением калибровки.

person davidgyoung    schedule 23.07.2015
comment
Я предполагаю, что эталонное значение на расстоянии 1 метра — это то, что приложение Locate для Android отображает как мощность Tx. Если это так, то это значение идеально соответствует тому, что iPhone измеряет как rssi на расстоянии 1 метр. Так что еще мне нужно для калибровки? - person fsestini; 23.07.2015
comment
Это верно. Если вы держите устройство Nexus 5 на расстоянии одного метра и переходите к экрану расстояния в приложении "Найти", какое расстояние оно сообщает? Если вы затем выполните калибровку на расстоянии 1 метра с помощью Nexus 5, какое значение калибровки он сообщит и как оно соотносится с передаваемым полем мощности Tx? - person davidgyoung; 23.07.2015
comment
Nexus 5 отображает расстояние в 1 метр, когда я стою на расстоянии 1 метра от маяка. RSSI также соответствует Tx Power. Однако, когда я начинаю удаляться, оценка расстояния увеличивается очень медленно, до точки, которая показывает 3 м, когда я на самом деле нахожусь на расстоянии от 10 до 15 метров. - person fsestini; 23.07.2015
comment
Алгоритм по умолчанию может недооценивать расстояние для маломощных передатчиков. Не могли бы вы сказать мне, RSSI вы получаете на 1 метр и на 10 метров? - person davidgyoung; 26.07.2015
comment
Конечно. Примерно -59 на 1 метр и -75 на 10 метров. Маяки настроены на передачу на максимальной мощности. - person fsestini; 27.07.2015
comment
Я удивлен, узнав, что RSSI падает до -75 только на 10 метрах. В подобных тестах я обычно вижу падение примерно до -85 на таком расстоянии. Возможно, вы получаете радиоотражения в области, где вы тестируете, что приводит к меньшему падению сигнала? Другая возможность состоит в том, что передатчик маяка является направленным. Мне было бы любопытно услышать, получите ли вы те же результаты rssi, если повторите тест на улице вдали от препятствий, всегда удерживая телефон в одной и той же ориентации в одну и ту же сторону маяка. - person davidgyoung; 28.07.2015