Курс программирования робота ev3 pdf. Книжная полка робототехника

Здравствуйте. В своих статьях я хочу Вас познакомить с основами программирования микрокомпьютера LEGO NXT Mindstorms 2.0. Для разработки приложений я буду использовать платформы Microsoft Robotics Developer Studio 4 (MRDS 4) и National Instruments LabVIEW (NI LabVIEW). Будут рассматриваться и реализовываться задачи автоматического и автоматизированного управления мобильными роботами. Двигаться мы будем от простого к сложному.

Предвосхищая некоторые вопросы и комментарии читателей.

Почему именно NXT Mindstorms 2.0? Потому-что для своих проектов данный набор мне показался наиболее подходящим, т.к. микрокомпьютер NXT полностью совместим с платформами MRDS 4 и NI LabVIEW, а так же данный набор является очень гибким в плане сборки различных конфигураций роботов - затрачивается минимум времени на сборку робота.

Почему платформы MRDS 4 и NI LabVIEW? Так сложилось исторически. Обучаясь на старших курсах университета стояла задача в разработке учебных курсов с использованием данных платформ. К тому же платформы обладают достаточной простотой в освоении и функциональностью, с их использованием можно написать программу непосредственно для управления роботом, разработать интерфейс пользователя и провести тестирование в виртуальной среде (в случае с MRDS 4).

Да кому вообще нужны эти ваши уроки, в сети и так куча проектов по робототехнике! С использованием данной связки (NXT+MRDS 4/NI LabVIEW) учебных статей практически нет, в основном используется родная среда программирования, а в ней совсем все тривиально. Всем кому интересны робототехника, программирование и у кого есть набор NXT (а таких не мало), возрастная аудитория любая.

Графические языки программирования это зло, а те кто на них программируют еретики! Графические языки программирования коими и являются MRDS 4 и NI LabVIEW несомненно имеют свои минусы, например ориентированность под узкие задачи, но все же в функциональности они мало уступают текстовым языкам, тем более NI LabVIEW изначально разрабатывался как язык легкий в освоении для решения научных и инженерных задач, для этого в нем присутствует множество необходимых библиотек и инструментов. По-этому для решения наших задач данные графические языки являются наиболее подходящими. И не надо нас за это сжигать на костре презирать.

Все это выглядит по-детски и вообще не серьезно! Когда задача состоит в реализации алгоритмов, в обучении основам и принципам программирования, робототехники, систем реального времени без углубления в схемотехнику и протоколы, то это очень подходящий инструмент хоть и не дешевый (касаемо набора NXT). Хотя для этих же целей неплохо подойдут наборы на базе Arduino, но совместимости с MRDS 4 и NI LabVIEW у данного контроллера почти нет, а в данных платформах есть свои прелести.

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

Краткий обзор платформ MRDS 4 и NI LabVIEW.

Внесу некоторую ясность в терминологию. Под платформой, в данном случае, имеется ввиду совокупность различных инструментов, например язык VPL в MRDS, а так же среда выполнения приложений, т.е. непосредственной компиляции приложений в исполняемые (*.exe) файлы нету.

В 2006 году Microsoft объявила о создании платформы Microsoft Robotics Developer Studio (более подробно в статье Википедии). MRDS – это Windows – ориентированная среда разработки приложений для робототехники и симуляции. В настоящее время актуальной является версия Microsoft Robotics Developer Studio 4. Среди особенностей: язык графического программирования VPL, Web – и Windows – ориентированные интерфейсы, среда симуляции VSE, упрощенный доступ к датчикам, микроконтроллеру и исполнительным механизмам робота, поддержка языка программирования C#, библиотеки для многопоточного программирования и распределенного выполнения приложений CCR и DSS, поддержка многих робототехнических платформ (Eddie, Boe - Bot, CoroBot, iRobot, LEGO NXT и т.д.).

LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench) - это среда разработки и платформа для выполнения программ, созданных на графическом языке программирования «G» фирмы National Instruments (более подробно в статье Википедии). LabVIEW используется в системах сбора и обработки данных, а также для управления техническими объектами и технологическими процессами. Идеологически LabVIEW очень близка к SCADA-системам, но в отличие от них в большей степени ориентирована на решение задач не столько в области АСУ ТП (автоматизированные системы управления технологическим процессом), сколько в области АСНИ (автоматизированных систем научных исследований). Графический язык программирования «G», используемый в LabVIEW, основан на архитектуре потоков данных. Последовательность выполнения операторов в таких языках определяется не порядком их следования (как в императивных языках программирования), а наличием данных на входах этих операторов. Операторы, не связанные по данным, выполняются параллельно в произвольном порядке. Программа LabVIEW называется и является виртуальным прибором (англ. Virtual Instrument) и состоит из двух частей:

  • блочной диаграммы, описывающей логику работы виртуального прибора;
  • лицевой панели, описывающей интерфейс пользователя виртуального прибора.

Краткий обзор набора LEGO NXT Mindstorms 2.0.

Комплект NXT состоит из управляющего блока, четырех датчиков и трех сервоприводов. Управляющий блок содержит в себе:
  • 32-битный микроконтроллер AVR7 с 256 КБайт FLASH памяти и 64 КБайт RAM памяти;
  • 8-битный микроконтроллер AVR c 4 Кбайт FLASH памяти и 512 Байт RAM памяти;
  • радиомодуль Bluetooth V 2.0;
  • USB-порт;
  • 3 разъема для подключения сервоприводов;
  • 4 разъема для подключения датчиков;
  • LCD дисплей разрешением 99x63 пикселей;
  • динамик;
  • разъем для 6 батареек типа AA.
Датчики (в разных комплектациях разные наборы датчиков):
  • ультразвуковой датчик;
  • два тактильных датчика (датчики касания);
  • датчик опредения цвета.


Рисунок 1 - Микрокомпьютер NXT с подключенными датчиками и приводами

И конечно же в наборе находятся разнообразные детали LEGO в форм-факторе LEGO Technic из которых будут собраны исполнительные механизмы и несущая конструкция.


Рисунок 2 - Детали в форм-факторе LEGO Technic

Пишем первое приложение.

Напишем первое приложение. Пусть, классически, данное приложение выводит текст “Hello, World!”. Реализация будет происходить поочередно в MRDS 4 и NI LabVIEW, в процессе будем рассматривать специфику каждой платформы.

Предварительно инсталлируем платформы MRDS 4 и NI LabVIEW, в случае с MRDS 4 инсталляция должна проводится в папку путь к которой не состоит из кириллицы (русских букв), учетная запись пользователя так-же должна состоять только из латинских букв .

1. Платформа MRDS 4.
Запускаем среду VPL (Меню Пуск - Все Программы - Microsoft Robotics Developer Studio 4 - Visual Programming Language). Данная среда позволяет разрабатывать приложения на языке VPL, проводить тестирование в виртуальной среде VSE. Программа в VPL представляет собой диаграмму, состоящую из соединенных между собой блоков. В открывшемся окне, помимо стандартной панели команд и меню, присутствует 5 основных окон:
  1. Basic Activities – содержит базовые блоки, которые реализуют такие операторы как константа, переменная, условие и т.д.;
  2. Services – содержит блоки, предоставляющие доступ к функционалу платформы MRDS, например блоки для взаимодействия с какой-либо аппаратной составляющей робота, или блоки для вызова диалогового окна;
  3. Project – объединяет диаграммы входящие в проект, а так же различные конфигурационные файлы;
  4. Properties – содержит свойства выделенного блока;
  5. Diagrams window – содержит, непосредственно, диаграмму (исходный код) приложения.

Рисунок 3 - Среда программирования VPL

Выполним следующую последовательность действий:

2. Платформа NI LabVIEW.
На данной платформе все реализуется, практически, идентично. Запустим среду LabVIEW. Перед нами появиться два окна, первое - Front Panel, предназначено для реализации интерфейса пользователя (внешнего вида виртуального прибора), второе - Block Diagram, для реализации логики программы.


Рисунок 8 - Окна среды LabVIEW

Мы будем использовать окно Block Diagram. Выполним следующие шаги:

Резюме

  • Мы сделали обзор программных платформ для разработки приложений микрокомпьютера NXT.
  • Мы рассмотрели основные принципы разработки приложений в платформах MRDS 4 и NI LabVIEW.
  • Познакомились с интерфейсом сред.
В следующих статьях мы будем заниматься непосредственно программированием NXT. По среде LabVIEW в сети есть много учебных материалов, по VPL гораздо меньше. Очень рекомендую изучить справочное руководство обеих платформ (необходимо знание английского), в данных руководствах очень много примеров которые можно реализовать и не имея NXT, а так же следующие книги:
  • Программируем микрокомпьютер NXT в LabVIEW - Лидия Белиовская, Александр Белиовский,
  • Microsoft Robotics Developer Studio. Программирование алгоритмов управления роботами - Василий Гай.
В своих статьях я буду описывать только свои проекты, т.к. не вижу смысла переписывать информацию из одних источников в другие. Приму любую конструктивную критику, отвечу на любые вопросы касаемо рассмотренных платформ. Заранее спасибо!

Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий

Курс программирования робота EV3

в среде Lego Mindstorms EV3

Издание второе, переработанное и дополненное

УДК 004.42+004.896

Овсяницкая, Л.Ю. Курс программирования робота Lego

Mindstorms EV3 в среде EV3: изд. второе, перераб. и допол. /

Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий. – М.:

«Перо», 2016. – 296 с.

ISBN 978-5-906862-76-1

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

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

Рецензент:

доктор физико-математических наук, профессор А.Ф. Шориков.

ISBN 978-5-906862-76-1 © Л.Ю. Овсяницкая, Д.Н. Овсяницкий, А.Д. Овсяницкий, 2016 Оглавление Введение

Глава 1. Характеристики робота.

Создание и запуск первого проекта 7

1.1. Краткая характеристика роботизированных платформ. Обзор среды программирования Lego Mindstorms EV3

1.2. Способы подключения робота к компьютеру. Обновление прошивки блока EV3. Загрузка программ в блок EV3



Глава 2. Программирование робота

2.1. Моторы. Программирование движений по различным траекториям

2.2. Работа с подсветкой, экраном и звуком

2.2.1. Работа с экраном

2.2.2. Работа с подсветкой кнопок на блоке EV3

2.2.3. Работа со звуком

2.3. Программные структуры

2.3.1. Структура Ожидание

2.3.2. Структура Цикл

2.3.3. Структура Переключатель

2.4. Работа с данными

2.4.1. Типы данных. Проводники

2.4.2. Переменные и константы

2.4.3. Математические операции с данными

2.4.5. Работа с массивами

2.4.6. Логические операции с данными

2.5. Работа с датчиками

2.5.1. Датчик касания

2.5.2. Датчик цвета

2.5.3 Гироскопический датчик

2.5.4. Ультразвуковой датчик

2.5.5. Инфракрасный датчик и маяк

2.5.6. Датчик Вращение мотора (определение угла/количества оборотов и мощности мотора)

2.5.7. Кнопки управления модулем

2.6. Работа с файлами

Курс программирования робота Lego Mindstorms EV3 в среде EV3

2.7. Совместная работа нескольких роботов

2.7.1. Соединение роботов кабелем USB

2.7.2. Связь роботов с помощью Bluetooth-соединения............. 207

2.8. Полезные блоки и инструменты

2.8.1. Блок «Поддерживать в активном состоянии»

2.8.2. Блок «Остановить программу»

2.8.3. Создание подпрограмм

2.8.4. Запись комментариев

2.8.5. Использование проводного ввода порта

Глава 3. Основные виды соревнований и элементы заданий.

3.1. Соревнования Сумо

3.2. Кегельринг

3.3. Слалом (объезд препятствий)

3.4. Программирование движения по линии

3.4.1. Алгоритм движения по линии «Зигзаг» с одним и двумя датчиками цвета

3.4.2. Алгоритм «Волна»

3.4.3. Алгоритм автоматической калибровки датчика цвета..... 258

3.5. Пропорциональное линейное управление

3.5.1. Движение по линии на основе пропорционального управления

3.5.2. Поиск и подсчёт перекрёстков при пропорциональном управлении движением по линии

3.5.3. Проезд инверсии

3.5.4. Движение робота вдоль стены

3.6. Поиск цели в лабиринте

Глава 4. Обновление встроенного ПО и перезапуск блока EV3.

286 Глава 5. Использование сторонних датчиков

5.1. Работа с HiTech датчиком цвета

5.2. Использование других датчиков

Заключение

Перечень проектов Проект «Верная собачка» 90 Проект «Спортивное табло» 98 Проект «Автофиниш» 102 Проект «60 секунд» 109 Проект «Запись и считывание цветного штрих-кода» 120 Проект «Сортировка массива методом пузырька» 123 Проект «Умный дом» 153 Проект «Упрямый робот» 160 Проект «Робот с дистанционным управлением» 182 Проект Мультипликационная игра на экране блока EV3 «Поймай снежок» 191 Проект «Построение 3D карты поверхности» 197 Проект «EV3 – музыкальный синтезатор» 203 Курс программирования робота Lego Mindstorms EV3 в среде EV3 изображение катушки (рис. 1.1.11б). Блок станет активным (ярким) (рис. 1.1.11в).

–  –  –

Рисунок 1.1.

12. Параллельные программы Для масштабирования изображений (рис. 1.1.13 а,б) используются стандартные для MSWindows сочетания клавиши Ctrl и колеса прокрутки мыши или значки в правом верхнем углу окна:. Масштабирование используется при навигации в больших программах, копировании определённых блоков и многом другом.

Курс программирования робота Lego Mindstorms EV3 в среде EV3 Блоки Большой мотор и Средний мотор Первый блок палитры называется Средний мотор, второй – Большой мотор. Блоки служат для управления одним мотором и имеют одинаковый функционал.

Рассмотрим структуру блоков на примере блока большого мотора (рис. 2.1.4).

–  –  –

Рисунок 2.1.

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

Рассмотрим подробнее каждый управляющий элемент.

1. Выбор режима работы:

а) включить (рис. 2.1.5);

–  –  –

Рисунок 2.4.

3.4. Программа реализации проекта «60 секунд»

Задания для самостоятельной работы Добавьте на экран изображение циферблата часов.

Добавьте по аналогии минутную и часовую стрелки.

2.4.4. Другие блоки работы с данными

–  –  –

Прежде чем начать работу с массивами, необходимо их инициализировать, т.е. указать тип (числовой или логический) и присвоить имя.

Данные в массив можно вносить в ручном или автоматическом режиме (считывая показания с датчиков). Для создания массива необходимо использовать блок Переменная.

Создание массива. Запись массива в переменную

Для того чтобы создать и заполнить массив, необходимо:

(а) перенести на рабочее поле блок Переменная и определить её режим (Записать) и тип (числовой или логический массив);

Формирование Формирование числового массива логического массива

–  –  –

Рисунок 2.5.

3.3. Режимы работы гироскопического датчика Важно!

Иногда (достаточно часто!) при работе с гироскопическим датчиком можно наблюдать следующее: при запущенной программе робот находится в неподвижном состоянии, а значение угла постоянно увеличивается (дрифт), скорость увеличения может составить более 1 градуса в секунду!

Нарастание значений датчика Глава 2. Программирование робота 177 Если маяк находится очень далеко (дальше 1 м), значение измерения будет 100, если очень близко (минимум 1 см) – 0. Промежуточные результаты также не соответствуют сантиметрам.

В том случае, когда маяк расположен прямо перед датчиком, относительный результат измерения угла будет равен 0, максимальное расположение маяка слева, против часовой стрелки -25 (максимальный определяемый угол отклонения приблизительно 100 градусов), справа, по часовой стрелке 25 (рис. 2.5.5.5).

Рисунок 2.5.

5.5. Положение ИК-маяка относительно ИКдатчика Рассмотрим примеры программ. Расположите маяк перед роботом, включите его и направьте в сторону робота.

Светодиодный индикатор включится и будет гореть. Маяк будет непрерывно передавать сигнал. На блоке инфракрасного датчика установите тот же канал, который установили на маяке. Датчик будет обнаруживать маяк только на том канале, который вы укажите в своей программе.

Маяк выключается, если не используется в течение часа.

На рис. 2.5.5.6 показан выбор режима работы с маяком.

Курс программирования робота Lego Mindstorms EV3 в среде EV3 использованием программы MS Excel.

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

Решение:

1. Производим сброс значений датчика гироскопа.

Вставляем цикл 01, условие завершения – время (3 сек.).

2. В цикле робот вращается и считывает информацию с ультразвукового и гироскопического датчиков. Показания объединяются в программном блоке Текст, разделяясь запятой.

3. Результат измерений в каждом шаге цикла записывается в файл Map.

4. Устанавливаем паузу 0,25 сек. После окончания цикла закрываем файл.

Внимание! Используя гироскопический датчик, при включении обращайте внимание на наличие дрейфа показаний (см.

п. 2.5.3 для удаления дрейфа).

Глава 2. Программирование робота 213 движения и остановке подавайте последовательно каждому вагончику.

2. «Вокально-инструментальный ансамбль»

Задача – исполнение музыкального произведения c ансамблем. Первый робот EV3 – дирижёр, который раздаёт команды по Bluetooth остальным роботам-музыкантам и роботам-певцам, когда воспроизводить их музыкальные партии. Робота-дирижёра можно оснастить дирижёрской палочкой, двигающейся вверх-вниз и поворачивающейся в сторону робота, который начинает воспроизведение. Роботдирижёр по совместительству может, например, солировать.

3. «Танцевальный ансамбль»

Задача – создание робо-ансамбля. Первый робот, раздающий команды по Bluetooth – солист. Остальные роботы отрабатывают команды. Программируйте различные виды танцев – хоровод роботов («Паровозик»), медленные и быстрые танцы.

4. «Утренняя гимнастика»

Задача – одновременное выполнение по команде первого робота гимнастических упражнений.

2.8. Полезные блоки и инструменты 2.8.1. Блок «Поддерживать в активном состоянии»

По истечении определённого времени и в случае, когда мы не обращаемся к роботу, а робот не выполняет никаких операций, он выключается (в терминах EV3 – переходит в спящий режим). Это вызывает неудобство при работе с программами, рассчитанными на длительные ожидания каких-либо процессов. Мы можем установить время перехода в спящий режим непосредственно на блоке (существует возможность установить время до выключения: 2 мин, Курс программирования робота Lego Mindstorms EV3 в среде EV3 создать несколько вариантов программ и выбирать тактику поединка. Например, если перед нами мощный, но медленный робот, можно запустить программу, по которой наш робот будет атаковать соперника быстро и сбоку; если робот соперника в поисках нашего робота всегда поворачивается направо, нужно запускать программу, объезжающую и атакующую его слева.

Робот может иметь один или два датчика ультразвука, чтобы определять положение противника без лишних поворотов. Особенно интересными получаются раунды, в которых соревнуются примерно равные по силе или скорости роботы, в этом случае исход решают миллиметры и секунды!

Победителем становится тот участник, который смог собрать крепкую и надёжную конструкцию, написал грамотную программу (или программы) и выбрал правильную стратегию. Именно сочетание этих факторов делают процесс подготовки к состязаниям увлекательным, а сами соревнования очень зрелищными и захватывающими!

Приведём пример алгоритма программы для роботасумоиста.

Остановка робота.

2. Робот поворачивается до тех пор, пока не увидит датчиком ультразвука робота соперника (пока значение датчика не станет меньше 100 см), что соответствует углу поворота 120-180 градусов. Остановка робота.

3. Создаём цикл условие завершения 01, – Неограниченный.

4. В цикл 01 вставляем цикл 02, условие завершения которого – логическое значение: цикл будет выполняться, пока на вход Условие завершения не будет подано значение Истина.

Глава 3. Основные виды соревнований и элементы заданий 245 100 25 + 18 =.

Найдём скорость левого колеса: V1=58.

Для реализации алгоритма установите впереди робота по центру ультразвуковой датчик и подключите его в порт 4.

Вниз направьте датчик цвета, расположите его слева от линии и подключите в порт 2. На рис. 3.3.3 представлена программа объезда препятствия. Обратите внимание, что после обнаружения препятствия робот останавливается и резко поворачивает направо для того, чтобы съехать с линии, перпендикулярной препятствию, и объехать предмет по заданному радиусу.

Задания для самостоятельной работы

Запрограммируйте траектории:

а) объезд нескольких препятствий с одним радиусом;

б) объезд препятствий с разными радиусами;

в) езда «восьмёркой».

Глава 3. Основные виды соревнований и элементы заданий 275 Рисунок 3.

5.3.2. Программа проезда инверсной траектории движения Глава 3. Основные виды соревнований и элементы заданий 285 Рисунок 3.6.5. Программа поиска цели в лабиринте Курс программирования робота Lego Mindstorms EV3 в среде EV3

ГЛАВА 5. ИСПОЛЬЗОВАНИЕ СТОРОННИХ

ДАТЧИКОВ

Помимо датчиков, входящих в домашний или образовательный комплекты Lego Mindstorms EV3, существует возможность дополнительного приобретения датчиков Lego и сертифицированных Lego датчиков компании HiTechnic.

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

Также немаловажным фактором, позволяющим использовать эти датчики при работе с детьми, является наличие сертификата RoHS (Restriction of Hazardous Substances), подтверждающего отсутствие использования в электрическом и электронном оборудовании веществ: свинец, ртуть, кадмий, олово, шестивалентный хром, некоторые бромидные соединения. Актуальный список сертифицированных для Lego датчиков можно найти на сайте www.hitechnic.com/sensors.

В настоящее время доступны: датчик угла поворота;

силы, приложенной поперечно к оси; компас; акселерометр;

гироскоп; детектор магнитных полей; инфракрасный датчик;

инфракрасный датчик движения, позволяющий определять наличие в помещении людей или животных аналогично датчикам, используемым в охранных системах; барометр, определяющий атмосферное давление и температуру;

электрооптический датчик расстояния, точно определяющий небольшие объекты и малые изменения в дальности до них, но на расстоянии не более ~20 см; датчик цвета.

Задача данного курса - познакомить вас с конструктором Lego mindstorms. Научить собирать базовые конструкции роботов, программировать их под определенные задачи, разобрать с вами базовые решения наиболее распространенных задач-соревнований.

Курс рассчитан на делающих первые шаги в мир робототехники с помощью конструктора Lego mindstorms. Хотя все примеры роботов в этом курсе сделаны с помощью конструктора Lego mindstorms EV3, программирование роботов объясняется на примере среды разработки Lego mindstorms EV3, тем не менее, владельцы Lego mindstorms NXT тоже могут присоединиться к изучению данного курса, и, надеемся, найдут для себя тоже полезное...

1.1. Что в наборе? Классификация деталей, крепление деталей между собой, главный блок, моторы, датчики

Давайте начнем знакомиться с конструктором Lego mindstorms EV3. Распечатав конструктор, мы найдем в нем множество разнообразных деталей. Если вы знакомы с традиционными кирпичиками Lego, но раньше вам не приходилось сталкиваться с наборами Lego серии Technic, ты, возможно, вы будете слегка обескуражены видом непривычных деталей. Однако, разобраться с ними совсем несложно. Итак, условно разделим все детали на несколько категорий. На рисунке представлены детали, называемые балками (иногда для этих деталей можно встретить название - бим (beam)) Балки исполняют роль каркаса (скелета вашего робота),

Рис. 1

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

Рис. 2

Представленный ниже рисунок демонстрирует вам различные варианты соединения балок с помощью пинов.

Рис. 3

Следующую группу деталей называют коннекторами. Их главная задача - соединение балок в различных плоскостях, изменение угла соединения деталей и подсоединение датчиков к роботу.

Рис. 4

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

Рис. 5

Ну и, конечно же, движение в пространстве нашему роботу обеспечивают различные колеса и гусеницы, представленные в наборе.

Рис. 6

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

Рис. 7

В набор Lego mindstorms EV3 входят два больших мотора. Моторы выполняют роль мышц или силовых элементов нашего робота. Большие моторы, наиболее часто используются для передачи вращения на колеса, тем самым, обеспечивая движение робота. Можно сказать, что эти моторы выполняют ту же роль, что и ноги человека.

Рис. 8

Один средний мотор, который также входит в набор Lego mindstorms EV3 выполняет роль движущей силы для различного навесного оборудования робота (клешни, модули захвата, различные манипуляторы) По аналогии с большими моторами отведем среднему мотору ту же роль, которую у нас выполняют руки.

Рис. 9

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

Рис. 10

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

Рис. 11

1.2. Собираем робота, с помощью которого будем изучать данный курс

Настало время - собрать нашего первого робота.

На первом этапе конструкция нашего робота будет следующей:

  • Два больших мотора, для того чтобы мы смогли научить нашего робота поворачивать
  • Два ведущих колеса, на которые будут передаваться усилия моторов.
  • Одно свободно вращающееся колесо или шаровая опора, которая будет придавать устойчивость нашему роботу.
  • Один главный блок EV3, который будет хранить и выполнять нашу программу.
  • Некоторое количество деталей для придания конструкции законченного вида.

Такой простейший робот называется роботом-тележкой.

Вы можете попробовать поэкспериментировать или собрать робота по предложенной инструкции в зависимости от версии вашего набора EV3:

Как только наш робот будет готов - начнем изучение среды программирования.

1.3. Знакомство со средой программирования

Первым делом загружаем среду программирования Lego mindstorms EV3. В главном меню программы выбираем: "Файл" - "Новый проект" или нажимаем "+" , показанный на рисунке стрелкой.

Рис. 12

В одном проекте может находиться множество программ. Для того, чтобы проект корректно загружался в нашего робота необходимо в названии проекта и программ использовать только буквы латинского алфавита! Давайте назовем наш проект lessons (уроки), а первую программу - lesson-1 (урок-1). Для того, чтобы дать название проекту, воспользуемся главным меню программы: "Файл" - "Сохранить проект как..." Чтобы изменить название программы - следует сделать двойной щелчок мышью на её названии (program) и вписать свое название.

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

Рис. 13

Если подключение робота прошло успешно, то приступим к программированию и создадим нашу первую программу.

1.4. Наша первая программа!

Давайте научим нашего робота двигаться вперед на определенное расстояние. В нижней части экрана находится палитра программирования, каждому цвету палитры соответствуют различные группы программных блоков. Выберем зеленую палитру "Действие" . Она содержит блоки управления моторами, блок вывода информации на экран, блок управления звуком и кнопками контроллера EV3 (главного блока). Выберем блок "Рулевое управление и перетащим его в область программирования (центральная область программы).

Рис. 14

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

Рис. 15

Но, если вы собирали робота по инструкции, предложенной выше, то, наверное, обратили внимание, что в ней отсутствует схема подключения моторов и датчиков. Настало время с этим разобраться. Блок EV3 имеет 4 порта, обозначенных цифрами: 1 , 2 , 3 , и 4 . Эти порты служат для подключения только датчиков. Для подключения моторов служат порты, обозначенные буквами: A , B , C и D . Можно подключать моторы в любые свободные порты, предназначенные для них. Но в случае управляемой тележки рекомендовано подключать моторы в порты: B и C . Давайте сейчас возьмем два соединительных кабеля длиной 25 см, левый мотор подключим к порту B , а правый - к порту C . Именно это подключение выбрано по умолчанию в блоке "Рулевое управление". Специальная кнопка, обозначенная стрелкой, отвечает за режим работы блока. Для первой программы выберем режим: "Включить на количество оборотов" . Значение 0 под черной стрелочкой на блоке означает прямолинейное движение, когда оба мотора крутятся с одинаковой скоростью. Число 75 задает мощность моторов, чем больше это значение, тем быстрее поедет наш робот. Цифра 2 задает количество оборотов каждого из моторов, на которое они должны провернуться.

Итак, наша первая программа готова. Загружаем ее в нашего робота. Для этого нажимаем кнопку "Загрузить" на вкладке аппаратных средств и отсоединяем USB-кабель от робота.

Рис. 16

Устанавливаем робота на ровную поверхность. С помощью стрелок на блоке EV3 заходим в папку нашего проекта, выбираем программу lesson-1 и центральной кнопкой блока EV3 запускаем ее на выполнение.

Вершиной творения компании Lego стал выпуск программируемых конструкторов LEGO Mindstorms Ev3. Игрушка предназначена для детей возрастом более десяти лет.

Сейчас mindstorms ev3 купить можно без особых проблем в специальных магазинах или в Интернете. Они легко программируются на выполнение определенных действий.

Установка среды программирования

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

Системные требования ПК для работы с lego mindstorms ev3:

  • ОС Windows XP, 7, 8 или MacOs (10.6-10.8);
  • 2Гб оперативки и 750 Мб на диске.

Устанавливая среду с помощью USB, выбираем версию для учителя или учащегося.

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

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

На экране размещено меню, в которое входят вкладки:

  • действие;
  • управление операторами;
  • датчик;
  • операции с данными;
  • мои блоки и др.

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

В блоке «звук» можно запрограммировать робота на воспроизведение звуковых сигналов. Эти сигналы можно закачать или записать с помощью микрофона. Важным элементом управления программой является часть меню, которое управляет операторами. В нем вы можете управлять действием самой программы.

Здесь вы можете дать такие команды программе:

  • начать ожидать;
  • повторение цикла;
  • переключиться между блоками;
  • закончить цикл.

Lego mindstorms ev3 многозадачный, он вмещает несколько последовательностей команд. Вы можете запрограммировать не только свои действия в программу, но и их последовательность выполнения.

Комбинируя все возможные команды соответственного меню, вы можете создавать сложные траектории и типы поведения конструктора.

LEGO Education Mindstorms EV3: Программирование Роборуки (Robohand H25):


Краткое описание


В данном курсе рассмотрено:


- выход из цикла;
- работа с переключателем;

Полное описание

Lego Mindstorms EV3 далеко не самая сложная среда программирования. Но это не означает, что освоить её раз плюнуть. Для тех, кто ни разу до этого не программировал, её освоение может отнять не один год. И я не преувеличиваю. Без понятного пособия, и постоянной практики, освоение программирования роботов в Lego Mindstorms EV3 может занять до 2 лет.

Не буду скрывать – есть хорошие книги по программированию на Lego Mindstorms EV3. Единственный их недостаток – это не самая сильная наглядность. В книгу не разместишь видео. Не запишешь голосовое объяснение «кода» программы.

Именно поэтому, я сделал курс по программированию в Lego Mindstorms EV3 в формате коротких видео уроков.

Состав курса.

Данный видеокурс состоит из более чем 30 видео и 3 инструкций по сборке роботов.
В данном курсе рассмотрено:
- создание простейших программ;
- выполнение программы в цикле;
- выход из цикла;
- работа с переключателем;
- рассмотрены переменные и константы;
- езда по черной линии на одном датчике цвета и т.д.

Стоимость.

На данный момент, цена курса 1000 р. П

Вы можете возразить – что 1000 р. это дорого. Да, это дороже чем книга. Но в отличие от книги, Вы не просто прочитаете, а затем посмотрите картинки. Вы сможете посмотреть на роботе в действии воочию. И как минимум на видео. А если захотите, то и построите его по предложенной мной инструкции (всего их 3).
И второе отличие от книги – это возможность задать вопрос по программированию Lego Mindstorms EV3 лично мне. Что – то в курсе непонятно, и вызывает вопросы? Не проблема. На сайте есть мои контакты. Берёте и спрашиваете.

Гарантия.

Если после изучения курса, Вы так и не сможете программировать, я верну Вам деньги. Для этого напишите мне на e-mail, что желаете вернуть деньги, и я сделаю Вам возврат.

P . S . Курс будет дорабатываться и видоизменятся. После его покупки, он будет доступен в личном кабинете неограниченное количество времени. Поэтому купить сейчас действительно выгодно.

Демо - доступ

Sp-force-hide { display: none;}.sp-form { display: block; background: #ffffff; padding: 15px; width: 450px; max-width: 100%; border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; border-color: #dddddd; border-style: solid; border-width: 1px; font-family: Arial, "Helvetica Neue", sans-serif; background-repeat: no-repeat; background-position: center; background-size: auto;}.sp-form input { display: inline-block; opacity: 1; visibility: visible;}.sp-form .sp-form-fields-wrapper { margin: 0 auto; width: 420px;}.sp-form .sp-form-control { background: #ffffff; border-color: #cccccc; border-style: solid; border-width: 1px; font-size: 15px; padding-left: 8.75px; padding-right: 8.75px; border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; height: 35px; width: 100%;}.sp-form .sp-field label { color: #444444; font-size: 13px; font-style: normal; font-weight: bold;}.sp-form .sp-button { border-radius: 4px; -moz-border-radius: 4px; -webkit-border-radius: 4px; background-color: #0089bf; color: #ffffff; width: auto; font-weight: 700; font-style: normal; font-family: Arial, sans-serif; box-shadow: none; -moz-box-shadow: none; -webkit-box-shadow: none;}.sp-form .sp-button-container { text-align: left;}

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.