Методическая разработка занятия по робототехнике
«Движение по траектории с двумя датчиками освещенности (цвета)»
Кустов Илья Викторович,
Педагог дополнительного образования
МБОУ ДО Дома детского творчества
Краткое описание: конспект занятия робототехники. Занятие посвящено построению конструкции робота и написанию программы «Движение по траектории с двумя датчиками освещенности (цвета)» для него. Конспект рассчитан на учащихся начального уровня независимо от класса.
Тип занятия: занятие изучения и первичного закрепления новых знаний.
Форма занятия: комбинированное занятие.
Цели:
Предметная: познакомиться с основными принципами работы датчиков освещенности (цвета) Lego Mindsorms EV3, изучить работу отдельных блоков (движение, цикл, математический) в программе, научиться строить алгоритмы для использования датчиков освещенности (цвета).
Методологическая: воспитание информационной культуры учащихся, развитие умения выделять главное в задании, развитие внимательности, памяти, развитие навыков коллективной работы.
Метапредметная: формирование представлений о возможностях конструктора LEGO Mindstorms EV3 в разнообразных сферах деятельности.
Методы обучения: объяснительно-иллюстративный, наглядный, частично-поисковый, исследовательский.
Оборудование: компьютер, проектор, наборы Lego Mindstorms EV3, ноутбуки с выходом в сеть Интернет, среда программирования, поля для заездов, доска с маркерами.
Используемые ЦОР: конспект урока, презентация, раздаточные материалы (инструкция по сборке).
План занятия:
Организационный момент. (1 мин).
Актуализация знаний (7 мин).
Конструирование (7 мин).
Теоретическая часть (7 мин).
Практическая часть (15 мин).
Подведение итогов урока. Рефлексия (3 мин).
Ход занятия:
Организационный момент.
Учитель: Здравствуйте, ребята! Очень хорошо, что сегодня вы пришли в полном составе и. Ведь сегодня мы с вами познакомимся с очень интересным робототехническим конструктором Lego Mindstorms EV3.
Робототехника является мультидисциплинарной наукой, а это значит, что специалист в этой области знаний должен владеть компьютерными и интеллектуальными технологиями. В современном производстве и промышленности очень востребованы специалисты, имеющие знания и навыки создания программного обеспечения для роботов.
Актуализация знаний.
Ребята, а все-таки что же такое робот? (машина, автомат, управляемое устройство….).
Молодцы, вы ответили правильно. Однако, слово «робот», в прямом понимании, означает механический человек.
Как вы думаете, для чего используются роботы? (упростить жизнь человека, выполнять сложную (монотонную, опасную) работу….).
Правильно, хотя современные роботы имеют разнообразный вид, они сохраняют, при этом, свое главное предназначение: заменить труд человека.
А почему, в некоторых случаях, лучше использовать роботов, а не труд людей? (чтобы избежать травм и смертей на опасных производствах и в военной сфере, это выгодно (роботам не нужно платить зарплату), роботы не ошибаются, они быстрее…).
Ребята, а как вы думаете, что нужно для того, чтобы управлять роботом?
Используем «Мозговой штурм». Учитываются любые мысли и идеи – от банальных до невероятных. Предлагаю вам выйти к доске и записать их.
(робот, компьютер, программа, алгоритм, среда программирования, умение программировать, специалисты, ум….)
Глядя на доску, ответьте, чем мы будем сегодня заниматься? (программировать робота, учиться управлять, создавать робота…).
Человечество становится все более мобильным, поэтому роль транспортной отрасли возрастает – мы чаще перемещаемся на малые и большие расстояния и предъявляем все больше требований к скорости, безопасности, комфорту и экономичности этих передвижений.
Кто догадается, к чему я веду? (во всем мире создается автоматизированный транспорт, умный транспорт, беспилотный транспорт). Правильно, мы будем создавать беспилотного робота.
А чем должен быть оснащен беспилотник, для своей работы? Для ответа на этот вопрос, воспользуйтесь, пожалуйста Интернетом.
(«Беспилотный транспорт - механические средства для перевозки пассажиров или грузов, передвигающееся без экипажа на борту при помощи специальной системы автономного управления. Такой транспорт может передвигаться по специально выделенным полосам по заранее устанавливаемым маршрутам или участвовать в общем движении, поскольку он оснащен комплексом датчиков, камер, радаров и принимающим решения бортовым компьютером»).
Движение робота по линии - самый популярный эксперимент начинающего робототехника.
Главная цель разработчика робота является создание такого механизма, который был бы автономным и мог выполнять поставленные задачи без человека. То есть система должна анализировать ситуацию и самостоятельно принимать решения.
Для того, что бы наш робот мог двигаться по полю с черной линией нам необходимы 2 датчика, которые смогли бы различать белое и черное поля. Эти датчики называются датчиками цвета и освещенности.
В режиме «яркость отраженного света» эти датчики определяют яркость отраженного света. Используется шкала от 0 (очень темный) до 100 (очень светлый). В их задачу входит определять наличие белого или черного поля и сообщать об этом контроллеру.
Конструирование
Прежде чем говорить о программировании, мы должны собрать простейших роботов-беспилотников. В этом нам поможет инструкция (Приложение 1). Действуя по аналогии с инструкцией, крепим 2 датчика освещенности!
На данном этапе урока учитель раздает обучающимся инструкции по сборке робота-пятиминутки и помогает, в случае необходимости, отдельным группам в ходе сборки модели.
Теоретическая часть
При программировании модели робота следует учесть следующие моменты:
Если оба датчика над белой поверхностью, то это нормальная ситуация, в которой линия находится между датчиками, поэтому робот должен ехать прямо.
Если левый датчик еще над светлой поверхностью, а правый датчик уже над темной, значит, робот заехал своей правой частью на линию и ему нужно поворачивать направо, чтобы линия опять оказалась между датчиками.
Если левый датчик оказался над темной поверхностью, а правый еще над светлой, то для выравнивания роботу нужно поворачивать налево.
Если оба датчика над темной поверхностью, то в общем случае, робот опять продолжает двигаться прямо.
Рассмотрим программу для движения робота по траектории с двумя датчиками освещенности (цвета).
Данная конструкция определяет, как включить моторы в зависимости от показаний датчиков в определенном месте поля, соответственно через мгновение программа должна проверить, не изменились ли показания, чтобы соответствующим образом подправить поведение моторов, а через мгновение еще раз, еще и т.д. Поэтому она должна быть помещена в цикл, который будет обеспечивать такую повторяющуюся проверку.
Программа состоит из нескольких блоков, функционал которых различается по цвету. Например, внешний блок, оранжевого цвета, называется цикл, он отвечает за многократное повторение действий находящихся внутри его структуры.
Два первых блока внутри цикла, желтого цвета, отвечают за работу датчиков цвета. Они настраиваются в зависимости от необходимых нам действий. Можно настроить, чтобы датчики определяли цвет, а можно чтобы определяли яркость отраженного света, ведь каждый цвет с разной интенсивностью отражает луч света, попавший на его поверхность. Именно эта функция датчика будет нужна нам для обнаружения и движения по черной линии. От черного цвета совсем ничего не отражается, а белый отражает свет полностью, как зеркало. Но идеальные условия, к сожалению, недостижимы, поэтому достичь таких показаний практически невозможно. Тем более, что на датчики влияют внешние факторы, такие как освещение в помещении, тени, отбрасываемые людьми, блики от разных предметов. В таких условиях показания отраженности от черного света будут в пределах от 5 до 15, а белого от 65 до 85.
Далее в программе идет блок красного цвета. Блок Математика. Он автоматизирует вычисления данных, поступающих из внешних источников. Делит, умножает, складывает и вычитает. Так в нашей программе, посредством соединительных шин, блок «Математика» получает данные от датчиков цвета и освещенности и находит их разность. Чуть дальше я объясню для чего он это делает.
Полученный результат в блоке «Математика» выводится на следующий блок. Его название «Рулевое управление моторами». Данный блок контролирует направление и мощность работы двух моторов одновременно. Так, посредством заданных или полученных данных, блок задает направление движения, вперёд (при работе двух датчиков при одинаковой мощности), назад, поворот или разворот в нужную сторону (в этом случае мощность на один мотор остаётся прежней, а на другой подаётся с отрицательным значением, то есть мотор вращается в обратную сторону). Но, как уже было сказано ранее, на рулевое управление подаются данные из предыдущего математического блока и подаются они именно на графу направления движения.
А теперь открою секрет, зачем всё это делается, и как это работает.
В случае использования двух датчиков цвета, в качестве регулируемой величины выступает разница между показаниями датчиков, её называют рассогласованием. Наша цель – свести рассогласование к нулю, то есть добиться того, что бы оба датчика показывали одинаковые значения. Такое бывает только тогда, когда датчики находятся по обе стороны и на одинаковом расстоянии от линии. Чем больше робот будет наезжать одним датчиком на линию, тем, соответственно, второй датчик будет дальше отъезжать от неё. Рассогласование будет становиться больше, следовательно, управляющее воздействие, подаваемое на вход параметра «Рулевое управление» и пропорциональное разнице значений, будет становиться выше, и робот быстрее будет позиционироваться обратно на линию. Если кривизна линии невелика, то небольшие своевременные управляющие воздействия позволяют роботу ехать плавно и достаточно быстро.
Практическая часть
Сейчас возьмите ноутбуки и попробуйте сами написать программу для движения робота по черной линии.
Вы можете загрузить ее в робота и проверить на поле. Напоминаю, что черная линия должна располагаться на старте между датчиками. По всем вопросам обращаемся к учителю.
Подведение итогов урока. Рефлексия.
Итак, ребята, давайте подведем итоги нашей работы.
Какие виды алгоритмов мы с вами сегодня использовали при составлении программ?
Какие блоки программы необходимы для движения по черной линии?
Что в работе вызвало у вас затруднения?
Где в дальнейшем могут быть использованы знания, полученные вами сегодня на занятии?
Спасибо вам за продуктивную работу! До свидания.