Меню

Программирование гироскопического датчика ev3

Поворот при помощи датчика

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

Пошаговые действия

  1. Постройте своего робота.
  2. Создайте свою программу.
  3. Далее установите робота в позицию 2 на поле 2 и запустите программу.
  4. Запишите результаты.
  5. Продолжите изучать использование гироскопического датчика для управления движениями робота.

Прежде чем вы начнете выполнять эту миссию, советуем изучить следующие разделы пособий самоучителя:
• Остановиться под углом
• Цикл

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

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

Соединение с реальным миром

( 5 мин. )

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

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

Создание модели

( 20 мин. )

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

ВАЖНОЕ ЗАМЕЧАНИЕ.
Гироскопический датчик и модуль EV3 должны быть неподвижны при подсоединении кабеля и во время запуска модуля EV3.

Создайте свою программу
Воссоздайте показанную программу и загрузите ее в своего робота.

Сводка программы
Старт
Независимое управление моторами – Мощность B[10], Мощность C[-10]
Ожидание – Гироскопический датчик – Сравнить угол – Тип[3] (Больше чем или равно), Градусы [90]
Независимое управление моторами – Выкл

Устранение неполадок
Требуется корректировка угла – как правило, значение должно быть меньше 90 градусов.

Теория
При использовании гироскопического датчика значение оборотов, записанное в блоке датчика, соответствует повороту приводной платформы. Точность датчика составляет +/- 3 градуса. Мертвый ход мотора и задержка, вызванная прекращением действия вращающего момента, также могут повлиять на точность.
Такие факторы, как мощность батареи, размер колес, трение робота о поверхность, расстояние между двумя колесами, больше не влияют на точность поворота робота.

Совместное обсуждение

( 20 мин. )

Запустите программу и наблюдайте.
Установите робота в исходную позицию 2 на поле 2 и запустите программу.

Записывайте свои выводы
• Опишите, что делал каждый из ваших программируемых блоков:
Мой робот поворачивался на месте до тех пор, пока гироскопический датчик не выдал значение 90 градусов, и остановился.
• Определите угол поворота робота:
Мой робот повернулся примерно на 90 градусов.
• Объясните различие между поворотом робота, сделанным с гироскопическим датчиком и без него.
Поворот под управлением гироскопического датчика связан с меньшим числом факторов неопределенности поведения робота.

Рефлексия и изменение
Измените свою программу таким образом, чтобы робот выполнил следующие повороты на месте:

  1. Выполнил поворот на месте по часовой стрелке на 45 градусов.
  2. Выполнил поворот на месте по часовой стрелке на 180 градусов.
  3. Выполнил поворот на месте по часовой стрелке на 360 градусов, а затем против часовой стрелки на 360 градусов.

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

Задача
Поверните робота на 45 градусов по часовой стрелке.

Решение — Сводка программы
Старт
Независимое управление моторами – Мощность B[10], Мощность C[-10]
Ожидание – Гироскопический датчик – Сравнить угол – Тип[3] (Больше чем или равно), Градусы [45]
Независимое управление моторами – Выкл
Устранение неполадок
Требуется корректировка угла – как правило, значение должно быть меньше 45 градусов.

Читайте также:  Разъем датчика заднего хода рено флюенс

Задача
Поверните робота на 180 градусов по часовой стрелке.

Решение — Сводка программы
Старт
Независимое управление моторами – Мощность B[10], Мощность C[-10]
Ожидание – Гироскопический датчик – Сравнить угол – Тип[3] (Больше чем или равно), Градусы [180]
Независимое управление моторами – Выкл
Устранение неполадок
Требуется корректировка угла – как правило, значение должно быть меньше 180 градусов.

Задача
Поверните робота на месте по часовой стрелке на 360 градусов, а затем против часовой стрелки на 360 градусов.

Решение — Сводка программы
Старт
Независимое управление моторами – Мощность B[10], Мощность C[-10]
Ожидание – Гироскопический датчик – Сравнить угол – Тип[3] (Больше чем или равно), Градусы [360]
Независимое управление моторами – Выкл
Ожидание – Секунды[2]
Независимое управление моторами – Мощность B[10], Мощность C[-10]
Ожидание – Гироскопический датчик – Сравнить угол – Тип[5] (Меньше чем или равно), Градусы [0]
Независимое управление моторами – Выкл

Совершенствование

( 15 мин. )

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

Когда вы будете готовы, испытайте свою программу в исходной позиции 4 на учебном поле 1.

Решение — Сводка программы
Старт
Цикл – Счетчик[4]
Рулевое управление – Градусы[682], Мощность[30]
Ожидание – Время [1с]
Независимое управление моторами – Вкл, Мощность B[10], Мощность C[-10]
Ожидание – Гироскопический датчик – Изменить угол – Направление[0] (Увеличение), Градусы[85]
Независимое управление моторами – Выкл
Ожидание – Время [1с]

Устранение неполадок
Требуется корректировка угла – как правило, значение должно быть меньше 90 градусов.

Объясните, для чего может использоваться цикл:
Я могу использовать циклическую структуру для повторения действий.

Дополнительно

  1. Создайте новую программу, которая заставляет робота двигаться по периметру треугольника. Когда вы будете готовы, испытайте свою программу в исходной позиции 4 на поле 1.
  2. Запрограммируйте робота на движение по траекториям другой формы.

Теперь вы умеете использовать гироскопический датчик для выполнения поворотов. Отлично!

Источник

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

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

Гироскопический датчик EV3 поставляется в составе образовательного конструктора Lego Mindstorms EV3. В домашней версии Lego EV3 датчика гироскопа нет. Если есть необходимость, его можно купить отдельно.

Датчик гироскоп — это цифровой датчик

Принцип работы гироскопического датчика

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

датчик гироскопа

  1. При вращении датчика в плоскости стрелок на верхней части датчика он может определять угловую скорость вращения. Она измеряется в градусах в секунду. 440 градусов в секунду является максимальной угловой скоростью, которую модет измерить датчик.
  2. Кроме скорости вращения датчик может определять угол вращения. Измерение угла вращения происходит в градусах. Точность измерения гироскопического датчика +/- 3 градуса если поворот на 90 градусов.

Особенности датчика гироскопа EV3

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

Сенсор подключается к блоку программирования EV3 плоским черным соединительным кабелем, который входит в набор. Гироскопический датчик можно подключить к любому входному порту, который обозначен цифрами от 1 до 4. Но по умолчанию датчик подключается во второй порт. Программное обеспечение контроллера Lego EV3 автоматически определяет порт подключения датчика.

Читайте также:  Схема подключения датчиков барьер газовых

порт контроллера

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

Области применения гироскопического датчика

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

модели на радиоуправлении

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

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

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

Источник

LEGO MINDSTORMS Education EV3 + MicroPython: программируем детский конструктор взрослым языком

Привет, Хабр! Мы уже рассказывали о платформе LEGO MINDSTORMS Education EV3. Основные задачи этой платформы — обучение на практических примерах, развитие навыков STEAM и формирование инженерного мышления. В ней можно проводить лабораторные работы по изучению механики и динамики. Лабораторные стенды из кубиков LEGO и утилиты по регистрации и обработке данных делают опыты еще интереснее и нагляднее и помогают детям лучше понять физику. Например, школьники могут собрать данные о температуре плавления и с помощью приложения систематизировать их и представить в виде графика. Но это только начало: сегодня мы расскажем, как дополнить этот набор средой программирования MicroPython и использовать его для обучения робототехнике.

Учим программированию с помощью EV3

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

Базовая среда программирования EV3 создана на основе графического языка LabVIEW и позволяет задавать алгоритмы для робота визуально: команды представлены в виде блоков, которые можно перетаскивать и соединять.

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

Здесь есть несколько хитростей, одна из которых — показать, что код выполняет те же задачи, что и блоки. В среде EV3 это можно сделать благодаря интеграции с MicroPython: дети создают одну и ту же программу в базовой среде программирования с помощью блоков и на языке Python в Visual Studio Code от Microsoft. Они видят, что оба способа работают одинаково, но кодом решать сложные задачи удобнее.

Переходим на MicroPython

Среда EV3 построена на базе процессора ARM9, и разработчики специально оставили архитектуру открытой. Это решение позволило накатывать альтернативные прошивки, одной из которых стал образ для работы с MicroPython. Он позволяет использовать Python для программирования EV3, что делает работу с набором еще ближе к задачам из реальной жизни.

Чтобы начать работать, нужно скачать образ EV3 MicroPython на любую microSD-карту, установить ее в микрокомпьютер EV3 и включить его. Затем нужно установить бесплатное расширение для Visual Studio. И можно приступить к работе.

Читайте также:  Как проверить датчик абс фиат дукато

Программируем первого робота на MycroPython

На нашем сайте есть несколько уроков для освоения базовых понятий робототехники. Модели на EV3 знакомят детей с азами, которые используются в самоуправляемых автомобилях, заводских роботах-сборщиках, станках с ЧПУ.

Мы возьмем для примера чертежную машину, которую можно научить рисовать узоры и геометрические фигуры. Данный кейс является упрощенным вариантом взрослых роботов-сварщиков или фрезеровщиков и показывает, как можно использовать EV3 совместно с MicroPython для обучения школьников. А еще чертежная машина может разметить отверстия в печатной плате для папы, но это уже другой уровень, требующий математических расчетов.

Для работы нам понадобятся:

  • базовый набор LEGO MINDSTORMS Education EV3;
  • большой лист клетчатой бумаги;
  • цветные маркеры.

Сборка самого робота есть в инструкции, а мы рассмотрим пример программирования.

Сначала инициализируем библиотеку модулей EV3:

Настраиваем платформу, которая вращает ручку как мотор в порте B. Задаем передаточное отношение двухступенчатой зубчатой передачи с количеством зубьев 20-12-28 соответственно.

Настраиваем подъемный механизм для ручки как мотор в порте C:

Настраиваем гироскоп, измеряющий угол наклона ручки, в порте 2:

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

Настраиваем датчик касания в порте 4. Робот начинает рисовать, когда датчик нажат:

Определяем функции, которые поднимают и опускают ручку:

Определяем функцию для поворота ручки на заданный угол или до определенного угла:

Если целевой угол больше, чем текущий угол гироскопического датчика, продолжаем движение по часовой стрелке с положительной скоростью:

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

Останавливаем вращающуюся платформу, когда целевой угол будет достигнут:

Устанавливаем начальное положение ручки в верхнем положении:

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

Когда устройство не готово, светодиоды на контроллере принимают красный цвет, и на ЖК-экране отображается изображение «палец вниз»:

Дожидаемся, когда датчик цвета считает синий или белый цвет, устанавливаем цвет светодиодов зеленым, отображаем на ЖК-экране изображение «палец вверх» и сообщаем, что устройство готово к работе:

Дожидаемся нажатия датчика касания, присваиваем гироскопическому датчику значение угла 0 и начинаем рисовать:

Поднимаем держатель ручки и возвращаем его в исходное положение:

Вот такая несложная программа у нас получилась. И теперь запускаем ее и смотрим на робота-чертежника в деле.

Что дают такие примеры

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

Поддержка MicroPython делает платформу EV3 подходящей для обучения в старших классах. Ученики могут попробовать себя в роли программистов на одном из самых популярных современных языков, познакомиться с профессиями, связанными с программированием и инженерным проектированием. Наборы EV3 показывают, что писать код — это не страшно, готовят к серьезным инженерным задачам и помогают сделать первый шаг к освоению технических специальностей. А для тех, кто работает в школе и связан с образованием, у нас подготовлены программы занятий и учебные материалы. В них детально расписано, какие навыки формируются при выполнении тех или иных задач, и как полученные навыки соотносятся со стандартами обучения.

Источник

Adblock
detector