В настоящее время образовательная робототехника всё шире внедряется в систему основного и дополнительного школьного образования. Актуальность этого направления остаётся достаточно высокой.
Одной из причин является необходимость освоения основ конструкторской и проектно-исследовательской деятельности в соответствии с требованиями современных ФГОС. Кроме того, развитие инновационных технологий, компьютеризации производств требует подготовки технически грамотных кадров, что нужно начинать ещё со школы. И наконец, это способствует развитию личности ребёнка, его творческих способностей в части работы с техникой и программирования.
Робототехника является одним из направлений, которое способно объединить в себе многие школьные предметы, в первую очередь естественно-математического цикла – математику, физику, информатику, биологию, химию и другие, реализовать и укрепить межпредметные связи в соответствии с современными ФГОС; сформировать у обучающихся интерес к инженерно-техническим специальностям и развить познавательную активность [1].
Нередко у учащихся начальной школы, подростков 5–7-х классов ещё до начала систематического изучения основ программирования существует интерес к конструированию, техническому творчеству [2]. Занятия робототехникой позволяют поддержать и развить этот интерес, организовать работу по пропедевтике информатики и основ программирования.
На этом этапе наиболее подходящими являются блочные визуально-ориентированные среды программирования, в которых не требуется знания синтаксиса команд, а программа может быть составлена из блоков, подобно кирпичикам Лего. К числу таких сред можно отнести очень известную программу Scratch, игры Blockly, PencilСode. Визуальные игровые среды программирования используются в рамках всемирной ежегодной акции «Час Кода» на сайтах Code.org и CodeRussia.ru, направленной на повышение интереса к программированию.
Проведение занятий по робототехнике обеспечивает максимальную наглядность и иллюстрирует практическую значимость изучения программирования – созданная программа сразу выполняется роботизированным устройством. Это даёт возможность учащемуся сразу увидеть результаты исполнения, отладить и исправить программу, освоить основные алгоритмические конструкции.
Важным вопросом при организации занятий является вопрос о выборе технического обеспечения – конструктора роботизированных устройств.
На сегодняшний день существует большое количество робототехнических платформ, позволяющих организовать обучение основам робототехники в школе. Они отличаются ценой, дружественностью оборудования, простотой интерфейса программного обеспечения, широтой методической поддержки и наличием учебно-методических материалов.
К числу наиболее известных и распространённых можно отнести конструкторы LEGO, Fishertechnik, TRIK, Arduino, менее известны Scratchduino, HUNA-MRT, RoboRobo и некоторые другие. Рассмотрим их состав.
Образовательные конструкторы Lego имеют несколько разновидностей: LEGO WeDo для начальной школы и LEGO Mindstorms (NXT, EV3) для учащихся среднего и старшего звена. В комплект входят программируемый контроллер, детали для сборки, моторы и набор датчиков. С помощью такого комплекта можно собирать и программировать разнообразные конструкции. Для программирования используется собственное программное обеспечение – визуальная графическая среда блочного характера.
Несомненным плюсом комплекта является использование деталей LEGO, привычных для подростков. Подавляющее большинство современных детей выросло на подобных конструкторах, поэтому переход к сборке и программированию роботов Lego происходит весьма органично. Во многих странах широко распространено обучение в школах и колледжах с использованием наборов LEGO Mindstorms, именно таких роботов можно встретить на многих робототехнических соревнованиях.
К достоинствам наборов LEGO можно отнести также наличие учебно-методических разработок, опыта использования у многих учителей, методической поддержки [3].
Существенным минусом комплектов LEGO является высокая стоимость набора и дополнительных комплектующих, которая может стать препятствием для приобретения конструкторов образовательным учреждением.
Российский кибернетический конструктор ТРИК рассчитан на учащихся средних и старших классов и также имеет ряд разновидностей, различающихся количеством датчиков и деталей. Каждый конструкторский набор содержит контроллер ТРИК, видеокамеру и микрофон, а также датчики освещённости, расстояния, касания, двигатели и т. д. Методическая поддержка ТРИК уступает LEGO Mindstorms, кроме того, цены на конструкторы ТРИК также сопоставимы с ценами на LEGO. Среда программирования TRIK Studio также носит графический характер.
Прочие конструкторы – Fishertechnik, HUNA-MRT, RoboRobo – имеют подобные возможности. В комплект тоже, как правило, входит программируемый контроллер и набор комплектующих – датчиков, двигателей. Каждая из робототехнических платформ имеет собственную визуальную среду программирования, что затрудняет переход между ними и переход к работе с серьезными языками программирования в старших классах или при углубленном изучении информатики.
Достаточно популярной платформой для создания робототехнических конструкторов является Arduino. Микроконтроллер Arduino имеет широкие возможности для подключения разнообразных датчиков, светодиодов, сервомоторов, двигателей, и очень удобен для создания моделей и прототипов разнообразных устройств. Платформа Arduino поддерживается большим количеством сторонних производителей, поэтому найти комплектующие для сборки роботов несложно.
Комплекты для работы с платой (например, от наиболее известного производителя в России – компании «Амперка») разнообразны по объёму и включают сам контроллер Arduino и наборы комплектующих, что позволяет создавать десятки программируемых моделей. Достоинствами таких комплектов (Матрешка X, Y, Z) являются доступная цена, наличие методических материалов и уроков на сайте Амперки [4].
Однако использование робототехнических комплектов на основе Arduino для изучения робототехники в среднем звене школы нам представляется весьма затруднительным по причине несоответствия программного обеспечения и необходимых знаний для конструирования уровню подготовки учащихся 5–7-х классов.
Среда программирования Arduino IDE является аналогом языка С++, распространяется бесплатно, однако имеет англоязычный интерфейс и справку и предполагает текстовое программирование, знание синтаксиса команд, что для младших подростков представляет значительную сложность. Кроме этого для сборки робототехнических устройств требуются знания по физике, началам электротехники, которыми учащиеся ещё не обладают.
Таким образом, платформы LEGO, Fishertechnik, TRIK, HUNA-MRT, RoboRobo и некоторые другие хорошо подходят для начального знакомства с робототехникой, имеют визуальную среду программирования, однако имеют разрыв со «взрослым», текстовым программированием и весьма недешевы. Платформа Arduino имеет широкие возможности, доступную цену, расширяемость, но больше подходит для программирования в старшем звене и при углубленном изучении информатики.
На этом фоне заслуживает рассмотрения отечественная робототехническая платформа Scratchduino.
Проект Scratchduino имеет два вида устройств: Робоплатформа и Лаборатория. В комплект Робоплатформы входит управляющий блок-контроллер, колесная платформа и набор датчиков. В качестве «мозга» используется микроконтроллер Arduino со специальной прошивкой. Лаборатория также использует плату Arduino и предназначена для изучения работы разнообразных датчиков, исследовательской и лабораторной деятельности.
Для программирования предлагается приложение ScratchDuino – доработанная версия очень известной визуально-ориентированной среды Scratch. Программа Scratch широко используется во всем мире для обучения младших школьников основам программирования. Программа в этой среде собирается из готовых блоков, что облегчает подросткам освоение основных алгоритмических конструкций без необходимости знания синтаксиса команд. Scratch позволяет создавать мини-мультфильмы, интерактивные игры, используя сказочных персонажей, звуковые эффекты, красочные фоны. Это способствует повышению наглядности, формированию устойчивого интереса к программированию у подростков [5].
Приложение Scratchduino кроме стандартных содержит блоки-команды для управления движением робота, что позволяет сразу наглядно продемонстрировать учащимся результат выполнения программы. Подростки могут на практике применить знания об алгоритмах на примере движения робота по заданной траектории (прямолинейной, криволинейной, замкнутой), на заданное расстояние и угол и т. п.
В комплект входят датчики освещенности, касания, цвета, что позволяет дать учащимся представление о получении и обработке данных, калибровке датчиков, об управлении с обратной связью. Плюсом данного устройства является удобное крепление датчиков с помощью магнитов.
Рис. 1. Интерфейс и окно программы Scratchduino
Программное обеспечение Scratchduino основано на принципах открытого лицензирования и свободного программного обеспечения. Все схемы, по которым выполнены Робоплатформа и Лаборатория, находятся в открытом доступе, а это означает широкие возможности для развития технического творчества. Робота Scratchduino можно доработать, детали можно напечатать на 3D-принтере, использовать в доработанном виде, спроектировать собственные устройства с применением имеющихся деталей. Этим платформа Scratchduino выгодно отличается от других конструкторов, имеющих, как правило, закрытый код.
На Wiki проекта Scratchduino размещены справочные и учебно-методические материалы по работе с Робоплатформой и Лабораторией, выпущено пособие по использованию конструктора в обучении робототехнике [6].
Поскольку робот Scratchduino использует в качестве управляющего блока микроконтроллер Arduino, то это открывает возможности для перехода к «взрослому» программированию в старших классах с использованием имеющихся устройств. Доступ к схемам сборки конструктора предоставляет возможность управления Робоплатформой непосредственно из среды программирования Arduino IDE.
Поскольку, как уже отмечалось, текстовое программирование на языке С++ представляет трудность для учащихся 5–7-х классов, то для написания программ в ArduinoIDE можно использовать специальный плагин Ardublock. Он является свободно распространяемым программным обеспечением.
Этот плагин позволяет использовать визуальный язык программирования, весьма напоминающий Scratch и довольно простой в освоении. В дальнейшем плагин Ardublock на основе визуальной программы самостоятельно генерирует программный код, передаёт его в среду Arduino IDE, где затем программу можно корректировать и загрузить для выполнения на плату Arduino. C помощью Ardublock и Arduino IDE у учащихся появляется возможность непосредственного управления двигателями и датчиками Робоплатформы, минуя визуальную среду Scratchduino.
Рис. 2. Пример программы, созданной в Ardublock
С одной стороны, подобное визуальное ориентирование легко осваивается после Scratch и управления роботом Scratchduino. С другой – учащимся заметно легче разобраться в готовом программном коде в Arduino IDE, сгенерированном из Ardublock, понять структуру программы и порядок её работы, внести в неё исправления. Это помогает привыкнуть к профессиональному коду и органично перейти в дальнейшем к программированию на более высоком уровне [7].
В старших классах и на углубленном уровне изучения информатики учащиеся могут заниматься робототехникой на базе плат Arduino из комплекта Scratchduino, полностью перейдя на текстовое программирование в среде Arduino IDE. Широкий выбор датчиков и комплектующих позволит проектировать разнообразные устройства и модели, развивать навыки технического творчества, интегрировать знания из области информатики, математики, физики и других дисциплин.
В 2016 учебном году в физико-математической школе на базе Смоленского государственного университета были созданы пилотные группы по образовательной робототехнике для учащихся 5, 9–11-х классов.
Учащиеся 5-х классов освоили основы работы в среде Scratch и управления робоплатформой Scratchduino, научились управлять её движением, снимать показания датчиков.
Учащиеся 9–11-х классов также познакомились с Робоплатформой и средой Scratch, ими были освоены типовые алгоритмы объезда препятствий, езды по криволинейной траектории, езды по линии, прохождения лабиринта. Однако основное внимание было уделено техническому конструированию цифровых устройств на базе платы Arduino, программированию для них в среде Arduino IDE с использованием плагина Ardublock.
Подобную последовательность перехода от программирования готового робота к конструированию прототипов устройств на занятиях робототехникой предлагают Ю. Винницкий и К. Поляков [8]:
- Знакомство с визуально-ориентированной средой программирования Scratch, освоение интерфейса, основных алгоритмических конструкций (4–5-е классы).
- Программирование Робоплатформы Scratchduino в среде Scratch, движение, работа с датчиками, проектная деятельность (5–6-е классы).
- Знакомство со средой Arduino IDE, управление Робоплатформой из Arduino+Ardublock (7–8-е классы).
- Программирование микроконтроллера Arduino с использованием плагина Ardublock, сборка электрических схем и макетов устройств с использованием дополнительных комплектующих (8–9-е классы).
- Самостоятельное проектирование и конструирование цифровых моделей на основе Arduino с программированием на языке С++ в среде Arduino IDE (9-11-е классы).
Распределение по классам в данном случае довольно условно и зависит от начала изучения информатики и программирования, уровня школьников, обеспеченности оборудованием. Такой способ представляется нам вполне обоснованным.
Описанным способом можно организовать плавный переход от «детского» визуально-блокового программирования к «взрослому» текстовому, от использования готового устройства (Робоплатформы) через понимание принципов его работы к созданию собственных устройств (на основе Arduino). Дополнительным направлением развития технического творчества может стать 3D-моделирование и прототипирование устройств с использованием современных 3D-принтеров.
Следует отметить, что для реализации полного плана работы необходима разработка образовательной программы по робототехнике, учебно-методического обеспечения для разных возрастных этапов.