Вы находитесь на странице: 1из 19

ФГБОУ ВПО Московский педагогический государственный университет

Математический факультет

Кафедра «Кафедра теоретической информатики и дискретной математики»

Учебная практика
на тему:

Ознакомление с учебным комплектом по Робототехнике «Lego


Mindstorms EV3»

Студент группы 3-10:

Руководители практики:

Отчёт представлен к
рассмотрению « » 2017 г.

(подпись студента)

Оценка: __________ « » 2017 г.

(подпись руководителя)

Москва, 2017
Содержание
Введение ....................................................................................................….... 3
Глава 1. Общий анализ учебного комплекта ................................…….…..... 4
1.1 Работа с базовой моделью. Комплектация ....................………....…....... 4
1.2 Программные средства Lego .................………………….…..............…. 6
Глава 2. Командная работа ..................………........................………......….. 11
2.1 Экспериментальные программы .........…………………………...….......11
2.2 Итоговый проект ……….....................……………………………............14
Заключение .................................................................................................….. 15
Список использованных источников ......................................................…....16

Введение
С началом нового тысячелетия в большинстве стран робототехника
занимает существенное место  как в школьном так и в университетском
образовании, подобно тому, как информатика появилась в конце прошлого
века и потеснила обычные предметы. По всему миру  проводятся конкурсы
и состязания роботов для школьников и студентов. Лидирующие позиции в
области школьной робототехники на сегодняшний день занимает фирма
Lego (подразделение Lego Education) с образовательными конструкторами
серии Mindstorms, Fischertechnik.
Образовательная  робототехника    это    новая, актуальная
педагогическая технология, которая  находится на стыке перспективных
областей знания: механика,  электроника,  автоматика,  конструирование,
программирование и технический дизайн.
 Использование        Лего - конструкторов        в        образовательной
деятельности повышает мотивацию обучающихся  к обучению, т.к. при
этом требуются знания практически из всех учебных дисциплин от
искусств        и истории до математики и естественных наук.  Педагоги,
использующие, в своей практике робототехнику могут достигнуть целого
комплекса образовательных целей
Цель практики – знакомство с комплектацией базового и ресурсного
наборов «Lego Mindstorms EV3» и сопутствующего программного
продукта «Lego Mindstorms Education EV3», а также выполнение
командной работы по решению заданных практических задач.
В соответствии с целью были поставлены следующие задачи:
- Ознакомление с комплектацией базового и ресурсного наборов «Lego
Mindstorms EV3» (LM EV3);
- Ознакомление с программными продуктами компании «Lego» на
различных платформах (Windows, Android) по взаимодействию с блоком
EV3;
- Ознакомление с визуальным программированием при помощи блоков
команд;
- Знакомство со средствами программирования для адаптации программ к
конкретным задачам;
- Модернизация базовой модели исходя из поставленных перед командой
задач;
- Создание программ, решающих командные задачи;
- Демонстрация полученных результатов по решению поставленных задач;
- Анализ результатов других команд.

Глава 1. Общий анализ учебного комплекта


1.1 Работа с базовой моделью. Комплектация
Сердцем конструктора является микрокомпьютер (микроконтроллер),
он же P-brick, или Р-кирпич (от Programmable brick — программируемый
кирпич).

Рис.1
Конструктор Lego Mindstorms — это набор стандартных деталей Lego,
микрокомпьютер и датчики(рис.1).

Рис 2.
Конструктор был разработан для двух целевых аудиторий: для домашнего
пользования (дети и любители) и для использования в образовательных
учреждениях (ученики и преподаватели).
В наборе имеется: 2 больших мотора; 1 средний мотор; 2 сенсора
прикосновения; 1 цветовой сенсор; 1 ультразвуковой датчик; 1 гироскоп;
540 строительных элементов; набор RJ12 кабелей(рис. 2).
При желании мы можем купить доп. набор для сбора более сложных
моделей. Также в продаже есть поля для «битвы роботов», а при
необходимости можно докупить процессоры, аккумуляторы,
датчики(рис.3): ИК-датчики, ультразвуковые датчики, датчики цвета,
касания, температуры и др.

Рис.3

1.2 Программные средства Lego


Программируются роботы этой серии с помощью программного
обеспечения LEGO Mindstorms EV3. Образовательная версия ПО LEGO
Mindstorms EV3, кроме программирования, позволяет собирать
статистические данные с датчиков и записывать их в память
микрокомпьютера или в реальном времени передавать их
через USB кабель, Wi-Fi или Bluetooth. Собранные данные можно
анализировать, строить по ним графики.
Рис.4
Программировать мы можем несколькими способами. На самом
компьютере и в дальнейшем через USB реализовать программу для робота.
Также при необходимости, для реализации более простых программ,
можем использовать сам процессор, в нем встроены все основные
команды, есть небольшой экран и память. Но если мы говорим о
соревнованиях, то зачастую там используются Bluetooth соединение с
процессором.
Среда программирования Lego mindstorms EV3 позволяет нам
обрабатывать в своих программах пять различных типов данных:
"Текст", "Числовое значение", "Логическое значение", "Числовой
массив", "Логический массив"
Графический способ описания алгоритма (используется в
программном обеспечении Lego Mindstorms EV3) получил самое широкое
распространение. Для описания используются блоки, которые соединяются
между собой линиями связи.
По структуре выполнения алгоритмы делятся на три вида:
• линейные;
• ветвления;
• циклические.
Линейный алгоритм (линейная структура) – это такой алгоритм, в
котором все действия выполняются последовательно друг за другом и
только один раз. Схема представляет собой последовательность блоков,
которые располагаются сверху вниз или слева направо в порядке их
выполнения(рис.5).

Рис.5
Но на практике часто встречаются задачи, в которых необходимо при
различных условиях действовать по-разному. Такие задачи можно описать
с помощью алгоритмов разветвляющейся структуры(рис.6).

Рис.6
Для решения некоторых задач нужно повторение отдельных участков
вычислений. В таких задачах применяются алгоритмы циклической
структуры (циклические алгоритмы). Цикл – последовательность команд,
которая повторяется до тех пор, пока не будет выполнено заданное
условие(рис.7)

Рис.7
Все программы в среде Lego Mindstorms EV3 состоят из
блоков(рис.8). У каждого блока есть один или несколько регулируемых
параметров.

Рис.8
Блоки действий управляют действиями в рамках программы. Они контролируют
вращение моторов, а также изображения, звук и подсветку модуля EV3.

Блок выполнения программ (Оранжевый)


Рис.9
Блоки выполнения программ(рис.9) управляют процессом
выполнения программ. Все создаваемые программы будут начинаться со
стартового блока.
Блоки датчиков (Желтый)

Рис.10
Блоки датчиков(рис.10) позволяют программе считывать входящие данные с
датчика цвета, ИК-датчика, датчика касания и многое другое.

Блоки операции над данными (Красный)

Рис.10
Блоки операций над данными(рис.10) позволяют вводить и считывать
переменные величины, сравнивать характеристики и многое другое.
Глава 2. Командная работа
2.1 Экспериментальные программы

Рис.10
Здесь(рис.10) расположены программные блоки управления
моторами:
• Средний мотор – предназначен для управления средним мотором
. • Большой мотор – для управления большим мотором.
• Рулевое управление
• Независимое управление моторами

А также блоки:
• Вывод на экран
• Вывод звука
• Индикатор состояния модуля

Рис.11
Режим: "Включить" включает мотор с заданным параметром
"Мощность" и после этого управление передается следующему
программному блоку программы. Мотор будет продолжать вращаться, пока
не будет остановлен следующим блоком "Большой мотор" с режимом
"Выключить" или следующий блок "Большой мотор" не будет содержать
другие параметры выполнения. Режим "Включить на количество секунд"
включает большой мотор с установленной мощностью на указанное
количество секунд, и только по завершению времени мотор остановится, а
управление в программе перейдет к следующему программному блоку.
Аналогично поведет мотор себя в режимах "Включить на количество
градусов" и "Включить на количество оборотов": только после выполнения
установленного вращения мотора он остановится, и управление в
программе перейдет к следующему блоку(рис.11).
Параметр мощность может принимать значения от -100 до 100.
Положительные значения мощности задают вращение мотора по часовой
стрелке, отрицательные - против часовой. При значении мощности равном
0 мотор вращаться не будет, чем "выше" значение мощности, тем быстрее
вращается мотор.
Параметр мощность задается только целыми значениями, параметры:
секунды, градусы, обороты могут принимать значения с десятичной
дробью. Но следует помнить, что минимальный шаг вращения мотора
равен одному градусу. Отдельно следует сказать о параметре "Тормозить в
конце". Данный параметр, если установлен в значение "Тормозить"
заставляет мотор тормозить 13 после выполнения команды, а если
установлен в значение "Двигаться накатом", то мотор будет вращаться по
инерции, пока сам не остановится.
Следующие два программных блока "Рулевое управление" и
"Независимое управление моторами" реализуют управление парой
больших моторов. По умолчанию левый большой мотор подключается к
порту "В", а правый - к порту "С". Но вы можете в настройках блока
поменять порты подключения в соответствии с требованиями вашей
конструкции.
Программный блок "Независимое управление моторами" похож на
программный блок "Рулевое управление". Он также управляет двумя
большими моторами, только вместо параметра "Рулевое управление"
появляется возможность независимого управления мощностью каждого
мотора. При равном значении параметра "Мощность" для левого и правого
мотора робот будет двигаться прямолинейно(рис.12). Если на один мотор
подать отрицательное значение мощности (например -50), а на второй -
положительное значение (например 50), то робот будет разворачиваться на
месте(рис.12).
Рис.12

Задача-пример: Проехать прямолинейно вперед на 5 оборотов


двигателя. Развернуться. Проехать на 980 градусов.
Используя программный блок «Рулевое управление» проехать вперед на 4
оборота.
Используя программный блок «Независимое управление моторами»
развернуться на месте (также можно использовать блок «Рулевое управление»,
значение градусов придется подобрать экспериментально).
Используя программный блок «Рулевое управление» проехать вперед на 980
градусов.

Рис.13
Значение параметра "Градусы" равно 390. Данное значение позволяет
роботу развернуться вокруг своей оси. Если у вас другой робот, то вам
придется подобрать другое значение(рис.13).
2.2 Итоговый проект
Задача№1:
Робот должен пройти траекторию квадрата, чтобы достичь финиша.
Следует учесть, как только за 15 см впереди он обнаруживает препятствие
он поворачивает налево на 90 градусов, и так 3 раза, до тех пор, пока он не
заметит под собой зеленое поле (финиш)(рис.14).
Рис.14

Рис.15
Программа работает следующим образом(рис.15):
Как видим, программа линейна. Для начала подаётся мощность 30 на
основной мотор. Это происходит, пока ультразвуковой датчик не определит
за 15см перед собой препятствие. Когда это происходит, робот
поворачивает на 90 градусов влево, также с мощностью мотора 30. Эта
итерация происходит ещё 2 раза. После этого робот едет вперёд, уже
пройдя 3 поворота, до тех пор, пока не распознает с помощью датчика
цвета зелёный цвет(финиш). После этого мотор останавливает свою работу
– программа завершена.

Задача№2:
Робот должен проехать по изгибающейся линии до финиша(зелёная
платформа)(рис.16).

Рис.16

Рис.17
Программа работает следующим образом:
Датчик цвета находится справа от робота и робот ставится так, чтоб
трек(черная линия) был чуть левее этого датчика.
Как видим, это цикл. Он выполняется, пока датчик цвета не обнаружит
зелёный(финиш). Он состоит в следующем. Когда датчик цвета определяет,
что под роботом белый цвет(пустое поле), то робот поворачивает влево,
пока не определит под собой чёрный. В этом случае он поворачивает
вправо. Таким образом, робот, ориентируясь на черную линию,
зигзагообразно проходит вдоль неё(рис.17)
Заключение
Сегодня платформа Lego является безусловным лидером
образовательной робототехники. Наборами Lego Mindstorms оснащены
кружки робототехники во многих странах мира.
Это безусловно качество платформы, ее, с одной стороны,
обучающие, с другой — конструкторские возможности. Из этого
конструктора можно построить не только игрушечных роботов, но и
прототипы таких серьезных конструкций как, например, принтер
Брайля, космическая станция, космический самолет, солнечные панели и
т.п. Причем придумывать и реализовывать все это могут дети. 
 Также у лего мощное олимпиадное робототехническое. Конкурсы
мирового уровня — такие как WRO и FIRST, а также множество
региональных мероприятий и фестивалей содержат в своих регламентах
требование использовать Lego.
С каждым годом все чаще вводятся предметы на основе роботехники
Лего в школах, СУЗах и ВУЗах.
Список использованных источников
1. ГОСТ 7.1-2008

Вам также может понравиться