Методическая разработка "Космическая анимация"
КОСМИЧЕСКАЯ АНИМАЦИЯ
или как робототехника помогает программированию
(методическая разработка для занятий по программированию)
Введение
Много лет преподаю образовательную робототехнику и программирование для малышей. Как известно, робототехника,это конструирование и программирование в «одном флаконе». Программирование помогает юным робототехникам превращать роботов в «разумных существ». Scratchобразные языки вовсю используются для программирования различных робототехнических наборов. Пора бы уже и робототехнике потрудиться на благо программирования.
Меня давно преследовала мысль, а почему бы не использовать идею П – регулятора для программирования спрайтов в среде Scratch. Удобный момент настал, когда перед Днём Космонавтики мы с ребятами решили создать космическую анимацию, в которойнужно было смоделировать движение планет вокруг Солнца и движение спутников вокруг самих планет.
Немного теории
Пропорциональный регулятор - робототехническая база. Без него невозможно уверенное движение робота по линии или вдоль стены при прохождении лабиринта. П-регулятор, это алгоритм с обратной связью, в котором автоматически формируемое управляющее воздействие на моторы робота пропорционально отклонению, определяемому по датчикам. Говоря короче, чем сильнее робот (объект управления) отклонился от некого оптимального положения (траектории), тем круче он будет поворачивать (или быстрее двигаться), чтобы сократить своё отклонение.
Формула пропорционального регулятора имеет вид:U(err) = k·err, где U -управляющее воздействие или сигнал на объект управления (моторы робота), err – ошибка (err = Xₜ–X˳) разность реального текущего значения величины Xₜ и заданного её значенияX˳. k -коэффициент пропорциональности – параметр настройки регулятора.
Основная часть
Модуль №1 «Солнечная система»
Дополнительное образование призвано при любом удобном случае дополнять основную школу. Прежде чем моделировать Солнечную систему, весьма полезно вспомнить её состав, порядок планет и их характеристики.
Этап занятия |
Деятельность педагога |
Деятельность детей |
Примечания |
1 |
Показывает фрагмент видео о Солнечной системе |
Смотрят и слушают видео |
|
2 |
Задаёт вопросы по содержанию видео фрагмента |
Думают, вспоминают и отвечают на вопросы |
|
3 |
Организует дидактическую игру «Порядок планет СС». |
Участвуют в игре |
Дети перемещают фигуры планет на магнитной доске или располагаются в необходимом порядке сами вокруг Солнца, взяв себе название планеты. |
4 |
Даёт домашнее задание: придумать мнемоническую фразу для запоминания порядка планет Солнечной системы. Приводит в качестве примера свою авторскую фразу:«Местный Вампир Зубра Манил, Юный Стрелок Угощенье Накрыл» |
Осмысливают ДЗ, задают вопросы. |
Ещё
пример:
«Медвежонок
Ветчину Закусил Малиной, Юркий Суслик
Утащил Ножик |
4 |
Даёт домашнее задание: Приготовить краткое сообщение о любой любимой планете. |
|
|
Модуль№2 «Рисуем окружность»
Этап занятия |
Деятельность педагога |
Деятельность детей |
Примечания |
1 |
Организует повторение расширения Scratch «Перо», его функционала. |
Вспоминают, ищут указанное расширение, выполняют задания педагога на построение простейших фигур. |
|
2 |
Организует повторение алгоритма рисования окружности.
|
Думают, вспоминают и отвечают на вопросы. Рисование окружности сводится к рисованию N -угольника, когда N стремиться к ꝏ |
Возможно использование элементов дидактической игры «Реальный исполнитель» (ребёнок двигается, повторяя набор команд «вперёд» + «поворот») |
3 |
Проговаривает вместе с детьминеобходимый алгоритм рисования окружности. |
Думают, вспоминают и говорят |
|
4 |
Просит детей написать программу для рисования исполнителем окружности. Помещает на демонстрационный экран блоки команд, которые проговорил с детьми. |
Пишут программу. При этом подбирают необходимые параметры программы для разных окружностей. |
От уровня готовности группы зависит степень репродуктивности … |
*Желательно для проверки правильности построения окружности подложить фон «координатная сетка», предварительно повторить прямоугольную систему координат (пройденную ранее).
*Желательно чётко проговорить название линии траектории «ОКРУЖНОСТЬ», попутно дать определение «КРУГА». Уж дополнять основную школу, так дополнять!
Для удобства располагаем Солнце в начале координат. Планету наделяем «носиком» для определения направления. Планету располагаем в «хорошей» начальной точке. Получаем код для движения планеты по окружности. (Рисунок1)
Рисунок 1.
Для визуализации траектории задействуем «Перо». Пытаемся подгонкой параметров движения - количество градусов поворота и количества шагов- получить окружность с центром в начале координат.
Получается не идеально. (Рисунок 2) И это Солнце пока неподвижно! А если оно начнёт двигаться, как это реально происходит в космическом пространстве?
Рисунок 2.
Вычленяем проблему: как заставить планету гарантировано двигаться по идеальной круговой орбите вокруг Солнца? Без подгонки параметров движения. Чтобы алгоритм сам автоматическипрорисовывал нужную траекторию!
Модуль№3 «Игровая переменка»
Предлагаем детям на перемене поиграть в подвижную игру «Гравитация». Для этого необходимы небольшая свободная площадка, кусок верёвки (≈1,5 метра), подойдёт скакалка. Играют поочереди попарно. Один из них берёт на себя роль Планеты, обладающей гравитацией. Другой – Спутник, который Планета удерживает на своей орбите с помощью гравитации – верёвки. (Рисунок 3)
В ходе игры предлагаем Спутнику покинуть орбиту. Тогда Планета вынуждена увеличить (нарастить) гравитацию – потянуть сильнее верёвку к себе.
Подводим детей к мысли, что чем дальше Спутник отклонился от орбиты, тем сильнее Планета должна притянуть его. (Фактически проговариваем идею пропорционального регулятора).
Теперь осталось оформить полученную идею с помощью математической модели.
Рисунок 3.
*Моё стойкое убеждение, что перемена должна быть организованной и, обязательно, игровой и не шумной. В условиях Технопарка, когда время перемены строго не регламентировано, это весьма актуально. В идеале игра, пересекающаяся по смыслу с содержанием занятия, большая удача.
Модуль№4 «Пропорциональный регулятор»
Этап занятия |
Деятельность педагога |
Деятельность детей |
Примечания |
мотивация |
Организует показ работы готовой программы на Scratchили фрагмента видео, где показана желаемая модель движения объектов Солнечной системы. Задаёт вопросы по содержанию увиденного. |
Смотрят и слушают, думают, отвечают на вопросы. |
Итогом этапа является вывод: «Нам это под силу!» |
Поиск идеи алгоритма
|
Формат эвристической беседы - Когда спутник находится на круговой орбите вокруг планеты, что мы можем утверждать о расстоянии между ними?
- Имеется ли у исполнителя сенсор для определения расстояния до объекта?
- Как работает сенсор?
- Можем мы в ручном формате перемещать спутник и определять с помощью сенсора расстояние от него до планеты?
Предлагает детям определить расстояние от спутника до планеты в ручном режиме. Для различных вариантов расположения Спутника
- Если расстояние более 100 пикселей, что должен делать спутник?
- За счёт чего он приблизится?
- Т.е. чем дальше спутник удалился от планеты, тем он ….. круче повернуть к ней.
- А если заставить повернуть Спутник на величину равную
- Давайте попробуем использовать поворот на эту величину в программе… |
- расстояние не меняется
- да, такой сенсор имеется.
- определяет расстояние до указанного исполнителя в пикселях
- Да!(Рисунок 4)
Выполняют практическое задание.
- приблизиться к планете.
- Повернется в сторону планеты и продолжит движение.
- круче повернуть к ней!
- ??? |
Необходимо пояснить, что если расстояние станет менее заданной величины, то спутник не будет двигаться по орбите, а упадёт на планету. По правде, регулятор в этом случае повернёт спутник в противоположное направление, т.к. угол станет отрицательным! Как объяснить четверокласснику арифметику с отрицательными числами? Решайте сами!
Проводим АНАЛОГИЮ с игрой «Гравитация». Если Спутник захотел убежать с орбиты, Планета сильней притягивала его к себе!
= err |
Проверка гипотезы
|
Организует работу группы, итогом которой станет программа (Рисунок 5). |
Пробуют составить алгоритм |
Минимум репродуктива! Траектория не идеальна |
Доработка алгоритма
|
Предлагает для усиления гравитации и получения более гладкой окружности разность, отвечающую за поворот спутника к планете умножить на некоторое число (Рисунок 6).
|
Пробуют разные варианты программы, разные значения множителя. |
Получен классический пропорциональный регулятор!
Рисунок 6.k = 3 коэффициент пропорциональности подбирается опытным путём |
Рисунок 4.
Рисунок 5.
Рисунок 6.
Модуль №5 «Двигаем Солнце» - самостоятельная работа
Этап занятия |
Деятельность педагога |
Деятельность детей |
Примечания |
1 |
Предлагает деткам опробовать программу в случае, когда Солнце начнёт движение. |
Выполняют задание. (Рисунок 7) |
|
2 |
Задаёт вопросы по содержанию программ спрайтов. - От каких параметров в программах зависит качество анимации? |
Думают,отвечают на вопросы
|
|
3 |
Предлагает деткам опробовать программу в случае, когда Солнце двигается по разным траекториям. |
Выполняют задание |
|
Рисунок 7
Двигаем Солнце по прямой. Алгоритм работает, Земля удерживается на орбите светила.
Рисунок 8
Или запускаем Солнце по дуге. Алгоритм работает!
Рисунок 9
Модуль №6 «Спутник на орбите Планеты» (декомпозиция задачи)
Теперь самое интересное. У планеты в свою очередь так же может быть свой спутник. Как Луна или МКС у Земли. Вот было бы здорово усложнить анимацию, запрограммировав это движение.
*На этом этапе полезно объяснить суть такого метода решения, как декомпозиция задачи. Весьма сложно сразу верно решить сложную задачу. Целесообразней расчленить её на более простые подзадачи. Решить их по отдельности. А уже потом объединить в одно общее решение данной задачи.
В нашем случае эта идея имеет следующий вид. Мы уже умеем анимировать движение планеты вокруг Солнца. Теперь мы переносим этот же алгоритм, но уже планета становится новым Солнцем. Фиксируем её в удобной точке. Например, в точке (100,0). Луну располагаем в точке (140,0) (Рисунок 10)
Рисунок 10
Теперь запустим Луну по круговой траектории вокруг пока неподвижной Земли. Просто переносим готовый алгоритм, учитывая, что расстояние между ними 40 пикселей.
Рисунок 11
*Важно! Для более корректной работы программы планеты перед её запуском желательно в ручном режиме поместить в стартовые точки. В противном случае, после запуска программы им потребуется некоторое время для попадания в точку старта. Это может привести к искажённым траекториям.
*Важно! Необходимо обратить внимание на направление планеты в момент старта программы. Оно должно быть «естественным» для начала движения по правильной траектории.
Модуль №6 «Итоговая анимация»
Этап занятия |
Деятельность педагога |
Деятельность детей |
Примечания |
1 |
Теперь, когда Луна запущена вокруг Земли, предлагает детям запрограммировать одновременное их движение по своим орбитам. Помогает детям в написании программы. |
Выполняют задание |
Получится далеко не сразу. Нужна очень точная подгонка параметров движения |
2 |
Теперь, когда Земля и Луна запущены по своим траекториям, предлагает двигать Солнце. |
Думают,выполняют задание |
|
3. |
Подведение итогов работы, рефлексия |
Отвечают на вопросы, смотрят и оценивают анимации друг друга (товарищей) |
|
В итоге вот такая красота получается:
https://disk.yandex.ru/i/eHXsQ_XJyGLVdg - космос – видео
https://disk.yandex.ru/i/Q8FNPefWjcpVrw - космос_2
https://disk.yandex.ru/i/7AM8nzpjpUqOGw - космос _ 3
Надеюсь, эта методическая разработка поможет коллегам сделать занятия по программированию более содержательными и интересными.
Шайтанов Александр Владимирович – методист ГУ ДО «Технопарк Забайкальского края», педагог ДО
На странице приведен фрагмент.
Автор: Шайтанов Александр Владимирович
→ ZabKGISAIKT 31.07.2024 0 126 1 |
Спасибо за Вашу оценку. Если хотите, чтобы Ваше имя
стало известно автору, войдите на сайт как пользователь
и нажмите Спасибо еще раз. Ваше имя появится на этой стрнице.