Цикл с контролируемый сигналом от сенсоров




Задачи для факультатива робототехники

 

Ушаков А.А.

 

Демонстрационный вариант

 

Гимназия 42

Оглавление

Введение.. 3

Линейный алгоритм... 4

Циклические алгоритмы... 6

2.1. Цикл со счетчиком.. 6

2.2. Цикл с контролируемый сигналом от сенсоров. 7

Ветвление.. 8

Математические операции.. 9

Олимпиадные задачи.. 9

Список дополнительной литературы... 11

Необходимые программы и материалы... 11

Тематический план факультатива.. 12

 

Введение

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

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

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

Предлагаемые задачи рассчитаны на учащихся 5-9 классов. Все задачи обязательны к решению. Т.к. теоретическое решение задач невозможно, пропуск любой задачи приводит к недопониманию того или иного нюанса поведения робота. Дифференциация школьников начинается только с темы «Математические и логические операции» - для решения задач данного блока, учащимся 5-7 классов придется познакомиться с понятиями математической логики.

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

Линейный алгоритм

Задача №1

Исходное состояние:

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

Задание:

Ответить на вопрос – на сколько градусов должен провернуться вал левого двигателя, чтобы робот повернулся вправо на угол в:

а) 45 градусов б) 90 градусов в) 180 градусов?

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

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

Заполните таблицу

Угол поворота корпуса робота Угол поворота левого колеса робота
450  
900  
1800  
10  

Окружность используется в качестве транспортира.

 

Задача №2

Исходное состояние:

Робот находится в начале отрезка черной линии длиной не менее 60 см. На расстоянии 10, 25, 40 и 60 см от начала отрезка расположены жирные, хорошо заметные черные точки (см. рис.).

Задание:

Ответить на вопрос – на сколько градусов должен повернуться вал левого и правого двигателя, чтобы робот проехал вперед на:

а) 10 см б) 25 см в) 40 см г) 60 см?

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

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

Заполните таблицу

Расстояние пройденное роботов Угол поворота левого и правого колеса робота
10 см  
25 см  
40 см  
60 см  

 

Задача №3

Исходное состояние:

Робот находится в центре пересечения двух линий по 60 см длины каждая. На конце каждой линии стоит флажок, сделанный из деталей лего-конструктора (см. рис.).

Задание:

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

Ограничения

Робот не должен выезжать за пределы траектории обозначенной линиями.

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

Задача №4

Исходное состояние:

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

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

 

Задание:

Написать программу движения робота вдоль периметра квадрата, таким образом, чтобы он обогнул все четыре флажка, не задев их, но и не удаляясь от стороны квадрата более чем на 20 см. Задание считается выполненным, если робот вернулся в начальную точку движения с погрешностью не более 5-10см. Пересечение воображаемой линии соединяющей вершины квадрата считается недопустимым.

 

Задача №5

Исходное состояние:

Игровое поле свободно от посторонних предметов.

 

Задание:

Написать программу движения робота по дугообразной траектории (см. рис.).

Задача №6

Исходное состояние:

На игровом поле установлено три флажка. Расстояние между флажками 40 см, флажки образуют одну линию.

 

Задание:

Написать программу движения робота между флажками «змейкой» (см. рис.).

Циклические алгоритмы

Цикл со счетчиком

Задача №1

Используя команду цикла, усовершенствуйте решение задачи 1.3. Поставить в теле цикла звуковую команду, воспроизводящую слово «Yes», после каждого касания роботом флажка.

Задача №2

Используя команду цикла, усовершенствуйте решение задачи 1.4. Поставить в теле цикла звуковую команду, воспроизводящую слово «Yes», после каждого поворота, который производит робот. При движении по прямой робот должен воспроизводить на своем дисплее изображении «Bomb», при повороте – изображение «Boom».

 

Задача №3

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

Задача №4

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

1) Робот движется вперед на 10 см.

2) Раскрывает клешни.

3) Воспроизводит звуковой сигнал.

4) Закрывает клешни.

5) Пятится назад в первоначальную точку.

6) Поворачивает вправо.

7) Повторяет все действия 8 раз.

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

Цикл с контролируемый сигналом от сенсоров

Задача №1

Исходное состояние:

Робот находится на игровом поле. На расстоянии 100 см от него в зоне видимости его радаров находится небольшая картонная коробка.

Задание:

Написать программу движения робота вперед до тех пор, пока расстояние до коробки не уменьшится до 20 см. Совершать повороты роботу не потребуется.

 

Задача №2

Исходное состояние:

Робот находится на игровом поле. На расстоянии 80см от него находится небольшая картонная коробка. Угол поворота робота относительно коробки произвольный.

Задание:

Написать программу, которая будет поворачивать робота вправо до тех пор, пока в поле зрения его радаров не окажется коробка. После остановки робота линия его взгляда должна как можно точнее пересекаться с коробкой. «Найдя» коробку робот должен сказать «Yes».

 

Задача №3

Исходное состояние:

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

Задание:

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

Ветвление

Задача №1

Робот должен разжимать клешни, если к его радару на расстояние 10 см поднести руку и сжимать, если рука исчезает из поля его зрения. Программа должна работать ровно 60 секунд.

 

Задача №2

Исходное состояние:

На расстоянии 60 см от робота находится подставка с мячиком красного цвета. Подставка собрана согласно инструкции прилагаемой к конструктору Lego Mindstorms. Мячик находится в поле зрения робота, однако, угол поворота робота установлен неточно. Других предметов на игровом поле нет.

Задание:

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

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

 

Задача №3

Исходное состояние:

На рабочем столе лежит карта из белой бумаги, на которой нарисована толстая черная линия произвольной формы. Толщина линии не менее 2-3 см. Линия не имеет пересечений. Повороты образуют угол не менее 1200. Радиус поворота линии не менее 20 см.

Задание:

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

 

Задача №4

Исходное состояние:

На рабочем столе лежит карта из белой бумаги, на которой нарисована черная окружность диаметром 100 см. Толщина линии 3 см. Внутренняя часть круга белого цвета. На расстоянии 5 см от линии, внутри круга, на равном расстоянии друг от друга стоят пластиковые стаканчики объемом 0,33 (см. рис.)

Задание:

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

Задача основана на классической задаче с робототехнических соревнований «Кегельринг».

 

Математические операции

Задача №1

Исходное состояние:

Робот стоит на игровом столе. Перед роботом строго по оси его взгляда, но на неизвестном расстоянии, находится картонная коробка. Расстояние до коробки от 20 до 150 см. За роботом на расстоянии 5 см стоит флажок.

Задание:

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

Пятясь задним ходом вернуться назад, ориентируясь на значение, хранящееся в памяти.

Задача считается выполненной, если робот остановится не дальше 5 см от флажка, но не опрокинет его.

 

Задача №2

Исходное состояние:

Робот стоит на игровом столе. Так же на столе находятся две одинаковые картонные коробки. Расстояние между коробками не менее 50 см. Робот находится между ним. Расстояние от робота до любой коробки от 5 до 100 см, более точных данных нет.

Задание:

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

 

Олимпиадные задачи

Задача №1

Исходное состояние:

Робот находится на игровом поле, на котором нарисованы три черные пересекающиеся линии. (см. рис.) Толщина каждой линии около 3 см.

Линии являются маршрутами, которые ведут от базы робота (первоначальное положение) к мячику. Мячик находится на подставке собранной согласно инструкции прилагаемой к конструктору Lego Mindstorms. Первоначальное положение робота и мячика неизменны. Форма маршрута, его размеры, известны заранее (см.рис.).

Задание:

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

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

 

 

Задача №2

Исходное состояние (см. рис.) :

Игровое поле представляет собой белую поверхность ограниченную прямоугольным контуром размером 2 на 1,5м. Контур образован черной линией толщиной 3 см.

В центре поля на расстоянии 30 см друг от друга расположены 4 мячика синего и красного цвета (из состава конструктора). Взаиморасположение мячиков разного цвета известно заранее. Каждый мячик находится в центре круга радиусом 5 см. Круг нанесен на поверхность игрового поля, его цвет совпадает с цветом размещенного внутри его мячика.

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

Задание:

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-03-31 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: