Главная страница
Навигация по странице:

  • Краткие теоретические сведения

  • я не ем чурчхелу у меня от нее болят зубы. ПЗ 3_Изучение среды программирования LEGO. Занятие 3 Изучение среды программирования lego mindstorms nxt и Mindstorms ev3


    Скачать 332.09 Kb.
    НазваниеЗанятие 3 Изучение среды программирования lego mindstorms nxt и Mindstorms ev3
    Анкоря не ем чурчхелу у меня от нее болят зубы
    Дата14.10.2021
    Размер332.09 Kb.
    Формат файлаpdf
    Имя файлаПЗ 3_Изучение среды программирования LEGO.pdf
    ТипЗанятие
    #247426

    1
    Практическое занятие № 3
    Изучение среды программирования LEGO Mindstorms NXT и
    Mindstorms EV3
    Цели занятия: познакомиться с программной средой и возможностями конструкторов программируемых роботов LEGO Mindstorms NXT и Mind- storms EV3.
    Краткие теоретические сведения
    1. Комплектация конструкторов программируемых роботов LEGO
    MINDSTORMS NXT
    И
    LEGO MINDSTORMS EV 3 [7].
    В настоящее время используется два поколения конструкторов про- граммируемых роботов LEGO – LEGO MINDSTORMS NXT и LEGO MIND-
    STORMS EV3, которые включают в свой состав все необходимые элементы для сборки различных моделей роботов.
    LEGO MINDSTORMS NXT является интеллектуальным, управляемым компьютером, роботом на базе элементов LEGO и системы MINDSTORMS.
    Основа конструктора LEGO MINDSTORMS NXT: программируемый блок NXT (рис. 1а), интерактивные сервомоторы (рис. 2а) и несколько дат- чиков (рис. 3а). Существуют домашняя и образовательные версии LEGO
    MINDSTORMS NXT, отличающиеся набором комплектующих.
    LEGO MINDSTORMS EV3 поставляется в 2 версиях: домашняя (home version) и образовательная (education version). Программируемый блок и 3 мотора одинаковы в обоих наборах, но состав датчиков различается. Также в образовательный набор включили довольно деталь – Ball Wheel – опорное колесо, которое позволяет поворачивать роботу в любых направлениях.
    Программируемый блок, сервомоторы и датчики из набора LEGO
    MINDSTORMS EV3 представлены на рис. 1б-4б.
    MINDSTORMS NXT
    MINDSTORMS EV3
    а
    б
    Рисунок 1 – Программируемый блок

    2 большой средний
    Рисунок 2 – Сервомотор
    Датчики касания, освещенности, звука
    Датчики касания, освещенности и гироскоп
    Рисунок 3
    Рисунок 4 – Ультразвуковой датчик
    В образовательной версии набора LEGO EV3 два больших и один средний (рис. 2) сервомотор. Средний сервомотор отличается от остальных не только размером, но и техническими характеристиками. Размеры нового мотора составляют 3x4x9 см, его отличают высокая точность и скорость вращения. И датчики, и моторы имеют крестообразные отверстия для креп- ления, т.е. для установки может хватить одной оси.
    MINDSTORMS NXT
    MINDSTORMS EV3
    В состав образовательного комплекта входят следующие датчики:
    в зависимости от версии
    1. два датчика касания;
    2. датчик освещенности, позволяю- щий определять интенсивность света или датчик цвета – RGB- датчик, позволяющий роботу раз- личать цвета и измерять яркость окружающего света;
    3. датчик звука – микрофон;
    1. датчики касания (2 шт.) – определяет, когда кнопка нажата или отпущена, также он может подсчитывать одиночные или многократные нажатия.
    2.Датчик цвета:
    – различает 7 цветов (против 6 цветов в версии
    NXT 2.0), способен определять различия между белым и черным или цветами: синим, зеленым, желтым, красным, белым и коричневым;

    3 4. ультразвуковой датчик – «глаза» робота, позволяющие ему изме- рять расстояние до объекта.
    Существуют и другие датчики, ко- торые выпускаются отдельно от ком- плекта, например, для измерения тем- пературы, pH среды, гироскопический датчик, компас и др.
    Все датчики и моторы подсоеди- няются к NXT-блоку через порты входа и выхода. Сенсоры подключа- ются к входным портам под номера- ми 1-4, а моторы - к выходным пор- там, имеющим на блоке NXT назва- ния А, В, С. Блок NXT работает от шести батарей типа АА. В образова- тельную версию набора входит ак- кумуляторная батарея.
    – определяет отсутствие цвета;
    – может работать как датчик освещенности;
    – измеряет отраженный красный свет и окружаю- щее освещение;
    – частота работы: 1 кГц.
    3.Ультразвуковой датчик расстояния:
    – измеряет расстояние в диапазоне 3-250 см;
    – имеет точность измерений: +/-1 см;
    – обладает дискретностью результата измерений:
    0,1 см;
    – может быть использован для поиска других ак- тивных ультразвуковых датчиков (режим про- слушивания);
    – имеет красную LED подсветку вокруг «глаз».
    4.Гироскопический датчик – измеряет вращатель- ное движение робота и изменение его положе- ния:
    – может использоваться для определения текущего направления вращения;
    – имеет точность: +/- 3 градуса на 90 градусов обо- рота (в режиме измерения наклона);
    – может определить максимум 440 градусов/с (в режиме гироскопа);
    – частота работы: 1 кГц.
    В домашней версии набора ультразвуковой датчик расстояния заменен на многофункциональ- ный инфракрасный. Этот инфракрасный датчик может не только измерять расстояние, но и при- нимать команды от блока управления.
    Большой мотор очень похож на предыдущую версию мотора NXT, од- нако корпус мотора стал чуть больше (виртуально он теперь занимает 14x7x5 отверстий против бывших 14x6x5). Также у больших моторов крепление бы- ло смещено на одно отверстие относительно оси.
    Средний мотор отлично подойдет для работы под низкими нагрузками и высокими скоростями.
    Таблица 1. Характеристики сервомоторов набора LEGO EV3
    Характеристика
    Сервомотор большой средний скорость вращения, об/мин
    160-170 240-250 заданный крутящий момент, Н/см
    40 12 реальный крутящий момент, Н/см
    20 8 точность датчика угла поворота мотора, градус
    1 1
    NXT датчики, моторы и кабели совместимы с EV3, таким образом все ранее построенные роботы могут управляться новым блоком.
    Еще одной особенностью является автоматическое определение датчи- ков и моторов при их подключении к блоку.
    В версии EV3 усовершенствования коснулись и блока:

    4 1. По сравнению с NXT, EV3 имеет более быстрый процессор (300 МГц против 48 МГц ранее), больше оперативной памяти – 64 Мб (против 256 Кб у
    NXT 2.0). Прошивка блока и программы сохраняются во флеш-памяти.
    Внутренне EV3 базируется на свободно распространяемой ОС Linux. EV3- блок имеет 6 кнопок (против 4 у NXT) и подсветку различных цветов, кото- рая может информировать о процессе выполнения программы.
    2. Возможность соединения робота с Интернетом через сеть Wi-Fi.
    3. Увеличение разрешения экрана (178x128 пикселов против 100x64 пик- села у NXT 2.0). Экран остался монохромным.
    4. Появление порта USB для подключения внешних устройств.
    5. Слот для чтения SD карт (поддерживает до 32 Гб памяти).
    6. Возможность соединения с семью роботами посредством технологии
    Bluetooth (ранее были доступны три подключения).
    7. Дополнительный четвертый порт для подключения мотора.
    В новой версии сохранено соединение компьютера с блоком через
    USB- кабель, так как передача данных при подобном соединении происходит значительно быстрее и экономит заряд батареи. Добавился еще один способ подключения: теперь кроме подключения блока к компьютеру (по USB или
    Bluetooth) возможно подключать блоки между собой (по USB). Также до- ступно подключение по Wi-Fi с помощью USB-адаптера, подключаемого к блоку (EV3 с NXT по Bluetooth связать не получится).
    Таким образом, новое поколение роботов LEGO MINDSTORMS EV3 обладает всеми возможностями предыдущего поколения LEGO MIND-
    STORMS NXT и по многим параметрам превосходит его. В EV3 более мощ- ный управляющий блок, появились новые датчики, расширились возможно- сти подключения датчиков и сервомоторов. Такие характеристики позволяют создавать более продвинутых роботов.
    2. Среды программирования для конструкторов роботов LEGO MIND-
    STORMS NXT и LEGO MINDSTORMS EV 3 [7].
    Конструкторы программируемых роботов LEGO позволяют создавать программы для роботов самыми разнообразными способами. Простейшим вариантом является создание программы непосредственно на блоке управле- ния, где можно указать несколько команд, которые должен исполнить робот.
    Создание более сложных программ требует уже использование компьютера, где в специальной среде описывается алгоритм поведения робота, настраива- ется чувствительность датчиков, производится отладка. Получившаяся таким образом программа загружается в блок управления для непосредственного исполнения роботом.
    2.1. Интерфейс среды NXT-G представлен на рис. 5.
    Окно приложения состоит из следующих элементов:
    1. рабочая область;
    2. основная палитра;
    3. полная палитра;

    5 4. пользовательская палитра;
    5. самоучитель;
    6. верхнее меню;
    7. панель инструментов;
    8. командный центр.
    Рисунок 5 – Интерфейс среды NXT-G
    В основной палитре команд содержатся следующие блоки:
    1. управления моторами (блок «Движение»);
    2. записи и воспроизведения последовательности действий (блок «Пи- сать/Играть»);
    3. подачи звукового сигнала (блок «Звук»);
    4. вывода на экран (блок «Экран»);
    5. ожидания наступления события (блок «Ожидание»);
    6. циклы;
    7. проверки условия (блок «Переключатель»).
    Расширенная палитра состоит из следующих групп блоков:
    1. основная группа (содержит элементы основной палитры);
    2. группа действий (позволяет настраивать обратную связь при управ- ляющем воздействии на учебного робота: вывод информации на экран, пода- ча звукового сигнала и т.д.);
    3. группа датчиков (инструменты получения сведений об окружающей обстановки с помощью датчиков и кнопок блока NXT);
    4. группа операторов (ожидание события, переключатель, цикл, преры- вание программы);
    5. группа данных (инструменты для выполнения операций с логиче- скими, числовыми и текстовыми переменными);
    6. группа дополнений (преобразование типов данных, калибровка дат- чиков, работа с файлами, регистрация данных, сброс данных и т.д.).
    Пользовательская палитра («Моя палитра») предназначена для редак-

    6 тирования собственных блоков пользователя, выполняющих в программе функции подпрограмм. Детально настройки рассмотренных блоков пред- ставлены в работах [8, 9]. Процесс написания программы для LEGO-робота состоит в перемещении блоков из перечисленных выше палитр на рабочую область. Для настройки загрузки программы в блок NXT и ее выполнения используются кнопки командного центра.
    2.2. В комплекте c EV3 поставляется новая среда разработки на базе
    LabView, которая, как и NXT-G, работает на ОС Windows и Mac OS. Внесен- ные изменения:
    1) в EV3 появилось такое понятие, как проект, который содержит про- грамму для робота, документацию и результаты экспериментов. В проект можно добавлять новые и уже существующие программы;
    2) в среду программирования добавлен инструмент zoom, который поз- воляет масштабировать программу, чтобы, например, увидеть всю программу целиком;
    3) добавлена специальная страница с подключенным оборудованием, которая позволяет отслеживать статус этого оборудования и получать значе- ния на датчиках в реальном времени (рис 6).
    Рисунок 6 – Страница отслеживания оборудования
    Оборудование автоматически распознается при подключении.
    4) появился режим отладки, в котором:
    – подсветка места исполнения позволяет определить фрагмент алгоритма, исполняемый программой;
    – специальный символ отображается на соответствующем программном бло- ке, если с заданным портом используется не тот датчик или мотор;
    – есть возможность просматривать значения, передаваемые через каналы данных.
    5) появились новые возможности программных блоков:
    – сцепление блоков друг с другом позволило отказаться от «балки исполне- ния», на которой располагались блоки в среде NXT-G;
    – у блоков нет такого понятия, как панель настройки, – поведение настраива- ется непосредственно на блоке, что привело к увеличению их размера. Удоб- ство заключается в том, что программу легче читать – сразу видно, на что ре- агирует датчик или как ведет себя мотор;
    – появились блоки «ждать изменения», которые позволяют реагировать про- сто на изменение, а не на изменение до определенного значения (обычные блоки Ожидания/Wait в NXT-G);
    – улучшения в передаче данных от блока к блоку позволяют упростить пре- образование типов;

    7
    – есть возможность работать с массивами;
    – есть блок досрочного выхода из цикла.
    Как и в NXT, EV3 программа представляет собой последовательность блоков, определяющих действия робота. Например, для того, чтобы робот проехал вперед, а затем развернулся, можно составить программу из 2 блоков управления моторами – езда прямо и поворот (рис. 7).
    Рисунок 7 – Выполнение движения вперед и разворота
    Палитра программирования, на которой расположены все блоки, пере- местилась вниз (в NXT она располагалась с левого края). Изменилось не только расположение, была переработана сама структура вкладок. В EV3 ре- шили отказаться от вкладок «Общая палитра», «Расширенная палитра»,
    «Пользовательская палитра» и дублирования блоков внутри них. Палитра
    EV3 состоит из 6 вкладок:
    1. Действие
    2. Управление операторами
    3. Датчики
    4. Операции с данными
    5. Дополнения
    6. Мои Блоки
    Внешний вид вкладок палитры EV3 представлен на рис. 8.
    Рисунок 8 – Палитра программирования EV3
    Теперь настройка блока в палитре производится непосредственно на нем самом так, что все параметры блока видно без его выделения.
    Все блоки в EV3 имеют режимы: у блоков управления моторами режи- мом считается критерий остановки, у блоков датчиков – формат измерения или сравнения показаний. Режим блока задается большой кнопкой в левом нижнем углу.
    Выпадающего концентратора с входными и выходными параметрами в
    EV3 нет, шина данных выходит и подключается непосредственно к той сек- ции блока, которая настраивает нужный параметр (рис. 9).

    8
    Рисунок 9 – Передача данных между блоками в EV3
    Таким образом, программирование с помощью программного обеспе- чения EV3 осталось аналогичным предыдущей версии NXT-G и осуществля- ется путем перетаскивания иконок в рабочее окно с целью формирования команд. Существенные отличия заключаются в следующем:
    – появилась возможность отслеживания статуса подключенного обору- дования в режиме реального времени и режим отладки;
    – изменение интерфейса блоков;
    – новые блоки ожидания изменения;
    – новый тип поддерживаемых данных - массивы;
    – блок досрочного выхода из цикла.


    написать администратору сайта