Оглавление:
Видео: Сделайте робота-бегуна в лабиринте: 3 шага (с картинками)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:54
Роботы-лабиринты появились в 1970-х годах. С тех пор IEEE проводит соревнования по решению лабиринтов под названием Micro Mouse Contest. Цель конкурса - создать робота, который как можно быстрее находит середину лабиринта. Алгоритмы, используемые для быстрого решения лабиринта, обычно делятся на три категории; случайный поиск, отображение лабиринта и методы следования правой или левой стене.
Наиболее функциональным из этих методов является метод следования по стене. В этом методе робот следует за правой или левой стенкой лабиринта. Если точка выхода соединена с внешними стенами лабиринта, робот найдет выход. В этой заметке приложения используется метод следования правой стене.
Аппаратное обеспечение
В этом приложении используются:
- 2 аналоговых датчика расстояния Sharp
- Датчик трекера
- Кодировщик
- Моторы и водитель мотора
- Силего ГринПАК SLG46531V
- Регулятор напряжения, шасси робота.
Мы будем использовать аналоговый датчик расстояния для определения расстояний до правой и передней стен. Датчики расстояния Sharp - популярный выбор для многих проектов, требующих точных измерений расстояния. Этот ИК-датчик более экономичен, чем гидролокаторы-дальномеры, но обеспечивает гораздо лучшую производительность, чем другие ИК-альтернативы. Существует нелинейная обратная зависимость между выходным напряжением датчика и измеренным расстоянием. График, показывающий зависимость между выходным сигналом датчика и измеренным расстоянием, показан на рисунке 1.
В качестве цели устанавливается белая линия на фоне черного цвета. Мы будем использовать датчик трекера для обнаружения белой линии. Датчик трекера имеет пять аналоговых выходов, и на выводимые данные влияют расстояние и цвет обнаруженного объекта. Обнаруженные точки с более высоким коэффициентом отражения инфракрасного излучения (белый цвет) приведут к более высокому выходному значению, а более низкий коэффициент отражения инфракрасного излучения (черный) приведет к более низкому выходному значению.
Мы будем использовать энкодер колеса Pololu, чтобы рассчитать расстояние, которое проходит робот. Эта плата квадратурного энкодера предназначена для работы с металлическими мотор-редукторами Pololu. Он работает, удерживая два инфракрасных датчика отражения внутри ступицы колеса Pololu 42 × 19 мм и измеряя перемещение двенадцати зубцов по ободу колеса.
Печатная плата драйвера двигателя (L298N) используется для управления двигателями. Контакты INx используются для управления двигателями, а контакты ENx используются для установки скорости двигателей.
Также регулятор напряжения используется для снижения напряжения с аккумуляторной батареи до 5 В.
Шаг 1: Описание алгоритма
Это руководство включает метод следования правой стене. Это основано на организации приоритета направления путем предпочтения самого правого направления. Если робот не может обнаружить стену справа, он поворачивает вправо. Если робот обнаруживает правую стену, а впереди нет стены, он идет вперед. Если справа от робота и спереди есть стена, она поворачивает налево.
Важное замечание: после того, как робот только что повернул вправо, нет стены для справки. Поэтому «поворот направо» осуществляется в три этапа. Двигайтесь вперед, поверните направо, двигайтесь вперед.
Кроме того, робот должен держаться на расстоянии от стены при движении вперед. Это можно сделать, настроив один двигатель быстрее или медленнее, чем другой. Окончательное состояние блок-схемы показано на рисунке 10.
Робота «Бегущий в лабиринте» можно очень легко реализовать с помощью одной настраиваемой ИС смешанного сигнала (CMIC) GreenPAK. Вы можете пройти все шаги, чтобы понять, как чип GreenPAK был запрограммирован для управления роботом-бегуном в лабиринте. Однако, если вы просто хотите легко создать робота «Бегущий в лабиринте», не разбираясь во всех внутренних схемах, загрузите программное обеспечение GreenPAK, чтобы просмотреть уже готовый файл дизайна GreenPAK робота «Бегущий в лабиринте». Подключите свой компьютер к GreenPAK Development Kit и нажмите программу, чтобы создать индивидуальную ИС для управления вашим роботом «Бегущий в лабиринте». На следующем шаге мы обсудим логику, которая находится внутри файла проекта GreenPAK робота «Бегущий в лабиринте», для тех, кто заинтересован в понимании того, как работает схема.
Шаг 2: Дизайн GreenPAK
Конструкция ГринПАК состоит из двух частей. Эти:
- Интерпретация / обработка данных с датчиков расстояния
- Состояния ASM и выходы двигателя
Интерпретация / обработка данных с датчиков расстояния
Важно интерпретировать данные с датчиков расстояния. Движения робота регулируются в соответствии с выходными сигналами датчиков расстояния. Поскольку датчики расстояния аналоговые, мы будем использовать ACMP. Положение робота относительно стены определяется путем сравнения напряжений датчиков с заданными пороговыми напряжениями.
Мы будем использовать 3 ACMP;
- Для обнаружения передней стены (ACMP2)
- Чтобы определить правую стену (ACMP0)
- Чтобы защитить расстояние от правой стены (ACMP1)
Поскольку ACMP0 и ACMP1 зависят от одного и того же датчика расстояния, мы использовали один и тот же источник IN + для обоих компараторов. Постоянное изменение сигнала можно предотвратить, задав для ACMP1 гистерезис 25 мВ.
Мы можем определять сигналы направления на основе выходных сигналов ACMP. Схема, показанная на рисунке 12, представляет собой блок-схему, показанную на рисунке 7.
Таким же образом схема, указывающая положение робота относительно правой стены, показана на рисунке 13.
Состояния ASM и выходы двигателей
Это приложение использует асинхронный конечный автомат или ASM для управления роботом. В ASM 8 состояний, по 8 выходов в каждом состоянии. Выходное ОЗУ можно использовать для настройки этих выходов. Состояния перечислены ниже:
- Начинать
- Контроль
- Отойдите от правой стены
- Близко к правой стене
- Поверните налево
- Вперед-1
- Поверните направо
- Вперед-2
Эти состояния определяют выходную мощность для драйвера двигателя и направляют робота. GreenPAK имеет 3 выхода для каждого двигателя. Два определяют направление двигателя, а другой выход определяет скорость двигателя. Движение двигателя в соответствии с этими выходами показано в следующих таблицах:
ОЗУ вывода ASM выводится из этих таблиц. Это показано на рисунке 14. Помимо драйверов двигателей есть еще два выхода. Эти выходы переходят в соответствующие блоки задержки, чтобы позволить роботу пройти определенное расстояние. Выходы этих блоков задержки также подключены к входам ASM.
ШИМ использовались для регулировки скорости двигателей. ASM использовался, чтобы определить, на каком ШИМ будет работать двигатель. Сигналы PWMA-S и PWMB-S устанавливаются в биты выбора мультиплексора.
Шаг 3:
В этом проекте мы создали робота, решающего лабиринты. Мы интерпретировали данные с нескольких датчиков, контролировали состояние робота с помощью ASM GreenPAK и управляли двигателями с помощью привода двигателя. Обычно в таких проектах используются микропроцессоры, но GreenPAK имеет несколько преимуществ перед MCU: он меньше, более доступен и может обрабатывать выходной сигнал датчика быстрее, чем MCU.
Рекомендуемые:
ИИ в роботе-лабиринте LEGO EV3: 13 шагов
Искусственный интеллект в LEGO EV3 - робот, управляющий лабиринтом: это простой автономный робот с некоторым искусственным интеллектом. Он предназначен для исследования лабиринта и, когда его снова помещают у входа, чтобы проехать через него к выходу и избежать тупиков. Это намного сложнее, чем мой предыдущий проект, который
Как сделать простого робота-паука на Хэллоуин: 4 шага (с картинками)
Как сделать простого робота-паука на Хэллоуин: это простой и забавный бот-робот для Хэллоуина! Bristlebots - отличные стартовые проекты для людей, изучающих основы схем и конструкции роботов. Используя головку зубной щетки для тела, небольшой мотор для движения и батарею
Сделайте робота, избегающего стены !: 6 шагов (с картинками)
Сделать робота, избегающего стен! Задача: создать с нуля работающего робота, способного избегать стен и препятствий. Вы когда-нибудь хотели создать робота, который действительно мог бы что-то делать, но никогда не имел для этого времени или знаний? Больше не бойтесь, эта инструкция предназначена только для вас
Как сделать робота с голосовым управлением: 3 шага (с картинками)
Как сделать робота с голосовым управлением: вы когда-нибудь хотели управлять вещами своим голосом? Тогда вы в нужном месте, вы можете управлять любыми вещами с помощью Arduino, вам просто нужно подключить эти вещи и объявить в программе. Я сделал простой голос управляемый робот, но вы можете подключиться
Создайте очень маленького робота: сделайте самого маленького в мире колесного робота с захватом: 9 шагов (с изображениями)
Создайте очень маленького робота: создайте самого маленького в мире колесного робота с захватом. Создайте робота объемом 1/20 куб. Дюйма с захватом, который может поднимать и перемещать мелкие предметы. Он управляется микроконтроллером Picaxe. На данный момент я считаю, что это может быть самый маленький в мире колесный робот с захватом. Без сомнения, ч