Мероприятие
«Турнир роботов» 7 «А»
Учитель информатики
Булычева Н.А.
Добрый день, участники сегодняшней
встречи. Сегодня у нас будет не простое занятие, а турнир роботов. Мне будет
интересно узнать, чему вы уже научились и посмотреть на результаты вашей работы
в программировании роботов. В состязании будут участвовать 4 команды.
Мы с вами погрузимся в мир роботов mОway.
Небольшая справка для присутствующих. mOway - это маленький программируемый
автономный робот, созданный в качестве практического приложения подвижной
робототехники. Робот
mOway оснащен рядом датчиков, с помощью которых он ориентируется в окружающей
среде.
Ребята, ответьте на мой вопрос: Какой
орган чувств помогает человеку отличить оттенки цвета, например, черное от
белого? (глаза).
А у робота moway
это датчики линии, которые представляют собой два оптических элемента,
размещенных на нижней стороне передней части робота. Оба датчика способны обнаруживать
контрастные различия цвета поверхности, такие как, например, черные линии на
белом фоне. Наша
задача заставить роботов двигаться четко по черной линии, выполняя команды.
И так, не будем терять время, а
приступим к первому состязанию. Откройте на своих рабочих местах Moway World.
ЗАДАНИЕ 1
Составить линейный
алгоритм для движения робота по треугольнику с заданными сторонами и углами.
Вам необходимо с помощью блоков
программы составить линейный алгоритм для робота, в результате выполнения
которого он должен двигаться строго по заданному курсу. В качестве шаблонов вам
предлагаю использовать геометрическую фигуру треугольник. Вам даны углы
треугольника и длины его сторон. Необходимо вычислить градусную меру внешних углов,
чтобы рассчитать правильный угол поворота робота для движения по траектории. Сначала
определим, какие команды нам понадобятся (движение прямо и вращение). Прежде,
чем приступить к выполнению задания, необходимо установить паузу с задержкой в
1 сек. И не забываем в конце программы установить конечную точку. Робот должен
вернуться в исходную точку, с которой начал свое движение. Программные модули,
размещенные в окне блок-схемы, необходимо соединить последовательно с помощью
стрелок. На выполнение задания вам дается 5 минут.
После выполнения упражнения ученикам
задается вопрос: какой еще вид алгоритмов можно использовать для
выполнения предложенного задания?
Правильный ответ: циклический.
И так, все успешно справились с
первым заданием.
Приступаем ко второму туру
соревнований.
ЗАДАНИЕ 2 Робот-уборщик.
В этом задании нам необходимо
использовать циклический алгоритм, содержащий определенные условия.
Вспомним упражнение «Препятствие», с
которым знакомились на предыдущих занятиях. Робот не должен выезжать за пределы
черного контура. Добавим к данному упражнению новое условие. Будем использовать
датчики обнаружения препятствия. Чтобы выполнить это задание, возьмем дорожку Moway.
Робот будет помещен внутрь области, окруженной черной линией, и будет
выталкивать препятствия (это деревянные блоки) за пределы этой области. Блок
считается вытолкнутым, если никакая его часть не находится внутри белого круга,
ограниченного линией. Каждая команда выполняет задание на своем поле.
Победителем объявляется команда, чей робот затратил на очистку поля наименьшее
время.
Первая часть блок-схемы будет
отвечать за удержание робота Moway в пределах замкнутого контура. Логика в
основном такая же, как в упражнении «Препятствие». Воспользуемся блоком
обнаружения черной линии. Датчики проверят, достиг ли робот черной линии. Если
это так (условие истинно), Moway повернется на 144 градуса, чтобы оставаться
внутри контура. Если черная линия не обнаружена («ложное» условие), Moway
продолжает движение вперед.
Вторая
часть блок-схемы отвечает за то, чтобы робот обнаружил препятствие и вытолкнул
его за пределы замкнутого контура. Прежде чем приступить к выполнению задания,
мы изучим понятие «вложенные условия», другими словами это условия, в которых
выходной путь приведет к другому условию.
Это достигается следующим образом:
Первое условие
препятствия проверяет, обнаружено ли препятствие левым центральным или правым
центральным датчиком. Если да, то передние светодиоды начинают мигать.
Программа будет возвращаться к началу цикла. Таким образом, если Moway не
обнаружил черную линию, он поедет прямо к препятствию. В данном условии
используется опция «ИЛИ».
Второе условие
проверяет, обнаружил ли левый датчик препятствие. Если да, то Moway
поворачивает на 10 градусов.
Третье условие
проверяет, обнаружил ли правый датчик препятствие. Если да, то Moway
поворачивает на 10 градусов.
Готовая диаграмма выглядит следующим образом. (слайд)
На выполнение
задания дается 10 мин.
Подводятся промежуточные итоги.
Ну, и финальное задание.
ЗАДАНИЕ 3 Движение по линии
В данном
туре вы должны добраться до финишной линии, двигаясь по черной дорожке и
используя условия и модули движения как в предыдущих упражнениях.
Вам необходимо разработать программу
движения по линии, робот будет двигаться вдоль границы черной линии с белым
фоном дорожки. Таким образом, один из датчиков линии будет находиться на белой
области, а другой на черной. В нашем случае левый датчик будет отвечать за белую
область, а правый за черную.
В
зависимости от значений датчиков линий мы будем иметь четыре различных
состояния, которые будут определять, какие действия необходимо выполнить
роботу.
Левый датчик
|
Правый датчик
|
Действие
|
Белый
|
Черный
|
Робот
продолжает двигаться прямо.
|
Черный
|
Черный
|
Робот
отклонился влево, нужно повернуть направо.
|
Белый
|
Белый
|
Робот
отклонился вправо, нужно повернуть налево.
|
Черный
|
Белый
|
Робот
находится с другой стороны линии, нужно повернуть налево
|
Определив 4 возможных статуса
мы можем начать создавать схему.
После того, как условия будут
размещены, установите модули действия, связанные с каждым из условий. Первым
модулем, согласно таблице, будет движение вперед. Второму условию (белое,
белое) будет соответствовать модуль поворота направо.
Следует подчеркнуть, что в данной программе все вращения
выполняются одним колесом. Вращение вокруг собственного центра, по сути, это
вращение одного колеса вперед, а другого назад. Если бы мы использовали такое
вращение, робот бы не двигался вперед по линии, а оставался бы на одном месте.
Теперь останется
соединить модули и условия стрелками. «Истинный» выход условий будет соединен с
модулями движения. От модулей движения связи будут возвращаться к началу цикла.
Следует соединять каждый модуль движения с первым условным модулем. «Ложный»
выход будет соединен со следующим условием. У последнего условия «ложный» выход
будет присоединен к первому условию. Конечная схема будет выглядеть следующим
образом.
Самостоятельно
продумать модули движения робота в туннеле. Какие датчики будут участвовать в
данном условии (боковые). Связка «или» (or).
При въезде в туннель зажигается передний свет. При выезде его необходимо выключить.
У каждой
команды будет две попытки, чтобы протестировать свою программу.
Подведение
итогов.
Вы
с честью выполнили все задания нашего турнира. И как любой турнир наш
заканчивается награждением и чествованием победителей.
Сегодня
вы научились управлять роботами и заставили их выполнять ваши команды.
Надеюсь, это занятие было для вас интересным, ведь программировать - это очень
увлекательно и полезно! Всех благодарю за успешную и плодотворную работу.
Приложение1
Задание
1
С
помощью блоков программы составить линейный алгоритм для робота, в результате
выполнения которого он должен двигаться строго по заданному курсу.
В качестве
шаблонов вам предлагаю использовать геометрическую фигуру треугольник. Вам даны
углы треугольника и длины его сторон.
Необходимо
вычислить градусную меру внешних углов, чтобы рассчитать правильный угол
поворота робота для движения по траектории. Прежде, чем приступить к выполнению
задания, необходимо установить паузу с задержкой на 1 сек.
Затем
воспользоваться блоком движение прямо, установить скорость 50 км/ч и постоянное
расстояние, которое вы получите после измерения.
Для
поворота робота выбираем блок вращение, определив угол поворота.
И
не забываем в конце программы установить конечную точку.
Программные модули,
размещенные в окне блок-схемы, необходимо соединить последовательно с помощью
стрелок.
Приложение
2
Задание
2
Блок
|
условие
|
Действие
|
Пауза
|
|
Задержка 1 сек.
|
Обнаружение черной линии
|
Истина (V)
|
Вращение на 144 ⁰влево от центра
|
Ложь (X)
|
Движение прямо, непрерывно, скорость 50 км/ч
|
Обнаружение препятствия (левый или правый центральные датчики)
|
Истина (V)
|
Свет (мигать передний)
|
Обнаружение препятствия (левый или правый боковые датчики)
|
Истина (V)
|
Вращение от центра влево на 10⁰
|
Обнаружение препятствия (левый или правый боковые датчики)
|
Истина (V)
|
Вращение от центра вправо на 10⁰
|
Задание
3
Установить
паузу с задержкой 1 сек.
Связка
условий «и» (and)
Левый датчик
|
Правый датчик
|
Действие
|
Белая
линия
|
Черная
линия
|
Движение
непрерывно вперед.
|
Черная
линия
|
Черная
линия
|
Вращение
колеса вправо непрерывно.
|
Белая
линия
|
Белая
линия
|
Вращение
колеса влево непрерывно.
|
Черная
линия
|
Белая
линия
|
Вращение
колеса влево непрерывно.
|
Самостоятельно продумать
модули движения робота в туннеле. Связка «или» (or).При
въезде в туннель зажигается свет. При выезде выключить.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.