Найти местоположение с помощью только расстояние и перенос?

Триангуляция работает путем проверки угла к трем ИЗВЕСТНЫМ целям.

"Я знаю, что этим является Маяк Александрии, это расположено здесь (X, Y) на карте, и это с правой стороны от меня на уровне 90 градусов". Повторитесь еще 2 раза для различных целей и углов.

Трилатерация работает путем проверки расстояния от трех ИЗВЕСТНЫХ целей.

"Я знаю, что этим является Маяк Александрии, это расположено здесь (X, Y) на карте, и я на расстоянии в 100 метров от этого". Повторитесь еще 2 раза для различных целей и диапазонов.

Но оба из тех методов полагаются на знание, НА ЧТО Вы смотрите.

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

У Вас есть робот, перемещающийся через тот лес медленно.

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

1) Если это существует, чем это называют? Я ничего не могу найти.

2) Что Вы думаете, что разногласия имеют наличие двух идентичных местоположений 'хиты?' Я предполагаю, что это довольно редко.

3) Если существует два идентичных местоположения 'хиты', как я могу определить свое точное местоположение после того, как я перемещаю робот затем. (Я принимаю возможности наличия 2 случаев ТОЧНЫХ углов подряд, после того, как я меняю местоположение робота, было бы статистически невозможно, запретив лес, растущий в строках как зерно). Я просто вычислил бы положение снова и надежду на лучшее? Или я так или иначе включил бы свою предыдущую оценку положения в мое следующее предположение?

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

11
задан Phil Salesses 12 May 2010 в 03:18
поделиться

4 ответа

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

Затем вы можете определить ориентиры, перебирая деревья и вычисляя расстояние до всех их соседей. В Matlab вы можете использовать pdist для получения списка всех (уникальных) парных расстояний.

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

Как только вы нашли все ориентиры, вы просто проводите триангуляцию.

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

2
ответ дан 3 December 2019 в 08:28
поделиться

Отличный вопрос.

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

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

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

10
ответ дан 3 December 2019 в 08:28
поделиться

Я думаю, что вам нужно только расстояние до двух ориентиров и порядок их просмотра (т.е. слева направо вы видите точки A и B)

0
ответ дан 3 December 2019 в 08:28
поделиться
  • (1) "Robotic mapping" и "perceptual aliasing".
  • (2) Два одинаковых попадания являются неизбежными. Поскольку робот может различать только конечное число X различимых конфигураций деревьев, даже если конфигурации полностью случайны, почти наверняка найдется хотя бы одно место, которое выглядит "так же", как и другое место, даже если вы встретите гораздо меньше, чем X/2 различных деревьев. Такие столкновения называются "парадоксом дня рождения". Вам может повезти, что конкретное место, в котором вы находитесь, на самом деле уникально, но я бы не стал ставить на это своего робота.

Итак, у вас:

  • (a) есть карта большой территории с некоторые, но не все деревья на ней.
  • (b) робот, находящийся где-то в реальном лесу. который, не глядя на карту, посмотрел посмотрел на близлежащие деревья и сгенерировал внутреннюю карту всех деревьев в крошечной области и его относительного положения по отношению к ним
  • (c) Для робота, каждое дерево выглядит так же, как каждое другое дерево.
  • Вы хотите найти: Где находится робот на большой карте?

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

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

Затем, по мере движения, робот подъезжает к дереву и находит "подпись" для этого дерева, а вы находите на карте все деревья, которые "соответствуют" этой подписи. Если совпадает только одно уникальное дерево на карте, то дерево, на которое смотрит робот, может быть этим деревом на карте (ура, вы знаете, где находится робот) -- поставьте весомую, но условную точку на карте относительно положения робота относительно совпадающего дерева -- дерево, рядом с которым находится робот, точно не является ни одним из других деревьев на карте. Если несколько деревьев на карте совпадают - все они имеют одинаковую неуникальную подпись - тогда можно поставить несколько менее весомых ориентировочных точек на карте в позиции робота относительно каждого из них. Увы, даже если найдется одно или несколько совпадений, все равно возможно, что дерева, на которое смотрит робот, вообще нет на карте, а сигнатура этого дерева случайно совпадает с сигнатурой одного или нескольких деревьев на карте, и поэтому робот может находиться где угодно на карте. Если ни одно из деревьев на карте не совпадает, то дерева, на которое смотрит робот, на карте точно нет. (Возможно, позже, когда робот будет точно знать, где он находится, ему следует начать добавлять эти деревья на карту?)

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

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

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

(Под "поблизости" я подразумеваю "достаточно близко, чтобы робот должен был в состоянии определенно подтвердить, что дерево действительно там", хотя, вероятно, проще аппроксимировать это чем-то вроде "Мой робот может видеть все деревья в диапазоне R, поэтому я буду даже пытаться найти деревья, находящиеся в радиусе R*1/3 от моего робота, а мой список расстояний включает только деревья, находящиеся в радиусе R*2/3 от конкретного дерева, которое я пытаюсь найти").

Если вы знаете свою ориентацию с севера на юг даже очень приблизительно, вы можете создать сигнатуры, которые будут "более уникальными", т.е. будут иметь меньше случайных совпадений на карте и (надеюсь) в реальном лесу. Совпадение" для дерева, рядом с которым находится робот, происходит тогда, когда для каждого близлежащего дерева на карте существует соответствующее дерево в лесу на "том же" расстоянии и в том же направлении, насколько вы можете судить с известными вам ошибками расстояния и угла. Скажем, вы видите, что дерево "Fred" на карте имеет другое дерево в 10 метрах от него в северо-западном квадранте, но робот находится рядом с деревом, которое точно не имеет деревьев на таком расстоянии в северо-западном квадранте, но имеет дерево в 10 метрах к югу. В этом случае (используя более сложную сигнатуру) можно точно сказать, что робот находится не рядом с Фредом, хотя простая сигнатура даст (ложное) совпадение.

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

0
ответ дан 3 December 2019 в 08:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: