Этот вопрос уже был размещен в робототехнике stackexchange, но я не получил никакого ответа. Кроме того, этот вопрос касается решения лабиринта с некоторыми ограничениями, поэтому он не ограничивается созданием конкретного робота с u C и всеми.
Сначала позвольте мне объяснить проблему.
Это лабиринт, состоящий только из черных линий на белой поверхности. Робот имеет только несколько ИК-датчиков, которые могут определять положение линии. Другие сенсорные данные недоступны.
Это лабиринт с множеством самоконтролей, поэтому простой LSRB или эквивалентный алгоритм не сработает. Предполагается, что робот изучит лабиринт и затем решит его максимально оптимально.
На рисунке выше показаны возможные пересечения, поскольку все пути находятся под углом 90 градусов друг к другу.
Насколько Насколько я понимаю, робот сначала просканирует, сколько узлов и каковы их связи друг с другом, таким образом, эффективно создавая график. Затем реализуйте любой алгоритм кратчайшего пути и заставьте своего робота следовать ему.
Однако главная проблема, которую я не могу понять, заключается в следующем:
Как этот слепой робот узнает он не просматривает один и тот же узел несколько раз, если он продолжает возвращаться к одной и той же точке после того, как его поймали на всех oop?
Также, пожалуйста, предложите хорошие подходы к решению этих проблем наряду с любым опытом кого-либо есть. Как в таком сценарии работают такие методы поиска, как DFS, итеративное углубление DFS, восхождение на гору ios?