Роботы, лабиринты и архитектура поглощения. Программируемый робот для детей: обзор, отзывы

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

Сейчас на отечественном рынке представлен огромный выбор комплектов, которые рассчитаны на детей самых разных возрастов, с разным уровнем подготовки и знаний.

Особенности конструкторов

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

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

Возрастные группы

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

От 4 до 6 лет

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

От 7 до 9 лет

Робот-конструктор по робототехнике для младших школьников становится более сложным. Это можно сказать как о самих моделях, так и об изучаемых темах. Дети более подробно знакомятся с физическими законами и явлениями, начинают изучать работу различных датчиков. По этой причине такие наборы с успехом используются на уроках физики. Многие комплекты предлагают не только построить машинку, но и заставить ее двигаться: ехать по линии, отъезжать от края стола.

От 10 до 15 лет

Программируемый робот для старших школьников, подразумевает практически полное погружение в робототехнику (исключая моделирование и печать деталей, хотя набор от Fischertechnik позволяет собрать настоящий 3D-принтер). Работа с механизмами в этом случае сочетается с программированием - комплекты могут поставляться с программируемыми платами, чтобы будущий инженер мог увидеть, как они функционируют, и попробовать задать команды самостоятельно.

LEGO

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

Известный бренд предлагает несколько линеек для детей разных возрастов. Для самых маленьких подойдут «Первые механизмы» (5+) или «Простые механизмы» (7+). Занятия с этими конструкторами не требуют серьезных знаний в роботостроении, наборы лишь знакомят детей с тем, что такое и как функционирует механизм. Будущий инженер-конструктор узнает, как работают рычаги, зубчатые колеса и многое другое.

Линейки WeDo и WeDo 2

Эта игрушка робот программируемый, позволит ребятам от 7 до 10 лет собрать первый настоящий механизм. Комплекты состоят из множества деталей для тела робота, а также самые разные датчики (наклона, движения), дидактические материалы, программное обеспечение.

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

MINDSTORMS Education EV3

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

Huna

Южнокорейские специалисты, разрабатывая программируемые конструкторы для детей, придерживаются правила — «От простого к сложному». Уже детям с шести — восьмилетнего возраста бренд предлагает собрать несложные механизмы с двигателем, датчиками, которые определяют расстояние, звуковым сопровождением. В основу таких комплектов заложены знакомые всем малышам модели: герои сказок (к примеру, Паровозик Томас или персонажи из «Трех поросят»), машинки, животные. Каждый комплект оснащен понятной инструкцией, которая поможет ребенку (конечно, с помощью взрослых) собрать интересную движущуюся модель.

MRT (My Robot Time)

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

Интересной разработкой компании стали наборы для совместной, групповой работы: ребята могут построить зоопарк и даже город или пофантазировать на темы «Новый год и Рождество», «Мечты и реальность».

Fischertechnik (Германия)

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

Каждый такой комплект позволит ребенку построить несколько моделей самолетов, машинок, подъемный кран и другие понятные и знакомые объекты.

Младшим школьникам компания Fischertechnik предлагает решить более сложные задачи. К примеру, построить машину, двигающуюся от солнечных батарей или трактор с дистанционным управлением. Бренд разработал наборы для изучения оптических явлений, пневматики, топливных элементов, законов динамики, различных двигателей. Эти и другие подобные образовательные конструкторы помогут ребятам в игровой форме ознакомиться с различными сторонами школьного курса физики, но, главное, - применить теоретические знания на практике.

Engino (Кипр)

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

Mechanical Science и Discovering Stem

Нельзя не отметить и эти серии от компании Engino. С их помощью ребенок наглядно изучит различные физические явления — работу рычагов, кривошипов, клиньев, познакомится с законами Ньютона и солнечной энергии. Stem расшифровывается как Science (наука), Technology (технология), Engineering (инженерное дело) и Mathematics (математика). Этим областям и посвящены конструкторы.

Makeblock (Германия)

Самые интересные конструкторы-роботы, производимые этой компанией, - это, бесспорно, те, что можно использовать по назначению после сборки. К примеру, Airblock Drone или Laserbot гравировщик, которые позволяют собрать катер или дрон на воздушной подушке. Наборы укомплектованы всем необходимым для полноценной работы устройства. Например, юному гравировщику потребуется лазерная головка, программное обеспечение, кронштейны и многое другое.

Silverlit — программируемый робот (36 функций)

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

  • выполнять последовательные действия (не более тридцати шести за один цикл), из которых наиболее интересны повороты, удар ногой, ходьба вперед и назад, выражение обеспокоенности, танцы, обхождение препятствий;
  • реагировать на громкие звуки. При хлопке в стороне от робота Silverlit, он издает звук;
  • охранять помещение: робот предупреждает знаками ребенка о том, что перед ним появилось какое-то препятствие;
  • общаться со своей мини-копией Maxi Pals, подавая световые сигналы;
  • сверкать глазами, поворачивать голову, шевелить суставами ног и рук;
  • удерживать нетяжелые предметы в руках.

Роботы от Silverlit изготовлены из качественных материалов. В комплект входит дистанционный пульт управления, который для удобства можно закрепить на спине робота. Программируемый робот Silverlit небольшого размера. В комплект поставляются батарейки, но только к основному, большому роботу Maxi Pals.

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

Конструкторы-роботы человекоподобные, программируемые

Наверное, совсем скоро роботы-андроиды станут незаменимыми помощниками домашних хозяек: они смогут готовить пищу и убирать в доме. Пока такие модели используют лишь в развлекательных или образовательных целях.

Darwin-mini

Элементы робота от компании Robotic совместимы с конструктором серии Dream, того же бренда. Рост робота составляет 26,95 см, семнадцать сервомоторов используется для движений. Передвигается он со скоростью 24 см/сек, аккумулятор рассчитан на полчаса непрерывной работы.

В комплект набора входит модуль Bluetooth. А вот гироскопического и других датчиков в этом комплекте нет. Контроллер с открытой платформой управляет роботом. Она оборудована четырьмя портами, к которым подключаются дополнительные датчики-светодиоды, которые в комплект не входят, но могут понадобиться для выполнения некоторых дополнительных задач.

Для сборного программированного робота применяется бесплатное ПО RoboPlus. Поведение робота можно запрограммировать с помощью редактора RoboPlus Task, а более сложные движения — используя программу RoboPlus Motion.

Bioloid Premium Kit

Комплект от известной корейской компании Robotics. Помимо трех можно собрать из предлагаемого комплекта 26 различных механизмов. Комплект рассчитан на детей старшего и среднего школьного возраста.
Собранный робот имеет: гироскоп, два инфракрасных датчика препятствий, 18 сервомоторов, инфракрасный датчик расстояния. Кроме того, в конструкцию включены датчики напряжения, температуры, микрофон. В комплекте входит пульт дистанционного управления.

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

Различаются они не только производителями, но и способами и возможностями программирования, типами крепежей, а также материалами.

Большинство упрощенных (для новичков) и роботов имеют в комплекте специальное программное обеспечение, которое позволяет без труда задать команды своему творению. В более совершенных моделях придется для начала изучить, основанные на С, языки.

LEGO Mindstorms

Конструктор выпускается в двух типах:

  • детский;
  • продвинутый.

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

Стоит заметить, хоть программирование этих роботов возможно, блоков управления в этом наборе не предусмотрено, это означает, что робот будет всегда соединен с компьютером при помощи кабеля USB.

Продвинутый же набор открывает намного больший простор для фантазии. Он существует в нескольких вариантах и поколениях (на данный момент поколений три). Они отличаются количеством деталей, наличием дополнительных микрокомпьютеров, а также различными датчиками и другими приборами. Микрокомпьютеры этой серии оснащены операционной системой Linux. Эти схемы поддерживают не только специальные языки программирования, но и C++, C и даже Python.

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

Лего держит пальму первенства в роботах-конструкторах уже более десяти лет. Устраиваются соревнования по созданию , где главным призом чаще всего оказывается бюджетное место в престижном ВУЗе.

LEGO Mindstorms – один из 17 вариантов сборки

HUNA

Это сравнительно новый бренд, родом из южной Кореи, который постепенно набирает популярность в кругах юных кибернетиков. Типов наборов HUNA существует два. Их принципиальное отличие заключается в том, что, в одном случае детали выполнены из пластика, а в другом – из металла. Но в то же время их можно комбинировать, так как принцип соединения частей у них общий.

Узнать больше об увлекательных металлических конструкторах для мальчиков можно .

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

В качестве “мозга” железных комплектов выступает контроллер Arduino, на котором уже стоит специальная прошивка. Среда программирования тут – обычный C-образный язык для Arduino, но для большего удобства его визуализировали.

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

Makeblock

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

Все детали Makeblock выполнены из алюминия, на который электростатическим методом нанесена краска (примерно, как и на автомобили). Таким образом, вероятность того, что со временем детали будут выглядеть неказисто, стремится к нулю.

Из интересных моделей следует заметить те, которые выполняют рисунки, среди них:

  • mScara – робо-рука, на которую можно вместо маркера поставить лазер;
  • mSpider – он рисует в вертикальных плоскостях, подобно пауку перемещаясь на ниточках;
  • mCar – машинка, которая рисует маркером там, где она ездит.

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

#Структор

Этот конструктор производится в России и отличается от других тем, что его детали выполнены из вспененного ПВХ. Их толщина составляет пять миллиметров, что позволяет создавать небольшие, но достаточно прочные конструкции.

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

Достоинства ПВХ:

  • низкая стоимость;
  • простота обработки – достаточно лишь вооружиться ножом, карандашом и линейкой;
  • высокая прочность;
  • влагоустойчивость;
  • пожаробезопасность – температура возгорания листового ПВХ превышает 400 градусов Цельсия.

Малую прочность конструкции производители предлагают решить двумя способами. Первый – просто склеить детали. Лучше всего для таких целей подойдет специальный клей “Космофен”. Второй способ – объединить #Структор с советским (или аналогичным) железным конструктором.

#Структор от “Амперка”

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

Управление элементами #Структор производится на Arduino. А благодаря универсальности материала, из которого изготовлены элементы конструктора, любой датчик, сервопривод или мотор легко внедряются в конструкцию.

Vex

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

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

Только в наборах корейской компании Vex встречаются коробки передач или колеса Илона.

Программирование происходит на одной из нескольких сред. Всего среды три. Первая представляет собой экран, где вместо прописывания команд просто перетаскиваются блоки. Вторая же – классические блок-схемы, как на уроках информатики. Третья среда очень похожа на ПО от LEGO – то же перетаскивание блоков с командами и значениями.

Примечательной особенностью является также наличие ПО VEX Assembler. Это 3D редактор, в котором вы можете придумать и испытать своего робота до того, как начнете его строить вживую.

VEX Robotics by HEXBUG

FischerTechnik

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

Чтобы не было недостатка в деталях и электронных компонентах отдельно можно приобрести наборы расширения, дистанционное управление и многое другое.

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

В продаже имеется два типа контроллеров:

  • Robo TX;
  • Robo TXT.

Высокая цена за них обусловлена тем, что это не просто контроллеры, а настоящие микрокомпьютеры с поддержкой Wi-Fi, Bluetooth и довольно мощной “начинкой” для своих малых размеров. Для повышения производительности эти контроллеры могут быть совмещены в одну сеть.

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

ТРИК

Конструктор родом “рожденный” в России. Его производители решили помочь любителям робототехники, которые используют советские металлические конструкторы. Поэтому все детали имеют отверстия с теми же десятью миллиметрами, что и железные конструкторы.
Этот конструктор на рынке новичок, но уже зарекомендовал себя как универсальный и очень удобный.

На данный момент имеется четыре типа наборов:

  • стартовый;
  • образовательный;
  • школьный;
  • соревновательный.

Их различие в количестве деталей и электроники. Во всех наборах вы найдете микроконтроллер, микрофон и видеокамеру или датчики, светодиоды и колеса.

Микроконтроллер ТРИК работает на Linux и имеет на борту процессор с 24 мегагерцами и целые 256 Мбайт оперативной памяти. Также ее можно расширить за счет Flash-карты.

Набор для сборки ТРИКС

Создатели данного конструктора решили не привязывать контроллер к одной среде программирования. Поэтому он поддерживает C, C++, Python и даже Java. Для тех, кто только изучает программирование, имеется специальная среда программирования, предназначенная для контроллера ТРИК.

Так как контроллер поддерживает множество команд, для удобства управления имеется приложение для смартфонов под управлением Android. Команды передаются при помощи Wi-Fi.

MOSS


Американская компания, придумавшая MOSS, пошла нестандартным путем – она отказалась от проводов.
Вместо них используются детали кубической формы, которые имеют цветные грани. Их назначение следующее:

  1. Зеленые – передача электричества от аккумулятора.
  2. Красные – вход данных.
  3. Коричневые грани – выход данных.
  4. Голубые – эти грани передают и электричество и данные. Они нужны для того, чтобы соединять детали при помощи гибкого элемента.

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

Robo Wunderkind от MOSS

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

Вторая же программа направлена на тех, кто хорошо в нем разбирается. Она компилирует ваш код и переносит его в контроллер. Обе эти программы работают на Windows и Mac OS, но не поддерживаются Linux.

Для удаленного правления роботом MOSS существует сразу несколько программ для мобильных устройств. Это и пульты управления, экспорт данных с датчиков, рисование графиков и многое другое. Все программы доступны для iOS, а некоторые и для Android.

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

Стоит заметить, что в обзоре не учитывались конструкторы, стоимостью свыше ста тысяч рублей, а также те, которые требуют какой-либо пайки.

Робот MECCANO, управляемый с помощью смартфона или планшета

Видео

Данное видео подробно расскажет Вам о программируемых роботах: какие они бывают и какой лучше выбрать.

Чтобы выбрать конструктор, нужно определиться, для кого он:

  • LEGO Mindstorms лучше всего подойдет ребенку, который увлекается роботами. А так как у большинства детей есть обширная коллекция LEGO, фантазия ребенка будет поистине безграничной.
  • Если вы разыскиваете конструктор для себя, то стоит обратить внимание на ТРИК или #Структор, так как они оба совместимы с советским железным конструктором, а второй к тому же, еще, и выполнен из ПВХ.
  • Но, так или иначе, эти конструкторы очень сильно улучшат способности вашего ребенка к логическому мышлению, а также подготовят его к тому, что будет ждать его в школе или институте.

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

Программирование виртуальных роботов на языке Java

Робототехника давным давно вышла за пределы научно-фантастических романов и в настоящее время является одной из движущих сил, определяющих прогресс во многих областях, таких как автоматизация производства, медицина, космос и т.д. Важную роль в робототехнике играют программные симуляторы, т.к. они не только упрощают работу инженеров, но и позволяют исследователям испытывать новейшие алгоритмы искусственного интеллекта (AI) и машинного обучения. Одним из таких симуляторов является Simbad – проект с открытым кодом, разработанный на основе технологии Java 3D (см. ). В данной статье мы расскажем, как программировать виртуальных роботов, используя инструментарий Simbad, для получения лучшего представления об одной из философий проектирования роботов – архитектуре поглощения (subsumption architecture ).

Начало статьи посвящено краткому обзору робототехники и концепции архитектуры поглощения. Затем мы перейдем к инструментарию Simbad и расскажем, как, используя его, можно реализовать данную архитектуру. После этого придет время создания простого робота в соответствии с описанной архитектурой. В конце концов, вы окунетесь в занимательный мир лабиринтов и создадите второго робота, который, подобно Гомеру из Симпсонов (см. ), сможет самостоятельно из них выбираться. Разумеется, созданные роботы будут “виртуальными”, т.е. будут жить в виртуальной среде Simbad.

Программирование роботов

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

  • Набора сенсоров
  • Программы, определяющей поведение робота
  • Набора приводов и эффекторов

Традиционная робототехника

Под традиционной робототехникой обычно понимается период развития данной области вплоть до 1986 года. Для того времени было характерно представление о роботе, как о механизме, управляемом центральным контроллером (мозгом), который постоянно обновляет свое представление об окружающем мире и вырабатывает план поведения, исходя из этого представления. Новая информация о мире поступает от сенсоров, например, осязания, света, ультразвука и т.д. Мозг анализирует всю информацию от сенсоров и обновляет представление об окружающей среде, а затем принимает решение о том или ином действии. Все действия выполняются с помощью приводов и эффекторов. Первые обычно представляют собой некие двигатели, подсоединенные к устройствам, непосредственно взаимодействующим с окружающим миром — эффекторам. Примерами последних могут служить колеса или руки. При этом иногда под приводами (actuators) понимаются как сами приводы, так и эффекторы.

Таким образом, традиционный робот получает данные от множества сенсоров, комбинирует эти данные в процессе обновления картины мира, затем вырабатывает план действий на основе данной картины, и наконец, приводит его в исполнение. К сожалению, данный подход сопряжен с определенными трудностями. Во-первых, он требует большого объема вычислений. Во-вторых, поддержка актуальной картины окружающего мира – задача очень сложная, т.к. мир меняется постоянно. При этом известно, что многие организмы, например, насекомые, благополучно существуют и без поддержки полной картины мира, более того, даже не имея памяти как таковой. Так может стоит попробовать перенять их подход к функционированию? Подобные размышления стали отправной точкой нового течения в робототехнике, доминирующего в настоящее время. Оно получило название “поведенческая робототехника” (behavior-based robotics - BBR).

Архитектура поглощения

Одним из способов организации BBR-роботов является архитектура поглощения, предложенная в 1986 г. Родни Бруксом (Rodney A. Brooks) — в настоящее время главой лаборатории искусственного интеллекта в Массачусетском Технологическом Институте (MIT) — в его фундаментальной статье под названием “Слоны не играют в шахматы” (см. ). Согласно Бруксу, поведенческие роботы можно рассматривать как набор простых и независимых поведенческих узлов (behaviors), каждый из которых определяется двумя вещами – тем, что вызывает данное поведение (как правило, информация, поступающая от сенсоров), и тем действием, что является его результатом (как правило, выполненным с помощью эффектора). Поведения могут наслаиваться друг на друга, а также конфликтовать между собой. В этом случае, в действие вступает специальный механизм арбитража , который решает, какое поведение в данный момент является приоритетным. Ключевым моментом является то, что поведение робота, как единого целого, не закладывается заранее, а вырисовывается из взаимодействия его поведенческих узлов. Более того, по мнению сторонников BBR, глобальное поведение является чем-то большим, чем просто суперпозицией его частей. Оно поглощает каждое из локальных, низкоуровневых поведений. В целом, идея заключается в том, что вместо проектирования робота и точного описания его поведения во всех ситуациях, можно просто добавлять поведенческие узлы и смотреть, что получится в результате.

Simbad: среда для моделирования роботов

LEGO Mindstorms

В данной статье рассматривается создание программных агентов (ботов), но если вас интересуют реальные физические роботы, то обратите внимание на LEGO Mindstorms – замечательный инструментарий для робототехника.

Слоган в штаб-квартире LEGO Mindstorms гласит: “Мы сделаем для робототехники то, что iPod сделал для музыки” ("We will do for robotics what iPod did for music"). Первая версия Mindstorms была представлена в 1998 г. и сразу же превзошла ожидания LEGO по объему продаж. Цена комплекта ($250) может показаться слегка завышенной, но не забывайте, что столько же стоит iPod Classic, а он есть практически у каждого .

При этом iPod не предоставляет собой такого интереса для взлома как Mindstorms. Стоило выйти первому релизу Mindstorms, как различного рода хакеры начали взламывать и анализировать блоки RCX, являющиеся “мозгами” роботов. LEGO пребывала в некотором недоумении и сначала не могла решить, оставить ли все как есть или же выпустить официальное требование прекратить подобные действия. К чести руководства компании, они решили предоставить хакерам полную свободу действий в отношении Mindstorms.

Это привело к расцвету сообщества Mindstorms (см. ). Одним из следствий стало стороннее портирование платформы Mindstorms под другие языки, такие как C и Java, в то время, как сам инструментарий изначально поставлялся только вместе с графическим языком программирования NXT-G. В итоге, более половины пользователей инструментария – это взрослые специалисты.

Simbad предназначен для программного моделирования роботов. Согласно Web-странице проекта, Simbad “предоставляет программные средства для разработки роботов, описания их воздействия на окружающий мир, а так же использования сенсоров. Simbad был в первую очередь разработан для исследователей, которым необходим простой инструментарий для изучения ситуационного искусственного интеллекта, машинного обучения и алгоритмов AI вообще, особенно применительно к автономным роботам и агентам”.

Simbad был разработан на Java Луи Уге (Louis Hugue) и Николя Бредешем (Nicolas Bredeche). Проект размещен на сервере SourceForge.net и может свободно использоваться или модифицироваться в соответствии с лицензией GNU GPL (General Public License).

Технические подробности

Мир в среде Simbad может содержать как агентов (роботов), так и различные неодушевленные предметы, такие как, ящики, стены, источники света и т.д. Время в этом мире дискретно, т.е. разбито на интервалы. Simbad включает в себя планировщик, распределяющий время между агентами. Аналогично реальным роботам, агенты Simbad имеют как сенсоры (датчики расстояния, осязания, света и т.д.), так и приводы (как правило, колеса). В любой отведенный ему момент времени, робот может выполнять какое-то действие.

Классы, реализующие агентов, должны переопределять метод performBehavior() , который описывает их поведение. Внутри этого метода робот может анализировать поступающую от сенсоров информацию и изменять вращательную и поступательную составляющие скорости движения. На исполнение метода performBehavior() отводится короткий промежуток времени, поэтому нельзя отдавать такие команды, как, например, “продвинуться вперед на один метр”. Для того чтобы обойти это ограничение как правило приходится постоянно контролировать состояние, в котором находится робот. Кроме этого можно использовать таймер для отслеживания количества временных интервалов, в течение которых робот находился в текущем состоянии.

Simbad API

В примерах к данной статье в основном затрагиваются вопросы, связанные со следующими двумя пакетами, входящими в состав Simbad API:

  • simbad.sim : Классы данного пакета описывают как самих роботов, так и окружающий их мир. Основными классами являются:
    • Agent: Сами роботы.
    • Arch: Арки, которые роботы могут объезжать либо проезжать под ними.
    • Box: Описывают препятствия на пути робота.
    • CameraSensor: Позволяет получать доступ к картине окружающего мира с точки зрения робота.
    • EnvironmentDescription: Описывает среду, в которую можно добавлять как роботов, так и неодушевленные объекты, например, стены и другие препятствия.
    • LampActuator: Фары, которые можно добавлять к своему роботу.
    • LightSensor: Сенсоры света.
    • RangeSensorBelt: Набор датчиков расстояния, которые могут быть расположены по периметру робота.
    • RobotFactory: Используется для добавления различных сенсоров к роботу.
    • Wall: Еще один тип препятствия для движения робота.
  • simbad.gui : Классы из данного пакета отображают самого робота и позволяют его контролировать. Основным классом являются следующий:
    • Simbad: Окно, отображающее картину мира робота, информацию, поступающую с его сенсоров, а так же управляющие элементы.

Реализация архитектуры поглощения с помощью Simbad

Румба

В то время как я пишу эти строки, Румба (Roomba) пылесосит ковер у меня под ногами (при этом периодически наталкиваясь на котенка). Румба – это робот, разработанный компанией iRobot, основанной тремя выпускниками MIT: Родни Бруксом, Колином Энглом (Colin Angle) и Хелен Грейнер (Helen Greiner). Он был создан в согласии с принципами архитектуры поглощения и предоставляет открытый интерфейс, позволяющий менять его поведение самым произвольным образом. Книга Тода Курта (Tod E. Kurt) “Взламывая Румбу” рассказывает о множестве таких возможностей (см. ).

Реализовывать архитектуру поглощения на основе Simbad мы начнем с объявления класса-потомка Agent под названием BehaviorBasedAgent . Каждый экземпляр данного класса будет содержать массив поведений (объектов типа Behavior), а так же булеву матрицу, хранящую информацию об их попарном поглощении.

private Behavior behaviors; private boolean suppresses;

Класс BehaviorBasedAgent выступает в роли планировщика поведений. В листинге 1 приведен фрагмент кода, итерирующего по массиву поведений и регулирующего их запуск. При этом переменная currentBehaviorIndex используется для хранения ссылки на поведение, которое должно быть активировано на следующем шаге алгоритма.

Листинг 1. Цикл для поочередной активации поведений и разрешения конфликтов
protected void performBehavior() { boolean isActive = new boolean; for (int i = 0; i < isActive.length; i++) { isActive[i] = behaviors[i].isActive(); } boolean ranABehavior = false; while (!ranABehavior) { boolean runCurrentBehavior = isActive; if (runCurrentBehavior) { for (int i = 0; i < suppresses.length; i++) { if (isActive[i] && suppresses[i]) { runCurrentBehavior = false; break; } } } if (runCurrentBehavior) { if (currentBehaviorIndex < behaviors.length) { Velocities newVelocities = behaviors.act(); this.setTranslationalVelocity(newVelocities .getTranslationalVelocity()); this .setRotationalVelocity(newVelocities .getRotationalVelocity()); } ranABehavior = true; } if (behaviors.length > 0) { currentBehaviorIndex = (currentBehaviorIndex + 1) % behaviors.length; } } }

Отметьте, что метод performBehavior() перегружает аналогичный метод в классе simbad.sim.Agent .

В классе поведения Behavior объявлено два абстрактных (abstract) метода:

  • isActive() : Метод возвращает булево значение, показывающее, должно ли данное поведение быть активировано в данный момент времени, учитывая информацию, поступающую от сенсоров. При этом все экземпляры класса Behavior имеют доступ к общему набору сенсоров.
  • act() : Метод возвращает новые значения поступательной и вращательной скорости (именно в таком порядке), являющиеся результатом активации поведения.

Пример блуждающего робота, притягивающегося к источникам света

Теперь пришло время создать программного робота (или бота), который будет включать 4 нижеперечисленных поведения, хранящихся в порядке убывания приоритета. Код бота показан в листингах со второго по пятый (код примеров к данной статье доступен для ).

  • Avoidance: Изменяет направление движения после столкновения или в попытке предотвратить столкновение.
  • LightSeeking: Направляет движение в сторону источника света.
  • Wandering: Периодически меняет направление движения произвольным образом.
  • StraightLine: Направляет движение по прямой.
Листинг 2. Класс Avoidance (на основе демонстрационного примера SingleAvoiderDemo.java из поставки Simbad)
public boolean isActive() { return getSensors().getBumpers().oneHasHit() || getSensors().getSonars().oneHasHit(); } public Velocities act() { double translationalVelocity = 0.8; double rotationalVelocity = 0; RangeSensorBelt sonars = getSensors().getSonars(); double rotationalVelocityFactor = Math.PI / 32; if (getSensors().getBumpers().oneHasHit()) { // Произошло столкновение translationalVelocity = -0.1; rotationalVelocity = Math.PI / 8 - (rotationalVelocityFactor * Math.random()); } else if (sonars.oneHasHit()) { // Считывание показаний эхолокаторов double left = sonars.getFrontLeftQuadrantMeasurement(); double right = sonars.getFrontRightQuadrantMeasurement(); double front = sonars.getFrontQuadrantMeasurement(); // Препятствие близко if ((front < 0.7) || (left < 0.7) || (right < 0.7)) { double maxRotationalVelocity = Math.PI / 4; if (left < right) rotationalVelocity = -maxRotationalVelocity - (rotationalVelocityFactor * Math.random()); else rotationalVelocity = maxRotationalVelocity - (rotationalVelocityFactor * Math.random()); translationalVelocity = 0; } else { rotationalVelocity = 0; translationalVelocity = 0.6; } } return new Velocities(translationalVelocity, rotationalVelocity); }
Листинг 3. Класс LightSeeking (на основе демонстрационного примера LightSearchDemo.java из поставки Simbad)
public boolean isActive() { float llum = getSensors().getLightSensorLeft().getAverageLuminance(); float rlum = getSensors().getLightSensorRight().getAverageLuminance(); double luminance = (llum + rlum) / 2.0; // Активизироваться если источник света неподалеку return luminance > LUMINANCE_SEEKING_MIN; } public Velocities act() { // Повернуть в сторону источника света float llum = getSensors().getLightSensorLeft().getAverageLuminance(); float rlum = getSensors().getLightSensorRight().getAverageLuminance(); double translationalVelocity = 0.5 / (llum + rlum); double rotationalVelocity = (llum - rlum) * Math.PI / 4; return new Velocities(translationalVelocity, rotationalVelocity); }
Листинг 4. Класс Wandering
public boolean isActive() { return random.nextDouble() < WANDERING_PROBABILITY; } public Velocities act() { return new Velocities(0.8, random.nextDouble() * 2 * Math.PI); }
Листинг 5. Класс StraightLine class
public boolean isActive() { return true; } public Velocities act() { return new Velocities(0.8, 0.0); }

В листинге 6 показано поглощение одних поведений другими.

Листинг 6. Объявление булевой матрицы, описывающей попарное поглощение поведений
private void initBehaviorBasedAgent(BehaviorBasedAgent behaviorBasedAgent) { Sensors sensors = behaviorBasedAgent.getSensors(); Behavior behaviors = { new Avoidance(sensors), new LightSeeking(sensors), new Wandering(sensors), new StraightLine(sensors), }; boolean subsumes = { { false, true, true, true }, { false, false, true, true }, { false, false, false, true }, { false, false, false, false } }; behaviorBasedAgent.initBehaviors(behaviors, subsumes); }

В данном примере набор поведений полностью упорядочен в соответствии с приоритетом. В общем случае, это необязательно.

В качестве упражнения вы можете попробовать реализовать следующие вещи:

  • Социальное поведение: движение навстречу друзьям и в сторону от врагов.
  • Избегание источников света.
  • Добавить фары к некоторым роботам, так, чтобы они начали притягиваться друг к другу.

Лабиринты

"Ну, наконец-то! Я так и знала, что из этого лабиринта можно выбраться, действуя по алгоритму Тремо!" — Лиза Симпсон

Из всей массы алгоритмов выхода из лабиринтов, два выделяются тем, что используют объем памяти, не зависящий от размера самого лабиринта. Они известны под названиями “следование вдоль стены” (wall-following) и алгоритм Пледжа . Последний был назван в честь Джона Пледжа (Jon Pledge) из Эксетера, который изобрел алгоритм в возрасте 12 лет. Кроме этого есть еще великолепный алгоритм Тремо (Tremaux algorithm) – любимый алгоритм Лизы Симпсон – но в целях упрощения мы рассмотрим только первые два.

Алгоритмы генерации лабиринтов

Интерес представляют не только алгоритмы выхода из лабиринтов, но и их генерации. Лабиринты, рассматриваемые в данной статье, называются совершенными (perfect), благодаря тому, что существует один и только один вариант прохода между любыми двумя точками лабиринта. Благодаря этому условию исключаются петли, острова, а так же изолированные участки. Большинство алгоритмов, генерирующих совершенные лабиринты, работают следующим образом: они начинают с простого лабиринта, представляющего собой только внешнюю стену и постепенно добавляют внутренние участки. При этом на каждом шаге необходимо исключать возможность появления петель, изолированных секций и т.д.

Следование вдоль стены

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

Алгоритм Пледжа

Алгоритм Пледжа более сложен, но зато способен находить выход из большего числа лабиринтов за счет возможности переходов от одного острова к другому. Идея алгоритма заключается в том, что надо выбрать некое абсолютное направление (север, юг, запад или восток) и всегда стараться ему следовать. Назовем его предпочтительным направлением . В случае если вы упираетесь в стену, вы поворачиваете направо и движетесь в соответствии с алгоритмом “следование вдоль стены” до тех пор, пока не выполнится два условия. Первое – это поворот в предпочтительном направлении, а второе – сумма всех ранее сделанных поворотов равна нуля (при этом каждый поворот против часовой стрелки принимается за единицу, а по часовой стрелке, соответственно, за минус единицу). После этого вы продолжаете двигаться в предпочтительном направлении пока это возможно и так далее. Условие на нулевую сумму поворотов необходимо для избегания разного рода ловушек, например, участков лабиринтов, имеющих форму G (нарисуйте ее на бумаге и сразу поймете, о чем я).

Алгернон: робот, выбирающийся из лабиринтов

Пришло время удивить ваших друзей, создав робота по имени Алгернон (Algernon), задачей которого будет выход из лабиринтов.

Проектирование робота

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

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

Реализация алгоритма следования вдоль стены

Весь код Алгернона будет размещен в пакете algernon.subsumption (весь код доступен для ). Алгернон — это достаточно простой робот и его вполне можно запрограммировать в процедурном стиле. В то же время, даже для такого простого робота, подход, основанный на поглощении поведений, делает код намного чище, легче для понимания, а также способствует лучшей организации модулей.

Мы сделаем еще одно допущение в целях упрощения примера: будем считать, что все стены пересекаются под прямыми углами. Другими словами, все повороты налево и направо осуществляются исключительно на 90 градусов.

Леворукий алгоритм следования вдоль стены можно декомпозировать на четыре различных поведения:

  • Идти прямо.
  • Упершись в стену, повернуть направо.
  • Встретив ответвление влево, повернуть.
  • Остановиться при нахождении выхода.

Поведениям необходимо присвоить приоритеты. В данном примере, мы их выберем в том же порядке, в каком они перечислены выше. В итоге нам понадобятся четыре класса-наследника Behavior:

  • GoStraight
  • TurnRight
  • TurnLeft
  • ReachGoal

В листинге 7 показан код класса GoStraight , в котором TRANSLATIONAL_VELOCITY – это константа, равная 0.4:

Листинг 7. Реализация поведения для движения по прямой
public boolean isActive() { return true; } public Velocities act() { double rotationalVelocity = 0.0; return new Velocities(TRANSLATIONAL_VELOCITY, rotationalVelocity); }

Код класса TurnRight показан в листинге 8. Метод getRotationCount() возвращает количество временных интервалов, необходимых для поворота на 90 градусов при данной скорости вращения.

Листинг 8. Реализация поведения для поворота направоBehavior code for turning right
public boolean isActive() { if (turningRightCount > 0) { return true; } RangeSensorBelt bumpers = getSensors().getBumpers(); // Проверка переднего бампера. if (bumpers.hasHit(0)) { backingUpCount = 10; turningRightCount = getRotationCount(); return true; } else { return false; } } public Velocities act() { if (backingUpCount > 0) { // Робот уперся в стену. Надо чуть отойти назад перед поворотом backingUpCount--; return new Velocities(-TRANSLATIONAL_VELOCITY, 0.0); } else { turningRightCount--; return new Velocities(0.0, -Math.PI / 2); } }

Для поворота налево, Алгернон должен сначала чуть продвинуться вперед так, что стена слева от него закончится. Затем он поворачивается налево и проходит еще немного вперед так что, по его левую сторону опять находится стена. Код показан в листинге 9.

Листинг 9. Реализация поведения для поворота налево
public boolean isActive() { if (postGoingForwardCount > 0) { return true; } RangeSensorBelt sonars = getSensors().getSonars(); // Проверка эхолокатора слева if (sonars.getMeasurement(1) > 1.0) { // Слева коридор preGoingForwardCount = 20; postGoingForwardCount = 40; turnLeftCount = getRotationCount(); return true; } else { return false; } } public Velocities act() { if (preGoingForwardCount > 0) { preGoingForwardCount--; return new Velocities(TRANSLATIONAL_VELOCITY, 0.0); } else if (turnLeftCount > 0) { turnLeftCount--; return new Velocities(0.0, Math.PI / 2); } else { postGoingForwardCount--; return new Velocities(TRANSLATIONAL_VELOCITY, 0.0); } }

Код класса ReachGoal показан в листинге 10.

Листинг 10. Поведение при обнаружении выхода из лабиринта
public boolean isActive() { RangeSensorBelt sonars = getSensors().getSonars(); // Впереди открытое пространство? Другими словами, нашли ли мы выход из лабиринта? double clearDistance = 1.2; return sonars.getMeasurement(0) > clearDistance && sonars.getMeasurement(1) > clearDistance && sonars.getMeasurement(3) > clearDistance && sonars.getMeasurement(2) > clearDistance; } public Velocities act() { // Остановка return new Velocities(0.0, 0.0); }

Главный метод, определяющий поведение Алгернона приведен в листинге 11.

Листинг 11. Код управления поведениями Алгернона
private void initBehaviorBasedAgent(algernon.subsumption.BehaviorBasedAgent behaviorBasedAgent) { algernon.subsumption.Sensors sensors = behaviorBasedAgent.getSensors(); algernon.subsumption.Behavior behaviors = { new ReachGoal(sensors), new TurnLeft(sensors), new TurnRight(sensors), new GoStraightAlways(sensors) }; boolean subsumes = { { false, true, true, true }, { false, false, true, true }, { false, false, false, true }, { false, false, false, false } }; behaviorBasedAgent.initBehaviors(behaviors, subsumes); }

На рисунке 1 показано, как Алгернон движется по лабиринту.

Рисунок 1. Алгернон, двигающийся по лабиринту

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

Заключение

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

Обратите внимание на инструментарий LEGO Mindstorms, если вы заинтересовались проектированием и программированием роботов. В качестве альтернативы, можно поработать с роботами BEAM (Biological Electronic Aesthetics Mechanics). BEAM далее развивает идею поведенческой робототехники, вообще убирая программирование как таковое. Глобальное поведение робота определяется жестко заданными соединениями поведенческих узлов, работающих на рефлексах. Заплатив не более $30 вы сможете построить своего первого BEAM-робота. Также можно спроектировать робота по чертежам, которые вы найдете в книге Гарета Бранвина (Gareth Branwyn) “Создание роботов для абсолютных новичков” (см. ). Ну и, наконец, всегда можно купить Румбу и взломать его.

Один из поразительных выводов, к которому я пришел, начав заниматься программированием роботов, а также после поверхностного знакомства с кодом других разработчиков, - это то, что необязательно писать длинные программы, чтобы создать робота, обладающего весьма обширной функциональностью. При этом, правда, зачастую приходится долго шлифовать программу и экспериментировать с константами, чтобы робот делал именно то, что нужно. Используя же инструментарий LEGO Mindstorms, вы вполне сможете создать простого робота за вечер.

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

Весь процесс состоит из двух этапов: сборки и программирования. Чтобы собрать хорошего робота, нужны знания в механике. Чтобы запрограммировать робота на определённые действия, нужно знать язык, который поймёт системная плата или программный блок. Школьными знаниями по информатике тут не обойтись.

Где взять материал?

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

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

Из чего состоит робот?

Корпус – металлическое или пластмассовое «тело» , к которому прикрепляются остальные детали. У каждого робота есть источник энергии – батарейки или аккумулятор. В зависимости от того, какую задачу будет выполнять робот, выбирают датчики: они могут определять цвет и свет, реагировать на касание.

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

Как заставить его что‑то делать?

Чтобы робот выполнил какое‑то действие, нужно создать компьютерную программу. Сложность этого этапа зависит от сборки. Если робот собран из набора Lego Mindstorms или mBot, то с их программным обеспечением справятся даже дети.

Если вы собираете робота сами, вам нужно изучить основы программирования и язык, на котором собираетесь писать программу, например C++.

Почему робот может не выполнить программу?

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

Можно научиться собирать и программировать в школе?

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

«После уроков с учителями физики и информатики мы учимся программировать. Уже умеем работать в LegoMindstorms и Robolab (программное обеспечение для роботов – прим. авт. ). Также иногда учимся делать 3D-чертежи деталей», – рассказали ученики Белгородского инженерного юношеского лицея-интерната и участники «РобоФеста-2018» Антон Першин и Дмитрий Чернов .

Где, кроме школы, можно стать робототехником?

В инжиниринговой школе БелГУ есть класс, в котором учат собирать и программировать роботов. В 2017 году в Белгороде открылся «Кванториум» , в котором робототехнике учат школьников с девяти лет.

Чтобы стать настоящим робототехником, можно поступить на робототехнический факультет. В Белгороде пока таких нет, но в БГТУ им. Шухова есть кафедра технической кибернетики . Её студенты занимают призовые места на всероссийских соревнованиях по робототехнике.

Можно ли научиться самому?

Да. Есть множество ресурсов в Интернете, на которых можно узнать, из чего собрать и как запрограммировать робота.

Будет ли робот полезным?

Его можно приспособить под бытовые задачи и сделать помощником в доме. В Интернете есть много примеров, как домашние изобретатели создают роботов для выпечки блинов или уборки квартиры.

Как подтвердить свои успехи в создании роботов?

Принять участие в таких соревнованиях, как «РобоФест». На них в зависимости от возраста и направления существуют разные номинации. В основном у каждого вида робота есть трасса, на которой он выполняет задания: захватить кубик или прочертить линию. Есть и статичные системы, в которых судьи оценивают презентацию проекта и работу механизмов.

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

Редакция благодарит за помощь в создании материала участников «РобоФеста-2018» Дмитрия Агафонова , Дмитрия Чернова , Антона Першина и Данила Мигрина .

Наталья Малыхина

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

LEGO Education WeDo

Начнём, пожалуй, с самого известного датского бренда LEGO. Компания производит два типа конструкторов с возможностью программировать для образовательных целей для разных возрастов. Для детей возраста от 7 летLEGOвыпускает сериюLEGO Education WeDo. Здесь вы можете купить стартовый набор «ПервоРобот» и ресурсный набор, если деталей вам не хватило. Также дополнительно можно приобрести датчики движения и наклона, мультиплексоры, моторы и лампочки. Отдельно можно приобрести комплект учебных проектов на компакт диске.

Программное обеспечение LEGO Education WeDo для программирования роботов этой линейки с комплектом заданий приобретается отдельно. Программирование здесь визуальное. Вы просто соединяете друг с другом нужные блоки-действия и таким образом составляете программу.


Конечно, все изделия, созданные с помощью этого конструктора, сложно назвать роботами, скорее простыми механизмами, но, поверьте, детям в возрасте 7–8 лет сложнее и не нужно. Обратите внимание: чтобы собранный механизм функционировал, он должен быть подключён к компьютеру через USB-кабель.

LEGO Education WeDo 2.0

Это вторая версия конструктора LEGO Education WeDo, которая была впервые представлена на выставке CES-2016. Конструктор адаптирован для детей в возрасте от 7 лет. Данная версия конструктора (в отличие от первой) позволяет собирать автономных роботов. Готовый робот работает на двух батарейках AAA, а взаимодействие с ПК происходит по Bluetooth.


Из него можно собрать следующие модели: «Майло (научный вездеход)», «Тягач», «Гоночная машина», «Землетрясение», «Лягушка», «Цветок», «Шлюз», «Вертолёт» и «Мусоровоз».

В комплект набора входят: СмартХаб, средний мотор, датчик движения, датчик наклона и 280 разнообразных деталей. Если вам не хватает каких-либо электронных компонентов, вы можете докупить их отдельно. Дополнительно можно приобрести аккумулятор, который обеспечит более продолжительное время работы. Ещё учтите, что адаптер для зарядки аккумулятора продаётся отдельно (адаптер используется такой же, как и для конструкторов LEGO MINDSTORMS Education EV3 и NXT, см. ниже).

Также вы можете приобрести комплект учебных материалов, с помощью которого можно реализовать 17 проектов по физике, биологии, географии, исследованию космоса и инженерному проектированию, работа над которыми в сумме займёт более 40 академических часов. Микрокомпьютера здесь как такового нет. Вместо него здесь есть СмартХаб, который играет роль связующего звена между ПК/планшетом и электроникой робота. Т. е. все написанные вами программы будут работать на ПК или планшете. У СмартХаба здесь два порта для подключения датчиков и моторов, один индикатор и всего одна кнопка – кнопка питания. Электроника и ПО первой и второй версий конструктора несовместимы.

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

В стартовый набор уже включено бесплатное базовое ПО, в состав которого входят стартовые проекты. Русский язык поддерживается. ПО работает на Windows (7, 8.1 и RT), MacOS, iPad, Android-планшетах и взаимодействует с микрокомпьютером через Bluetooth 4.0. Программирование визуальное, аналогичное первой версии конструктора. Скачать ПО можно . Кроме того, есть возможность программировать с помощью Scratch 2. А для особо желающих есть SDK с открытым исходным кодом, позволяющий взаимодействовать со СмартХабом через Bluetooth.

LEGO Mindstorms Education EV3

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

В стартовый набор входят: 541 деталь LEGO Technic и два лотка для их хранения, микрокомпьютер EV3 с поддержкой Wi-Fi и Bluetooth, аккумулятор, три сервомотора (2 больших и один средний), ультразвуковой датчик, датчик цвета, гироскопический датчик и два датчика касания. В набор не входят программное обеспечение LEGO Mindstorms EV3 и зарядка для аккумулятора.

Отдельно хочу заметить, что EV3 – это уже третья версия конструктора. Предыдущие версии назывались NXT (вторая) и RCX (первая).

Внутри микрокомпьютера EV3 прячется процессор ARM 9 с операционной системой Linux. Здесь есть 4 входных порта и 4 выходных. В вашем распоряжении 16 Мб флеш-памяти и 64 Мб RAM. Для расширения памяти есть слот для карт Mini SDHC объёмом до 32 Гб. На блоке имеется шестикнопочный интерфейс с подсветкой тремя цветами и чёрно-белый дисплей разрешением 178x128. Здесь же находится динамик. Для взаимодействия с роботом микрокомпьютер поддерживает Wi-Fi (встроенного Wi-Fi нет, рекомендуется использовать адаптер NETGEAR Wi-Fi dongle WNA1100 Wireless-N150) и Bluetooth (Bluetooth встроенный). Питание осуществляется от шести пальчиковых батареек AA или от литиевого аккумулятора ёмкостью 2050 мАч. От аккумулятора робот проработает дольше, чем от батареек. Заряжается аккумулятор 3–4 часа.

При желании вы можете купить дополнительный ресурсный набор, в комплект которого входят 853 дополнительные детали LEGO Technic . С таким набором вы сможете собрать робота-слона, танкобота, фабрику игрушек и многое другое.

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

Кроме перечисленных здесь комплектов, вы можете найти в продаже домашнюю версию набора LEGO Mindstorms EV3 . Из него можно собрать 5 базовых роботов и 12 бонусных моделей. В отличие от стартового образовательного набора LEGO Mindstorms Education EV3, данный набор содержит немного другой комплект деталей и датчиков. Здесь есть пульт управления, а вместо ультразвукового датчика – инфракрасный (который, кроме изменения расстояний, принимает сигнал от пульта) и отсутствует гироскоп.

Будьте внимательны: в наборе отсутствует аккумулятор, и вам придётся использовать 6 пальчиковых батареек (AA) или покупать аккумулятор отдельно, а он недешёвый. Кстати, для пульта тоже понадобятся 2 мизинчиковые батарейки (AAA).


В продаже есть поля для соревнований роботов. Также вы всегда можете отдельно докупить микрокомпьютеры, аккумуляторы, ИК-датчик, ИК-маяк, ультразвуковой и гироскопический датчики, датчики цвета, касания, температуры и звука и сервомоторы. Кстати, датчики от старой версии конструктора NXT тоже подходят.

Каждый микрокомпьютер EV3 имеет четыре входных порта для датчиков и четыре выходных порта для сервомоторов, лампочек и пр. Если вам этого не хватает, вы можете соединить вместе («в гирлянду») до 4 микрокомпьютеров с помощью дополнительных USB-кабелей. В этом случае управление ложится на плечи главного микрокомпьютера, и вы получаете до 16 входных портов и до 16 выходных.

Роботы этой серии программируются с помощью программного обеспечения LEGO Mindstorms EV3 . Для домашнего набора ПО скачивается бесплатно . Для образовательных наборов ПО стало бесплатным с 1 января 2016 года. Программирование здесь визуальное блочное, основанное на графическом языке программирования LabVIEW, который позволяет создавать как простые, так и сверхсложные программы. Можно создавать свои блоки с помощью инструмента MyBlocks. Максимальный размер программы – 16 блоков, не считая блока начала программы и цикла. Работает ПО на Microsoft Windows или Apple Macintosh. Русский язык поддерживается.

Образовательная версия ПО LEGO Mindstorms EV3 , кроме программирования, позволяет собирать статистические данные с датчиков и записывать их в память микрокомпьютера или в реальном времени передавать их через USB-кабель, Wi-Fi или Bluetooth. Собранные данные можно анализировать, строить по ним графики. В помощь ученикам и преподавателям Здесь есть мультимедийные уроки.

Если вас интересует альтернативная среда программирования, то, кроме LEGO Mindstorms EV3, вы можете программировать с помощью сред разработки LabVIEW (требуется дополнительный модуль LabVIEW LEGO MINDSTORMS) и RobotC (язык программирования C, RobotC версии 4x поддерживает серии EV3 и NXT). Обе среды программирования платные. В RobotC вы даже сможете тестировать робота с вашей программой в виртуальном мире (см. рис. ниже). Виртуальные миры можно скачать .


Совсем продвинутые изобретатели могут приобрести датчики сторонних компаний, таких как HiTechnic и Vernier . Например, вы можете дополнительно приобрести инфракрасный датчик для обнаружения людей и животных, компас, барометр, датчик силы, датчик обнаружения объектов на небольшом расстоянии, датчик угла (измеряет углы и скорость поворота) и другие. Компания HiTechnic предлагает датчики, непосредственно адаптированные для EV3 и NXT, и к каждому датчику можно скачать программные блоки для ПО LEGO Mindstorms EV3. Компания Vernier предлагает приобрести адаптер , позволяющий использовать их датчики в конструкторе, и дополнительно даёт скачать программный блок для ПО LEGO Mindstorms EV3.

TETRIX


MATRIX


Robotis OLLO

Корейская компания Robotis, основанная в 1999 году, предлагает конструктор OLLO для самостоятельной сборки роботов. Он продаётся в виде наборов, рассчитанных на разный возраст. Из набора Figure (7+) можно создавать фигурки животных, но здесь нет ни моторов, ни датчиков, ни контроллеров. Из наборов Action (8+ ) и Starter (8+) уже можно создавать подвижные непрограммируемые модели. Здесь есть моторчик, но нет ни датчиков, ни контроллеров. А вот наборы Explorer (10+), Inventor (10+) и Bug (10+) уже позволят конструировать и программировать роботов. Для набора Explorer есть расширяющий набор Inventor Expansion Set , который превращает набор Explorer в Inventor.

Из набора Explorer вы сможете сделать 12 моделей, а из набора Inventor – 24 модели по инструкции, но ничто не помешает вам сконструировать свои собственные модели роботов. Максимальный набор Inventor содержит контроллер, два двигателя, два сервомотора, два ИК-датчика, ИК-приёмопередатчик, тактильные датчики, светодиодный модуль. В контроллере есть четыре порта для подключения приводов, два многофункциональных порта для подключения датчиков, приводов и порт для дистанционного управления и загрузки программ.
Из набора Bug вы сможете собрать 4 робота-жука, которыми можно управлять с помощью контроллера, они смогут ходить по линии (карточки для создания маршрута в комплекте) и обнаруживать объекты. Здесь в комплекте нет адаптера USB Downloader LN-101 для подключения к компьютеру, а он нужен, если вы собираетесь программировать.


Программируются роботы Robotis OLLO , как и все другие роботы компании, с помощью фирменного программного обеспечения RoboPlus . Для программирования используется C-подобный язык. В состав ПО входят RoboPlus Task, RoboPlus Manager (настройка оборудования), RoboPlus Motion (программирование сложных движений робота), RoboPlus Terminal (терминал) и Dynamixel Wizard (настройка и калибровка сервоприводов).


После написания вашей программы её нужно загрузить в контроллер, соединив его с компьютером, и после включения робота ваша программа начнёт выполняться. Скачать программу можно , прочитать инструкцию . Продвинутые программисты могут написать свою собственную прошивку для роботов Robotis OLLO на Embedded C.


Для роботов компании Robotis можно также писать программы прямо на смартфоне или планшете под управлением Android 2.3 и выше с помощью приложения R+ m.Task .

Robotis Bioloid

С этой серией той же корейской компании Robotis с помощью наборов Premium Kit вы сможете собрать человекоподобных роботов. Также в серии есть и другие наборы : STEM Standard (10+), STEM Expansion (10+), Beginner .

Из набора STEM Standard можно сделать 16 различных роботов по схемам, а с набором STEM Expansion можно сделать ещё 9 моделей. В наборе идёт также 48 заданий. Этот набор частично состоит из комплектующих серии Robotis OLLO , а частично – из комплектующих Robotis Bioloid . Т. е. с этим набором вы можете использовать уже имеющиеся у вас наборы обеих серий. Это единственный набор, совместимый с сериями OLLO и Bioloid . В наборе микроконтроллер CM-530, матрица ИК-датчиков (позволяют бежать роботу по линии), 3 ИК-датчика (обнаружение препятствий) и пульт управления RC-100A.

Набор Beginner позволит вам создать роботов 14 различных конструкций. В наборе – микроконтроллер CM-5, 4 сервомотора DYNAMIXEL AX-12A и сенсорный модуль AX-S1.


С набором Premium Kit вы сможете собрать человекоподобного робота в одной из трёх модификаций или 26 простых роботов. Человекоподобный робот из этого набора обладает системой стабилизации тела благодаря двухосному гироскопу, что позволяет ему ловко удерживаться на ногах при ходьбе.

В наборе контроллер CM-530 (32-битный ARM Cortex, 6 кнопок, микрофон, датчик температуры, датчик напряжения, 6 входных/выходных OLLO-совместимых портов, 5 коннекторов для сервомоторов AX/MX Series DYNAMIXEL ), 18 сервомоторов, двухосный гироскоп, 2 ИК-датчика, пульт управления RC-100A .


Программирование роботов серии Robotis Bioloid осуществляется так же в среде ПО RoboPlus .

Hovis Lite

Из этого конструктора, кроме человекоподобного робота, можно собрать ещё порядка 26 различных моделей роботов и механизмов. Hovis Lite – это детище корейской компании DST Robot (до марта 2015 года компания называлась Dongbu Robot). Пластмассовые элементы конструктора могут быть одного из следующих цветов: зелёного, красного, жёлтого или синего. Есть приятный бонус – детали можно распечатать на 3D-принтере. Страничка конструктора находится , а вся документация и 3D-модели .


В наборе микроконтроллер (ATmega128 MCU , в микроконтроллер встроены датчики звука и света), датчик расстояния, IR-пульт дистанционного управления и IR-приёмник для него. Гироскоп/акселерометр и Bluetooth-модель нужно покупать отдельно.

Для программирования есть следующее ПО: DR-SIM (фирменная бесплатная программа для редактирования, тестирования и записи движений), DR-Visual Logic (фирменная бесплатная графическая среда разработки с возможностью просмотра готового кода в виде C-подобного языка), Microsoft Robotics Developer Studio , DR-C , Microsoft Visual Studio и AVR Studio .

VEX EDR

Конструкторы серии VEX EDR , или просто VEX , производит компания VEX Robotics . Предназначены они для возраста от 10 лет. Серия подходит как для школ, институтов, так и для продвинутых роботостроителей. В этой серии вы найдёте как наборы, так и отдельно продающиеся запчасти, объекты и поля для соревнований. Программируемые наборы (с микроконтроллером в комплекте) делятся на стартовые (Programming Control Starter Kit и Dual Control Starter Kit ) и наборы для соревнований (Classroom and Competition Mechatronics Kit , Classroom and Competition Programming Kit и Classroom and Competition Super Kit ). Наборы можно посмотреть на сайте производителя . Из каждого набора вы сможете собрать робота на колёсах с клешнёй (см. рис. ниже). Остальные модели вы можете придумывать самостоятельно, полагаясь на свою фантазию.


В серии VEX EDR очень широкий перечень компонентов. Вы всегда сможете отдельно приобрести датчики для следования по линии, датчики обнаружения препятствий и измерения расстояния до препятствий, датчики света, оптические датчики положения осей (измерение углового перемещения, направления вращения оси, пройденного расстояния и пр.), потенциометры (определение местоположения и направления при вращении), гироскопы, датчики касания, ограничители движений, акселерометры (измерение ускорения), светодиодные фонарики.

Из механики нужно обратить внимание на возможность приобретения шестерёнчатых коробок передач (в том числе и червячную), гусениц, Omni-колёс, колёса Илона.

Программируются роботы этой серии с помощью RobotC , easyC (программирование на языке C с помощью перетаскивания блоков), Flowol (программирование с помощью блок-схем) или Modkit (визуальное программирование с помощью блоков). Все среды разработки платные.


VEX IQ

Эта серия тоже производится компанией VEX Robotics и она тоже позволяет создавать программируемых роботов, но рассчитана на возраст от 8 лет. Всего в серии 3 основных набора (Starter Kit with Controller , Starter Kit with Sensors , Super Kit ), расширяющие наборы, объекты и поля для соревнований, а также комплектующие по отдельности. Все позиции хорошо описаны на сайте производителя . В наборы Starter Kit with Sensors и Super Kit входят датчик цвета, гироскоп и датчик расстояния. Управление с пульта возможно в наборах Starter Kit with Controller и Super Kit . Во все наборы входят датчики касания. Хочется отметить, что в соревновательных наборах вы получите, кроме дополнительных деталей, Omni-колёса и гусеницы. Микроконтроллер VEX IQ оборудован 12 универсальными портами для подключения датчиков и моторов.


Программируются роботы серии VEX IQ с помощью Modkit (визуальное программирование с помощью блоков), а также Flowol и RobotC .


Также существует виртуальная среда проектирования конструкции вашего робота VEX Assembler . С помощью этого ПО вы сможете виртуально изготовить и опробовать вашу конструкцию ещё на этапе проектирования. В программу уже загружено более 110 деталей конструктора VEX IQ , объекты для соревнований и даже целиком робот Clawbot IQ (робот с клешнёй). Программа доступна для свободного скачивания (заполните форму сперава и получите ссылку для скачивания по электронной почте).


VEX PRO

Под этой линейкой продуктов компания VEX Robotics предлагает только комплектующие. Здесь нет наборов. Всё продаётся поштучно или комплектами. Все комплектующие можно посмотреть .

Технолаб

Под этой торговой маркой скрываются всё те же наборы от компаний Robotis и VEX Robotics , о которых было написано выше. Наборы (модули) локализованы и собраны для желающих заниматься робототехникой в зависимости от возраста и степени подготовленности. Всего модулей семь. Это модули предварительного, начального, базового, базового соревновательного, профессионального, исследовательского иэ кспертного уровней. Подробности о комплектации по всем модулям представлены на сайте ООО «Экзамен-Технолаб» . Программирование роботов доступно во всех модулях, кроме модуля предварительного уровня.


Arduino

Торговая марка Arduino – это инструменты для создания не только роботов, но и множества различных гаджетов. Для роботостроителей здесь есть микроконтроллеры, всевозможные датчики, двигатели, сервомоторы, платы расширений, LCD-дисплеи, светодиоды. Но под этой торговой маркой не производятся элементы корпусов или каркасов для сборки роботов. Здесь также нет элементов для монтажа. Единственное исключение – Arduino Robot .

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

Программировать микроконтроллеры Arduino можно с помощью бесплатной среды разработки Arduino IDE с открытым исходным кодом (см. первую картинку снизу). Написана Arduino IDE на Java и работает на компьютерах под управлением Windows, Mac OS X и Linux. В Arduino IDE используется язык программирования Processing (язык, основанный на Java). Кроме того, некоторые микроконтроллеры Arduino можно запрограммировать с помощью RobotC, Flowol, Minibloq (графический язык программирования, бесплатно, см. вторую картинку снизу), Ardublock (графический язык программирования, встраивается в Arduino IDE, есть перевод инструкции на русский язык, бесплатно), Physical Etoys (бесплатный графический язык программирования для Windows и Linux с открытыми исходниками, русификации нет) и Modkit .

Также для программирования некоторых контроллеров Arduino можно воспользоваться плагином Visual Micro (платный), который встраивается в Microsoft Visual Studio 2008–2013 или в Atmel Studio 6.1–6.2.

Структор

Магазин «Амперка» предлагает собственное решение для сборки Arduino-совместимых роботов – это панели, рейки и крепления для плат, датчиков и моторов под названием Структор . Детали изготавливаются фрезеровкой из листов белого вспененного ПВХ толщиной 5 мм. За счёт использования такого материала у вас есть возможность красить детали красками. Прочность элементов достаточная для того, чтобы создавать конструкции небольшого размера. В то же время материал податлив, и вы можете легко просверливать в деталях отверстия, вкручивать шурупы или менять геометрию деталей канцелярским ножом.


Все элементы легко соединяются друг с другом, а если для динамических конструкций вам не хватает прочности соединений, «Амперка» предлагает склеивать элементы друг с другом. Кроме того, для ещё большей прочности вы можете использовать детали «совметал. конструктора», ведь отверстия в панелях Структора расположены с тем же шагом 10 мм. К сожалению, в мягкости материала, из которого созданы детали конструктора, кроется и небольшой минус – они недолговечны. Со временем материал в месте креплений деформируется, и детали держатся неплотно.

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

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

Multiplo

Multiplo – это Arduino-совместимый конструктор, созданный аргентинской компанией RobotGroup . Конструктор полностью открытый, т. е. доступны как исходники ПО, так и чертежи конструктивных элементов (детали можно распечатать на 3D-принтере или нарезать на лазерном станке с ЧПУ). Основные детали пластиковые, уголки и некоторые другие элементы – алюминиевые, винты, гайки, шайбы и оси – металлические. Эта же компания разработала программу для графического программирования Minibloq , о которой уже было написано выше (один из директоров компании, Хулиан да Силва, является автором этой программы). Официальная страница конструктора , а все инструкции, чертежи и ПО можно скачать .

Конструктор представлен наборами Starter Kit , Building Kit и Monster Kit . В наборе Starter Kit контроллер DuinoBot , батарейный отсек (для трёх батареек AA), два инфракрасных сенсора, два двигателя, пульт управления и приёмник сигнала от него, провода и механические детали для постройки простой тележки. В наборе есть отвёртка и ключи, так что дополнительный инструмент вам не понадобится. В наборе Building Kit дополнительно появляются ультразвуковой датчик, 2 сервомотора, 2 датчика света, 2 светодиодные лампочки, а также дополнительные детальки, в том числе и для сборки клешни.

Набор Monster Kit самый большой. В этом наборе целых два микроконтроллера (можно делать сразу двух роботов из одного набора), а также 4 обычных мотора, 6 сермоторов, батарейные отсеки, один ультразвуковой датчик, 4 инфракрасных датчика, два комплекта дистанционного управления (пульт и датчик для приёма сигнала от него), много механических деталей, в том числе и для сборки двух клешней.

Ещё в официальном магазине есть набор Mechanical Kit , содержащий только механические детали, без электронной части. Также можно приобрести по отдельности микроконтроллер DuinoBot с батарейным отсеком, различные датчики и механические детали. И можно бесплатно скачать файлы для печати полей для соревнований. МагазинMultiploнаходится .

Поскольку конструктор Arduino-совместимый, то программировать можно с помощью аналогичных средств разработки: Arduino IDE , Minibloq , Ardublock , Physical Etoys и Modkit .

Makeblock

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


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

Количество как самодостаточных, так и ресурсных наборов в магазине на официальном сайте огромное. Отдельно здесь можно купить датчики, платы, конструктивные элементы и пр. Из тематических наборов хочется выделить наборы для сборки 3D-принтера (набор Makeblock Constructor I 3D Printer Kit ), плоттера (XY-Plotter Robot Kit v2.0 ), робота, играющего на ксилофоне (набор Music Robot Kit ), конструктор для сборки робота-художника различных модификаций, рисующего фломастерами или выжигающего лазером (набор mDrawBot with Bluetooth and Laser Kit – Blue ) и робот-тележка mBot с большим набором датчиков, шасси которого совместимы с деталями LEGO и Makeblock (Bluetooth, Bluetooth и Wi-Fi).

С помощью набора mDrawBot можно собрать одного из 4 роботов-художников:

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

mSpider – паук-художник, который висит на двух верёвочках и рисует на вертикальных поверхностях.

mEggBot – робот, рисующий на яйцах или шариках для пинг-понга.

mCar – трёхколёсный робот-машинка, рисующий на листе бумаги, по которому он ездит.

Но и это ещё не всё. Специально для набора mDrawBot компания Makeblock разработала программу с помощью которой вы сможете импортировать векторный рисунок формата SVG, конвертировать BMP в SVG и масштабировать рисунок. При нанесении рисунка с помощью лазера поддерживаются разные оттенки.

Наборы-конструкторы общего назначения следующие: Starter Robot Kit (Bleutooth и IR-версии) и Ultimate Robot Kit . Есть аналогичные наборы без электроники.

Для дистанционного управления роботом есть бесплатное приложение для Android и iOS – Makeblock . Некоторые наборы комплектуются пультами дистанционного управления, например, IR-версия набора Starter Robot Kit.

Программируются роботы Makeblock с помощью программы собственной разработки mBlock , основанной на редакторе Scratch 2.0 , с помощью Arduino IDE или ArduBlock . Чтобы работать в Arduino IDE или ArduBlock , необходимо дополнительно установить библиотеку Makeblock . Примеры, инструкции, драйверы и ПО можно найти .

HUNA-MRT

Под корейским брендом HUNA-MRT скрываются наборы для конструирования механизмов и роботов. Наборы FUN&BOT (MyRobotTime) и KICKY (MRT2) – это наборы для начинающих (на возраст 6–8 лет) из пластмассовых деталей, и здесь нет программирования. А вот в наборах серий CLASS (MRT3) (на возраст 7–11 лет) и TOP (на возраст 9–11 лет) уже есть программируемая плата и есть возможность программировать роботов с помощью простой графической среды программирования. Отличие двух последних серий в том, что в серии CLASS (MRT3) детали пластмассовые, а в серии TOP – металлические. Во всём остальном это полностью совместимые наборы. Детали из одной серии можно использовать вместе с деталями других серий этого бренда. Есть также более продвинутый набор HUNITRONIC (для возраста 12–18 лет), который укомплектован аналогом микроконтроллера Arduino UNO и платой Extension IO Shield для подключения датчиков. Все наборы комплектуются графической средой программирования. Получить больше информации о конструкторах можно на сайте ООО «Брейн Девелопмент» . Официальная страничка серии MRT3 .

RoboRobo

Корейская компания RoboRobo предлагает 5 образовательных наборов для сборки программируемых роботов. Они так прямо и нумеруются: Robo Kit №1, Robo Kit №2, Robo Kit №3, Robo Kit №4, Robo Kit №5 . Различаются они количеством деталей, количеством возможных модификаций роботов, которые вы сможете из них собрать по инструкциям, и сложностью. Чем больше цифра, тем больше деталей и тем сложнее. Обязательно обратите внимание, что набор 2 содержит в себе набор 1, набор номер 3 – содержит набор 2 и так далее. Поэтому, если у вас уже есть набор Robo Kit №1 , то вы можете расширить его с помощью набора Robo kit №1-2 до набора Robo Kit №2 и тем самым сэкономить. Всего расширяющих наборов 4: Robo kit №1-2, Robo kit №2-3, Robo kit №3-4 и Robo kit №4-5 . Официальная страничка конструктора .

В максимальном наборе вы найдёте ИК-сенсор, ИК-пульт управления, датчик звука, датчики касания.

Программируются роботы этой компании с помощью графического интерфейса в программе Rogic Program .

Ещё компания RoboRobo предлагает наборы для очень маленьких детей (5–7 лет): Robo Kids № 1 и Robo Kids № 2 . Второй набор – дополнительный к первому. Из первого набора можно собрать 16 роботов, а из второго – ещё 16. В этих наборах производитель предлагает интересный подход к управлению роботами. В распоряжении маленьких программистов есть набор карточек, которые проводятся через сканер, который в свою очередь даёт команды роботу.

Fischertechnik

Конструкторы fischertechnik выпускает немецкая фирма. Детали конструктора пластмассовые. Разные наборы конструктора рассчитаны на разный возраст. Наборы серии JUNIOR(5+) не имеют ни моторов, ни батареек, это просто конструкторы для малышей. С наборами серии BASIC (7+) и ADVANCED (7+) , PROFI (8+) вы можете собирать различные машины и механизмы, они уже могут комплектоваться моторами, солнечными батареями, блоками питания и др. А вот сборка роботов и их программирование начинается в наборах серии ROBOTICS(8+) .

В серии ROBOTICS шесть наборов: ROBOTICS LT Beginner Set (ROBOTICS LT Стартовый набор) (стартовый набор для создания 8 автоматических устройств), ROBOTICS TXT Discovery Set (ROBOTICS TXT Набор первооткрывателя) (для создания 11 механизмов и автономных роботов), ROBO TX Automation Robots (ROBO TX Автоматические роботы) (для создания реалистичных промышленных роботов), ROBO TX ElectroPneumatic (ROBO TX ЭлектроПневматика) (для сборки 4 пневматических конструкций), ROBO TX Explorer (ROBO TX Исследователь) (для создания робота на гусеничном ходу в шести модификациях) и ROBO TX Training Lab (ROBO TX Учебная лаборатория) (для конструирования автоматических устройств и мобильных роботов). Отдельно к наборам можно приобрести аккумуляторный набор, набор для дистанционного управления, набор свет и звук (для создания светозвуковых эффектов), наборы с дополнительными моторами, ресурсный набор и ящики для хранения. При совмещении наборов друг с другом вы сможете значительно расширить возможности в создании роботов.

Часть наборов серии ROBOTICS комплектуются контроллером ROBO TX (кроме стартового набора, который комплектуется контроллером ROBO LT ), часть – контроллером ROBOTICS TXT . Из датчиков в наборах попадаются следующие: фотодатчик, датчик температуры, датчик цвета, ультразвуковой датчик расстояния, ИК-датчик следования по линии.

Характеристики контроллера ROBO TX следующие: 32-битный процессор ARM9 , монохромный дисплей разрешением 128х64, объём памяти 8 MB RAM, 2 MB Flash. Размер контроллера – 90х90х15 мм, вес – 90 г. Здесь 4 выхода для подключения моторов, 8 универсальных входов, 2 разъёма расширений I2C, RS485 для объединения с другими контроллерами, 4 входа и USB для подключения к компьютеру. Также здесь присутствует встроенный Bluetooth. Можно приобрести дополнительный микроконтроллер ROBO TX .

Отдельно можно приобрести более продвинутый контроллер ROBOTICS TXT . Вот его характеристики: ОС Linux, два процессора ARM Cortex A8 (32bit/600MHz) +Cortex M3 , память 128 Мб DDR3 RAM, 64 Мб Flash, слот для карт Micro SD, цветной сенсорный дисплей 2,4" разрешением 320 x 240, 8 универсальных входов, 4 высокоскоростных цифровых входа, 4 выхода на моторы, комбинированный модуль Bluetooth/Wi-Fi, ИК-приёмник (для приёма сигнала от пульта), USB 2.0 для подключения к ПК, USB Host (USB A для подключения USB-камеры fischertechnik или USB-свистков), 10-контактный разъём для входа или выхода по I2C интерфейсу, встроенный динамик, встроенные часы с собственной батарейкой. Размер контроллера – 90x90x25 мм. Контроллеры могут быть спарены. Все подробности о микроконтроллере .

Во все наборы входит ПО для программирования ROBO Pro (в стартовом наборе вы найдёте облегченную версию этого ПО). Свежую версию ПО и русификацию всегда можно скачать на сайте производителя .

Контроллер ROBOTICS TXT программируется с помощью ROBO Pro , C-Compiler , PC-Library , . Сейчас эта робототехническая платформа представлена только одним набором ROBOTICS PRO 1.0 , из которого вы сможете собрать 6 моделей. Набор рассчитан на учеников школы (7+) и студентов.

В наборе микрокомпьютер, программное обеспечение (для частного и образовательного использования), провода, 3 мотора, 3 светодиода, 2 инфракрасных датчика, 1 датчик касания и разнообразные детали.

А вот спецификация микрокомпьютера ERP:

  • 32-битный микроконтроллер ARM CORTEX-M2;
  • 256 КБ FLASH, 64 КБ RAM;
  • USB-порт 12 Mbit/s;
  • 3 порта для моторов и 4 – для датчиков (светодиоды можно подключать к любым портам);
  • встроенный зуммер;
  • питание от 6 батареек AA;
  • встроенный Wi-Fi модуль.

Программировать собранные модели можно непосредственно на самом блоке или с помощью программного обеспечения ENGINO ERP . Дистанционно управлять роботами возможно с помощью приложения Engino ERP Remote Control , которое доступно в Google Play и Apple store . Все подробности о конструкторе можно найти .

ТРИК

Кибернетический конструктор ТРИК – это российский конструктор, металлические детали которого совместимы с «совметал конструктором» (та же перфорация M4 c шагом 10 мм).

Конструктор ТРИК предлагает насколько решений: стартовый набор, образовательный, школьный, соревновательный, учебная пара. Разница между наборами – в количестве датчиков и деталей, но в каждом наборе есть контроллер ТРИК , видеокамера и микрофон. Все наборы (кроме стартового) комплектуются пластиковой коробкой с отделениями для хранения деталей. В максимальном наборе имеются следующие датчики: 2 датчика освещённости, 2 датчика расстояния, 2 датчика касания. Кроме того здесь есть Омни-колёса, светодиодные ленты, аккумуляторы, зарядное устройство.

Технические характеристики контроллера ТРИК:

  • операционная система: Linux;
  • центральный процессор: OMAP-L138 C6-Integra™ DSP+ARM® SoC, 375 МГц, Texas Instruments;
  • ядро центрального процессора: ARM926EJ-S™ RISC MPU;
  • оперативная память: 256 Мбайт, 6 Мбайт FLASH;
  • периферийный процессор: MSP430F5510, 24 МГц, Texas Instruments;
  • интерфейсы пользователя: USB 2.0, WiFi b/g/n, BlueTooth, 2xUART, 2xI2C, Micro-SD, Mic in (stereo), Line out (mono);
  • интерфейсы двигателей постоянного тока: 4 порта двигателей 6-12V DC, с индивидуальной аппаратной защитой от перегрузки по току (до 2А на двигатель);
  • интерфейсы периферийных устройств: 19 сигнальных портов общего назначения (6 одноканальных и 13 двухканальных) с питанием 3.3-5V, из них 6 могут работать в режиме аналогового входа;
  • интерфейсы видеосенсоров: 2 входа BT.656 VGA 640*480, поддержка стереорежима;
  • встроенный цветной сенсорный LCD монитор 2,4” TFT разрешением 320x240 пикселей;
  • встроенный динамик номинальной мощностью 1 W, пиковой 3 W;
  • 2-цветный, программно-управляемый светодиодный индикатор;
  • слоты расширения: два 26-контактных «щелевых» разъёма модулей расширения;
  • дополнительное оборудование (входит в состав контроллера): 3-осевой акселерометр, 3-осевой гироскоп, аудиокодек, усилитель, конвертеры и схемы управления питанием, схемы защиты входов от перегрузок по напряжению и току;
  • электропитание 6-12V DC, внешний сетевой адаптер либо LiPo аккумулятор RC 3P (11,1V) / 2P (7,4V).

Программирование возможно на С, С++/Qt,J avaScript, С#/F# (.NET), Python и Java. Есть также собственная среда разработки – TRIK Studio , которая работает на Windows и Linux. Для дистанционного управления разработано приложение TRIK gamepad для Android. Подключение к контроллеру происходит через Wi-Fi. Подробности о конструкторе на официальном сайте .

MOSS

Конструктор MOSS , созданный американской компаниейModular Robotics , – самый необычный конструктор из всех здесь перечисленных. Здесь нет ни проводов, ни привычных способов соединения деталей. Весь конструктор состоит из модулей кубической формы с гранями разных цветов и различных соединительных элементов, таких как скобы и уголки. Все они крепятся друг к другу с помощью шариков-магнитов, которые позволяют создавать жёсткие или шарнирные соединения.

Разные цвета граней модулей сделаны не только для красоты, они ещё обозначают характеристики. Зелёные грани проводят электричество. У модуля аккумулятора все грани зелёные и основная цель этого модуля – поставлять энергию всем остальным модулям. Например, чтобы запитать модуль с мотором, вы должны соединить одну из его зелёных граней с зелёной гранью аккумулятора. Красные и коричневые грани проводят данные: красный – выход данных, коричневый – вход данных. Например, если вы хотите, чтобы датчик расстояния управлял скоростью вращения мотора, вам нужно соединить красную грань модуля датчика расстояния с коричневой гранью модуля мотора. Голубые грани – передающие, через них передаётся энергия и/или данные. Например, если вам нужно запитать какой либо модуль, который находится на расстоянии от батареи, вы можете использовать голубые грани гибкого модуля или несколько простых модулей.

Robo Wunderkind

А вот ещё один кубический конструктор, совместимый с конструктором LEGO. Конструктор Robo Wunderkind так же, как и конструктор MOSS, состоит из модулей в форме куба, за исключением микроконтроллера, который состоит как бы из сдвоенных кубиков (на фото микроконтроллер оранжевого цвета). Модули соединяются друг с другом без проводов с помощью специальных соединительных элементов.

Сейчас на сервисе Kickstarter можно предзаказать следующие варианты наборов: стартовый (STARTER KIT ), расширенный (ADVANCED KIT ) и профессиональный (PROFESSIONAL KIT ) . Первые поставки начнутся в июле 2016 года. Наборы рассчитаны на детей от 5 лет и взрослых. В стартовом наборе есть системный модуль (микроконтроллер), модуль с датчиком расстояния (красного цвета), модуль Bluetooth (голубого цвета), аккумуляторный модуль (зелёного цвета), модуль-сервомотор (жёлтого цвета), пустой модуль, 2 модуля-мотора (синего цвета), 2 колеса, 7 соединительных элементов, 2 адаптера LEGO (для присоединения стандартных деталей LEGO, например, человечков, как показано на картинке) и одно пассивное колёсико. В расширенном наборе добавляются ещё 2 пустых модуля, модуль с LED-дисплеем, модуль с датчиком света, модуль с метеодатчиком, ещё 6 соединительных элементов и ещё 2 адаптера LEGO. В профессиональном наборе , по сравнению с расширенным, добавляется ещё 1 аккумуляторный модуль, ещё один модуль-сервомотор, ещё 3 пустых модуля, модуль с инфракрасным датчиком, модуль с лазерной указкой, модуль с экраном на основе электронных чернил, модуль с камерой, модуль с акселерометром, ещё 9 соединительных элементов, ещё 4 адаптера LEGO, и ещё одно пассивное колёсико.

А вот характеристики конструктора: процессор Allwinner A13 SoC, оперативная память RAM 256 Мб DDR3, Storage eMMC Flash Memory 4 GB, WiFi 802.11 b/g/n, Bluetooth 2.1/3.0/4.0. В системный модуль встроены микрофон и динамик.

Программировать готового робота можно с помощью специального приложения, доступного для iOS и Android. В планах разработчиков есть создание приложения для Windows, правда только к сентябрю 2016 года. Программирование здесь графическое. Кроме того, поддерживается Scratch. Также создатели конструктора предоставляют API для разработки, как они пишут, на любом языке программирования.

(по материалам сайта http://www.proghouse.ru/article-box/26-robots)

Ответственный за информацию: методист ГМЦ ДОгМ Солуянов Евгений Александрович.