Роботы в школе

Введение

В фантастических рассказах прошлого века школьники XXI века применяют робототехнику на каждом шагу. Они даже запускают на уроках роботов — а каждый необитаемый космический аппарат и есть робот — в космос, что на первый взгляд до сих пор кажется фантастичным. Как ни странно, возможности современной робототехники позволяют школам не только изготавливать космические аппараты, но и использовать роботов на уроках труда, информатики, а также просто в повседневной жизни.

Школьник со спутником Cubesat.

Школьник со спутником Cubesat.

Но прежде чем начать покупать роботов и выводить их на орбиту, давайте разберёмся, для чего именно могут понадобиться роботы в школе, и какие именно виды роботов могут пригодиться в первую очередь.

Так как специального предмета «конструирование» или «робототехника» в школьной программе пока нет, основные предметы, где применение робототехники сейчас просматривается лучше всего, это информатика и трудовое обучение. Действительно, именно на их стыке робототехника и появилась как самостоятельная дисциплина: каждый робот состоит из двух частей — аппаратной, которую нужно смастерить; и программной, которую нужно написать на каком-то языке программирования.

При этом применение робототехники и в информатике и в трудовом обучении предполагает две составляющие. С одной стороны — навыки, полученные на уроках труда и информатики помогут в конструировании роботов. А с другой стороны — специальные обучающие роботы могут помочь в освоении обеих дисциплин.

Благодаря рекламе сейчас у школьников слово «робот» часто ассоциируется с роботизированными пылесосами, а также с изделиями Sony и Lego. Применению этих роботов в школе посвящено множество статей, поэтому на них мы останавливаться не будем. Сосредоточимся на открытых проектах, авторы которых не ставят среди прочих задач задачи привязки к поставщику, не вполне сочетающиеся с принципами образования в нашей стране.

Начнём с уроков труда.

Станки с ЧПУ

Тридцать лет назад в школьных кабинетах труда стояли станки. Это были сверлильные, фрезерные и токарные станки для обработки изделий из дерева и металла. Вся обработка производилась вручную — мастер-станочник с помощью различных механизмов управлял движением обрабатываемой детали и инструментов, с помощью которых производилась обработка.

Качество детали определялось мастерством станочника — тем, насколько точно мастер мог управлять станком. Это были простые и надёжные механические станки с электрическим приводом, никакой электроники в них не было.

Токарные и фрезерные станки в школьном кабинете труда.

Токарные и фрезерные станки в школьном кабинете труда.

Идея управлять станком с помощью программируемой электроники появилась давно, и станки с ЧПУ — числовым программным управлением — существовали уже в то далёкое время. Они были большими, сложными и очень дорогими. Потому что большими, сложными и дорогими были основные компоненты, необходимые для разработки и сборки такого станка: электронные модули, управляющие работой механизмов, и компьютеры, с помощью которых можно было бы программировать станки.

Сейчас и то и другое доступно настолько, что позволить себе разработку собственного робота можно даже в рамках обычного семейного бюджета. Поэтому бытовые станки с ЧПУ сейчас разрабатываются и продаются повсеместно. И самые распространённые из них — это, конечно, трёхмерные принтеры.

Настольный трёхмерный принтер — пример станка с ЧПУ.

Настольный трёхмерный принтер — пример станка с ЧПУ.

Среди множества доступных сейчас 3D-принтеров сто́ит отметить принтеры на базе разработок проекта RepRap. Все материалы, распространяемые в рамках этого проекта, являются открытыми. Таким образом, любой желающий может своими силами, прочитав документацию, построить такой принтер из доступных деталей.

Из современных 3D-принтеров наиболее популярны устройства, печатающие послойно тонкой пластиковой нитью. Как видно на фотографии, они состоят из стола, на котором формируется деталь, и перемещающегося над ним печатающего блока, производящего пластиковую нить заданной толщины.

Конструкция оказалась достаточно универсальной: печатающий пластиком блок можно заменить, например, на бытовой гравер. Или на выжигатель. И получить новый станок с ЧПУ, затратив относительно небольшие ресурсы на изменение конструкции.

Makesmith — фрезерный станок с ЧПУ на базе контроллера Arduino и бытового гравера.

Makesmith — фрезерный станок с ЧПУ на базе контроллера Arduino и бытового гравера.

Итак, будем считать, что станок у нас есть. Что же мы будем на нём печатать?

Моделирование

Как это — «что будем печатать»?? Конечно, готовые модели с сайта Thingiverse! Модные чехлы для телефонов, принадлежности для видеокамер, симпатичные игрушки и так далее.

Модель планетарной передачи с сайта Thingiverse, распечатанная на 3D-принтере.

Модель планетарной передачи с сайта Thingiverse, распечатанная на 3D-принтере.

А когда надоест печатать готовые модели, или захочется какую-нибудь модель переделать по-своему, или захочется сделать свою? Придётся учиться моделировать.

Для моделирования деталей машин и механизмов сейчас применяется два подхода. Первый — визуальный, когда в специальной компьютерной программе с помощью инструментов графического интерфейса пользователя можно из примитивных форм получить нужную деталь. К примитивным в данном случае относятся такие формы как сфера, цилиндр и параллелепипед, а сложная деталь получается путём их взаимных преобразований.

Визуальное моделирование детали в программе FreeCAD

Визуальное моделирование детали в программе FreeCAD

Второй подход — «описательный», когда с помощью специального языка, похожего на язык программирования или разметки, можно описать сложную деталь. Опять же, на основе определённого набора таких же примитивных форм.

«Описательное» моделирование в программе OpenSCAD

«Описательное» моделирование в программе OpenSCAD

Для моделирования сложных объектов «неправильной» формы, типа изображений живых существ, также существуют специальные программы с визуальными инструментами, напоминающими инструменты скульптора.

Моделирование фигурки дракона в программе Blender

Моделирование фигурки дракона в программе Blender

Кстати, модели не обязательно печатать на трёхмерном принтере, можно и на обычном, бумажном. Некоторые программы для трехмерного моделирования позволяют распечатывать заготовки для изготовления моделей из склеенных бумажных деталей.

Бумажная модель шлема Железного Человека.

Бумажная модель шлема Железного Человека.

Правда, это гораздо более трудоёмкий процесс, чем печать на трёхмерном принтере. Зато можно получить более крупные модели, не ограниченные рабочей зоной станка с ЧПУ.

BEAM

От утилитарных роботов, которые могут помочь на уроках труда научиться самостоятельно проектировать и изготавливать объекты материального мира, перейдём к учебным роботам. Они помогут нам осваивать оба аспекта робототехники — аппаратную часть, состоящую из механических и электронных компонентов, и программную часть, для освоения которой понадобятся навыки программирования.

Роботы, которые сейчас известны под собирательным названием BEAM, используются для обучения основам робототехники, наверное, с тех самых пор, когда появилось понятие «робот».

Англоязычная аббревиатура BEAM означает «Biology, Electronics, Aesthetics, Mechanics», то есть, в переводе на русский — биология, электроника, эстетика, механика. Или ещё точнее — зооморфные электронные механизмы. Зооморфные, потому что из всех биологических организмов на роль прототипов для движущихся роботов больше всего подходят именно животные. А слово «эстетика» можно и пропустить, ведь сложно представить себе что-то более эстетичное, чем созданный природой организм.

Робот-усач — простейший робот, сделанный без использования электронных компонентов.

Робот-усач — простейший робот, сделанный без использования электронных компонентов.

Принципы, которые используются при разработке роботов BEAM, хорошо соответствуют задачам и возможностям школьных робототехнических секций:

Именно поэтому существует ряд методических разработок, вполне подходящих для внедрения в школах. Например, питерский сайт Servo-droid предлагает множество готовых моделей роботов, снабжённых подробными инструкциями и методическими рекомендациями. Питерское же сообщество, посвящённое самоделкам, проводит в помещении детского клуба на Петроградской стороне регулярные встречи, на которых можно поучаствовать в разработке и изготовлении в том числе и роботов BEAM.

Отдельно хотелось бы отметить англоязычный сайт Shellmo, посвящённый полностью открытой разработке робота, одно из изображений которого приведено ниже. Это также зооморфный робот, но уже более сложный. Если робот-усач построен совсем без применения полупроводниковых приборов — по сути, это не электронный, а электрический робот — то Shellmo робот уже не просто электронный, а электронный программируемый.

Робот «Shellmo», меховой вариант.

Робот «Shellmo», меховой вариант.

Электронная часть Shellmo построена на базе платы Arduino, которая является основой огромного количества самодельных программируемых электронных приборов — от светящейся одежды до компонентов «умного дома».

Arduino

Принципиально Arduino напоминает обычный компьютер, только очень простой и маленький. Это машина, которая реагирует на сигналы, поступающие через различные периферийные устройства, в соответствии с заложенной в неё программой. Реакция обычно бывает в виде подачи сигналов на моторы, светодиоды, экраны и на другие вычислительные устройства.

Детали робота, построенного на платформе Arduino.

Детали робота, построенного на платформе Arduino.

Устройства, через которые данные поступают в Arduino, тоже могут быть разными — это датчики давления, температуры, освещённости, различные устройства ввода информации.

Например, в трёхмерном принтере, построенном на базе Arduino, данные принимаются с компьютера в виде команд управления печатью, переданных на специальном языке. Также, принимаются показатели датчиков температуры: с панели, на которой формируется деталь, и из нагревательного элемента, который плавит пластиковую нить. Ещё принимаются сигналы от датчиков давления — маленьких кнопок, на которые нажимают движущиеся части принтера, чтобы не выйти за пределы рабочей зоны.

На выходе, соответственно, формируются сигналы управления моторами, перемещающими печатающий блок относительно создаваемой детали, и сигналы управления выключателями нагревательных элементов.

Существует множество вариантов плат Arduino, от самых сложных, позволяющих управлять станками или беспилотными самолётами и вертолётами, до самых простых, включающих светодиоды в определённом порядке или передающих данные с термометров на настольный компьютер.

Разные варианты плат, совместимых с Arduino.

Разные варианты плат, совместимых с Arduino.

На рисунке справа показана плата Arduino MEGA, которая используется для управления 3D-принтерами, а слева вверху — специальная круглая плата Arduino Lilypad с отверстиями по краю, которую удобно нашивать на ткань.

Указатели поворота на одежде велосипедистов, управляемые контроллером Arduino

Указатели поворота на одежде велосипедистов, управляемые контроллером Arduino

Благодаря удачной конструкции, Arduino сейчас один из самых удобных инструментов в любительском, и не только, роботостроении. Но главное его преимущество — это, конечно, открытая архитектура, позволяющая любому при известном желании не только использовать её, но и изменять в соответствии со своими задачами.

КуМир и УМКИ

От прикладных задач Arduino давайте вернёмся к учебным задачам освоения навыков программирования. Здесь роботы тоже могут помочь.

В восьмидесятых годах прошлого века в нашей стране была разработана система для обучения основным навыкам программирования в средней и высшей школе. Систему назвали КуМир — Комплект Учебных Миров.

Основное отличие КуМира от других методик обучения состоит в том, что программист пишет программу, управляющую действиями исполнителя — виртуального робота, действующего в виртуальном мире. Получается не абстрактная программа, а конкретная последовательность простых и понятных действий.

Роботы КуМира могут перемещаться в виртуальном мире, рисовать, чертить, и выполнять некоторые другие действия.

Система КуМир. Текст программы на языке КуМир и окно исполнителя.

Система КуМир. Текст программы на языке КуМир и окно исполнителя.

Позже для начальной школы и дошкольников был разработан ПиктоМир — система обучения основам программирования при помощи визуальных средств.

Идея программировать при помощи небуквенных символов не нова, но ПиктоМир отличается от других реализаций тем, что программист не просто управляет роботом, а пишет при этом программу на КуМире! То есть, перейти от ПиктоМира к КуМиру в нужное время не составит труда.

Пиктомир. Слева исполнитель выполняет задания, справа ученик пишет программу.

Пиктомир. Слева исполнитель выполняет задания, справа ученик пишет программу.

После того, как идея обучения программированию через управление исполнителем была реализована в КуМире, осталось сделать только одно — перенести исполнителя из виртуального мира в реальный. И это было сделано авторами проекта УМКИ.

Школьники программируют роботов УМКИ на робототехнической выставке.

Школьники программируют роботов УМКИ на робототехнической выставке.

Теперь на КуМире можно программировать не только виртуальных роботов, но и совершенно реальных — радиоуправляемые машинки и вертолёты. При этом управление осуществляется с обычного компьютера, к которому подключается радиомодуль, размерами и формой напоминающий обычный flash-накопитель.

Робот-исполнитель, станция управления и комплект учебных материалов УМКИ.

Робот-исполнитель, станция управления и комплект учебных материалов УМКИ.

Но авторы проекта пошли дальше — они не просто сделали робота и написали программу, они ещё и разработали программы учебных курсов по основам программирования для средней школы. Все материалы курсов готовы к внедрению и распространяются свободно.

Программные роботы

Поговорим теперь ещё об одном виде роботов, которые очень похожи на виртуальных исполнителей КуМира, но отличаются от них тем, что не живут в виртуальном мире, а, скорее, формируют его. Это программные агенты — компьютерные программы, выполняющиеся самостоятельно, без участия оператора. Конечно, ими тоже можно управлять, но, как и другие виды роботов, они обладают определённой степенью автономности.

Агенты управляют движением данных в компьютерных сетях, следят за состоянием сетей, их служб и отдельных компьютерных систем, выполняют другие задачи. Один из таких агентов, например передал на ваш компьютер страницу, которую вы сейчас читаете.

Традиционно в большинстве операционных систем программные агенты выполняются в фоновом режиме, не взаимодействуя с оператором. Поэтому картинку с изображением агента придумать довольно сложно. Но, так как в нашем обзоре должно быть много картинок, придётся как-то выходить из ситуации.

Процессы, выполняющиеся в фоновом режиме без участия оператора, в UNIX-подобных операционных системах называются демонами. Существует традиционное изображение демона UNIX. Вот оно.

Одна из эмблем открытой операционной системы OpenBSD.

Одна из эмблем открытой операционной системы OpenBSD.

Без программных агентов сейчас невозможно представить себе ни одно более-менее сложное электронное устройство, работающее под управлением компьютера. Поэтому понимание того, как устроены и как работают программные агенты — важный навык для тех, кто планирует научиться конструировать, в том числе и роботов.

Заключение

Итак, зачем же нужны роботы в школе? Во-первых, за тем же, зачем и во всех остальных местах — для автоматизации решения рутинных задач. Это станки с ЧПУ в кабинете труда, радиоуправляемые вертолёты с камерами на борту для видео- и фотокорреспондентов школьного сайта и газеты, веб-сервер школьного сайта и библиотеки, и так далее. И, так как речь идёт о школе — месте, где люди учатся, нужно обязательно попробовать всех этих роботов хотя бы частично сделать самим.

Поэтому, во-вторых, роботы в школе нужны для обучения самих школьников программированию, конструированию и управлению роботами. В изучении робототехники помогут открытые технологические платформы Arduino, RepRap, MeArm и другие. В изучении программирования — КуМир, ПиктоМир, УМКИ и открытые UNIX-подобные операционные системы, на основе которых можно строить готовые и разрабатывать собственные программно-технические решения, в том числе автоматизированные.

Ещё, обязательно нужно отметить, что робототехника всё ещё остаётся достаточно сложной отраслью знаний, чтобы плодотворно изучать её самостоятельно. Гораздо полезнее объединяться и работать в коллективе единомышленников. Благодаря возможности распределять задачи, такой подход позволяет добиться хороших результатов в более короткие сроки — пока интерес к робототехнике не угас от чтения документации, например.

К тому же, с 2015 года при поступлении в ВУЗ учитывается «портфолио» ученика, куда заносятся данные о его достижениях. В том числе, об участии в различных выставках, конкурсах и тому подобных мероприятиях. Коллективное участие тоже идёт в зачёт. И, так как коллектив может успеть больше, у его участников есть возможность увеличить свои шансы продолжить обучение в понравившемся ВУЗе.