- (1) «Роботизированное картирование» и «алиасинг восприятия».
- (2) Два идентичных попадания неизбежны . Поскольку робот может различать только конечное число X из различимых древовидных конфигураций, даже если конфигурации совершенно случайные, почти наверняка есть хотя бы одно местоположение, которое выглядит "таким же", как какое-то другое местоположение, даже если вы встречаете далеко меньше, чем X / 2 разных деревьев. Это так называемые "столкновения парадоксов дня рождения". Возможно, вам повезет, что конкретное местоположение , в котором вы находитесь, на самом деле уникально, но я бы не стал ставить на него своего робота.
Итак, вы:
- (а) иметь карту большой территории с
некоторые, но не все деревья на нем.
- (б) а
робот где-то в лесу
что, не глядя на карту, имеет
посмотрел на близлежащие деревья и
сгенерировал внутреннюю карту всего
деревья в крошечной области и его
Относительное положение к ним
- (с) К
робот, каждое дерево выглядит так же, как
любое другое дерево.
- Вы хотите найти: где находится робот на большой карте?
Если бы только у каждого фактического дерева было написано уникальное имя, которое робот мог прочитать, а затем (некоторые из них) эти деревья и их имена были бы на карте, это было бы тривиально.
Один из подходов - прикрепить (не обязательно уникальную) «подпись» к каждому дереву, которая описывает его положение относительно ближайших деревьев.
Затем, когда вы путешествуете, робот подъезжает к дереву и находит «подпись» для этого дерева, и вы находите все деревья на карте, которые «соответствуют» этой подписи.
Если на карте соответствует только одно уникальное дерево, то дерево, которое ищет робот , может быть тем деревом на карте (да, вы знаете, где находится робот) - поместите весомую, но условную точку на карта в относительном положении робота к соответствующему дереву - дереву, рядом с которым стоит робот, определенно не является ни одним из других деревьев на карте.
Если несколько деревьев на карте совпадают - все они имеют одинаковую неуникальную подпись - тогда вы могли бы поместить несколько менее весомых предварительных точек на карту в позиции роботов относительно каждого из них.
Увы, даже если найдено одно или несколько совпадений, все же возможно, что дерево, на которое смотрит робот, вообще не находится на карте, и сигнатура этого дерева совпадает с одним или несколькими деревьями на карте, и таким образом, робот может быть в любом месте на карте.
Если ни одно из деревьев на карте не совпадает, то дерево, на которое смотрит робот, определенно отсутствует на карте. (Возможно, позже, когда робот точно знает, где он находится, он должен начать , добавив эти деревья на карту?)
Направляясь по дорожке, вы нажимаете точки в предполагаемом направлении и скорости движения.
Затем, когда вы осматриваете другие деревья, возможно, после того, как вы пройдете по пути немного дальше, у вас в конечном итоге будет много точек на карте, и, надеюсь, один тяжелый, сильно перекрывающийся кластер в реальной позиции, и, надеюсь, каждая другая точка легко игнорируемые изолированные совпадения.
Самая простая подпись - это список расстояний от конкретного дерева до ближайших деревьев.
Определенное дерево на карте «сопоставляется» с конкретным деревом в лесу, когда для каждого и каждого близлежащего дерева на карте имеется соответствующее близлежащее дерево в лесу на «одинаковом» расстоянии, насколько это возможно. расскажите с вашим известным расстоянием и угловыми ошибками.
(Под «рядом» я имею в виду «достаточно близко, чтобы робот мог быть в состоянии точно подтвердить, что дерево действительно существует»), хотя, вероятно, проще сопоставить это с чем-то вроде «Мой робот» я могу видеть все деревья в диапазоне R, так что я собираюсь потрудиться даже , пытаясь сопоставить деревья, которые находятся в пределах круга R * 1/3 от моего робота, и мой список расстояний включайте только деревья, которые находятся в окружности R * 2/3 от конкретного дерева, которому я пытаюсь соответствовать ").
Если вы знаете свою ориентацию север-юг даже приблизительно, вы можете создавать сигнатуры, которые являются «более уникальными», то есть имеют меньше поддельных совпадений на карте и (мы надеемся) в реальном лесу.
«Соответствие» для дерева, рядом с которым стоит робот, происходит, когда для каждого ближайшего дерева на карте есть соответствующее дерево в лесу на «одинаковом» расстоянии и направлении, насколько вы можете судить по известному расстоянию. и угловые ошибки.
Скажем, вы видите, что у дерева «Фред» на карте есть другое дерево в 10 метрах в квадранте от N до W, но робот находится рядом с деревом, которое определенно не имеет деревьев на таком расстоянии в квадранте от N до W , но у него есть дерево в 10 метрах к югу.
В этом случае (используя более сложную подпись) вы определенно можете сказать, что робот не находится рядом с Фредом, даже если простая подпись даст (ложное) совпадение.
Другой подход:
«Цифровая бумага» решает аналогичную проблему ... Можете ли вы посадить несколько деревьев по схеме, специально разработанной для легкого распознавания?