Творческая работа «Мой робопес из ЛЕГО»
Робототехника в современной среде набирает большие обороты. Каждый день появляются новые технологичные роботы и новые решения разных проблем в обществе. Все больше ребят знакомятся с этой наукой. Увеличивается количество кружков, где можно заниматься конструированием и программированием роботов. Существует огромное количество робототехнических конструкторов. Компания LEGO имеет свое решение в данной образовательной сфере. Это набор LEGO Mindstorms EV3, который я буду использовать в своем исследовании.
Стоит отметить, что в наше время роботы могут не только заменять физический монотонный труд, но и быть полезными друзьями или даже питомцами. В детских магазинах часто можно встретить разные интерактивные игрушки, а также роботов питомцев. Например, робокошки, робособаки, роботы птицы и многое другое. Это удачное решение для тех людей, у которых есть аллергия на шерсть, но они очень хотят себе питомца. Так же такие животные не требуют питания, кроме как электричества.
Я давно мечтаю о своем питомце, а именно о собаке. Но пока родители мне не разрешают заводить лохматого друга. На кружке робототехники мы собирали разных роботов и учились их программировать. Поэтому мне стало интересно, смогу ли я собрать робопса и запрограммировать его так, чтобы его поведение было таким же, как и у настоящей собаки. Этим и обусловлен выбор моей темы.
Актуальность моего исследования заключается в том, что детям важно научится собирать роботов своими руками, уметь их программировать. Ведь робототехника может помочь нам в решении реальных проблем. Она учит анализировать природные процессы, визуализировать полезные навыки из жизни, которые можно применять в решении своих насущных вопросов.
Цель моей работы заключается в создании робопса при помощи конструктора LEGO Mindstorms EV3.
Задачи:
Подробнее изучить возможности конструктора Mindstorms EV3;
Изучить среду программирования;
Сконструировать модель робопса;
Запрограммировать робота
Протестировать робота, исправить ошибки
Объект исследования – конструктор LEGO Mindstorms EV3.
Предмет – принцип построения робота на основе конструктора LEGO Mindstorms EV3.
Гипотеза:
Изучение особенностей конструктора Mindstorms EV3 поможет создать робопса самостоятельно, поможет запрограммировать его поведение.
Методы исследования:
анализ литературных источников и материалов сети Internet;
моделирование;
эксперимент.
Результаты исследовательской работы будут полезны на занятиях по робототехнике, физике, технологии.
LEGO Mindstorms — образовательный конструктор, предназначенный для разработки робота, и его программирования. LEGO Mindstorms EV3 была представлена в 2013 году.
Данный конструктор содержит в себе множество разнообразных деталей. Можно разделить все детали по видам или категориям. На рисунке 1 представлены балки, которые исполняют роль каркаса.
Рис 1. Балки
Следующая группа деталей служит для соединения балок между собой, с блоком и датчиками. Детали, имеющие крестообразное сечение, называются осями (иногда штифтами) и служат для передачи вращения от моторов к колесам и шестерням. Детали, похожие на цилиндры (имеющие в сечении окружность) называются пинами (от англ. pin - шпилька).
Рис 2. Соединительные элементы
Следующую группу деталей называют коннекторами. Их главная задача - соединение балок в различных плоскостях, изменение угла соединения деталей и подсоединение датчиков к роботу.
Рис 3. Коннекторы
Переходим к следующей группе деталей. Шестерни предназначены для передачи вращения от моторов к другим элементам конструкции робота. Как правило, это колеса, но в тоже время шестерни могут широко применяться и в различных конструкциях роботов, не предполагающих вращение.
Рис 4. Шестерни
Ну и, конечно же, движение в пространстве нашему роботу обеспечивают различные колеса и гусеницы, представленные в наборе.
Рис 5. Колеса, гусеницы
В набор Lego mindstorms EV3 входят два больших мотора. Моторы выполняют роль мышц или силовых элементов нашего робота. Большие моторы, наиболее часто используются для передачи вращения на колеса, тем самым, обеспечивая движение робота. Можно сказать, что эти моторы выполняют ту же роль, что и ноги человека.
Рис 6. Большой сервомотор
Один средний мотор, который также входит в набор Lego mindstorms EV3 выполняет роль движущей силы для различного навесного оборудования робота (клешни, модули захвата, различные манипуляторы) По аналогии с большими моторами отведем среднему мотору ту же роль, которую у нас выполняют руки.
Рис 7. Средний сревомотор
Датчики (ультразвуковой, датчика касания и датчик, позволяющий распознавать цвета.) входящие в набор Lego mindstorms, представляют роботу необходимую информацию из внешней среды: Главная задача программиста - научиться извлекать и анализировать информацию, поступающую с датчиков, а затем подавать верные команды на моторы для выполнения определенных действий. Ультразвуковой датчик EV3 позволяет измерять расстояние до объектов. Датчик касания позволяет роботу реагировать на касания, распознает три ситуации: прикосновение, щелчок и освобождение. Также способен определить количество нажатий, как одиночных, так и множественных. Датчик цвета дает возможность роботу определять цвет поднесенного к нему предмета, измеряет степень освещенности, рассеянный свет и отраженный свет.
Рис 8. Датчики
Ну и основным элементом нашего конструктора является главный блок EV3. В этом корпусе заключен мозг нашего робота. Именно здесь выполняется программа, получающая информацию с датчиков, обрабатывающая её и передающая команды моторам.
Рис 9. Микроконтроллер
Также в набор входят соединительные кабели и USB провод.
При создании робота и программы для него, необходимо понимать суть работы каждого датчика т.к. данные знания дадут возможность правильно рассчитывать траекторию движения робота, его функциональность.
Разобравшись с деталями Lego Mindstorms EV3, рассмотрим его программное обеспечение (ПО). ПО Mindstorms EV3 основано на LabVIEW, графическом языке программирования, которым пользуются ученые и инженеры по всему миру. ПО предоставляет возможность перетаскивать и размещать командные блоки.
Таким образом, чтобы писать программы, следует размещать блоки функциональности на схеме. В зависимости от типа блока, каждый блок может быть сконфигурирован. Например, «Средний Мотор» имеет 5 режимов работы:
1. выключить,
2. включить и вращать,
3. включить в течение определенного количества секунд,
4. включить и повернуть на определенный градус,
5. включить и повернуть фиксированное число раз.
Есть широкий спектр программных блоков на выбор. Они сгруппированы в шесть категорий:
1. действие (зеленый),
2. управление потоком (оранжевый),
3. датчики (желтый),
4. операции над данными (красный),
5. дополнительные (синий),
6. мои Блоки (циановый).
Интуитивно понятный интерфейс позволяет сначала создавать простые программы, а затем продуктивно развивать свои навыки программирования, делая возможным создание сложных многоуровневых программ и проведения различной экспериментальной работы.
Перед тем, как начать создавать робота пса на основе конструктора Mindstorms EV3, я разделила свою работу на несколько этапов:
составление задачи: какие действия должен выполнить робот;
самостоятельная сборка робота;
программирование робота на ПК согласно условиям задачи;
выгрузка материала непосредственно в робота;
тестирование.
Задача робота показать максимальное поведение настоящей собаки, он должен поднимать голову, вставать на лапы, издавать характерные звуки, показывать анимацию.
Следующий этап моей работы - это сборка робота. На сайте LEGO в свободном доступе есть множество инструкций, я нашла подходящую с роботом псом. Сборка робота заняла у меня немного времени, хотя шагов было 133. Вот что у меня получилось. На рисунке вы можете увидеть собранную модель робопса. В его конструкцию входят 2 больших сервомотора, которые берут на себя функцию ног. Средний сервомотор поднимает его голову. В этом помогает нам зубчатая передача и червячная передача. Так же к контроллеру подсоединен датчик цвета, который мы будем использовать, чтобы дать ему косточку. Датчик касания располагается на спине, чтобы пес чувствовал, когда мы будем его касаться.
Рис 10. Мой робопес
Следующий этап-это программирования робота в среде Lego Mindstorms EV3 на ПК. Для осуществления поставленной задачи потребовалось использовать метод исследования «эксперимент», изучить множество материала, составить большое количество элементарных программ для выполнения роботом несложных действий. После этого мне стало ясно – для того чтобы робот был способен выполнить весь комплекс действий, согласно поставленной мной задаче, нужно прописать в программе всю цепочку действий, каждый шаг, каждое движение. Иллюстрация полученной программы представлена в приложении.
Выгрузка материала непосредственно в робота. Подключение робота к ПК осуществляется нескольким способами: через порт USB, Bluetooth соединение или Wi-Fi соединение. Я выбрала порт USB , т.к. в этом случае робот привязан к компьютеру и программу на выполнение можно запускать прямо из среды программирования. Кроме того, во время выполнения программы появляется возможность визуально контролировать ход её выполнения (заголовки выполняющихся в данный момент программных блоков будут мерцать), можем отслеживать на компьютере. Также можно наблюдать текущие показания датчиков всё время, пока робот остается подключенным к среде программирования.
Таким образом, благодаря выбранной технологии передачи данных, готовая программа загрузилась просто и очень быстро.
Проверка проделанной работы.
Органично сконструированная роботизированная собака, после загруженной в неё программы, выполнила все действия, согласно изложенным условиям.
Таким образом, в ходе моей исследовательской работы цели и задачи были полностью достигнуты. Гипотеза подтвердилась, так как я смогла разделить свою работу на несколько этапов. По окончанию проекта у меня сформировались следующие навыки:
самостоятельно решать технические задачи в процессе конструирования роботов (планирование предстоящих действий, самоконтроль, применять полученные знания, приемы и опыт конструирования с использованием специальных элементов и т.д.);
создавать действующие модели роботов на основе конструктора LEGO;
создавать программы на компьютере на основе компьютерной программы
передавать (загружать) программы;
корректировать программы при необходимости;
демонстрировать технические возможности роботов;
излагать логически правильно действие своей модели (проекта).
Клаузен, П. Компьютеры и роботы [Текст] / Пер. с нем. С.И. Деркунской. – Москва: Мир книги, 2019. – 48 с.
Копосов, Д.Г. Первый шаг в робототехнику: практикум для 5-6-го классов [Текст]: учеб. пособие / Д.Г. Копосов. - Москва: Бином. Лаборатория знаний, 2018. – 286 с.
Овсяницкая, Л.Ю. Курс программирования робота EV3 в среде Lego Mindstorms EV3 [Текст]: учеб. пособие / Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий - 2-е изд., перераб. и доп. – Москва.: Изд-во «Перо», 2016. – 300 с.
Промышленная робототехника [Текст]: учеб. пособие / А.В. Бабич [и др.]. – Москва: Машиностроение, 1982. – 415 с.
Русецкий, А.Ю. В мире роботов [Текст]: Кн. для учащихся / А.Ю. Русецкий – Москва: Просвещение, 1990. – 160 с.
Филиппов, С.А. Робототехника для детей и родителей [Текст]: научное издание / С.А. Филиппов – 3-е изд., перераб. и испр. — СПб.: Наука, 2010. – 319 с.
Знакомство с конструктором [Электронный ресурс]. – Режим доступа: https://robot-help.ru/lessons/lesson-1.html
Приложение 1
Программа робопса