Практические задания по программированию конструктора Lego Mindstorms | Образовательная робототехника в Алтайском крае

Практические задания по программированию конструктора Lego Mindstorms



Новоселова Антонина Валерьевна
учитель информатики и ИКТ МБОУ «Гимназия №42» г.Барнаул
E-mail: antomiller@yandex.ru

Практическое задание 1. Простейшее управление роботом, движение по заданной траектории.

  1. Задания на перемещения:

    1. Робот проезжает вперед на 3 поворота колеса с мощностью 100;

    2. Робот проезжает назад на 180 градусов с мощностью 20;

    3. Робот проезжает вперед в течение 3 секунд с мощностью 50;

    4. Робот проезжает вперед 3 оборота колеса, останавливается, затем проезжает назад 300 градусов;

  2. Задания на повороты:

    1. Робот вращает одно колесо:

      1. Поворот налево на 90 градусов;

      2. Поворот направо на 45 градусов;

    2. Разворот на месте:

      1. Поворот направо на 180 градусов;

      2. Поворот налево на 90 градусов.

  3. Движение робота по траектории:

    1. Робот проезжает вперед на 20 см. Рекомендации по решению: для решения задачи используйте формулу длины окружности: L=2r. Измерьте радиус колеса, умножьте на 3,14(значение ) и на 2. Вы получите расстояние, которое робот проедет за 1 оборот колеса.

    2. Организуйте движение робота по букве Т;

    3. Организуйте движение робота по букве Z;

    4. Организуйте движение робота по периметру квадрата со стороной 60 см (на полу).

    5. Организуйте движение робота по периметру квадрата со стороной 30 см. В программе используйте блок Цикл. Рекомендации по решению: посмотрите внимательно на предыдущую программу. Найдите в ней повторяющиеся элементы. (движение вперед и поворот на 90 градусов). Поместите внутрь блока Цикл повторяющиеся действия и настройте блок на работу по количеству раз.

  4. Решение задач с использованием цикла:

    1. Робот двигается вперед в течение 5 с ( настройки блока: мощность моторов 100);

    2. Робот двигается вперед в течение 5 с (используйте цикл по времени, настройка блока движения: мощность моторов 100, «Включить»);

    3. Сравните результат этих двух программ. Выполняя какую программу, робот проехал большее расстояние?

  5. Задание «Чертежник» (VII региональная олимпиада по робототехнике в Алтайском крае, 2017 г.). Задача робота состоит в том, чтобы за минимальное время проехать по полю, начертив рисунок с помощью закрепленного маркера. Рисунок состоит из последовательности правильно соединенных точек. Образец рисунка команда получает за 2 часа до начала соревнований.http://altairobot.ru/media/resize/files/7-ochn-olymp/chertezhnik-255x320.png

 

Практическое задание 2. Расчет расстояния, пройденного роботом.

  1. Робот при одном повороте колеса проедет примерно 12 сантиметров. Рассчитайте, сколько оборотов колеса роботу нужно сделать, чтобы проехать 96 сантиметров.

  2. Робот имеет радиус колеса примерно 1,5 сантиметра. Рассчитайте, сколько сантиметров он проедет за 1 оборот колеса?

  3. Робот проедет 25 сантиметров, повернув свои колеса на 600 degrees. Рассчитайте необходимое количество поворотов колес роботу, для преодоления им расстояния в 30 сантиметров.

  4. Робот при одном повороте колеса проедет примерно 18 сантиметров. Рассчитайте диаметр колеса робота в этом случае.

  5. Рассчитайте, на сколько градусов повернется колесо робота, для того чтобы робот проехал 52см? (диаметр колеса D=7,2см)

  6. Робот проезжает 5 см, повернув колеса на 500 градусов. Рассчитайте, сколько оборотов колеса нужно сделать роботу, чтобы проехать 15 см?

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

Практическое задание 3. Решение задач с использованием датчика цвета.

  1. Установите на робота сенсор цвета.

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

    1. красный цвет;

    2. синий цвет;

    3. зеленый цвет;

    4. желтый цвет;

    5. черный цвет;

    6. белый цвет.

Решите задачи, используя датчик цвета:

  1. Робот «учит английский язык». На тестовом поле робот должен правильно «назвать» все цвета.

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

  3. «Робот-следопыт». Дан круг белого цвета (радиус равен 1 м), ограниченный черной линией шириной 5 см. Задача робота проехать по окружности черного цвета. Робот устанавливается на черную линию. Рекомендации по решению: Определите цвет поверхности. Если цвет черный, то робот должен проехать 0,3 поворота колеса вперед, а если цвет белый, то робот должен повернуть на 10 градусов вправо. Усовершенствуйте данное решение таким образом, чтобы робот проехал полный круг.

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

  5. Напишите программу движения робота по траектории, изображенной на рисунке

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

  1. Движение робота по границе черного и белого цветов можно реализовать с использованием двух сенсоров цвета. Это позволит роботу грамотно преодолевать перекрестки. Рекомендации по решению: Разместите датчики цвета с разных сторон от линии, подключите их в 3 и 4 порты на корпусе блока NXT. Составьте программу, рассмотрев все возможные ситуации:

    1. Датчик, подключенный в 3 порт, находится на поверхности белого цвета и датчик, подключенный в 4 порт, находится на поверхности белого цвета: оба мотора едут вперед;

    2. Датчик, подключенный в 3 порт, находится на поверхности белого цвета, а датчик, подключенный в 4 порт, находится на поверхности черного цвета: робот поворачивает влево одним мотором;

    3. Датчик, подключенный в 3 порт, находится на поверхности черного цвета, а датчик, подключенный в 4 порт, находится на поверхности белого цвета: робот поворачивает вправо одним мотором;

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

  2. «Робот-разведчик». Робот устанавливается за пределами круга белого цвета, очерченного черной линией. Роботу необходимо попасть внутрь круга, в линии имеется только 1 въезд внутрь круга.

  3. Задание «Траектория» (II очная олимпиада по робототехнике в Алтайском крае, 2012 г.). Робот, двигаясь из базового лагеря по черной линии, должен захватить шарик и преодолев все преграды вернуться с ним в базовый лагерь.

 

  1. Задание «Черепащка» ( Мероприятие "РобоROOM - 2012", г. Томск). Дано поле, состоящее из квадратов разного цвета со стороной 20 см. Робот двигается из зоны старта(зеленый квадрат), руководствуясь инструкцией должен добраться до зоны финиша (красный квадрат). Инструкция задается посредством цветных квадратов, размещенных на поле. Квадраты разделены между собой черной линией толщиной 20 мм. Желтый квадрат — повернуть направо на 90 градусов и проехать вперед до другого квадрата. Синий квадрат — повернуть налево на 90 градусов и проехать вперед до другого квадрата. Белый квадрат — проехать вперед до другого квадрата, не поворачивая. Красный квадрат — остановиться — финиш. Расположение квадратов задается непосредственно перед попытками. Рекомендации по решению: в теле цикла можно последовательно установить несколько условий; используйте цикл по сенсору цвета.

 

Дополнительная информация. Использование датчика цвета в режиме освещенности.

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

 

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

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

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

Замечание: в приведенном решении пороговое значение равно 20.

 

 

Практическое задание 4. Знакомство с ультразвуковым сенсором.

  1. Установите на робота сенсор ультразвука.

  2. Зайдите в меню, проверьте, работает ли сенсор.

  3. Проверьте, с какими единицами измерения может работать датчик.

Решите задачи, используя датчик ультразвука:

  1. Робот определяет расстояние до предмета. Если расстояние меньше 30 см, то робот продвигается назад в течение 2 секунд, иначе робот продвигается вперед на 3 оборота колеса. Рекомендации по решению: используйте условие.

  2. Робот определяет расстояние до предмета. Если расстояние больше 20 см, то робот продвигается вперед на 5 см, иначе робот произносит «Stop». Рекомендации по решению: используйте условие.

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

  4. Робот перемещается по комнате, объезжая препятствия.

  5. «Пугливый робот». Робот перемещается по комнате, при появлении предмета на расстоянии 20 см до робота он «пугается» и убегает назад.

  6. «Робот-сыщик». Дан квадрат со стороной 1 м. В углах квадрата произвольно расставлены 3 баночки. Робот, стартуя из центра квадрата, должен найти все баночки. При обнаружении баночки робот произносит фразу «Yes».

  7. «Робот-уборщик». Робот находится в центре круга белого цвета (радиус равен 1 м), ограниченного черной линией шириной 5 см. В круге находятся баночки, которые робот должен убрать из круга.

  8. Задание «Кегельринг плюс» (V очная олимпиада по робототехнике в Алтайском крае, 2015 г.). Задача робота состоит в том, чтобы за минимальное время вытолкнуть из круга кегли, расположенные на белой поверхности; кегли, расположенные на зеленой поверхности, робот не должен выталкивать. Робот перед стартом устанавливается в центр круга. Расположение кеглей на цветных кругах определяется методом жеребьевки перед попыткой.http://altairobot.ru/media/resize/files/5-ochn-olymp/zadanie-11-1-400x387.png

 

Практическое задание 5. Знакомство с блоком Sound (работа со звуком).

  1. Робот проезжает вперед на 20 см, останавливается и произносит «Hello»;

  2. Робот проезжает вперед на 3 поворота колеса, произносит «Stop» разворачивается на 180 градусов, приезжает обратно и произносит «Ok»;

  3. Робот двигается вперед в течение 6 секунд и все время произносит стандартный звук Bravo.

 

Практическое задание 6. Работа со звуком и с сенсором ультразвука.

  1. Робот ищет препятствия вокруг себя на расстоянии 30 см;

  2. Робот ищет препятствия, которые находятся от него на расстоянии не менее 15 см. Каждый раз, когда робот находит препятствие, он останавливается и произносит «свою любимую фразу»;

  3. Напишите программу, выполняя которую робот здоровается со своим другом, только когда подъезжает к нему на расстояние, меньшее 10 см;

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

 

Практическое задание 7. Знакомство с сенсором нажатия.

  1. Установите на робота сенсор нажатия.

  2. Зайдите в меню, проверьте, работает ли сенсор.

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

  4. «Умный» робот. Робот находится в одном из углов квадрата со стороной 1 м. В центре квадрата расположен кубик со стороной 10 см. Роботу необходимо попасть в противоположный угол квадрата, объехав кубик. При решении задачи используется сенсор нажатия.

  5. «Робот-спринтер». Объявляются соревнования на выявление самого быстрого робота. Робот должен проехать дистанцию за наиболее короткое время. По команде «старт» ответственный за робота нажимает кнопку, и робот начинает движение.

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

  1. Установите в программу блок Display.

  2. Выберите в настройках блока необходимый объект: Image(картинка), Text(текст), Drawing(геометрический объект), Reset(очистка);

  3. Выполните настройку координат для вывода в соответствующее место на дисплее.

  4. После блока Display установите блок Time, чтобы увидеть результат на экране.

  5. Выполните задания:

    1. Напишите программу вывода на экран:

      1. Смайла с улыбкой по центру экрана;

      2. Часов в левом нижнем углу экрана;

    2. Напишите программу вывода на экран:

      1. Точки с координатами (50, 50);

      2. Линии ((0,0); (30,30));

      3. Окружности, у которой центр находится в точке (20, 20), а радиус равен 15;

    3. Напишите программу вывода на экран сообщения «Hello, <ваше имя>». Сообщение должно быть в левом верхнем углу;

    4. Напишите программу, которая выводит на экран текущее расстояние до объекта;

    5. Исследуйте, какое максимальное количество точек на экране робота по горизонтали и по вертикали.

Дополнительные материалы публикации: 
ВложениеРазмер
Иконка PDF 3-material_dlya_pechati_novoselova-20.03.pdf939.19 КБ
Орфографическая ошибка в тексте:
Чтобы сообщить об ошибке автору, нажмите кнопку "Отправить сообщение об ошибке". Вы также можете отправить свой комментарий.