Обнаружение пути и прогресс в лабиринте с помощью изображения live stereo3d

#python #opencv #maze #stereo-3d

#python #opencv #Лабиринт #стерео-3d

Вопрос:

Я создаю прототип ugv. Цель состоит в том, чтобы выполнить желаемые действия с целями, установленными в лабиринте. Когда я просматриваю Интернет, простое право навигации в лабиринте обычно определяется с помощью датчика расстояния. Я хочу проконсультироваться с большим количеством идей, чем вопрос.

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

Я был бы рад, если бы вы предложили источник для этой проблемы. 🙂

Ответ №1:

Описание проблемы немного расплывчато, но я постараюсь выделить некоторые общие идеи.

Полезным предположением является то, что лабиринт — это 2D-среда, которую вы хотите исследовать. Вам нужно знать, в каждый момент, какая часть карты была исследована, какая часть карты все еще нуждается в изучении, и какая часть карты доступна любым способом (другими словами, где находятся стены).

Простая начальная структура данных, которая поможет в этом, — это простая матрица, где каждая ячейка представляет квадрат в реальном мире. Затем каждая ячейка может быть помечена в соответствии со своим состоянием, начиная с неизученного состояния. Затем вы начинаете двигаться и исследовать. На основе расстояний, сообщаемых камерой, вы можете оценить состояние каждой ячейки. Исследование может проводиться с помощью чего-то вроде A * или Q-learning.

Теперь довольно тонкая проблема заключается в том, что вам придется иметь дело с неопределенностью и шумом. Иногда вы можете игнорировать это, иногда нет. Чем более точное разрешение вам нужно, тем больше проблема. Вероятностная структура, скорее всего, является лучшим решением.

Существует целая область исследований так называемых алгоритмов SLAM. SLAM означает одновременную локализацию и отображение. Они строят карту, используя какие-то входные данные от различных типов камер или датчиков, и они строят карту. При построении карты они также решают проблему локализации внутри карты. Алгоритмы обычно разрабатываются для 3D-сред и требуют больших затрат, чем более простое решение, указанное выше, но вы можете найти готовые к использованию реализации. Для исследования все еще необходимо использовать что-то вроде Q-learning.