Оглавление:

Сделайте робота-бегуна в лабиринте: 3 шага (с картинками)
Сделайте робота-бегуна в лабиринте: 3 шага (с картинками)

Видео: Сделайте робота-бегуна в лабиринте: 3 шага (с картинками)

Видео: Сделайте робота-бегуна в лабиринте: 3 шага (с картинками)
Видео: Найдет ли Муравей выход из настоящего лабиринта? Муравей VS Лабиринт. alex boyko 2024, Ноябрь
Anonim
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте
Сделайте робота-бегуна в лабиринте

Роботы-лабиринты появились в 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.

Рекомендуемые: