Lego mindstorms ev3 виртуальный робот

Обновлено: 11.05.2024

Перевод на русский язык с изменениями и дополнениями:

Проектирование и конструирование

Программирование

Имитационное моделирование (симуляция)

Анализ

  • MINDSTORMS EV3 / NXT — Ультразвуковой датчик
  • MINDSTORMS EV3 / NXT — датчик касания
  • MINDSTORMS EV3 — ИК-датчик
1. Введение
  • Возможно, наиболее очевидным преимуществом является то , что при использовании моделируемого робота мы можем писать программы для работы с роботом, даже если он физически не доступен. Например, ваш клуб робототехники может иметь только один комплект для сборки MINDSTORMS ® робота, но вся команда может работать и программировать на цифровую версию такого же комплекта MINDSTORMS ® робота в классе или дома.
  • Когда речь заходит о средах (реальных и виртуальных), моделирование предлагает гораздо большее разнообразие решений, чем это будет возможно физически. Это может быть даже слишком дорогим , чтобы протестировать наш робот в ближайшем невесомом космическом пространстве, в нашем случае мы могли бы легко имитировать его.
  • С помощью виртуальных робототехники, вы никогда не потеряете детали LEGO ® MINDSTORMS ® , и их всегда легко найти, а кроме того у Вас будет своя библиотека деталей, узлов и готовых роботов и программ к ним.
  • Работая в полностью цифровом пространстве, мы можем построить Вашу модель один раз, а затем сохранить её навсегда. Что дает нам возможность гораздо легче конкурировать и делиться своим роботами с другими пользователями по всему миру.
2. Установка и настройка

2.1 Минимальные системные требования к компьютеру

  • Intel Core Duo или лучше
  • 2 Гб оперативной памяти
  • 1,3 Гб свободного пространства на жестком диске
  • Windows 7 или выше

2.2 Рекомендуемые системные требования к компьютеру

  • Intel ISeries, i3 или лучше
  • 4 Гб оперативной памяти
  • 1,3 Гб свободного пространства на жестком диске
  • Dedicated видеокарта
  • Windows 7 или выше
2.3 Поддерживаемые платформы Robotics

2.3.2 LEGO ® MINDSTORMS ® EV3 ™ — (3 — е поколение роботов)

На рисунке (Figure 2.2) приведен список датчиков EV3, которые поддерживаются в тренажере.

2.3.1 LEGO ® MINDSTORMS ® NXT ™ — (2 — е поколение роботов)

На рисунке (Figure 2.1) приведен список датчиков NXT, которые поддерживаются в тренажере.

2.4 Дополнительные ресурсы

2.4.1 LEGO ® среда программирования как дополнительный инструмент для работы в Virtual Robotics Toolkit ™

lego-educator

Рисунок 2.3 Пример кода программы робота в среде программирования ev3.

2.4.2 Среда моделирования LEGO ® Digital Designer ™ как дополнительный инструмент для работы в Virtual Robotics Toolkit ™

LEGO ® Digital Designer ™ (или LDD, так он обычно называется) является свободно доступным CAD инструментом. Если у Вас есть серьезный интерес в разработке собственных цифровых роботов, то Вам будет полезным рассмотреть вопрос о более близком ознакомлении с этим инструментом проектирования.

lego-digital-disigned

LDraw

В дополнение к LEGO Digital Designer, вы можете также рассмотреть вопрос установки LDraw «все-в-одном» библиотеки деталей LEGO ® . LDraw поддерживает многие форматы файлов, поддерживаемых LEGO Digital Designer, и, вероятно, самый популярный формат файлов для создания и совместного использования 3D моделей LEGO между программами САПР.

Virtual Robotics Toolkit содержит мастер импорта, который может быть использован, чтобы импортировать LDraw файлы в тренажер. Правда, нет необходимости устанавливать эту библиотеку, но она предоставит намного больше возможностей для различных типов LEGO ® деталей, которые могут быть приведены в тренажере.

Ldraw

После установки LDraw «все-в-одном» библиотеки, вы также можете, обновить LEGO Digital Designer , так что вы можете экспортировать свои модели на SIM — карте. Для этого достаточно в меню Virtual Robotics Toolkit нажать на Help и выбрать пункт Patch LEGO Digital Designer .

lego-digital-disigned-1

Рисунок 2.5: Применение заплатки для LEGO Digital Designer

2.4.3 Дополнительные Интернет ресурсы

3. Экран приветствия

В этой главе рассмотрим проекты по умолчанию, которые включены в базовую установку Virtual Robotics Toolkit, и будем рекомендовать курс обучения. Мы завершим эту главу, продемонстрировав, как интерфейс Тренажера может быть настроен, чтобы наилучшим образом удовлетворить ваши потребности.

3.1 Установка Virtual Robotics Toolkit

Virtual-Robotics-Toolkit

Рисунок 3.1.1 При первом запуске Virtual Robotics Toolkit введите лицензионный ключ если Вы приобрели лицензию или выберите радиокнопку Continue with trial period. (14 days remaining) — продолжить 14 дневную пробную версию — > нажать OK

Далее, через 30-40 секунд появиться экран приветствия с открытой вкладкой Sim Basics — Базовые Симуляции:

Virtual-Robotics-Toolkit-1

Рисунок 3.1.2 Вкладка Sim Basics — Базовые Симуляции.

3.1 Проекты

3.1.1 ПомощьСправка Virtual Robotics Toolkit

Virtual-Robotics-Toolkit-2

Рисунок 3.2: Вкладка SimBasics (Базовые симуляторы). Прокрутите справа движок окна вниз и вы увидите 8 проектов виртуальных миров (сред обитания роботов) из них 4 мира спроектированы для LEGO ® EV3

Перевод на русский язык с изменениями и дополнениями:

Проектирование и конструирование

Программирование

Имитационное моделирование (симуляция)

Анализ

  • MINDSTORMS EV3 / NXT — Ультразвуковой датчик
  • MINDSTORMS EV3 / NXT — датчик касания
  • MINDSTORMS EV3 — ИК-датчик
1. Введение
  • Возможно, наиболее очевидным преимуществом является то , что при использовании моделируемого робота мы можем писать программы для работы с роботом, даже если он физически не доступен. Например, ваш клуб робототехники может иметь только один комплект для сборки MINDSTORMS ® робота, но вся команда может работать и программировать на цифровую версию такого же комплекта MINDSTORMS ® робота в классе или дома.
  • Когда речь заходит о средах (реальных и виртуальных), моделирование предлагает гораздо большее разнообразие решений, чем это будет возможно физически. Это может быть даже слишком дорогим , чтобы протестировать наш робот в ближайшем невесомом космическом пространстве, в нашем случае мы могли бы легко имитировать его.
  • С помощью виртуальных робототехники, вы никогда не потеряете детали LEGO ® MINDSTORMS ® , и их всегда легко найти, а кроме того у Вас будет своя библиотека деталей, узлов и готовых роботов и программ к ним.
  • Работая в полностью цифровом пространстве, мы можем построить Вашу модель один раз, а затем сохранить её навсегда. Что дает нам возможность гораздо легче конкурировать и делиться своим роботами с другими пользователями по всему миру.
2. Установка и настройка

2.1 Минимальные системные требования к компьютеру

  • Intel Core Duo или лучше
  • 2 Гб оперативной памяти
  • 1,3 Гб свободного пространства на жестком диске
  • Windows 7 или выше

2.2 Рекомендуемые системные требования к компьютеру

  • Intel ISeries, i3 или лучше
  • 4 Гб оперативной памяти
  • 1,3 Гб свободного пространства на жестком диске
  • Dedicated видеокарта
  • Windows 7 или выше
2.3 Поддерживаемые платформы Robotics

2.3.2 LEGO ® MINDSTORMS ® EV3 ™ — (3 — е поколение роботов)

На рисунке (Figure 2.2) приведен список датчиков EV3, которые поддерживаются в тренажере.

2.3.1 LEGO ® MINDSTORMS ® NXT ™ — (2 — е поколение роботов)

На рисунке (Figure 2.1) приведен список датчиков NXT, которые поддерживаются в тренажере.

2.4 Дополнительные ресурсы

2.4.1 LEGO ® среда программирования как дополнительный инструмент для работы в Virtual Robotics Toolkit ™

lego-educator

Рисунок 2.3 Пример кода программы робота в среде программирования ev3.

2.4.2 Среда моделирования LEGO ® Digital Designer ™ как дополнительный инструмент для работы в Virtual Robotics Toolkit ™

LEGO ® Digital Designer ™ (или LDD, так он обычно называется) является свободно доступным CAD инструментом. Если у Вас есть серьезный интерес в разработке собственных цифровых роботов, то Вам будет полезным рассмотреть вопрос о более близком ознакомлении с этим инструментом проектирования.

lego-digital-disigned

LDraw

В дополнение к LEGO Digital Designer, вы можете также рассмотреть вопрос установки LDraw «все-в-одном» библиотеки деталей LEGO ® . LDraw поддерживает многие форматы файлов, поддерживаемых LEGO Digital Designer, и, вероятно, самый популярный формат файлов для создания и совместного использования 3D моделей LEGO между программами САПР.

Virtual Robotics Toolkit содержит мастер импорта, который может быть использован, чтобы импортировать LDraw файлы в тренажер. Правда, нет необходимости устанавливать эту библиотеку, но она предоставит намного больше возможностей для различных типов LEGO ® деталей, которые могут быть приведены в тренажере.

Ldraw

После установки LDraw «все-в-одном» библиотеки, вы также можете, обновить LEGO Digital Designer , так что вы можете экспортировать свои модели на SIM — карте. Для этого достаточно в меню Virtual Robotics Toolkit нажать на Help и выбрать пункт Patch LEGO Digital Designer .

lego-digital-disigned-1

Рисунок 2.5: Применение заплатки для LEGO Digital Designer

2.4.3 Дополнительные Интернет ресурсы

3. Экран приветствия

В этой главе рассмотрим проекты по умолчанию, которые включены в базовую установку Virtual Robotics Toolkit, и будем рекомендовать курс обучения. Мы завершим эту главу, продемонстрировав, как интерфейс Тренажера может быть настроен, чтобы наилучшим образом удовлетворить ваши потребности.

3.1 Установка Virtual Robotics Toolkit

Virtual-Robotics-Toolkit

Рисунок 3.1.1 При первом запуске Virtual Robotics Toolkit введите лицензионный ключ если Вы приобрели лицензию или выберите радиокнопку Continue with trial period. (14 days remaining) — продолжить 14 дневную пробную версию — > нажать OK

Далее, через 30-40 секунд появиться экран приветствия с открытой вкладкой Sim Basics — Базовые Симуляции:

Virtual-Robotics-Toolkit-1

Рисунок 3.1.2 Вкладка Sim Basics — Базовые Симуляции.

3.1 Проекты

3.1.1 ПомощьСправка Virtual Robotics Toolkit

Virtual-Robotics-Toolkit-2

Рисунок 3.2: Вкладка SimBasics (Базовые симуляторы). Прокрутите справа движок окна вниз и вы увидите 8 проектов виртуальных миров (сред обитания роботов) из них 4 мира спроектированы для LEGO ® EV3

Журнал научно-технического творчества педагогов и школьников

Модель робота RPS-GAM3 — «Камень, ножницы, бумага»

Автор: Alexandre Campos *** Для разработки проектной документации модели робота RPS-GAM3 — «Камень, ножницы, бумага» автор на 90% использовал САПР — систему автоматизированного проектирования LDraw (LEGO CAD). Эта.

EV3 Monkey

Wi-Fi подключение робота LEGO® Mindstorms® EV3 к сети Интернет

Технология Wi-Fi позволяет управлять роботом LEGO® Mindstorms® EV3 через сеть Интернет из любой точки мира, и не быть привязанным к кабелю USB или иметь ограничение по дальности управления через Bluetooth. Для организации.

Робот Wall-e LEGO® Mindstorms® EV3

АВТОР: ALEX (Алексей Валуев) робот передвигается с помощью гусениц; умеет крутить головой синхронно с руками; при запуске робот поднимает руку и говорит «WALL-E»; отходит назад, если поднести к глазам предмет; при.

Робот гуманоид lava r3x LEGO® Mindstorms® EV3

Автор: Лауренс Валк LAVA R3X: гуманоид, который ходит и разговаривает В этой книге, Вы можете найти сборочные чертежи и рабочие программы для создания мобильных роботов, роботов животных и машин, но , пожалуй , одним из.

Робот EV3MEG LEGO® MINDSTORMS® EV3

Робот — краб EV3MEG. Разработчик Мартин Боогаартс (Martyn Boogaarts) Дружелюбный робот-помощник, у которого лучше всего получается перемещаться по линиям разного цвета при помощи датчика освещенности, который позволяет ему.

Робот «Gyro Boy» LEGO® MINDSTORMS® Education EV3

В среде разработчика LEGO Mindstorms Education (LME) EV3 есть все необходимое для создания робота «Gyro Boy»: -> Загрузить и установить среду разработчика LEGO Mindstorms Education (LME) EV3 ( Система Графического Программирования для.

Занимательная робототехника

Краевой центр образования получил в феврале 2016 г. достаточное количество наборов третьего поколения Lego Mindstorms Education EV3 для проведения занятий по робототехнике. *** МЛАДШАЯ ГРУППА Занимательная.

Инструкция по сборке роботов начального уровня на базе LEGO Mindstorms EV3

Автор: Дэмьен Kee. Pобот: RileyRover_BI -> Открыть или загрузить инструкцию сборки робота в PDF формате Загрузить и установить среду разработчика LEGO Mindstorms Education (LME) EV3 ( Система Графического Программирования для.

Робот щенок (Puppy) LEGO® MINDSTORMS® Education EV3

Разве можно заниматься робототехникой «виртуально» и зачем это нужно? Рассказывает Валентина Любимова, педагог дополнительного образования и методист Академии цифровых технологий (г. Санкт-Петербург). Подборка виртуальных сред проектирования и программирования роботов поможет вам перенести занятия в онлайн.

Симулятор Virtual Robotics Toolkit

Симулятор Virtual Robotics Toolkit

Робототехника дистанционно?

Последние два месяца самыми актуальными вопросами для преподавателей образовательной робототехники являются вопросы «Как работать?»

Я еще несколько лет назад начала рассматривать разные варианты для возможности проведения занятия по робототехнике с детьми 7-13 лет не только с реальными конструкторами, но и с использованием разных симуляторов и других инструментов. Нельзя сказать, что выбор доступных средств достаточно широк. Однако, за последнее время мы видим тенденцию развития данных направлений. Появляются новые платформы. Уже существующие платформы снижают плату за свое использование или делают использование бесплатным на определенный период.

Зачем?

При этом остается вопрос — зачем заниматься робототехникой «виртуально»?

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

  • В виртуальных средах можно заниматься даже без оборудования, только имея компьютер и доступ в интернет.
  • Владение инструментами САПР дает возможности для дальнейшего совершенствования моделей.
  • Работа в виртуальных программных оболочках позволяет быстрее отлаживать различные программные алгоритмы, которые потом гораздо проще тестировать на реальных роботах (при наличии определенного опыта).
  • Увлеченные дети могут дома в любое свободное время заниматься созданием конструкций, написанием кода, которые позже тестируют на занятиях в классе. При таком подходе усвоение материала проходит гораздо быстрее.
  • В виртуальных средах можно проводить соревнования.
  • На крупных соревнованиях возрастают требования к участникам — недостаточно только прийти на площадку и запустить собранного и настроенного дома робота.
    • Проверяются знания участников в умении программировать роботов под измененные задачи.
    • Оценивают процесс работы над проектом и то, что проект может быть «тиражируемым», т.е. другой участник при должной квалификации сможет создать такого же робота по вашей инженерной книге.

    Платформы для дистанционных занятий

    Образовательная робототехника включает в себя две главные части:

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

    Системы САПР

    САПР для LEGO

    Например, для подготовки проектной документации для Lego существует несколько:

    Самая простая, которая подходит для «быстрого старта» и простого изучения с детьми — LDD, другие CAD-системы может быть и сложнее для изучения и использования, но имеют больший функционал.

    Lego Digital Disigner

    Lego Digital Disigner

    САПР для VEX

    Для конструкторов VEX используют другие САПР. Наиболее популярная система на текущий момент SnapCAD для VEX IQ. Достаточно простая в использования, содержит библиотеку элементов VEX IQ, есть возможность создать свои детали и распечатать на 3D-принтере.

    Если же вы проводите занятия на конструкторах «старших» серий VEX, то для проектирования можно использовать САПР с расширенным функционалом, такие как Inventor.

    SnapCAD

    САПР для других платформ

    Для занятий с детьми «продвинутого» уровня, которые создают свои модели, проектируя и впоследствии изготавливая на 3D-принтерах и лазерных станках, можно использовать различные популярные САПР.

    Например, работая в tinkercad, можно не только создать 3D-модель для изготовления, но и создать виртуальную электронную схему с Arduino, которую потом и запрограммировать, и посмотреть работу в симуляторе. Таким образом, данная платформа удачно объединяет все возможности для виртуальной работы.

    Виртуальные симуляторы роботов

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

    Наиболее известные в данной категории симуляторы:

    Virtrual Robotics Toolkit

    Virtrual Robotics Toolkit

    • Отечественная разработка на русском языке
    • Реализовано для конструкторов ТРИК, Lego Mindstorms и квадрокоптеров «Пионер»
    • Большая библиотека методических разработок
    • Есть возможность загрузки собственных полигонов
    • Визуальный язык программирования + текстовые языки

    TRIK Studio

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

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

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

    Open Roberta

    vr.vex.com

    Безусловно, рассматривая симуляторы в робототехнике, нельзя не отметить еще одну отечественную разработку от Центра робототехники из Владивостока – среду MUR IDE (Python), созданную для робототехнического конструктора Автономный подводный робот.

    Используя симулятор, можно подготовиться к различным соревнованиям, таким как ОНТИ, Олимпиада Innopolis Open и другие.

    Среда MUR IDE (Python)

    Среда MUR IDE (Python)

    Симулятор роботов CoppeliaSim

    Симулятор роботов CoppeliaSim

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

    ColoBot

    А для развития конструкторского мышления стоит рассмотреть игру Bad Piggies – для смартфонов и планшетов, в которую с удовольствием играют и успешно осваивают основы физики и конструирования и дошкольники, и взрослые.

    В статье содержится описание опыта использования конструктора 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.

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

    Инструкция содержит пример сопряжения контроллера 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.

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

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

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

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

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


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


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


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

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

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

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

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

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

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

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

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

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

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

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


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



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



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

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

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

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

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

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

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

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

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

    Читайте также: