Вам нужна идея для робота, следующего по линии?

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

Ожидания:-

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

, 👍-1


1 ответ


1

Это на самом деле четыре проблемы, которые вы можете решить независимо друг от друга:

  1. Следование по линии
  2. Исследование, в том числе повторное прохождение трассы или лабиринта; принятие различных решений на развилках, которые он уже проходил; и запоминание уже опробованных вариантов;
  3. Картографирование, включая возможность подключения внутренней карты для отражения связей реального мира (включает ли эта развилка путь, который я уже исследовал с другого направления?);
  4. Маршрутизация, возможность сравнивать альтернативные маршруты между узлами для поиска кратчайшего из них.

Следование по линии довольно простое. Сначала заставьте его работать.

Исследование станет более «веселым» — вы будете пробовать разные пути, не пропуская ни одного, но и не попадая ни в какие петли.

Вероятно, существует целая литература о вычислительном решении лабиринтов. Будет полезно поискать некоторые из них и попробовать некоторые алгоритмы на вашем ПК, прежде чем применять их к роботу (потому что ПК намного быстрее; и у него нет проблем с управлением, ограничений памяти и задержек загрузки, как у робота.

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

,