Вездеход из лего ev3

Обновлено: 28.03.2024

Робомобили без водителей развозят пиццу. Такси без водителей развозят людей. Фуры без водителей развозят многотонные грузы. Если разобрать все эти эффектные проекты, мы придем к разным типовым задачам, важной из которых является поиск и оптимизация маршрутов. Такие задачи решаются с помощью теории графов. Тема эта непростая, изучается, в основном, уже в университете или, как минимум, в старших профильных классах. Но в этом посте я покажу, как с помощью LEGO EV3 освоить теорию графов уже в средней школе. Причем без зубрежки, а на увлекательном, прикладном уровне.


Автомобильный конвейер на основе EV3 от Danny’s LAB. Реально собирает LEGO-машинки. Но речь немного не о нем.

Чтобы беспилотный транспорт сам доехал куда надо, он должен уметь строить маршрут между заданными точками. Желательно кратчайший и согласующийся с правилами движения. Для моделирования и решения такой задачи нам потребуется мобильная платформа LEGO EV3 и, собственно, карта, по которой эта платформа будет двигаться.

Мобильная платформа LEGO EV3

Наша мобильная платформа должна быть оснащена датчиками и сервоприводами. Все необходимое можно найти в базовом образовательном наборе LEGO Mindstorms EV3 45544. Вот как примерно выглядит платформа:

Сборка не требует знаний электроники и занимает не более получаса. Платформа имеет все необходимое, чтобы подняться на высокий уровень абстракции в решении задачи.

Карта дорог

Изобразим карту дорог в виде сетки. Линии — это дороги, точки пересечения — это перекрестки дорог:

Все отрезки дороги между перекрестками имеют одинаковую длину, движение на них двухстороннее. Некоторые дороги перекрыты — они помечены «кирпичом». Кроме того, все повороты на нашей карте кратны 90 градусам. Усложнение сетки дорог не повлияет на принцип решения задачи, и для наглядности мы обойдемся довольно простым вариантом. Наша задача — проехать из точки А в точку В про кратчайшему пути.

У каждого перекрестка есть свои координаты — номера линий по горизонтали и вертикали. В теории графов такие перекрестки называются вершинами. Дороги между перекрестками обозначены стрелками. В теории графов это ребра. Все дороги двусторонние (стрелки в обе стороны) значит граф неориентированный. Стоимость (время проезда) для всех участков дорог одинаковая, значит граф невзвешенный.

Матрица смежности

Граф, представленный картинкой, наглядно демонстрирует карту и связи внутри нее. Но на компьютере — в том числе на EV3 — обрабатывать графическую информацию трудоемко. Оптимальней закодировать граф матрицей, матрицей смежности.

С матрицей смежности наш робот уже может решить задачу — найти кратчайший путь от А до B. Но матрица у нас двухмерная, а в EV3 можно хранить только одномерные массивы. Мы можем легко перейти к одномерному массиву через сдвиг n*Y+X, где n — размер матрицы.

Алгоритм Дейкстры

Для решения будет использоваться алгоритм Дейкстры — алгоритм поиска кратчайшего пути между одной вершиной графа и всеми остальными. Алгоритм был изобретен в 1956 году голландским ученым Эдсгером Дейкстрой. Если объяснять максимально просто, то в основе алгоритма — последовательное продвижение к соседним вершинам графа при постоянной оценке пройденного пути. Хороший иллюстративный пример и базовую блок-схему алгоритма можно найти в статье на Википедии.

В нашем случае блок-схема алгоритма Дейкстры (наша «дейкстра») будет выглядеть следующим образом:

Разумеется, помимо алгоритма Дейкстры, нашему роботу на основе LEGO EV3 понадобится ряд более простых программных модулей (подпрограмм): движение по линии до перекрестка, подсчет перекрестков, повороты в оба направления, определение своего местоположения относительно абсолютной системы координат X,Y, Θ, где X,Y — координаты на сетке, Θ — текущее направление робота (выраженное через код, например 1 — вверх, 2 — направо, 3 — вниз, 4 — налево).

Бонусная тема: одометрия

В задачи по перемещению на местности можно интегрировать возможности одометрии — например, чтобы робот в лабиринте понимал, где он находится и куда движется. С помощью одометрии перемещение робота оценивается, исходя из данных о движении приводов (вращении двигателей). Зная диаметр колес, мы можем вычислить расстояние, которое проехал робот за определенное время. Зная угловые скорости колес, можем определить угол, на который робот повернулся относительно первоначального. А установив разные угловые скорости, можем настроить движение робота по дуге и при этом определять «петли» при передвижении робота, как на видео ниже:

В школах много внимания уделяется тригонометрии, но ее практическое применение никак не освещается. Задачи одометрии, решаемые с помощью LEGO EV3, показывают, зачем вообще может понадобиться тригонометрия. На практике одометрия используется не только в транспорте, но и, например, для отслеживания положения инструмента в станках с ЧПУ (числовым программным управлением).

Где можно всему этому научиться

Позволю себе немного рекламы. Задачу, описанную выше, и более сложные задачи вполне могут решать ребята 7-9 классов, которые прошли подготовку в клубах робототехники. Я веду один такой клуб, «Робит», в Екатеринбурге — вот наша программа обучения. Видео с демо к задаче выше мы снимали на одном из занятий. Тогда одна восьмиклассница из нашего клуба за 6 часов изучила основы теории графов и решила аналогичную задачу.

Как выбрать среду программирования LEGO EV3

Решение задач невозможно без выбора подходящей среды программирования для LEGO EV3. О новинках в этой области есть отдельный материал. Я стараюсь научить ребят выбирать язык программирования под задачу, а не задачу под тот язык программирования, синтаксис которого они изучили. Но в младших классах сложно сразу работать в текстовом языке программирования, поэтому мы начинаем изучать алгоритмы в графических языках, где порог вхождения ниже. С 10 лет ученики осваивают графическую среду EV3 Mindstorms. Некоторые соревнования по робототехнике ограничивают инструментарий только этой средой.

С 12 лет ребята начинают осваивать среду EV3 Basic. Среда сравнительно проста в освоении, и Basic предлагает для платформы LEGO EV3 мощную функциональность. Помимо этого, мы программируем в среде EV3Dev, куда можно установить много разных языков — Python, Java, C. С помощью EV3Dev ребята получают первый опыт в трендовых, востребованных языках. Единственный минус EV3Dev — это сравнительно более низкая скорость опроса датчиков по сравнению с другими средами. При правильном подходе LEGO EV3 становится отличным инструментом для знакомства с программированием. Когда ученики видят, как их код вдыхает жизнь в конструктор, это превосходная мотивация.

А что дальше?


Изучив подобные алгоритмы еще в средней школе, ребята смогут в дальнейшем закреплять свои знания и, например, участвовать в проектных и предметных олимпиадах, которые дают реальные бонусы — например, 100 баллов автоматом по ЕГЭ при поступлении в вузы.

Звезда активна
Звезда активна
Звезда активна
Звезда активна
Звезда не активна

В образовательном наборе конструктора Mindstorms Education EV3 всё обучение робототехники в классе ведётся с помощью приводной платформы, на колёсном ходу. Мне же захотелось сделать точно такую же платформу, чтобы на неё точно также можно было установить все датчики, но только, чтобы она передвигалась с помощью гусениц.

Приделываем гусеницы к приводной платформе EV3

Получилась вот такая платформа. Высота платформы уменьшилась примерно на 4,5 мм, поэтому датчик цвета нужно поднимать на 1 деление, например, чтобы идти по линии. Конечно, он тогда получается высоковато, но всё равно работает. Вместо стандартного крепления к приводной платформе, нужно будет сделать, например, вот такое:

Крепление датчика цвета на приводную платформу EV3 с гусеницами

Кроме датчика цвета, все остальные датчики и захват работают нормально. Их также можно прикрепить к платформе сразу все вместе, что видно на видео.

Теперь, что касается деталей. Детали использованы из стартового образовательного набора Core Set LEGO Mindstorms Education EV3, никакие дополнительные вам детали не понадобятся. Полный перечень смотрите в инструкции для сборки.

Итак, вот инструкция по сборке приводной платформы EV3 на гусеничном ходу.

В версии от 04.03.2015 исправлен список деталей.

А вот, на всякий случай, инструкция для сборки стандартной приводной платформы. Также здесь есть инструкции для крепления датчиков.

Звезда активна
Звезда активна
Звезда активна
Звезда активна
Звезда активна

Селеноход – это луноход, созданный российской командой для участия в конкурсе Google Lunar X PRIZE. В настоящий момент проект закрыт, но интересная конструкция с не менее интересной системой передвижения по лунной поверхности остались. С помощью стартового образовательного набора LEGO MINDSTORMS Education EV3 (45544) возможно собрать модель Селенохода, который будет передвигаться по такому же принципу и так же поднимать и опускать «голову».

Селеноход EV3 (Selenokhod EV3)

Моделька создавалась на основе этого видео: youtu.be/dc18qH9Lhu8. При создании модели я не ставил цель создать средство передвижения с хорошей проходимостью. При ходьбе корпус Селенохода поднимается не слишком высоко, но этого достаточно, чтобы двигаться по ровным поверхностям. Для имитации солнечной батареи я использовал крышку от батарейного отсека модуля EV3.

Для демонстрации Селенохода написана простая программа:

  1. После включения мигает красная светодиодная подсветка. В это время нужно установить лыжи Селенохода сверху, нажимая верхнюю или нижнюю кнопки. После установки лыж или, если установка лыж не требуется, можно нажать на центральную кнопку, чтобы робот сложил «голову» и принял исходное положение.
  2. После того как «голова» легла, начинает мигать оранжевая подсветка. Это значит, что Селеноход готов к «исследованию Луны». Нужно нажать центральную кнопку на модуле EV3, чтобы его разбудить. Обратите внимание на то, что центральную кнопку можно нажать, не поднимая «головы» Селенохода: нажимать можно прямо на «солнечную батарею» робота.
  3. Во время «исследования лунной поверхности» Селеноход идёт вперёд, пока не обнаружит препятствие. Если ему попалось препятствие, он оступает назад, поворачивается на произвольный угол и продолжает своё путешествие. Периодически робот опускает «голову» как бы исследуя лунную поверхность.
  4. Остановить Селеноход можно нажав на центральную кнопку модуля EV3. После этого он доделает текущее движение до конца, затем сложит голову и завершит выполнение программы.

Как работает демонстрационная программа можно посмотреть на видео:

Селеноходом также получится управлять со смартфона с помощью программы LEGO Mindstorms Commander. Вот видео:

Для каждого мотора я использовал три отдельные кнопки FRWRD/BACK TILT и LEFT/RIGHT TILT для управления с помощью наклонов.

Пульт управления Селеноходом в приложении LEGO Mindstorms Commander
Настройка первой кнопки в приложении LEGO Mindstorms Commander для управления Селеноходом
Настройка второй кнопки в приложении LEGO Mindstorms Commander для управления Селеноходом
Настройка третьей кнопки в приложении LEGO Mindstorms Commander для управления Селеноходом

Инструкция для сборки Селенохода и демонстрационная программа ниже:

Инструкция для сборки Селенохода (Selenokhod) из базового набора конструктора LEGO Mindstorms Education EV3 (45544).

Демонстрационная программа для Селенохода (Selenokhod) собранного из базового набора конструктора LEGO Mindstorms Education EV3 (45544).

Для запуска программы требуется ПО LEGO Mindstorms Education EV3 версии 1.1.1 или выше.

Ещё один способ управления сееноходом показан на этом видео:

Комментарии

Я попробовал открыть файл selenokhod.ev3 на другом компьютере (пункт меню "Файл -> Открыть проект. "): проект открылся без ошибок и все блоки на месте, см. картинку.


Проверьте версию программы LEGO Mindstorms EV3 (пункт меню "Справка -> Информация о LEGO MINDSTORMS EV3"). У меня версия 1.0.1, установленная для учителя, см. картинку.


В свойствах то да, все в порядке. В палитре пусто и в самой программе. Скрин отправила Вам на почту.


Прикрепил ваш скриншот к комментарию. Теперь понятно, что не так. У меня тоже пусто в версии 1.0.1. Обновите LEGO Mindstorms EV3 до версии 1.1.1 и всё откроется, см. картинку ниже.

На этой странице собраны инструкции по сборке роботов или механизмов из стартового образовательного набора LEGO MINDSTORMS Education EV3 (45544). Кроме инструкций вы найдёте здесь видео, показывающие возможности собранных моделей, и демонстрационные программы. Для некоторых моделей даны рекомендации, с помощью каких приложений можно дистанционно управлять роботами и как настраивать эти приложения.

Стартовый набор LEGO Mindstorms EV3


Имея под рукой образовательный набор LEGO Mindstorms EV3 (45544) и шарики для пинг-понга вполне можно собрать пушку, стреляющую шариками. Пушкой можно управлять со смартфона с помощью приложения RoboCam.


Если вы горите желанием сделать робота с большими колёсами из образовательного набора LEGO Mindstorms EV3 (45544), но у вас нет таких колёс, не расстраивайтесь. Вы можете изготовить их самостоятельно из толстого гофрированного картона. Как сделать робота с большими картонными колёсами, чтобы колёса нормально крутились и не отваливались, я предлагаю вам прочитать в этой статье.


Мне очень понравился проект робота-художника EV3 Print3rbot, в котором, к сожалению, используются нестандартные детали, которые нужно печатать на 3D-принтере. Я решил собрать такого же робота, но используя детали только из образовательного набора LEGO Mindstorms EV3 (45544). И у меня это получилось, правда, пришлось добавить ещё резинок.


Роботом, собранным из конструктора LEGO Mindstorms EV3, вы легко можете управлять дистанционно от первого лица. Для этого вам дополнительно понадобится два смартфона, с установленным приложением RoboCam на один из них. Давайте познакомимся подробнее с приложением RoboCam и научимся им пользоваться.


Используя конструктор LEGO MINDSTORMS EV3 и веб-камеру, вы сможете провести эксперимент по обнаружению лиц в помещении. Для эксперимента подойдёт любой колёсный робот EV3, который умеет вращаться на месте, и на который вы сможете закрепить веб камеру. Робот будет сканировать помещение, поворачиваясь вокруг, а, увидев лица, будет останавливаться и дёргаться столько раз, сколько лиц увидел.


С помощью веб-камеры и образовательного набора конструктора LEGO MINDSTORMS Education EV3 (45544) вполне можно сделать робота, отслеживающего двигающийся объект. Робот сможет не только поворачивать камеру в сторону объекта, но и выдерживать определённую дистанцию до него, т.е. подъехать поближе, если объект удаляется от камеры, или отъехать подальше, если объект приближается. О том, как это сделать поговорим в этой статье.


Гимнаста выполняющего различные упражнения на турнике сделать достаточно просто, если у вас есть образовательный конструктор LEGO MINDSTORMS Education EV3 (45544). Я научил гимнаста выполнять три упражнения, а вы можете научить его и другим различным трюкам.


Гоночную машину, имитирующую болид формулы 1, можно сделать с помощью образовательного набора LEGO MINDSTORMS Education EV3 (45544). В машине сидит водитель и держится за руль. Машина дистанционно управляется с Android-смартфона.


Робот мойщик пола передвигается за счёт поворотов двух дисков параллельно полу. С помощью резинок на диски можно закрепить смоченные моющим раствором тряпки и тогда ваш пол станет немного чище.


Этот робот с клешнёй умеет не только хватать, но и приподнимать предметы. И оба эти действия он делает с помощью всего одного мотора. А за счёт резиновых кончиков клешни, робот может приподнимать даже скользкие предметы. Ну и конечно, то, что робот схватил, он может перевезти на другое место.


Селеноход – это луноход, созданный российской командой для участия в конкурсе Google Lunar X PRIZE. В настоящий момент проект закрыт, но интересная конструкция с не менее интересной системой передвижения по лунной поверхности остались. С помощью стартового образовательного набора LEGO MINDSTORMS Education EV3 (45544) возможно собрать модель Селенохода, который будет передвигаться по такому же принципу и так же поднимать и опускать «голову».


В базовом образовательном наборе LEGO Mindstorms Education EV3 (45544) оказалось достаточно шестерёнок и других деталей, чтобы собрать часы с часовой и минутной стрелками. Кроме того, что часы точно отображают время, они издают звуковой сигнал каждый час.


В образовательном наборе конструктора Mindstorms Education EV3 всё обучение робототехники в классе ведётся с помощью приводной платформы, на колёсном ходу. Мне же захотелось сделать точно такую же платформу, чтобы на неё точно также можно было установить все датчики, но только, чтобы она передвигалась с помощью гусениц.

Эти роботы дадут тебе возможность в полной мере познакомиться с серией EV3. В комплекте идут инструкция по сборке, задания для программирования и инструмент программирования, собранные в новом приложении для программирования EV3. Новичкам в создании роботов рекомендуется начинать с этой модели.

Если ты еще никогда не собирал роботов LEGO MINDSTORMS, мы рекомендуем начать с этого! TRACK3R представляет собой робота высокой проходимости на гусеничном ходу с четырьмя взаимозаменяемыми инструментами. Начни с создания корпуса робота, а затем познакомься с возможностями, которые дают 4 разных инструмента TRACK3R: измельчитель с двойным лезвием, разрушительная базука, захватная клешня и молот.

Управляй роботом TRACK3R с планшета или смартфона при помощи бесплатного приложения Robot Commander.


Это шестилапое создание не только выглядит как скорпион, но и ведет себя соответственно. Он может резко развернуться, схватить предмет своей клешней-дробилкой, а хвост-молния готов дать отпор всему, что окажется на его пути.

Управляй роботом SPIK3R с планшета или смартфона при помощи бесплатного приложения Robot Commander.


Один из самых популярных роботов R3PTAR (высота — 35 см) может скользить по полу как настоящая кобра и с нереальной скоростью атаковать предметы своими красными клыками.

Управляй роботом R3PTAR с планшета или смартфона при помощи бесплатного приложения Robot Commander.


Робот GRIPP3R создан для поднятия тяжестей У него достаточно сил, чтобы своими мощными захватами поднять и кинуть жестяную банку.

Управляй роботом GRIPP3R с планшета или смартфона при помощи бесплатного приложения Robot Commander.


EV3RSTORM — самый усовершенствованный робот LEGO® MINDSTORMS®. Высокий уровень интеллекта и боевая мощь в сочетании с разрушительной базукой и вращающимся тройным лезвием делают робота EV3RSTORM непобедимым.

Загрузи бесплатное приложение Robot commander LEGO® MINDSTORMS® и управляй роботом EV3RSTORM с планшета или смартфона.


Роботы, созданные фанатами

Эти роботы были созданы самыми преданными поклонниками; они могут стать источником нового необыкновенного опыта в сборке и программировании. Мы рекомендуем приступать к сборке этих моделей после того, как тебе удалось собрать 2–3 робота из основной серии.

Разработчик: Кеннет Равнхой Мадсен (Kenneth Ravnshøj Madsen)

Роботом-погрузчиком Bobcat® с дистанционным управлением можно управлять при помощи кнопок ИК-маяка, заставляя его двигаться или поднимать предметы.


Разработчик Ральф Хемпел (Ralph Hempel)

Это робот, который умеет рисовать? Точно! Используя обычный маркер, этот принтер рисует линии на бумаге для кассовых аппаратов. Воспользуйся существующей программой,чтобы написать LEGO EV3, или создай свою собственную, чтобы нарисовать всё, что захочется!


Разработчик Лоренс Валк (Laurens Valk).

Хочешь грузовик с дистанционным управлением? Понятно! Крутой автомобиль для увлекательной игры. RAC3 легко модифицируется для движения с большей скоростью за счет дополнительных приводов; кроме того, к нему можно добавить специально собранный прицеп и использовать грузовик как средство для транспортировки.


Разработчик Лассе Стенбэк Лауесен (Lasse Stenbæk Lauesen).

Очаровательный робот-трицератопс может передвигаться и поворачиваться на четырёх ногах.


Разработчик Марк-Андре Базергуи (Marc-Andre Bazergui)

Этот робот — забавный сумасбродный компаньон, реагирующий на ИК-маяк своего друга-жучка. Вы можете управлять роботом KRAZ3 с помощью настраиваемой программы, ИК-маяка или запрограммировать его так, чтобы он двигался по комнате за своим другом-жучком. Разработчик Марк-Андре Базерги (Marc-Andre Bazergui)


Разработчик Вассилис Чриссантакопулос (Vassilis Chryssanthakopoulos)

Робот, созданный по мотивам R2D2 из «Звездных войн», может общаться, следовать за владельцем или перемещаться по комнате туда, куда ему укажут, — через ИК-маяк. Он поддерживает большой набор сценариев, которые легко запрограммировать или расширить, используя новое программное обеспечение EV3.


Разработчик Даниэле Бенедеттелли (Daniele Benedettelli)

Готов сыграть рок-н-ролл? На гитаре LEGO можно играть почти как на настоящем инструменте. Ударяй по одной струне, перебирай пальцами по безладовому грифу и создавай звуки, используя тремоло-систему, чтобы сыграть самые невероятные гитарные соло!


Разработчик Мартин Боогаартс (Martyn Boogaarts)

Дружелюбный робот-помощник, у которого лучше всего получается перемещаться по линиям разного цвета при помощи датчика освещенности, который позволяет ему обнаруживать препятствия на своем пути и реагировать на них. Робот может перемещаться самостоятельно или управляться с помощью ИК-маяка.


Разработчик Рикардо Оливейра (Ricardo Oliveira)

Этот робот хочет поиграть с тобой. Положи красный мяч под стаканчик, используй ИК-маяк, чтобы задать свой уровень, и посмотри, как робот меняет стаканчики. Теперь тебе нужно угадать, где же спрятан мяч? Предложи друзьям посоревноваться, кто быстрее всех найдет красный мяч!


Разработчик: Кеннет Равнхой Мадсен (Kenneth Ravnshøj Madsen)

Этот робот поможет рассортировать все имеющиеся у тебя балки LEGO®Technic. Просто вставь балку в механизм, а MR-B3AM определит её цвет и размер.


Разработчик Марк Кросби (Mark Crosbie)

Этот робот-бульдозер управляется с помощью ИК-маяка, но может двигаться и самостоятельно, объезжая препятствия, пока расчищает дорогу и передвигает предметы своим бульдозерным ковшом.


Разработчик Мартин Боогаартс (Martyn Boogaarts)

Эта игра в стиле традиционных игровых автоматов проверяет скорость реакции. Робот поднимет диски, а ты должен как можно быстрее ударить по ним молотком. Предложи друзьям устроить соревнование, чтобы выяснить, кто из вас быстрее всех!


Конкурс по сборке Remix Challenge

Собирай крутых новых роботов, смешивая детали LEGO® MINDSTORMS® с деталями своего любимого набора из серии LEGO Technic. LEGO MINDSTORMS и LEGO Technic — идеальное сочетание для создания совершенно нового семейства роботов LEGO с классным дизайном и интересными возможностями. Нажми на изображения ниже, чтобы изучить и построить модели-победители ежегодного конкурса LEGO Remix Challenge: «Часы с кукушкой», собранные из деталей наборов EV3 (31313) и «Грузовой вертолёт» LEGO Technic (42052), и DOODLEBOT, собранный из деталей наборов EV3 и «Экстремальные приключения» LEGO Technic (42069).

Создавай собственные рисунки с помощью модели DOODLEBOT от LEGO® MINDSTORMS® или же переключи её в режим автопортрета, чтобы она нарисовала саму себя. Положи под руку робота чистый лист бумаги, дай ему карандаш и создавай свои шедевры, управляя им с помощью пульта ДУ EV3. Робот уже запрограммирован на три различных режима рисования.

DOODLEBOT — победитель конкурса сборки моделей LEGO MINDSTORMS Remix Challenge 2017 года. Его построили из деталей двух популярных наборов: LEGO MINDSTORMS EV3 (31313) и «Экстремальные приключения» LEGO Technic (42069).

Читайте также: