я не ем чурчхелу у меня от нее болят зубы. ПЗ 3_Изучение среды программирования LEGO. Занятие 3 Изучение среды программирования lego mindstorms nxt и Mindstorms ev3
Скачать 332.09 Kb.
|
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 и осуществля- ется путем перетаскивания иконок в рабочее окно с целью формирования команд. Существенные отличия заключаются в следующем: – появилась возможность отслеживания статуса подключенного обору- дования в режиме реального времени и режим отладки; – изменение интерфейса блоков; – новые блоки ожидания изменения; – новый тип поддерживаемых данных - массивы; – блок досрочного выхода из цикла. |