суббота, 31 октября 2009 г.

Задачник по робототехнике


Введение



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

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

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

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

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







Задача №1

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

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



Задание:

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

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

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

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


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



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

900

1800

10


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






Задача 2

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

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



Задание:

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

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

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

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



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



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

25 см

40 см






Задача №3

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

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



Задание:

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



Ограничения

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

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





Задача №5

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

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



Задание:

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





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


Задача №100815234658

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

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



Задание:

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