Рассчитать относительное положение другого соседнего телефона Android - PullRequest
2 голосов
/ 26 марта 2012

Я пытаюсь выяснить, как лучше определить относительное положение другого телефона Android (это положение по сравнению с моим).Телефоны будут в диапазоне WifiP2P, чтобы они могли общаться друг с другом.Я хочу, чтобы он был в автономном режиме, если это возможно.Я подумал о нескольких возможных решениях:

Решение 1:

Используйте GPS в обоих устройствах и сравните его.

Проблемы:

  • Можно ли использовать GPS в автономном режиме?
  • Если два устройства находятся в соседней зоне, будет ли ошибка GPS одинаковой (или похожей)?
  • Это создаст проблемы в помещении?

Решение 2:

Рассчитайте мое относительное положение в зависимости от уровня сигнала WifiP2P.

Проблемы:

  • Как рассчитать эту относительную позицию?(думал о чем-то вроде триангуляции, но перемещая телефон, чтобы получить 3 или более разных сигналов)
  • Есть ли функция getRssi() для WifiP2P (я ее не нашел)?
  • Возможно, мне также понадобится проверить движение другого устройства.
  • Я читал, что вычисление изменений вашего положения с помощью акселерометра не очень точно.

Любые мысли по этому или любому другому поводудругие возможные решения?

Если не существует «хорошего» решения в автономном режиме, что бы вы предложили в Интернете?Будет ли поставщик сетевых расположений иметь такую ​​же (или похожую) ошибку на соседних устройствах?

Ответы [ 3 ]

2 голосов
/ 26 марта 2012

Ошибка GPS, наблюдаемая в локальной области, фактически практически одинакова, если у вас есть два надлежащих приемника GPS, отслеживающих 8 или более спутников. Идея состоит в том, что каждый полученный сигнал GPS-спутника имеет ошибку, связанную с ним из-за атмосферных условий.Таким образом, если у вас есть приемник, настроенный на одну известную вам позицию, вы можете рассчитать разницу во времени сигнала, исходя из того, какой она должна быть, чтобы дать известную позицию, и отправить их в виде поправок на мобильный приемник GPS для точного определения местоположения в пределах 50 см(по горизонтали, 1 м или около того по вертикали)

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

Сила сигнала WIFI будет меняться с отражениями сигнала и помехами в районе, больше, чем фактическая точкарасстояние до точки

Я думаю, что вам предстоит решить очень сложную проблему.веселиться!

1 голос
/ 02 июля 2013

Вы можете попробовать использовать Bluetooth. Вы измеряете RSSI окружающих устройств. Теоретическая взаимосвязь между RSSI и расстоянием выглядит примерно так: RSSI [dbm] = - (10n log10 (d) - A), где d - это расстояние, а A - это смещение, которое представляет собой измеренную точку RSSI на расстоянии 1 метра от устройства BLE. , Просто поищите в Google "RSSI [dbm] = - (10n log10 (d) - A)", и вы найдете несколько источников об этом. Имея расстояния от других устройств, вы можете использовать алгоритм многомерного масштабирования для определения относительного положения. Вот библиотека: http://algo.uni -konstanz.de / Программное обеспечение / mdsj /

0 голосов
/ 21 декабря 2016

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

...