20. Практическая работа «Программирование адаптивного поведения робота»
Технологическая карта урока
ЦЕЛЕВОЙ БЛОК
Модуль: Интеллектуальные системы управления в робототехнике
Тема урока: 20. Практическая работа «Программирование адаптивного поведения робота»
Цель урока: Сформировать практические навыки разработки и программирования алгоритмов, позволяющих роботу адаптировать своё поведение к изменяющимся условиям окружающей среды.
Планируемые результаты:
Предметные:
- Знать принципы организации адаптивного поведения робота
- Понимать методы обработки данных от датчиков для принятия решений
- Уметь программировать алгоритмы, обеспечивающие адаптацию робота к условиям среды
- Владеть навыками тестирования и оптимизации адаптивных алгоритмов
Метапредметные:
- Регулятивные УУД: умение планировать алгоритм адаптивного поведения, анализировать результаты, корректировать параметры
- Познавательные УУД: развитие системного мышления, моделирование процессов адаптации по аналогии с живой природой
- Коммуникативные УУД: умение работать в команде над сложным алгоритмом, распределять роли, обсуждать проблемы и решения
Личностные:
- Формирование инженерного мышления и исследовательского подхода
- Развитие интереса к биоподобным системам и искусственному интеллекту
- Воспитание настойчивости при решении сложных задач
ИНСТРУМЕНТАЛЬНЫЙ БЛОК
Задачи урока:
- Актуализировать знания об интеллектуальных алгоритмах в робототехнике
- Познакомить с принципами адаптивного поведения в природе и робототехнике
- Научить разрабатывать алгоритмы адаптации к изменяющимся условиям
- Организовать практическую работу по программированию и тестированию адаптивного поведения робота
- Развить навыки анализа данных для корректировки поведения робота
Тип урока: Практическая работа
Учебно-методическое и материально-техническое обеспечение:
- Робототехнические наборы с контроллерами и моторами (по количеству групп)
- Набор датчиков (касания, света/цвета, ультразвуковые, гироскопы)
- Компьютеры с установленной средой программирования для роботов
- Тестовые полигоны с различными типами поверхностей или препятствий
- Инструкционные карты по разработке адаптивных алгоритмов
- Примеры программного кода для адаптивного управления
- Секундомеры для измерения времени выполнения задачи
- Таблицы для сбора и анализа данных эксперимента
ОРГАНИЗАЦИОННО-ДЕЯТЕЛЬНОСТНЫЙ БЛОК
Образовательные технологии: Проектная деятельность, проблемное обучение, работа в малых группах, эксперимент, моделирование
Межпредметные связи:
- Математика: реализация статистических методов обработки данных от датчиков, усреднение величин, фильтрация шумов
- Биология: моделирование адаптивного поведения по аналогии с живыми организмами, биомиметика, эволюционный подход
- Информатика: алгоритмы с обратной связью, обработка массивов данных, оптимизация
- Физика: механика движения, трение на различных поверхностях, сенсорные системы
Этап урока | Деятельность учителя | Деятельность ученика | Планируемые результаты предметные | Планируемые результаты УУД |
---|---|---|---|---|
1. Организационный момент (2 мин) | Приветствует учащихся, проверяет готовность к уроку. Организует деление на рабочие группы по 2-3 человека. | Готовятся к уроку, распределяются по группам. | Регулятивные: самоорганизация, готовность к работе в группе | |
2. Актуализация знаний (5 мин) | Организует фронтальную беседу по вопросам: - Что такое интеллектуальные алгоритмы в робототехнике? - В чем разница между обычным и адаптивным поведением робота? - Какие примеры адаптивного поведения в живой природе вы можете привести? Демонстрирует короткий видеоролик о роботах с адаптивным поведением. |
Участвуют в беседе, отвечают на вопросы. Приводят примеры адаптивного поведения в природе (приспособление животных к среде обитания, условный рефлекс, обучение на опыте). Просматривают видеоматериал. |
Активизация знаний об интеллектуальных алгоритмах управления. Понимание концепции адаптивного поведения. |
Познавательные: актуализация имеющихся знаний, установление межпредметных связей с биологией. Коммуникативные: участие в диалоге. |
3. Постановка цели и мотивация (3 мин) | Формулирует цель практической работы: “Сегодня мы разработаем и запрограммируем алгоритм, который позволит роботу самостоятельно адаптироваться к различным условиям окружающей среды”. Объясняет практическую значимость адаптивных алгоритмов в современной робототехнике. Обсуждает примеры применения (роботы-пылесосы, беспилотные автомобили, промышленные манипуляторы). |
Осмысливают цель работы. Задают уточняющие вопросы. Приводят собственные примеры, где требуется адаптация робота. |
Регулятивные: целеполагание. Личностные: мотивация к практической деятельности. |
|
4. Изучение принципов адаптивного поведения (10 мин) | Объясняет основные принципы создания адаптивного поведения робота: 1. Сбор данных об окружающей среде: - Регулярное измерение параметров с помощью датчиков - Создание базы данных о различных условиях 2. Анализ полученных данных: - Выявление закономерностей и паттернов - Статистическая обработка (среднее значение, отклонение) - Фильтрация случайных выбросов 3. Корректировка параметров работы: - Изменение скорости движения - Подстройка мощности моторов - Изменение чувствительности датчиков - Выбор оптимальной стратегии поведения 4. Оценка результата и обратная связь: - Сравнение с целевыми показателями - Корректировка алгоритма при необходимости Подчеркивает межпредметную связь с математикой при объяснении статистических методов. |
Воспринимают информацию. Фиксируют основные принципы адаптивного поведения. Задают вопросы. Устанавливают связь с математическими методами обработки данных. |
Знание принципов создания адаптивных алгоритмов. Понимание основных этапов адаптации робота к условиям среды. Представление о методах статистической обработки данных. |
Познавательные: восприятие и структурирование новой информации. Регулятивные: понимание логики адаптивного процесса. |
5. Демонстрация примера адаптивного поведения (7 мин) | Демонстрирует работу робота с простым адаптивным алгоритмом (например, подстройка скорости движения по линии в зависимости от яркости и контрастности разметки). Объясняет структуру алгоритма: - Сбор данных о контрастности - Настройка параметров движения - Оценка эффективности Комментирует, как робот корректирует свое поведение при изменении условий. Проводит параллели с адаптивным поведением в природе (межпредметная связь с биологией). |
Наблюдают за демонстрацией работы робота. Анализируют изменения в поведении робота при разных условиях. Задают вопросы о принципах работы адаптивного алгоритма. Устанавливают аналогии с биологическими системами. |
Понимание практической реализации адаптивного алгоритма. Умение анализировать изменения в поведении робота. |
Познавательные: наблюдение, анализ, установление аналогий. Коммуникативные: формулирование вопросов. |
6. Инструктаж по практической работе (5 мин) | Объясняет задание для практической работы: “Создание робота, который способен адаптироваться к различным типам поверхностей или препятствий”. Предлагает варианты адаптивного поведения на выбор: 1. Адаптация скорости движения к типу поверхности 2. Адаптация стратегии объезда препятствий 3. Адаптация к изменению освещенности Объясняет этапы выполнения работы: 1. Сборка робота с необходимыми датчиками 2. Разработка базового алгоритма 3. Добавление элементов адаптивности 4. Тестирование и оптимизация 5. Сбор и анализ данных Раздает инструкционные карты. |
Воспринимают задание. Выбирают вариант адаптивного поведения. Изучают инструкционные карты. Распределяют роли в группе. Задают уточняющие вопросы. |
Регулятивные: принятие учебной задачи, планирование. Коммуникативные: распределение ролей в группе. |
|
7. Физкультминутка (2 мин) | Проводит короткую физкультминутку с элементами имитации адаптивного поведения (например, движения с разной скоростью в зависимости от команды). | Выполняют физические упражнения. | Регулятивные: саморегуляция. | |
8. Практическая работа: сборка робота и разработка алгоритма (15 мин) | Консультирует группы в процессе сборки робота и разработки алгоритма: - Помогает выбрать оптимальную конструкцию робота - Подсказывает, какие датчики лучше использовать - Обращает внимание на правильное размещение датчиков - Помогает спланировать алгоритм адаптации Контролирует работу групп, отвечает на вопросы. |
Работают в группах над созданием робота: - Собирают конструкцию робота - Устанавливают необходимые датчики - Разрабатывают схему алгоритма - Планируют механизм адаптации - Определяют параметры, которые будут корректироваться - Создают базовую программу |
Умение выбирать и собирать конструкцию робота для решения задачи адаптации. Навыки разработки адаптивных алгоритмов. |
Познавательные: моделирование, разработка алгоритма. Коммуникативные: взаимодействие в группе. Регулятивные: планирование деятельности. |
9. Практическая работа: программирование и тестирование (20 мин) | Консультирует группы в процессе программирования: - Помогает реализовать алгоритмы статистической обработки данных - Подсказывает методы корректировки параметров - Обращает внимание на обработку исключительных ситуаций Организует тестирование на различных поверхностях или с разными препятствиями: - Предлагает различные условия для тестирования - Помогает собирать и анализировать данные - Консультирует по оптимизации алгоритмов Напоминает о необходимости сбора данных для анализа. |
Программируют адаптивное поведение робота: - Реализуют алгоритмы сбора данных от датчиков - Создают статистическую обработку данных - Программируют механизм корректировки параметров - Добавляют функции оценки эффективности Тестируют работу робота: - Проверяют на различных поверхностях/препятствиях - Собирают данные о работе - Анализируют успешность адаптации - Оптимизируют алгоритм - Документируют результаты |
Умение программировать адаптивные алгоритмы. Навыки тестирования и оптимизации программы. Умение анализировать данные и вносить корректировки. |
Познавательные: реализация алгоритмов, анализ данных. Регулятивные: тестирование, коррекция, оптимизация. Личностные: настойчивость при решении проблем. |
10. Сбор и анализ результатов (5 мин) | Организует систематизацию полученных результатов: - Предлагает заполнить таблицу результатов - Помогает проанализировать эффективность адаптации - Обращает внимание на выявление закономерностей - Стимулирует к формулированию выводов |
Систематизируют результаты: - Заполняют таблицу с данными - Оценивают эффективность адаптации - Определяют условия, при которых адаптация наиболее успешна - Формулируют выводы |
Умение систематизировать и анализировать результаты экспериментов. Навыки оценки эффективности адаптивных алгоритмов. |
Познавательные: анализ данных, выявление закономерностей. Регулятивные: оценка результатов. |
11. Демонстрация результатов (15 мин) | Организует демонстрацию работы роботов с адаптивным поведением: - Предоставляет каждой группе возможность продемонстрировать своего робота - Создает различные условия для демонстрации адаптации - Задает вопросы о механизме адаптации - Стимулирует обсуждение результатов |
Демонстрируют работу своих роботов: - Показывают адаптивное поведение в различных условиях - Объясняют принцип работы своего алгоритма - Комментируют процесс адаптации - Отвечают на вопросы - Участвуют в обсуждении |
Умение демонстрировать и объяснять работу адаптивного алгоритма. Навыки анализа эффективности адаптивного поведения. |
Коммуникативные: представление результатов, участие в дискуссии. Познавательные: анализ, сравнение различных решений. |
12. Обсуждение результатов (5 мин) | Организует обсуждение результатов практической работы: - Предлагает сравнить различные подходы к адаптации - Обсуждает преимущества и недостатки разных решений - Помогает выявить факторы, влияющие на эффективность адаптации - Проводит параллели с адаптацией в живых организмах |
Участвуют в обсуждении: - Сравнивают различные алгоритмы адаптации - Анализируют сильные и слабые стороны своего решения - Предлагают идеи для улучшения - Устанавливают аналогии с биологическими системами |
Понимание факторов, влияющих на эффективность адаптивного поведения. Умение анализировать различные подходы к решению задачи. |
Познавательные: сравнение, обобщение, установление аналогий. Коммуникативные: участие в дискуссии, аргументация. |
13. Рефлексия и подведение итогов (5 мин) | Организует рефлексию с использованием метода “РОП” (Результат, Особенности, Применение): - Какого результата достигла ваша группа? - Какие особенности адаптивного поведения вы реализовали? - Где можно применить разработанный вами алгоритм? Подводит итоги урока. Оценивает работу групп по заранее объявленным критериям. |
Участвуют в рефлексии: - Оценивают достигнутые результаты - Анализируют особенности своего решения - Предлагают возможные применения - Делятся впечатлениями от работы |
Регулятивные: оценка собственной деятельности. Познавательные: рефлексия. Личностные: осознание применимости полученных знаний и навыков. |
|
14. Домашнее задание (3 мин) | Объясняет домашнее задание: 1. Обязательная часть: подготовить отчет о практической работе, включающий описание алгоритма адаптации и анализ результатов 2. Творческое задание (по желанию): предложить усовершенствованный алгоритм адаптации для выбранного типа робота или придумать новую задачу, требующую адаптивного поведения |
Записывают домашнее задание. Задают уточняющие вопросы. |
Регулятивные: планирование самостоятельной работы. |
Дополнительные материалы:
Варианты практических заданий:
Вариант 1: “Адаптация к различным типам поверхностей”
Задача: Разработать робота, который адаптирует скорость и мощность моторов к различным типам поверхностей для поддержания стабильного движения. Необходимое оборудование:
- Датчик света/цвета (для определения типа поверхности)
- Гироскоп или акселерометр (для измерения отклонений от прямолинейного движения)
- Энкодеры моторов (для измерения фактической скорости) Механизм адаптации:
- Робот собирает данные о соотношении между заданной мощностью моторов и фактической скоростью на разных поверхностях
- На основе этих данных робот корректирует мощность моторов для поддержания заданной скорости
- При переходе на новую поверхность робот определяет её тип и применяет оптимальные настройки
Вариант 2: “Адаптивное преодоление препятствий”
Задача: Создать робота, который адаптирует свою стратегию к различным типам препятствий. Необходимое оборудование:
- Ультразвуковой датчик расстояния
- Датчики касания
- Гироскоп Механизм адаптации:
- Робот собирает данные о препятствиях (размер, форма, расстояние)
- На основе этих данных выбирает оптимальную стратегию (объезд, преодоление, отступление)
- Анализирует успешность выбранной стратегии и корректирует её для похожих препятствий в будущем
Вариант 3: “Адаптация к изменению освещенности”
Задача: Разработать робота-сортировщика, который адаптирует свои алгоритмы распознавания цветов к различным условиям освещения. Необходимое оборудование:
- Датчик цвета
- Датчик освещенности Механизм адаптации:
- Робот калибрует датчик цвета при разных условиях освещения
- Создает таблицу соответствия показаний датчика реальным цветам при разном освещении
- При изменении освещенности автоматически корректирует пороговые значения для распознавания
Вариант 4: “Адаптация энергопотребления”
Задача: Создать робота, который оптимизирует своё энергопотребление в зависимости от выполняемой задачи и условий среды. Необходимое оборудование:
- Датчик тока/напряжения
- Различные сенсоры для определения условий среды Механизм адаптации:
- Робот измеряет энергопотребление при разных режимах работы
- Анализирует эффективность выполнения задачи при разных уровнях мощности
- Автоматически выбирает оптимальный режим работы, балансирующий между энергопотреблением и эффективностью
Пример алгоритма адаптации к типу поверхности:
1// Алгоритм адаптации скорости робота к типу поверхности
2
3// Глобальные переменные
4float targetSpeed = 30; // Целевая скорость (см/с)
5float currentPower = 50; // Текущая мощность моторов (%)
6float surfaceCoefficient = 1.0; // Коэффициент поверхности
7int sampleSize = 5; // Размер выборки для усреднения
8float samples[5]; // Массив для хранения измерений
9int sampleIndex = 0; // Индекс текущего измерения
10
11// Основной цикл
12task main() {
13 // Инициализация
14 initMotors();
15 initSensors();
16
17 while(true) {
18 // Движение с текущей мощностью
19 setMotorPower(currentPower);
20
21 // Измерение фактической скорости
22 float actualSpeed = measureActualSpeed();
23
24 // Добавление измерения в массив
25 samples[sampleIndex] = actualSpeed;
26 sampleIndex = (sampleIndex + 1) % sampleSize;
27
28 // Расчет среднего значения скорости
29 float averageSpeed = calculateAverage();
30
31 // Определение типа поверхности по соотношению мощности и скорости
32 surfaceCoefficient = identifySurface(averageSpeed, currentPower);
33
34 // Корректировка мощности для достижения целевой скорости
35 currentPower = adjustPower(targetSpeed, surfaceCoefficient);
36
37 // Вывод информации на экран
38 displayData(averageSpeed, currentPower, surfaceCoefficient);
39
40 // Пауза перед следующим измерением
41 sleep(100);
42 }
43}
44
45// Функция расчета среднего значения
46float calculateAverage() {
47 float sum = 0;
48 for(int i = 0; i < sampleSize; i++) {
49 sum += samples[i];
50 }
51 return sum / sampleSize;
52}
53
54// Функция определения типа поверхности
55float identifySurface(float speed, float power) {
56 // Расчет коэффициента поверхности
57 float coefficient = speed / power;
58
59 // Фильтрация выбросов
60 if(coefficient > 1.5 || coefficient < 0.2) {
61 return surfaceCoefficient; // Возвращаем предыдущее значение
62 }
63
64 // Обновление коэффициента с небольшим весом для сглаживания
65 return surfaceCoefficient * 0.8 + coefficient * 0.2;
66}
67
68// Функция корректировки мощности
69float adjustPower(float target, float coefficient) {
70 // Расчет необходимой мощности на основе целевой скорости и коэффициента поверхности
71 float requiredPower = target / coefficient;
72
73 // Ограничение значений мощности
74 if(requiredPower > 100) requiredPower = 100;
75 if(requiredPower < 20) requiredPower = 20;
76
77 return requiredPower;
78}
Биологические аналогии адаптивного поведения:
Механизм в живой природе | Аналог в робототехнике | Примеры применения |
---|---|---|
Рефлекторная адаптация | Реактивная корректировка параметров | Обход препятствий, поддержание равновесия |
Обучение через повторение | Накопление и анализ данных о результатах | Оптимизация траектории движения |
Условные рефлексы | Коррекция алгоритмов на основе прошлого опыта | Распознавание типов поверхностей |
Нейропластичность | Изменение весовых коэффициентов в алгоритме | Адаптация к изменению условий |
Гомеостаз | Поддержание ключевых параметров в заданных пределах | Регулирование скорости, энергопотребления |
Групповая адаптация | Обмен данными между роботами | Коллективное картографирование местности |
Методы статистической обработки данных для реализации адаптивного поведения:
-
Скользящее среднее
1// Функция расчета скользящего среднего 2float movingAverage(float newValue) { 3 static float values[WINDOW_SIZE]; 4 static int index = 0; 5 static float sum = 0; 6 7 // Вычитаем старое значение и добавляем новое 8 sum = sum - values[index] + newValue; 9 values[index] = newValue; 10 index = (index + 1) % WINDOW_SIZE; 11 12 return sum / WINDOW_SIZE; 13}
-
Фильтрация выбросов
1// Функция фильтрации выбросов (медианный фильтр) 2float medianFilter(float newValue) { 3 static float values[FILTER_SIZE]; 4 static float sortedValues[FILTER_SIZE]; 5 static int index = 0; 6 7 // Добавляем новое значение в массив 8 values[index] = newValue; 9 index = (index + 1) % FILTER_SIZE; 10 11 // Копируем значения для сортировки 12 for(int i = 0; i < FILTER_SIZE; i++) { 13 sortedValues[i] = values[i]; 14 } 15 16 // Простая сортировка (для небольших массивов) 17 for(int i = 0; i < FILTER_SIZE-1; i++) { 18 for(int j = 0; j < FILTER_SIZE-i-1; j++) { 19 if(sortedValues[j] > sortedValues[j+1]) { 20 float temp = sortedValues[j]; 21 sortedValues[j] = sortedValues[j+1]; 22 sortedValues[j+1] = temp; 23 } 24 } 25 } 26 27 // Возвращаем медианное значение 28 return sortedValues[FILTER_SIZE / 2]; 29}
-
Экспоненциальное сглаживание
1// Функция экспоненциального сглаживания 2float exponentialSmoothing(float newValue) { 3 static float smoothedValue = 0; 4 static bool firstRun = true; 5 6 // Инициализация при первом запуске 7 if(firstRun) { 8 smoothedValue = newValue; 9 firstRun = false; 10 return smoothedValue; 11 } 12 13 // Экспоненциальное сглаживание 14 float alpha = 0.2; // Коэффициент сглаживания (0-1) 15 smoothedValue = alpha * newValue + (1 - alpha) * smoothedValue; 16 17 return smoothedValue; 18}
Таблица для сбора данных об адаптации:
1Таблица результатов адаптации робота к различным поверхностям
2
3Группа: _________ Тип робота: __________
4
5|--------------|-----------|-----------|-----------|--------------|--------------|
6| Поверхность | Начальная | Начальная | Конечная | Время | Успешность |
7| | мощность | скорость | мощность | адаптации | адаптации |
8|--------------|-----------|-----------|-----------|--------------|--------------|
9| Гладкая | | | | | |
10| поверхность | | | | | |
11|--------------|-----------|-----------|-----------|--------------|--------------|
12| Ковровое | | | | | |
13| покрытие | | | | | |
14|--------------|-----------|-----------|-----------|--------------|--------------|
15| Наклонная | | | | | |
16| поверхность | | | | | |
17|--------------|-----------|-----------|-----------|--------------|--------------|
18| Неровная | | | | | |
19| поверхность | | | | | |
20|--------------|-----------|-----------|-----------|--------------|--------------|
21
22Выводы о факторах, влияющих на адаптацию:
23________________________________________________________________________
24________________________________________________________________________
25
26Предложения по улучшению алгоритма:
27________________________________________________________________________
28________________________________________________________________________
Критерии оценивания практической работы:
Конструкция робота (0-3 балла):
- Функциональность конструкции (0-1)
- Правильный выбор и размещение датчиков (0-1)
- Устойчивость и надежность (0-1)
Алгоритм адаптации (0-7 баллов):
- Корректность базового алгоритма (0-2)
- Реализация механизма адаптации (0-2)
- Эффективность статистической обработки данных (0-2)
- Наличие защиты от ошибочных измерений (0-1)
Результаты адаптации (0-6 баллов):
- Успешность адаптации к различным условиям (0-2)
- Скорость адаптации (0-1)
- Стабильность работы после адаптации (0-2)
- Сбор и анализ данных (0-1)
Демонстрация и защита (0-4 балла):
- Качество демонстрации адаптивного поведения (0-1)
- Понимание принципов адаптации (0-1)
- Объяснение результатов и выводы (0-1)
- Предложения по улучшению (0-1)
Максимальный балл: 20 Шкала перевода в оценку:
- 18-20 баллов - “5”
- 14-17 баллов - “4”
- 10-13 баллов - “3”
- менее 10 баллов - “2”
Карта рефлексии “РОП”:
1Фамилия, имя: _________________________
2Группа: _______
3
4Результат:
5Чего удалось достичь в ходе практической работы?
6_________________________________________________
7_________________________________________________
8
9Особенности:
10Какие особенности адаптивного поведения вашему роботу удалось реализовать?
11_________________________________________________
12_________________________________________________
13
14Применение:
15Где еще можно применить разработанный вами алгоритм адаптации?
16_________________________________________________
17_________________________________________________
18
19Чему новому вы научились на этом уроке? _______________________
20_________________________________________________
21
22Оцените свой вклад в работу группы (от 1 до 5): _______________