Как написать программу «Кегельринг-квадро» для робота Lego EV3

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

Кегельринг квадро программа

Как собрать EV3 для проведения игр

Инструкция по сборке робота-тележки «ЕВ3» (предыдущий конструктор NXT2) включает 7 шагов:

  1. Сначала нужно сделать раму для крепления моторчиков. Она состоит из 2-х белых балок с 15-ю отверстиями и 4-х серых длиной 11 и 9 отверстий. К белым, расположенным параллельно, крепятся 2 уголка с черными штифтами. Серые балки лежат поперек белых, их надевают сверху на штифты уголков. За счет этого получается прямоугольная рама. Изнутри в нее можно вставить красные штифты для крепления двигателей.
  2. Готовую раму нужно присоединить к процессору. У него снизу — посадочные гнезда. Штифтами синего цвета нужно попасть в крайние отверстия.
  3. Следующий шаг — соединить колесо и мотор. Потребуется колесо, ось длиной 7 отверстий, 3 шайбы (2 желтые, 1 серая), 2 балки (одна — 3х5 отверстий, вторая — маленькая для крепления мотора). Серую шайбу устанавливают на край оси. Ось вставляют в мотор справа. Теперь слева необходимо закрепить колесо между шайбами. Оно нанизывается так, чтобы лицевая сторона была снаружи. Угловой балкой крепят мотор к корпусу. Она вставляется сзади мотора и закрепляется 2-мя синими штифтами. Непосредственно к корпусу процессора мотор крепится оставшейся маленькой деталью.
  4. Собранные моторы с колесами нужно соединить с процессором. В середину нижней балки мотора вставляется штифт с крестиком. Он должен попасть в балку рамы рядом с красным штифтом, который был вставлен на 1-ом этапе сборки. Колесо должно слегка выходить спереди за балку. Осталось прикрепить мотор сверху. Маленькая балка должна попасть в среднее отверстие верхнего ряда на корпусе процессора.
  5. Для задней опоры необходим шарик в чашечке. К его верхней части крепятся уголки: 4 одинаковых тонких уголка, в 2 из них вставляются синие штифты. 1-ый закрепляется справа, 2-ой – слева. 2 уголка закреплены на чашке с шариком. В другие 2 уголка вставляются черные штифты. Первый – справа, второй – слева. Теперь нужно добавить 2 балки длиной 5 отверстий. С помощью красных штифтов рама фиксируется на конструкции. Задняя опора готова.
  6. Для бампера потребуются 2 балки длиной 15 отверстий, в каждой по 2 черных штифта. Балка длиной 5 отверстий надевается сверху на эти штифты и фиксирует 2 балки, превращая их в одну. Чтобы прикрепить балку к корпусу робота, понадобятся 2 серые балки длиной 13 отверстий, в них вставляются черные штифты. Прикрепляются балки друг к другу маленькой деталью длиной 2 отверстия. С 1 стороны – синий штифт с крестиком, с другой – черный.
  7. Теперь нужно собрать части робота EV3 в единый механизм. Сзади к раме нужно поставить опору, чтобы робот стоял ровно. Бампер крепится черными штифтами сверху за балку на двигателе.

Робот для кегельринг квадро

Чем соревнование отличается от стандартного «Кегельринга»

В стандартной игре роботу нужно сбить 8 банок. В «Кегельринг-Квадро» их всего 4: 2 белые и 2 черные. Побеждает тот, кто, не выходя за пределы круга, быстрее всех вытолкнет белые банки. За черные штрафуют.

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

Написание программы для «Кегельринга»

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

На «Странице аппаратных средств» есть раздел «Представление порта», там нужно взять расстояние до банки, которое замерит сенсор. Например, ультразвуковой прибор фиксирует число «25,9».

Соревнования по кегельрингу

При ультразвуковом датчике, который входит в образовательный набор:

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

Программу нужно загрузить в машину и протестировать. Чтобы робот останавливался точно напротив кегли, возможно, придется ее донастроить с помощью команды «Независимое управление моторами». Еще вариант — понемногу наращивать скорость вращения для подбора нужной мощности.

Дальше нужно поставить машину так, чтобы сенсор цвета был прямо над ограничительной линией черного цвета. Измерив показатель в режиме «Яркость отраженного света», устанавливается пороговое значение. Например: 10, если замер дал результат «7».

Чтобы робот ехал по прямой линии, нужно перейти в программный блок «Рулевое управление» (зеленая палитра) и выбрать «Включить». Для команды «Рулевое управление» следует поставить «0», для «Мощности» — «50».

Чтобы сенсор цвета искал черную границу, в программном блоке «Ожидание» (оранжевая палитра) (режим «Датчик цвета – Сравнение – Яркость отраженного сигнала») задаются следующие характеристики: «Тип сравнения» = 4, «Пороговое значение» = 10.

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

Чтобы запрограммировать машину на возвращение в исходную позицию – центр ринга, понадобится совершить 3 действия:

  1. Перед началом движения показания датчика вращения мотора, подключенного к порту «B», обнуляются.
  2. После остановки на черной черте определяют расстояние, пройденное мотором «B» в градусах.
  3. Затем нужно задать это значение в параметр «Градусы» программного блока «Рулевое управление», а «Мощность» задать «-50».

Чтобы робот сбил все кегли, нужно поместить блоки в тело программы «Цикл» (оранжевая палитра). Режим рекомендуется поставить на «Подсчет», параметр «Подсчет» равен количеству кеглей.

Как изменить условие, чтобы робот отличал цвет кегель

Робота с инфракрасным датчиком нужно поставить в центр ринга. Сначала перед ним ставится белая кегля и фиксируются показания датчика — «49».

После замены белой на черную данные принимающего устройства изменятся и составят «64». Чтобы определялись только белые и не замечались черные, подойдет значение между «49» и «64». Например, «55».

Ссылка на основную публикацию