Какие клавиши на клавиатуре вызывают справочную систему программы lego mindstorms education ev3

После запуска программы мы увидим основное окно, оно называется «Лобби» (рис. 1). В это окно всегда можно перейти. нажав кнопку «Лобби» в левом верхнем углу окна. Внешне кнопка напоминает панель управления EV3-блока.

Рисунок 1. Основное окно программы в образовательной и домашней версии

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

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

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

Проект — это новая составляющая среды программирования, которая отсутствовала в предыдущих версиях. Проект содержит:

LEGO Mindstorm EV3: Programming Tutorial

— объекты, используемые в программах проекта:

— звуки, изображения, видеоролики, текстовые файлы;

Можно привести сравнение проекта с книгой МS Eхсе!, которая состоит из листов. Причём листы могут быть автономны или содержать информацию, относящуюся к общей теме книги. При сохранении книги сохраняются все листы, при сохранении проекта в среде Lego Mindstorms EV3 сохраняются все входящие в него программы и используемые в них объекты.

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

Важно!

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

Для создания первого проекта выберите: Файл — Новый проект — Программа (в образовательной версии) или Файл — Новый проект (в домашней версии) (рис. 2).

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

Откроется окно первой программы. (рис 3).

Рисунок 3. Окно первой программы

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

Важно!

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

Для сохранения и переименования проекта выберем Файл — Сохранить проект как и укажем путь и имя проекта. Название проекта — это имя сохраняемого файла. Назовём проект Lesson1 .

Для изменения названия программы дважды щёлкнем левой кнопкой мыши по ярлыку Program и изменим название на Мoving , так как наша первая программа будет посвящена реализации роботом различных движений (рис. 4).

Рисунок 4. Переименованные проект и программа

Рассмотрим подробнее окно программы (рис. 3). Под кнопкой Лобби мы видим изображение гаечного ключа, нажав на который получаем доступ к возможностям работы с проектом: импорту. экспорту и удалению объектов, получению информации о переменных и подпрограммах и многое другое.

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

Закройте контент-редактор, щёлкнув по правой верхней кнопке Закрыть редактор контента.

Внизу окна мы видим разноцветную палитру программирования, которая частично сохранила структуру предыдущей версии — NХТ 2.0 . Справа внизу находится область, которая станет активной после соединения компьютера с блоком EV3 и на которой будет отражена полная информация о блоке, загруженных проектах и программах, а также будут выводиться показания датчиков в реальном времени.

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

Важно!

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

Источник: dzen.ru

Среда программирования EV3

Среда программирования Lego Mindstorms EV3 была разработана компанией National Instruments. В ее основе лежит мощная среда инженерного программирования LabVIEW.

Среда программирования Lego Mindstorms EV3

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

Графический интерфейс языка программирования EV3 поддерживает большинство структур программирования и дает возможность создавать сложные алгоритмические конструкции.

Обзор среды программирования EV3

Двойным нажатием левой кнопки мыши на иконку LEGO MINDSTORMS Education EV3 запускаем среду программирования EV3. У меня установлено программное обеспечение для педагога т.к. оно дает больше возможностей.

Программное обеспечение для педагога

После того, как среда программирования запустится сразу появляется окно — «Что нового в этой версии». Можно прочитать и лучше в левом нижнем углу поставить галочку у надписи «Do not show again for this version».

Читайте также:
Программа лаунч для диагностики авто на Андроид на русском

Теперь каждый раз при запуске ПО это окно не будет появляться. Запустив приложение, мы попадаем в основное окно под названием «Лобби». В окно «Лобби» легко перейти если нажать кнопку «Лобби» в верхнем левом углу.

Лобби

Внешний вид кнопки похож на панель управления микрокомпьютера EV3. Также в левой верхней части находятся кнопки меню:

  • Файл
  • Редактировать
  • Инструменты
  • Справка

В правой верхней части окна «Лобби» можно увидеть логотип «LabVIEW» и значки:

  • Свернуть
  • Свернуть в окно
  • Закрыть

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

На данный момент в установленной версии есть семь ярлыков из которых четыре активированы и три являются неактивными.

Активные ярлыки:

  • Начало работы
  • Новый проект
  • Руководство (самоучитель)
  • Инструкции по сборке

Неактивные ярлыки:

  • Конструкторские проекты
  • Космическое задание
  • Окружающий мир

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

Учебные материалы

Также в левом нижнем углу находится кнопка «Просмотр», позволяющая переходить в основное меню и кнопка «Поиск», помогающая по заданным критериям осуществлять поиск проектов.

Динамические ярлыки

Динамические ярлыки

  1. Начало работы содержит рекомендации по сортировке деталей, их маркировки, начале работы с микроконтроллером EV3. Также в этом разделе есть примеры создания первых простейших программ и схема сборки приводной платформы. Для преподавателей в этом разделе создан PDF файл с советами как эффективно преподавать изучаемый материал.
  2. Новый проект позволяет создать новую программу или новый эксперимент.
  3. Руководства (самоучитель) является подборкой учебных материалов для знакомства пользователей с обучающими программами.
  4. Инструкции по сборке содержат конструкторские идеи с пошаговыми инструкциями для создания роботов. Модели для базового набора помогают собрать четыре базовых модели с использованием основного набора.
  5. Для обладателей основного и ресурсного набора есть инструкции для сборки и программирования еще шести моделей роботов. Перечень деталей Lego содержит два PDF файла с перечнем деталей наборов 45544 и 45560. Это основной и ресурсный набор Lego EV3.

В одной из следующих статей я расскажу о создании нового проекта.

Среда программирования Lego Mindstorms EV3. Lobby

Источник: legoteacher.ru

Взаимодействие с роботом на базе конструктора Lego Mindstorms EV3 через RCML

В статье содержится описание опыта использования конструктора Lego Mindstorms EV3 для создания прототипа робота с его последующим программным и ручным управлением при помощи Robot Control Meta Language (RCML).

Далее будут рассмотрены следующие ключевые моменты:

  • Сборка прототипа робота на базе конструктора Lego Mindstorms EV3
  • Быстрая установка и настройка RCML для Windows
  • Программное управление роботом на базе контроллера EV3
  • Ручное управление периферией робота с помощью клавиатуры и геймпада

Описание прототипа робота

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

2. Следующий шаг — подготовка RCML для работы с конструктором Lego Mindstorms EV3.

Следует скачать архивы с исполняемыми файлами и файлами библиотек rcml_build_1.0.6.zip и rcml_modules_build_1.0.6.zip.

Далее описан процесс выполнения быстрого старта для взаимодействия RCML и Lego робота, управляемого контроллером EV3.

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

Содержимое каталога после распаковки в него архивов

Далее необходимо создать файл конфигурации config.ini, который необходимо расположить в этом же каталоге. Для реализации возможности управления контроллером EV3 при помощи клавиатуры и геймпада, следует подключить модули lego_ev3, keyboard и gamepad.

Листинг конфигурационного файла config.ini для RCML

[robot_modules] module = lego_ev3 [control_modules] module = keyboard module = gamepad

Далее следует произвести сопряжение контроллера EV3 и адаптера.

Инструкция для сопряжения контролера EV3 и Bluetooth адаптера

Инструкция содержит пример сопряжения контроллера Lego Ev3 и ПК под управлением операционной системы Windows 7.

1. Нужно перейти в раздел настроек контроллера Ev3, далее в пункт меню «Bluetooth».

2. Следует убедиться в правильности установки параметров конфигурации. На против пунктов “Visibility”,” Bluetooth” должны быть установлены галочки.

3. Необходимо перейти в «Панель управления», далее «Устройства и принтеры», далее «Устройства Bluetooth».

4. Необходимо нажать кнопку «Добавление устройства». Откроется окно для выбора доступных Bluetooth устройств.

5. Следует выбрать устройство “EV3” и нажать кнопку «Далее».

6. На экране контроллера EV3 отразится диалоговое окно «Connect?». Нужно выбрать вариант галочки, и подтвердить свой выбор нажатием центральной клавиши.

7. Далее отобразиться диалоговое окно «PASSKEY», в строке ввода должны быть указаны цифры «1234», далее следует подтвердить ключевую фразу для сопряжения устройств, путем нажатия центральной клавиши на позиции с изображением галочки.

Читайте также:
Эстелар программа обновления кожи отзывы

8. В мастере сопряжения устройства появится форма для ввода ключа для сопряжения устройств. Нужно ввести код «1234» и нажать клавишу «Далее».

9. Далее отобразиться окно, с успешным подключением устройства. Следует нажать клавишу «Закрыть».

10. На ПК необходимо вернуться в «Панель управления», далее «Устройства и принтеры», далее «Устройства Bluetooth». В списке доступных устройств отобразится устройство, с которым было произведено сопряжение.

11. Следует двойным нажатием зайти в свойства подключения “EV3”.

12. Далее необходимо перейти во вкладку «Оборудование».

13. Далее следует двойным нажатием перейти в свойства подключения «Стандартный последовательный порт по соединению Bluetooth».

14. Указанный в свойствах индекс COM-порта, следует использовать в конфигурационном файле config.ini модуля lego_ev3. В примере показаны свойства Bluetooth подключения контроллера Lego EV3 с использованием стандартного последовательного порта COM14.

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

Листинг конфигурационного файла config.ini для модуля lego_ev3

[connections] connection = COM14 [options] dynamic_connection = 0

Теперь необходимо произвести настройку модуля keyboard. Модуль находится в каталоге control_modules, далее keyboard. Следует создать конфигурационный файл config.ini рядом с файлом keyboard_module.dll. Перед тем, как создать конфигурационный файл, необходимо определить, какие действия должны быть совершены по нажатию клавиш.

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

В качестве примера, буду использовать нажатия следующих клавиш:

  • Стрелки вверх/вниз используются для вращения мотора задних колес вперед/назад
  • Стрелки влево/вправо поворачивают колеса влево/вправо

Правила описания осей для модуля keyboard

1. При добавлении новой оси, необходимо в секцию [mapped_axis] добавить свойство, имя которого есть имя оси, и присвоить ему значение кнопки клавиатуры в HEX формате, при этом на каждую кнопку заводится подобная запись, т.е. имя оси может быть использовано несколько раз. В общем случае запись в секцию [mapped_axis] будет выглядеть следующим образом:

имя_оси = значение_кнопки_клавиатуры_в_HEX_формате

2. Необходимо установить максимальное и минимальное значение, которое может откладываться по данной оси. Для этого необходимо с новой строки добавить секцию в конфигурационном файле config.ini, одноименную с именем оси, и задать свойства upper_value и lower_value, которые соответствуют максимум и минимуму оси соответственно. В общем виде данная секция выглядит следующим образом:

[имя_оси] upper_value = максимальное_значение_оси lower_value = минимальное_значение_оси

3. Далее следует определить, какое значение будет иметь ось в случае нажатия кнопки на клавиатуре, которая ранее была прикреплена к ней. Определение значений происходит посредством создания секции, название которой состоит из имени оси и значения кнопки клавиатуры в HEX формате, разделенные между собой символом нижнего подчеркивания. Для задания значения по умолчанию (в не нажатом) и нажатом состоянии используются свойства unpressed_value и pressed_value соответственно, в которые передаются значения. Общий вид секции в таком случае выглядит следующим образом:

[имя-оси_значение-кнопки-клавиатуры] pressed_value = значение_оси_при_нажатой_клавише unpressed_value = значение_оси_при_отжатой_клавише

Текст спойлера для удобства просмотра скопирован из документации по RCML.

Для реализации управления прототипом робота был создан конфигурационный файл модуля keyboard, который включает в себя оси go и rotate. Ось go используется для задания направления движения робота. При нажатии клавиши “стрелка вверх” ось получит значение 100, при нажатии клавиши “стрелка вниз” ось примет значение -50. Ось rotate используется для установки угла поворота передних колес. При нажатии клавиши “стрелка влево” значение оси будет равно -5, при нажатии «стрелки вправо» ось примет значение 5.

Листинг конфигурационного файла config.ini для модуля keyboard

;Обязательная секция [mapped_axis] ;название_оси = код_клавиши (в HEX формате) ;Ось go получает значения от стрелки_вверх go = 0x26 ;Ось go получает значения от стрелки_вниз go = 0x28 ;Ось rotate получает значения от стрелки_влево rotate = 0x25 ;Ось rotate получает значения от стрелки_вправо rotate = 0x27 ;Описание оси go, всегда должно иметь оба ключа [go] ;Верхняя граница значений оси go upper_value = -100 ;Нижняя граница значений оси go lower_value = 100 ;Описание оси rotate, всегда должно иметь оба ключа [rotate] ;Верхняя граница значений оси rotate upper_value = -100 ;Нижняя граница значений оси rotate lower_value = 100 ;Описание поведения оси go для клавиши *стрелка_вверх* (0x26) [go_0x26] ;При нажатии клавиши *стрелка_вверх* значение оси задать равным 50 pressed_value = 100 ;При отпускании клавиши *стрелка_вверх* значение оси задать равным 0 unpressed_value = 0 ;Описание поведения оси go для клавиши *стрелка_вниз* (0x28) [go_0x28] ;При нажатии клавиши *стрелка_вниз* значение оси задать равным -50 pressed_value = -50 ;При отпускании клавиши *стрелка_вниз* значение оси задать равным 0 unpressed_value = 0 ;Описание поведения оси rotate для клавиши *стрелка_влево* (0x25) [rotate_0x25] ;При нажатии клавиши *стрелка_влево* значение оси задать равным -5 pressed_value = -5 ;При отпускании клавиши *стрелка_влево* значение оси задать равным 0 unpressed_value = 0 ;Описание поведения оси rotate для клавиши *стрелка_вправо* (0x27) [rotate_0x27] ;При нажатии клавиши *стрелка_вправо* значение оси задать равным 5 pressed_value = 5 ;При отпускании клавиши *стрелка_вправо* значение оси задать равным 0 unpressed_value = 0

Читайте также:
Айфон программы для машины

Далее для реализации управления при помощи геймпада, необходимо настроить модуль gamepad. Конфигурирование модуля включает в себя создание конфигурационного файла config.ini рядом с gamepad_module.dll, находящего в каталоге control_modules, далее gamepad.

Универсальный файл конфигурации модуля для взаимодействия с геймпадом

;Обязательная секция описания используемых осей [axis] ;Ось для завершения режима ручного управления Exit = 9 ; 11 бинарных осей, соответствующих кнопкам геймпада B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 start = 10 T1 = 11 T2 = 12 ; 4 оси стиков ;Правый стик движение вверх/вниз RTUD = 13 ;Правый стик движение влево/вправо RTLR = 16 ;Левый стик движение вверх/вниз LTUD = 15 ;Левый стик движение влево/вправо LTLR = 14 ; 2 оси крестовины ;Движение крестовины вверх/вниз arrowsUD = 17 ;Движение крестовины влево/вправо arrowsLR = 18 ;Описание поведения оси B1 [B1] ;При нажатии кнопки B1 значение оси задать равным 1 upper_value = 1 ;При отпускании кнопки B1 значение оси задать равным 0 lower_value = 0 [B2] upper_value = 1 lower_value = 0 [B3] upper_value = 1 lower_value = 0 [B4] upper_value = 1 lower_value = 0 [L1] upper_value = 1 lower_value = 0 [L2] upper_value = 1 lower_value = 0 [R1] upper_value = 1 lower_value = 0 [R2] upper_value = 1 lower_value = 0 [start] upper_value = 1 lower_value = 0 [T1] upper_value = 1 lower_value = 0 [T2] upper_value = 1 lower_value = 0 ;Описание поведения оси правого стика движение вверх/вниз [RTUD] ;Значение оси при перемещении в максимально возможное верхнее положение upper_value = 0 ;Значение оси при перемещении в максимально возможное нижнее положение lower_value = 65535 [RTLR] upper_value = 0 lower_value = 65535 [LTUD] upper_value = 0 lower_value = 65535 [LTLR] upper_value = 0 lower_value = 65535 ;Описание поведения оси крестовины движение вверх/вниз [arrowsUD] ;Значение оси при нажатии стрелки вверх upper_value = 1 ;Значение оси при нажатии стрелки вниз lower_value = -1 [arrowsLR] upper_value = 1 lower_value = -1

Дополнительная информация об особенностях настройки модуля gamepad отображена в справочном руководстве по RCML.

3. Следующий шаг — написание программы на языке RCML.

В корне созданного каталога, необходимо создать файл программы. Имя файла программы и его расширение может быть любым, однако следует избегать русских букв в названии. В примере использовано имя файла — hello.rcml.

Для модуля lego_ev3 программный код резервирования робота, имеет следующий вид:

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

Алгоритм программы следующий:

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

Листинг программы для Lego робота на языке RCML

Для компилирования программы необходимо использовать командную строку window. Сначала следует переместиться в созданный каталог с исполняемыми файлами rcml_compiler.exe и rcml_intepreter.exe. Далее нужно ввести следующие команды.

Команда для компилирования файла hello.rcml:

rcml_compiler.exe hello.rcml hello.rcml.pc

В результате компилирования, в созданной директории появится новый файл hello.rcml.pc.

Скриншот командой строки после успешного компилирования

Теперь следует убедиться в том, что контроллер EV3 включен, сопряжен с Bluetooth адаптером. Геймпад должен быть подключен к ПК. После этого нужно выполнить команду исполнения программного файла:

rcml_intepreter.exe hello.rcml
Внешний вид командной строки во выполнения программы

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

4. Следующий шаг – управление роботом в ручном режиме при помощи клавиатуры.

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

При помощи клавиатуры возможно управление любым двигателем робота. В рамках примера реализовано управление следующими механизмами:

  • Углом поворота передних колес
  • Направлением вращения задних колес

Листинг программы взаимодействия клавиатуры и робота Lego на базе контроллера EV3

Далее следует откомпилировать программу и выполнить её. Результат ручного управления Lego роботом при помощи на клавиатуры показан на видео внизу страницы.

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

Листинг программы взаимодействия геймпада и робота Lego

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

В статье кратко продемонстрированы только лишь некоторые возможности RCML. Наиболее подробное описание находиться в справочном руководстве.

  • lego mindstorms
  • робототехника
  • программирование

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru