Лего спайк прайм движение по линии

Обновлено: 15.05.2024

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

Робот за 3 минуты

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

Для робота Lego EV3 количество оборотов большого мотора составляет 160 – 170 оборотов в минуту.

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

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

Расчет числа оборотов

Для того, чтобы рассчитать количество оборотов колеса для движения на заданное расстояние по прямой нужно использовать длину окружности колеса. Она вычисляется по формуле L = π * d. Где π – число Пи, равное 3,14, а d –диаметр колеса. Для базового набора Lego EV3 диаметр колеса составляет 56 мм.

Пусть робот EV3 оснащен двумя передними колесами и шаровой опорой сзади и должен проехать 1 метр. За один оборот колеса робот преодолевает расстояние L = π * d = 3.14 * 56 = 175,84 мм. Пусть n – количество оборотов, k – заданное расстояние. Тогда количество оборотов n = k / L =>

n = 1000 мм / 175,84 мм = 5,69 оборотов.

Программа для Lego EV3 для движения робота на заданное количество оборотов.

  1. Во вкладке «Движение» выбираю блок «Рулевое управление».

Устанавливаю режим «Включить на количество оборотов», «Рулевое управление» установлено в 0 – это означает движение по прямой линии. Большие моторы установлены в порты B и C.

Программа для движения робота EV3 на 1 метр рулевое управление

рулевое управление движение по прямой на один метр

Скорость движения моторов – 50 условных единиц. Значение оборотов ставлю вычисленное выше. Тормозить в конце – значение «Истина». При нажатии на блок «Начало» робот Lego EV3 проедет по прямой 1 метр со скоростью 50 у.е. и остановиться.

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

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

  1. Разворачиваться на месте – колеса робота крутятся в разные стороны с одинаковой скоростью;
  2. Разворачиваться вокруг одного колеса – одно колесо машинки Lego EV3 стоит на месте, другое крутится с заданной скоростью;
  3. Описывать произвольную окружность – оба колеса крутятся в одном направлении с разной скоростью.

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

Робот тележка Lego EV3

робот тележка лего

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

Если робот не подходит по габаритам, то его не допускают к соревнованиям. Диаметр колеса 0,56 см – это стандартный размер колеса из базового набора Lego EV3. Левый большой мотор подключен к порту В, правый к порту С. Теперь вычислим количество оборотов колеса для каждого случая и для разворота робота Lego EV3 на определенный угол.

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

Разворот на месте

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

Длина описываемой окружности будет равна
L = π * d = 3.14 * 0,2 м = 0,628 метра

Количество оборотов будет равно пройденному расстоянию L деленному на длину окружности колеса n = Lокр / L колеса, где длина окружности колеса равна L = π * d = 3.14 * 56 = 175,84 мм = 0,176 м.

А значит количество оборотов для разворота на 360° будет равно

n = L окр / L колеса = 0,628 / 0,176 = 3,568 оборота.

Для блока программирования «Рулевое управление» можно задать разворот на 100 условных единиц (или — 100), что означает разворот на месте. Скорость 50 у.е. и 3,568 оборота.

Рулевое управление разворот на месте

разворот робота на месте рулевое управление

Для блока программирования «Независимое управление моторами» просто скорость одного мотора ставим 50 у.е., а другого – 50 у.е. При этом количество оборотов колес остается 3,568.

  1. Для того, чтобы повернуть робота тележку Lego EV3 на произвольное количество градусов нужно составить пропорцию, где нужное количество градусов нужно разделить на 360 градусов и учесть эту пропорцию в расчете.

Например, для разворота на 180 градусов. Обозначим нужную длину части окружности L1 =>

L1 = L * (нужное к-во градусов / 360 градусов) = L * (180 / 360) = L / 2 = 0,628 / 2 = 0,314, а значит к-во оборотов

n = L1 / L колеса = 0,314 / 0,176 = 1,784 оборота.

Поворот вокруг одного колеса

В этом случае у нас радиус поворота будет 20 см, а диаметр описываемой окружности 40 см. Поэтому длина описываемой окружности будет в два раза больше и как для полной окружности, так и для ее части нужно просто предыдущие вычисления умножить на два.

Поворот робота вокруг одного колеса

Поворот робота вокруг одного колеса

Для того чтобы сделать поворот вокруг одного колеса на 360 градусов нам понадобится в предыдущей формуле d умножить на 2, а значит и количество оборотов колеса увеличится вдвое.

L = π * 2 * d = 3.14 *2 * 0,2 м = 1,256 метра

Для робота собранного на базе набора Lego EV3 целесообразно применить программирование с помощью блока «Независимое управление моторами». Где одному мотору задать нулевое значение оборотов, а другому вычисленное. При повороте на 360 градусов это будет 7,136 оборота.

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

Пусть расстояние от центра окружности до середины первого колеса будет R1. Расстояние от центра окружности до середины второго колеса R2.

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

Длина окружности, которую проезжает правое колесо обозначим как L1

Движение робота по окружности произвольного размера

Движение робота по окружности произвольного размера

L1 = 2 * π * R1

Длина окружности для левого колеса

L1 = 2 * π * (R1 + R2)

Скорость правого колеса V1, а скорость правого колеса V2.
Время за которое заданное расстояние пройдет правое колесо t1.

t1 = L1 / V1 = (2 * π * R1) / V1

Время, за которое заданное расстояние пройдет левое колесо t2.

t2 = L2 / V2 = (2 * π * (R1 + R2)) / V2

Время проезда окружности или ее части левым и правым колесом у нас одинаковое t = t1 = t2, а значит и правые части выражений равны.

L1 / V1 = L2 / V2 ó (2 * π * R1) / V1 = (2 * π * (R1 + R2)) / V2 ó

Упрощаем выражение и получаем следующую пропорцию

V2 / V1 = (R1 + R2) / R1

Сейчас можно вычислить скорости левого и правого колеса для заданной окружности. Пусть у нас R1 = 20 см и R2 = 20 см, для упрощения скорость левого колеса возьмем 100 условных единиц. Тогда

V2 / V1 = (R1 + R2) / R1 ó 100 / V1 = (20 + 20) / 20

100 / V1 = 2 ó V1 = 100 / 2 ó V1 = 50 условных единиц.

Имея вычисленные значения скоростей можно составить программу прохождения участка. Для робота Lego EV3 можно использовать блок программирования «Независимое управление моторами». Скорость левого двигателя устанавливаем 100 у.е., скорость правого двигателя устанавливаем 50 у.е.

Независимое управление моторами Lego EV3 произвольная окружность

Независимое управление моторами Lego EV3 произвольная окружность

Режим устанавливаем «Включить на количество секунд». Произвольно установим 10 секунд. Для того, чтобы точно проходить заданное расстояние нужно замерить время прохождения одного круга секундомером. Зная это время можно задавать нужное нам расстояние.

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

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

lesson-header

План урока

1. Подготовка

  • Прочтите инструкции для учащихся, приведённые в Приложении LEGO ® Education SPIKE ™ .
  • Для выполнения этого задания вам понадобится изобразить толстую чёрную линию на белом или светлом фоне.

▷ Нарисуйте чёрную линию на листе белой бумаги.
▷ Приклейте изоленту к светлой поверхности.
▷ Распечатайте документ PDF с примерами линий.
▷ Используйте дополнительную чёрную ось из Базового набора LEGO ® Education SPIKE ™ Prime.

  • Используйте идеи, приведённые в разделе «Начало обсуждения», чтобы обсудить тему данного занятия.
  • Используйте видео, чтобы объяснить цели и задачи данного занятия.

3. Исследование (20 мин.)

  • Разделите учащихся на пары и дайте им задание собрать Тренировочную приводную платформу с датчиком цвета.

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

  • Попросите их воспроизвести следующую подпрограмму и описать, что произошло.

4. Объяснение (5 мин.)

  • Обсудите, каким образом датчик цвета обнаруживает чёрную линию.

5. Дополнение (15 мин.)

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

6. Оценка

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

Начало обсуждения

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

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

▷ тонких линиях;
▷ прямых углах;
▷ T-образных пересечениях;
▷ прерывистых линиях;
▷ чёрных линиях, пересекаемых цветными линиями.

Предложите учащимся посмотреть это видео, чтобы понять, что от них требуется.

lesson-header

PLAY

Советы по сборке

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

teacher-color1

Использование датчика цвета
Для решения этой задачи датчик цвета можно использовать в двух различных режимах (например, в режиме цвета или в режиме оценки яркости отражённого света ).

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

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

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

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

Этот блок представлен в дополнительном наборе блоков «Дополнительные моторы».

lesson-header

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

  • Может быть, они читают Руководство пользователя?
  • Может быть, они читают Краткое руководство пользователя?
  • Может быть, они пытаются самостоятельно догадаться, как работает устройство?

Предложите учащимся посмотреть это видео, чтобы понять, что от них требуется.

lesson-header

PLAY

Советы по сборке

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

  • Часть A: тело Носорога.
  • Часть B: голова Носорога.

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

teacher-tandem

Окружность колеса
Окружность колеса — важная часть данного урока. Диаметр используемых для этой модели колёс — 5,6 см. За один оборот колесо проезжает 17,6 см.

teacher-wheel

Советы по программированию

Основная программа

Пример решения

Другие программы

Индивидуальный подход

Способы упростить задание

    Используйте расстояние, соответствующее нескольким полным оборотам колеса, например:

▷ если диаметр колеса равен 5,6 см, а расстояние, которое проезжает колесо за один оборот, равно 17,6 см, то Носорог проедет 88 см за 5 оборотов колеса.

Способы сделать задание ещё интереснее

  • Попросите учащихся изменить скорость движения Носорога с 75 на 25 %. Посмотрите, что произойдёт!
  • Предложите учащимся использовать колёса меньшего диаметра. Посмотрите, насколько быстро они справятся с этой задачей.

teacher-differenciation

Возможности для оценки

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

1. Задание выполнено не полностью.
2. Задание выполнено полностью.
3. Результаты превзошли ожидания.

Используйте следующие критерии для оценки успеваемости детей.

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

Самостоятельная оценка

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

  • Синий Мы работали в команде и выполняли все задания вместе.
  • Жёлтый Выполняя задания, мы работали в команде и помогали друг другу добиться успеха.
  • Фиолетовый Выполняя задания, мы работали в команде, помогали друг другу добиться успеха и достигли поставленных целей.

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

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

student-07

Развитие языковых навыков

Способы развития языковых навыков

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

Примечание. Для выполнения этого задания требуется дополнительное время.

Развитие математических навыков

На этом уроке вы будете изучать основные математические понятия, в том числе:

  • измерение расстояний;
  • использование формулы «Число Пи х диаметр» для вычисления окружности колеса.

Чтобы добавить ещё один математический элемент:

  • попросите учащихся создать таблицу соответствия оборотов колеса пройденному расстоянию;
  • предложите учащимся использовать эту таблицу для определения количества оборотов, необходимых для прохождения определённого расстояния (например, 2,5 метра, 400 см, 3500 мм).

Примечание. Для выполнения этого задания требуется дополнительное время.

ФГОС ООО. Предметные результаты обучения

11.3 Математика и информатика
10) формирование информационной и алгоритмической культуры; формирование представления о компьютере как универсальном устройстве обработки информации; развитие основных навыков и умений использования компьютерных устройств;
11) формирование представления об основных изучаемых понятиях: информация, алгоритм, модель – и их свойствах;
12) развитие алгоритмического мышления, необходимого для профессиональной деятельности в современном обществе; развитие умений составить и записать алгоритм для конкретного исполнителя; формирование знаний об алгоритмических конструкциях, логических значениях и операциях; знакомство с одним из языков программирования и основными алгоритмическими структурами - линейной, условной и циклической.

11.7 Технология
2) овладение методами учебно-исследовательской и проектной деятельности, решения творческих задач, моделирования, конструирования и эстетического оформления изделий, обеспечения сохранности продуктов труда;
4) формирование умений устанавливать взаимосвязь знаний по разным учебным предметам для решения прикладных учебных задач;
5) развитие умений применять технологии представления, преобразования и использования информации, оценивать возможности и области применения средств и инструментов ИКТ в современном производстве или сфере обслуживания.

Курс подробно раскроет тему движения робота по линии на примере конструктора Lego Spike Prime — от калибровки датчика и регуляторов до нюансов разных видов движения: плавного, с прямыми поворотами на 90° и поворотами на любой градус при помощи гироскопа.

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

Знания и навыки, которые вы получите после интенсива (программирование роботов Lego с помощью языка Scratch), можно применять для роботов не только Lego Spike Prime, но и Lego EV3 при программировании их с помощью программного обеспечения Classroom.

Classroom — это новое программное обеспечение, которое пришло на смену EV3 Software и основано на визуальном языке программирования Scratch.

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


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

Конструктор LEGO SPIKE Prime (базовый набор) с одним дополнительным датчиком цвета или конструктор Lego EV3 с аналогичным набором блоков для датчиков

Программа SPIKE, которая работает как на macOS, так и на Windows. Она поддерживается только на десктопе или планшете (программу для компьютера можно бесплатно скачать тут)

  • Вспомним, что такое регулятор, релейный регулятор
  • Узнаем, что такое пропорциональный регулятор
  • Применим регулятор для создания часов
  • Сделаем барабанщика с помощью регулятора
  • Сделаем мобильного робота для удержания расстояния от препятствия
  • Познакомимся с калибровкой датчика цвета, основанной на нахождении минимума и максимума
  • Раскроем подробнее понятие переменной
  • Изучим алгоритм поиска минимума и максимума
  • Применим алгоритм для поиска черного и белого на полигоне и определения границы черной линии

11 мая в 18:00
Урок 3. Плавное движение по линии с помощью пропорционального регулятора с одним и двумя датчиками цвета с учетом постоянной ошибки

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

18 мая в 18:00
Урок 4. Движение по линии с поворотами под прямым углом с использованием кубического и/или ПД-регулятора

  • Разберемся, почему пропорционального регулятора не хватает для движения по линии с поворотами на 90°
  • Познакомимся с кубическим регулятором и применим его
  • Познакомимся с ПД-регулятором и применим его
  • Сравним два регулятора

25 мая в 18:00
Урок 5. Четкие повороты робота на любой градус для прохождения лабиринта и других полигонов с помощью гироскопа

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


  • Организатор Международного фестиваля робототехники «РобоФинист»
  • Организатор и судья региональных, городских, районных соревнований по робототехнике с 2012 г., автор регламентов соревнований
  • Методист первой категории, педагог дополнительного и общего образования детей, участник конкурсов педагогического мастерства г. Санкт-Петербурга
  • Руководитель команд-победителей всероссийского и международного уровней
  • Автор курса «Робототехника Lego Spike Prime» на Лекториуме

Лекториум — платформа для размещения онлайн-курсов и digital-издательство, которое создает сложный образовательный контент для вузов, школ и технологических компаний. На начало 2022 г. на платформе учатся 462 220 человек.

Курс подробно раскроет тему движения робота по линии на примере конструктора Lego Spike Prime — от калибровки датчика и регуляторов до нюансов разных видов движения: плавного, с прямыми поворотами на 90° и поворотами на любой градус при помощи гироскопа. Вы научитесь точно запускать робота для движения по линии или на соревновательных полигонах, познакомитесь с простыми математическими алгоритмами, которые позволяют выполнять продвинутые действия за счет умного подхода.

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

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

Движение робота по линии

Это соревнование проводится в разных номинациях и категориях. Есть движение по широкой линии (5 см), по узкой линии (1,5 см), включают в движение по линии участки с прерывистой линией. Часто еще используется объезд роботом препятствий (например объезд кирпича) или преодоление препятствий (например, качающийся мост). После преодоления препятствий робот должен вернуться на линию и успешно финишировать.

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

Алгоритмы движения робота

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

  • Релейный регулятор
  • Пропорциональный регулятор
  • Пропорциональный дифференциальный регулятор
  • Кубический регулятор
  • Пропорциональный интегральный регулятор
  • Пропорциональный интегральный дифференциальный регулятор

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

Зрение робота EV3

Робот EV3 не обладает зрением и может воспринимать информацию о линии при помощи датчика цвета EV3.

Зрение робота Lego EV3

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

Расположение датчика цвета над линией

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

Калибровка датчика цвета

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

  • ручной способ — все вычисления проводятся самостоятельно
  • автоматическая калибровка — вычисления производятся при помощи блоков операций с данными

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

На практике нужно измерить значение белого цвета, затем черного цвета, суммировать их и разделить на два. Т.е. если обозначить пороговое значение буквой C, значение белого цвета буквой A и значение черного цвета буквой B, то формула будет выглядеть следующим образом:

С = ( A + B ) / 2

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

Ручной режим калибровки датчика цвета EV3

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

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

Для примера установлю датчик цвета в порт под номером 3 и сниму показания на белом поле.

Пример калибровки датчика

На экране блока EV3 отобразилось показание в 43 условных единицы. Таким же образом определяем показания датчика на черной линии. Например показания будут 3 условных единицы. Подставляем эти значения в формулу.

С = ( A + B ) / 2 = (43 + 3) / 2 = 46 / 2 = 23

В результате получаем пороговое значение 23 условных единицы.

Автоматическая калибровка датчика цвета

Таким же точно образом измеряем пороговое значение (его еще называют значение серого) при автоматической калибровке, но на этот раз значение записывается в переменную. Назовем переменную, например, porog. В среде программирования Lego EV3 пишем программу для калибровки.

Программа с автоматической калибровкой датчика цвета

В первой части программы нужно расположить датчик над белым фоном. Датчик касания расположен в 1 порту. В программе используется блок ожидания действия с датчиком касания. В данном случае установлен параметр “щелчок” — цифра 2 в нижней части блока ожидания. Т.е. нужно нажать и отпустить кнопку датчика.

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

Во второй части программы нужно расположить датчик над черной линией и также нажать на кнопку датчика касания. Значения черного цвета записываются в переменную B.

В третьей части программы мы считываем значения датчиков из переменной A и B и передаем их значения в блок математики, который находится в режиме “Дополнения”. В этом блоке происходит вычисление по формуле С = ( A + B ) / 2 ирезультат вычисления записывается в переменную С.

Теперь значение переменной С можно использовать в качестве порогового значения серого для дальнейшего использования в алгоритмах движения по линии.

Движение по тонкой линии Arduino

Фрагмент соревнований по робототехнике «Движение по тонкой линии». Также это соревнование называют «Тонкий Триал». Этот очень быстрый робот в номинации роботов Arduino является победителем региональных соревнований.

По условиям соревнований робот Arduino должен совершить объезд кирпича и преодолеть качающийся мост. После преодоления препятствий робот должен вернуться на линию и финишировать не сойдя с трассы. Тонкий триал есть и в категории Lego EV3 роботов.

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