Направление программы НКФП «Берлога»:
Программирование киберфизических систем
Тема модуля:
Программирование для киберфизических систем: от игровых юнитов «Берлоги» к роботам мини-сумо в системе визуального программирования»
Образовательная цель модуля:
Обеспечить освоение школьниками принципов проектирования и реализации ПРИМС для управления киберфизическими системами на примере создания робота-сумоиста.
Планируемое время на прохождение модуля:
12 лекционные 2ч, практика 6ч, турнир 3 ч, дискуссии 1ч.
Место модуля в учебном курсе по направлению НКФП «Берлога», связь с другими модулями в программе:
Базовый практический модуль по программированию КФС. Учащиеся создают программу для Arduino-робота по мини-сумо, осваивая основы управления, работу с датчиками и алгоритмы автономного поведения. Практическое введение в разработку киберфизических систем
Возрастная категория:
10-15 лет
Знания и навыки, необходимые для успешного прохождения модуля:
Учащимся необходимы: базовые навыки сборки Arduino-робота, работы с датчиками/моторами, (блоки: циклы, условия, управление моторами, чтение датчиков), понимание простых алгоритмов.
Необходимый опыт в программировании, в работе с киберфизическим содержанием:
Опыт программирования:
Базовые навыки визуального программирования (блоки: циклы, условия, переменные).
Опыт с КФС:
Понимание архитектуры КФС, опыт подключения датчиков/моторов к Arduino, чтения их сигналов.
Что должно быть освоено к моменту проведения занятия?:
К моменту старта модуля учащиеся должны: уверенно собирать базового Arduino-робота с датчиками линии/расстояния; программировать (управление моторами, чтение датчиков, циклы, условия, переменные); понимать архитектуру КФС и цикл управления.
Содержание, включённое в школьную программу (знания – представления, понятия, законы, способы решения и др.):
Модуль обеспечивает освоение школьных тем через прикладные задачи: от законов физики до алгоритмизации. Его уникальность — в использовании визуального программирования акцента на проектной деятельности.
Межпредметное киберфизическое содержание (общие киберфизические представления, программирование, моделирование, принципы управления и др.):
Межпредметное ядро модуля интегрирует киберфизические концепции через практику создания робота для мини-сумо :
- Системный подход (физика + информатика): Робот мини сумо (механика, датчики) и “интеллекта” (программа). Обратная связь: реакция на среду (линия ринга → коррекция курса).
- Программирование иерархических автоматов: Визуальное проектирование состояний (Поиск → Атака → Отход) с переходами по условиям (датчики, таймеры). Пример: ЕСЛИ (Датчик_противника > 50%) → Атака ИНАЧЕ → .
- Принципы управления и моделирование (математика):
- P-регуляторы: Мощность_мотора = K (ошибка_смещения)
- Фильтрация шумов: медианный фильтр для датчиков
- Расчет траекторий: геометрия поворотов
- Интеграция знаний:
- Физика: силы трения → выбор покрытия колес
- Технология: оптимизация веса → устойчивость при столкновении
- Информатика: генерация C++ кода из визуальных блоков
Итог: Учащиеся осваивают цикл «сенсоры → алгоритм → действие» через проектирование адаптивных систем. Визуальное программирование упрощает переход от теории к практике, формируя инженерное мышление.
Деятельностное (общие способы действия, понимания, мышления, коммуникации и др.):
Деятельностное содержание модуля:
Учащиеся осваивают:
- Способы действия: - Сборка КФС, визуальное программирование , отладка на ринге.
- Мышление: - Системный анализ (связь «датчик→код→мотор»), алгоритмизация через конечные автоматы.
- Коммуникация: - Коллективная разработка тактик, защита решений.
- Понимание: - Интерпретация ошибок как ресурс оптимизации.
Пример: Тест-драйв робота → анализ сбоев → коррекция автомата состояний → повторное тестирование. Ключевые акценты: - Практика как основа обучения: собрал → запрограммировал → протестировал → улучшил. - Ошибки → инсайты: сбой датчика =повод изучить фильтрацию сигналов. - Командная рефлексия: обсуждение тактик перед турниром.
Как связаны три типа содержания:
Три компонента — образовательное, межпредметное киберфизическое и деятельностное содержание — образуют замкнутый цикл проектного обучения:
- Образовательное → КФС Теоретические знания (физика, информатика) становятся «строительными блоками» для системного мышления:
- Пример: Закон Ома → расчет сопротивления → понимание работы аналоговых датчиков в КФС.
- Связь: Без базовых понятий невозможно проектирование киберфизических систем.
- КФС → Деятельностное Принципы КФС (обратная связь, иерархия автоматов) трансформируются в практические действия:
- Пример: Концепция «сенсор→обработка→актуатор» → программирование робота → тестирование на ринге.
- Связь: Системный подход определяет этапы сборки, отладки и оптимизации.
- Деятельностное → Образовательное Практика корректирует и углубляет знания: - Пример: Ошибки датчиков при тестировании → изучение фильтрации сигналов → обновление теоретической базы.
- Связь: Рефлексия над действиями выявляет пробелы в понимании.
Ключевые эффекты:
- Цикличность: Каждый этап усиливает другие. Ошибки в действиях ведут к уточнению теории, обновлённые знания улучшают системное проектирование.
- Интеграция: визуальные блоки воплощают теорию в КФС-принципы, а их отладка — в действия.
- Мотивация: Соревновательный формат (сумо) превращает абстрактные знания в инструмент для победы.
Пример полного цикла для модуля:
- Знание: Алгоритмы ветвлений →
- КФС: Проектирование автомата состояний «Поиск→Атака» →
- Действие: программирование → сбой на ринге →
- Коррекция: Добавление состояния «Отход» →
- Новое знание: Принцип приоритета условий в реальном времени.
Задайте возможные/допустимые уровни освоения содержания:
Уровни освоения:
- Базовый:
- Сборка робота по инструкции;
- Программирование простых реакций (движение → стоп при линии).
- Продвинутый:
- Самостоятельная настройка датчиков;
- Реализация тактик (атака/поиск) через конечные автоматы.
- Творческий:
- Оптимизация кода/конструкции;
- Создание адаптивных алгоритмов (калибровка под ринг, уход от противника).
Диагностика:
- Тестовые заезды на ринге;
- Анализ логики блок-схем;
- Защита проектных решений.
Пояснения:
- Базовый: Действия по шаблону, минимальная коррекция кода.
- Продвинутый: Понимание причинно-следственных связей в КФС, работа с переменными.
- Творческий: Эксперименты с ПИД-регуляторами, хитроумные тактики (например, ложные манёвры).
Учебные материалы, необходимые для проведения модуля (тексты, формулировки заданий/задач, презентации, демонстрации, оборудование и др.):
- Правила соревнований и теория - Регламенты - Теория в презентациях - Алгоритмы поведения - Примеры тактик
- Конструкция робота - Базовые компоненты: - Платформа: Arduino - Датчики - Моторы - Корпус робота - Драйвер мотора - Колеса робота - Инструкции по сборке робота
- Программирование - Базовые алгоритмы в средах визуального программирования - Cyberiada IDE/Arduino
- Практические задания
- Оборудование и полигоны - Ноутбуки с программным обеспечением Cyberiada ide - Наборы учебных роботов: Enjoy robotics mini sumo 2шт. - 3d принтер для печати деталей корпуса робота
- Методические пособия
- Книги и презентации
- Презентация «Подготовка к роботосумо»: сравнение императивного и событийного программирования, примеры ПРИМС-диаграмм
- Видеоразборы турниров (анализ типичных ошибок
- Чек-листы для самопроверки (калибровка датчиков, баланс мощности моторов) .
Какие форматы проведения занятий и формы организации учебной и/или проектной деятельности предлагается использовать:
Форматы занятий:
- Геймифицированные квесты (45 мин): - Сборка + базовое программирование робота.
- Спринт-турниры (2 занятия): - Разработка тактик → тест-драйв → мини-чемпионат на ринге.
- Инженерные воркшопы: - Модернизация конструкции .
Формы организации:
- Индивидуальная: Калибровка датчиков.
- Парная: Отладка кода/механики.
- Групповая: Стратегические сессии.
Как обеспечивается повышение осознанности и самостоятельности в учебной деятельности:
Механизмы повышения осознанности и самостоятельности:
- Рефлексивные паузы: - Анализ ошибок после тест-драйва: «Почему робот ушел с ринга?» → поиск решений.
- Выбор тактик: - Самостоятельный подбор алгоритмов (атака/обход/защита).
- Инженерные дневники: - Фиксация наблюдений: «При увеличении веса батареи устойчивость выросла на 30%.
- Чек-листы самооценки: - Контроль этапов: сборка → калибровка датчиков → программирование.
Пример: Дети тестируют робота, выявляют сбои → корректируют код → защищают решения перед турниром. Ключевые принципы: - От инструкции к инновациям: Базовые навыки → творческая оптимизация. - Ошибки как ресурс: Сбой датчика = повод изучить фильтрацию.
Как организуется в процессе прохождения модуля коммуникативное взаимодействие между педагогом и учащимися, между учащимися, с внешними экспертами:
- Педагог ↔ Учащиеся:
- Коучинг: Консультации через чек-листы («Проверь подключение датчиков») вместо прямых ответов.
- Рефлексия: Обсуждение после тест-драйвов: «Как улучшишь тактику?».
- Учащиеся ↔ Учащиеся:
- Парное программирование: Один пишет код, второй тестирует на ринге. - Стратегические сессии: Мозговой штурм тактик для турнира.
- Внешние эксперты:
- Гостевая сессия: Онлайн-разбор проектов с инженером (пример: анализ устойчивости робота).
- Судьи на турнире: Обратная связь по эффективности алгоритмов.
Пример: Дети защищают решения перед экспертом → получают советы → дорабатывают проект.
Ключевые принципы:
- Минимум лекций, максимум диалога.
- Ошибки → командный поиск решений.
- Эксперты как мотивация: Реальные инженеры оценивают работы.
Подготовительные задания/задачи:
Учебная ситуация: «Оптимизация тактики робота-сумоиста»
Возраст: 10–15 лет
Цель: Разработать адаптивный алгоритм «Атака-Отход», повышающий шансы на победу в турнире.
Подготовительные задания (до занятия):
- Анализ прототипов: - Изучить [примеры тактик] выявить слабые места (например, застревание у борта).
- Тест железа: - Проверить калибровку датчиков по [чек-листу]
- Мозговой штурм: - Нарисовать схему идеального поведения робота (PDF-шаблон).
Сценарий занятия (45 мин):
- Вызов (10 мин): - Педагог: «Ваш робот выигрывает 3 из 10 боев. Проанализируйте видео поражений → предложите улучшения».
- Исследование (20 мин): - В парах: - Эксперимент с порогами ИК-датчиков в (снижение ложных срабатываний). - Тест манёвра «Ложный отход»: ЕСЛИ (противник ближе 10 см) → Отъезд назад → Резкий разворот → Атака сбоку
- Турнирная проверка (15 мин): - Робо-бои 2×2: - Фиксация результатов в [таблице] - Анализ: «Новая тактика увеличила победы до 6/10!»
- Рефлексия (15 мин): - Обсуждение: > «Почему “ложный отход” сработал против медленных роботов, но проиграл скоростным?» - Домашнее задание: Добавить в алгоритм ветку Определение_скорости_противника. Оборудование на занятии: - Easy Robotic mini sumo. - Ринг с разметкой зон риска - Ноутбуки . Ключевые навыки: - Критический анализ ошибок → инженерная оптимизация. - Коллективная генерация идей. - Интерпретация данных тестов.
Ключевая задача учебной ситуации, в какой форме предлагается:
Форма: Турнирный инженерный квест
Суть задачи: Создать адаптивную тактику для робота-сумоиста , повысив его победы в боях с 30% до 60+% через анализ ошибок и оптимизацию алгоритмов.
- Проблемный контекст:
- Данные: Робот учеников проигрывает 7 из 10 боев
- Вызов: «Определите 2 слабых места тактики и исправьте их за 40 минут!»
- Исследовательский этап:
- Анализ данных:
- Построение графика частых ошибок: «зависание у борта» (45%), «ложное срабатывание датчиков» (30%).
- Эксперимент:
- Тест гипотез : добавление состояния АНТИ-ЗАВИСАНИЕ (разворот при 5 сек бездействия).
- Практическая реализация:
- В парном, формате
- Программист: Создает ветку кода: ЕСЛИ (время_без_действия > 5с) → поворот_на_180°
- Инженер: Тестирует манёвр на ринге, корректирует пороги ИК-датчиков.
- Верификация:
- Турнир «каждый с каждым» (3 раунда):
- Фиксация результатов в онлайн-таблице. - Критерий успеха: ≥6 побед из 10.
- Рефлексия: - Вопросы педагога: > «Почему манёвр сработал против тяжелых роботов, но не против легких? Какие данные еще нужны?» Педагогические акценты: Компонент Цель Анализ ошибок Развитие критического мышления Эксперимент Применение метода проб и ошибок Турнир Мотивация через соревновательность Рефлексия Осознание причинно-следственных связей Итог: Задача превращает детей в инженеров-исследователей — от диагностики проблемы до создания рабочего решения.
Какие действия по решению задачи могут привести к ошибкам/неверным решениям, иными словами: к сбою в решении (не менее двух):
Ошибка 1: Игнорирование калибровки датчиков Действие: Прямое копирование пороговых значений ИК-датчиков из примеров без теста на реальном ринге. Сбой: - Ложные срабатывания: робот «видит» противника там, где его нет. - Пропуск цели: датчики не реагируют на черную линию из-за бликов. Причина: Непонимание, что освещение, цвет покрытия и загрязнения сенсоров меняют сигнал. Как выявляется: Робот хаотично уезжает с ринга или проезжает границу.
Ошибка 2: Жёсткая привязка к времени в алгоритмах Действие: Использование блокирующих команд delay() для манёвров: Поворот_налево(90°) → delay(2000) → Движение_вперёд() Сбой: - Робот «зависает» на 2 сек, игнорируя противника/границу. - Тактика становится предсказуемой и уязвимой. Причина: Незнание принципов неблокирующего кода для систем реального времени. Как выявляется: Противник легко атакует во время «задержки».
Ошибка 3: Конфликт состояний в автомате Действие Создание условий без приоритетов: ЕСЛИ (датчик_линии) → Отъезд ЕСЛИ (датчик_противника) → Атака Сбой: - Робот «мечется» у границы: атакует → отъезжает → атакует. - Быстрая разрядка батареи из-за циклических действий. Причина: Отсутствие иерархии в логике (например, Сначала спастись от вылета → потом атаковать). Как выявляется: Видеоанализ показывает потерю времени на бессмысленные действия. Почему это критично?
- Ошибка 1 ведет к фундаментальной неработоспособности системы.
- Ошибка 2 нарушает принцип реактивности КФС.
- Ошибка 3 делает алгоритм неэффективным, несмотря на техническую исправность.
Как минимизировать риски: - Ввести обязательный этап: «5 минут на калибровку датчиков» перед турниром. - Использовать в Lapki IDE таймеры на события вместо delay() (см. [документацию] - Добавить правило: «Состоянию “Анти-вылет” всегда высший приоритет» в алгоритмах. > «Неочевидная ошибка: дети часто “улучшают” конструкцию, добавляя тяжелый крюк, что смещает центр тяжести → робот переворачивается при столкновении. Решение: тест робота в 3-х позициях».
Как проводится работа с неверными действиями/неверными гипотезами и т.д. школьников, которые привели к ошибкам, к сбою в деятельности:
Алгоритм работы с неверными действиями/гипотезами:
- Фиксация и анализ сбоя: - При тест-драйве робота педагог фиксирует проблему на видео (например, зависание у борта). - Учащиеся заполняют «Карту ошибки»: Симптом → Вероятная причина → Способ проверки [Робот крутится на месте] → [Конфликт состояний] → [Логи ]
- Проверка гипотез через микроэксперименты: - Ошибка: «Датчики !» → Эксперимент: - Замер сигналов ИК-сенсора при разном освещении → вывод о необходимости калибровки. - Ошибка: «Задержки помогают» → Эксперимент: - Сравнение delay(2000) vs. неблокирующего таймера → видеоразбор уязвимостей.
- Инструменты коррекции: - Чек-лист «5 шагов»: 1. Проверь питание → 2. Калибруй датчики → 3. Ищи конфликт состояний → 4. Замени delay() → millis 5. Тест на 3 типах противников 4. Шаблон: Автомат состояний с приоритетами 5. Рефлексивный диалог: - Педагог: «Что данные говорят? Какая гипотеза подтвердилась? Как избежим этого в новом проекте?». - Пример: После проигрыша из-за delay()→ обсуждение принципов реального времени. Пример: Гипотеза: «Больше скорости = больше побед» → Робот вылетает с ринга → Эксперимент с замедлением моторов на 30% → Победы → Вывод: Управляемость > Мощности. Итог: Ошибка становится исследовательским кейсом, где дети учатся: - Верифицировать гипотезы данными, - Разделять симптом/причину, - Конвертировать провалы в улучшения.
Как на основе работы по преодолению сбоя в деятельности вводятся новые знания/способы действия/приёмы работы/…:
- От симптома → к концепции: - Сбой: Робот зависает у борта ринга. - Новое знание: Принцип неблокирующего подхода.
- От гипотезы → к методу: - Ошибка: «Датчики !» → Проверка: Замер сигналов при разном освещении. - Новый способ: Калибровка сенсоров через: - Построение графика «Сигнал/Расстояние» → расчет пороговых значений. - Использование медианного фильтра в коде
- От конфликта → к системе: - Проблема: Робот мечется между состояниями «Атака» и «Отход». - Новый приём: Иерархия приоритетов в автомате: ВЫСШИЙ: Спасение от вылета → СРЕДНИЙ: Атака → БАЗОВЫЙ: Поиск - Инструмент: Визуальный конструктор состояний Lapki IDE с настройкой весов условий.
Педагогические инструменты:
Чек-лист «5 шагов после сбоя»:
- Запиши симптом
- Выдвини гипотезу
- Проверь экспериментом
- Изучи новую тему
- Решение
Мини-лекции «по требованию»: - Только после самостоятельного анализа ошибки (например, объяснение PID-регуляторов при систематическом съезде с траектории). Пример: После проигрыша из-за задержек delay(): - Учащиеся сами обнаруживают проблему в видеоанализе → - Получают доступ к шаблону Non-blocking code → - Изучают принцип через [интерактивную схему] → - таймеры событий → Тест: +40% побед. > Ошибка не тупик, а дверь. Важно дать ключ – конкретный инструмент для её исправления
Как завершается учебная ситуация:
Рефлексия (укажите предмет рефлексии: этапы проделанной работы, способ преодоления сбоя, полученное новое знание, выработанный способ решения, другое
Обоснуйте ваш выбор в предыдущем пункте:
Выбор: 2. Рефлексия Обоснование: Рефлексия — единственный вариант, который глубоко раскрывает образовательный смысл завершения учебной ситуации. Она позволяет:
- Связать теорию с практикой → Ученики осознают, как знания о ПРИМС из «Берлоги» помогли решить реальные проблемы.
- Закрепить инженерное мышление → Анализ ошибок («ложные срабатывания датчиков → добавление фильтра») показывает цикл: проблема → гипотеза → решение → результат.
- Оценить личный прогресс «Среда визуального программирования научила не просто кодить, а проектировать поведение» — демонстрирует рост от исполнителя к инженеру.
Вероятно, мы не спросили о том, что вы считаете важным в отношении адаптированного модуля. Напишите в свободной форме.:
Ключевые выводы по адаптированному модулю
- Модуль нивелирует разрыв между виртуальной «Берлогой» и физическими КФС, превращая игровые тактики в алгоритмы для реальных роботов. Мини сумо для начала программирования ардуино интересно ребятам.
- Готовое решение для педагогов: Визуальное программирование сокращает время на программирование, не требуется глубокое знание C++.
- Индустриальная актуальность: Навыки работы с ПРИМС соответствуют 80% требований к junior-инженеру промышленной автоматизации
- Турнир как учебный инструмент: Соревновательная механика: - Дает мгновенную обратную связь (робот вылетел с ринга → ошибка в автомате) - Мотивирует глубже анализировать киберфизические принципы База обучения, мотивирует строить модели роботов для соревнований Робофест, Робофинист, Робокод.
- Ограничение: Требует минимальной аппаратной базы (Arduino-совместимые наборы) Набор Enjoy robotics mini sumo - самостоятельная сборка детьми робота мини сумо. Главный эффект:Ученики видят прямую связь между действием в игре (программирование юнита) и результатом в физическом мире (поведение робота на ринге), формируя системное инженерное мышление.