Современный мир трансформируется благодаря наступлению эпохи искусственного интеллекта и робототехники. Для реализации учебных программ отлично подходят учебные роботы, которые отличаются простотой в программировании и схемотехнике и имеют определенный набор датчиков и компонентов, позволяющих быстро собрать нужную конфигурацию для изучения той или иной темы.
Несмотря на существующее многообразие, роботов принято разделять на два основных класса: на мобильных роботов и на манипуляционных роботов. Большей популярностью в школах пользуются именно мобильные роботы. Наиболее классическими типами мобильных роботов являются колёсные и гусеничные роботы. Давайте рассмотрим основные принципы программирования движений, используя робототехнический набор КЛИК или КЛИК-2.
Несмотря на существующее многообразие, роботов принято разделять на два основных класса: на мобильных роботов и на манипуляционных роботов. Большей популярностью в школах пользуются именно мобильные роботы. Наиболее классическими типами мобильных роботов являются колёсные и гусеничные роботы. Давайте рассмотрим основные принципы программирования движений, используя робототехнический набор КЛИК или КЛИК-2.
Конструкция, приводящая в движение таких роботов – это шасси. Она состоит из каркаса, колес и двигателей.
С чего начинается движение?
Движение робота — это сложный процесс, который включает в себя поиск кратчайшего пути и построение карты окружающего пространства. Роботы должны ориентироваться в пространстве, избегать препятствия и находить оптимальный маршрут для достижения своих целей.
В колесных роботах движение запускают моторы. Вращаясь по часовой или против часовой стрелки вместе с колесами, они запускают движение робота. Подключаются данные двигатели к контроллеру через порты М1 и М2. После создания конструкции робота и подключения двигателей мы можем приступать к программированию.
Для программирования движения используются два блока:
Для программирования движения используются два блока:
- Задать на цифровой пин значение. Данный блок задает направление вращения двигателей (по часовой стрелке или против часовой стрелки);
- Установить на порт … ШИМ... Данный блок позволяет установить скорость вращения двигателя.
В данных блоках используются обозначения:
- PIN (пин) – это порт, который можно запрограммировать как цифровой вход/выход для работы с электронными модулями;
- ШИМ (широко-импульсная модуляция) – модулятор управления мощностью подключенного электронного модуля.
Таблица ниже поможет вам правильно указать в блоках движения необходимые данные для запуска двигателей.
Допустим, что двигатель подключён к порту М1, соответственно, необходимо прописать в блоке с «пин» цифру «4», а в блоке с «ШИМ» - «5». Далее необходимо задать направление и скорость.
С помощью таблицы попробуйте сами выяснить, какие значения необходимо прописать в блоках для двигателя, который подключён к порту М2.
Отметим, что если использовать блоки «задать на цифровой пин значение» и «Установить на порт ШИМ» для двух двигателей на «100», то робот будет двигаться вперед до тех пор, пока не разрядиться его аккумулятор.
Для остановки двигателя необходимо добавить эти же блоки движения, и в блоке ШИМ указать
значение «0»).
Для остановки двигателя необходимо добавить эти же блоки движения, и в блоке ШИМ указать
значение «0»).
Мы выяснили, что для прямолинейного движения нам необходимо подавать одинаковые значения на оба мотора. Для поворота робота при движении необходимо использовать разные значения (ШИМ) в блоках движения. То есть для того, чтобы наш робот повернул на месте направо, необходимо прописать в блоке с ШИМ, отвечающим за левый мотор, «100», а в блоке для правого мотора – «0».
Как вы думаете, какие значения необходимо задать ШИМ для движения по кругу?
Мы научили нашего робота двигаться, но сейчас он не различает препятствия. Рано или поздно при движении в помещении наш робот встретит препятствие. Для того, чтобы робот мог его объехать, необходимо подключить датчик, измеряющий расстояние до препятствия.
Избегание препятствий
За измерение расстояния до препятствия отвечает ультразвуковой датчик.
Ультразвуковой датчик для Arduino работает по принципу эхолокации. Он измеряет расстояние между датчиком и объектом, излучая звуковые импульсы в пространство и принимая отражённый от препятствия сигнал.
Датчик состоит из ультразвукового передатчика и приёмника. На плате расположены:
- Trig (T) — Отправка ультразвукового сигнала;
- Echo (R) — получение отраженного ультразвукового сигнала.
Важно: так как в основу принципа действия положен ультразвук, датчик не подходит для определения расстояния до звукопоглощающих объектов — оптимальными для измерения являются предметы с ровной гладкой поверхностью.
Давайте рассмотрим особенности программирования УЗ-датчика в КЛИК. Для подключения датчика к контроллеру необходимо проверить, подходит ли выбранный порт. Для этого воспользуйтесь таблицей.
В mBlock5 за получение данных с датчика отвечает следующий блок:
Для корректной работы программы необходимо указать значения trig и echo. Так если мы подключаем датчик к порту 1, то при использовании данного блока в поле trig необходимо указать «11», а в поле echo «10».
Блок данных не применяется самостоятельно. Для его работы необходимо воспользоваться логическим блоком, который, в свою очередь, является условием для блока: «Оператор условия».
Блок данных не применяется самостоятельно. Для его работы необходимо воспользоваться логическим блоком, который, в свою очередь, является условием для блока: «Оператор условия».
Данная программа позволяет нашему роботу останавливаться при обнаружении препятствия, которое находится на расстоянии менее 10 см.
В этой статье мы с вами разобрали принцип работы двигателей и ультразвукового датчика для осуществления движения робота и избегания препятствий.
В этой статье мы с вами разобрали принцип работы двигателей и ультразвукового датчика для осуществления движения робота и избегания препятствий.
Попробуйте написать программу для нашего робота, которая позволит ему непрерывно двигаться, избегая препятствия.