Как найти оптимальный путь для линии, следующей за лабиринтом бота? - PullRequest
0 голосов
/ 21 февраля 2020

Этот вопрос уже был размещен в робототехнике stackexchange, но я не получил никакого ответа. Кроме того, этот вопрос касается решения лабиринта с некоторыми ограничениями, поэтому он не ограничивается созданием конкретного робота с u C и всеми.

Сначала позвольте мне объяснить проблему.

Это лабиринт, состоящий только из черных линий на белой поверхности. Робот имеет только несколько ИК-датчиков, которые могут определять положение линии. Другие сенсорные данные недоступны.

Это лабиринт с множеством самоконтролей, поэтому простой LSRB или эквивалентный алгоритм не сработает. Предполагается, что робот изучит лабиринт и затем решит его максимально оптимально.

На рисунке выше показаны возможные пересечения, поскольку все пути находятся под углом 90 градусов друг к другу.

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

Однако главная проблема, которую я не могу понять, заключается в следующем:

Как этот слепой робот узнает он не просматривает один и тот же узел несколько раз, если он продолжает возвращаться к одной и той же точке после того, как его поймали на всех oop?

Также, пожалуйста, предложите хорошие подходы к решению этих проблем наряду с любым опытом кого-либо есть. Как в таком сценарии работают такие методы поиска, как DFS, итеративное углубление DFS, восхождение на гору ios?

arrow denotes the direction of motion

1 Ответ

0 голосов
/ 21 февраля 2020

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

Тогда я не уверен, что существует лучшая стратегия, чем

  • проходите по полосам, пока не найдете выход;

  • каждый раз, когда вы переходите дорогу, отметьте пропущенную полосу;

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

Если карта заранее не известна, вы, очевидно, не сможете найти оптимальный путь, если не случайно.

Если нет способа оценить геометрию, все, что вы можете сделать, это случайные движения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...