LEGO Роботы. Роботы LEGO Mindstorms - занимательная робототехника

Скачать на Телефон 12.07.2019
Скачать на Телефон


Конструктор LEGO – это более универсальный материал, чем может показаться на первый взгляд. Ведь с его помощью можно строить не только игрушечные машинки и домики, но и достаточно сложные конструкции, например, роботов под управлением мобильного телефона. Вот подобные наборы с названием Mindstorm EV3 и представила недавно датская компания на выставке 2013 CES в Лас-Вегасе.




В прошлом году четырнадцатилетний американский школьник прославился на весь технический мир тем, что создал из LEGO , умеющий рисовать фломастером заданные пользователем рисунки. А в 2013-м датская компания и сама выпустила продукт с похожим названием – Mindstorm EV3. Но это не принтер, а сборные роботы, собираемые вручную из деталей упомянутого выше конструктора.



Основу Mindstorm EV3 составляет некое подобие системного блока, небольшой компьютер на базе ARM-процессора, работающий под управлением операционной системы Linux. Он имеет 16 мегабайт встроенной флеш-памяти, 64 мегабайта памяти оперативной, слот расширения для SD-карточек, а также Wi-Fi-модуль.

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



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

Более того, компания LEGO обещает, что робот Mindstorm EV3 сможет также взаимодействовать с мобильными телефонами под управлением операционных систем Android и iOS. Достаточно будет лишь установить на них специальное программное обеспечение, чтобы одними лишь движениями пальцев по экрану смартфона управлять действиями собранного только что собственными руками робота.



Комплект LEGO Mindstorm EV3 включает в себя 594 детали, а собрать простейшего робота с его помощью можно будет всего за 20 минут. Производитель обещает начать продажи этого необычного конструктора уже в 2013 году.

Конструктор LEGO Mindstorms представляет собой набор электронных блоков и сопрягаемых деталей, предназначенный для создания программируемого робота. Первый набор Mindstorms компания LEGO представила еще в 1998 году, а спустя 8 лет, в 2006 году, была выпущена в свет первая версия набора LEGO Mindstorms NXT 1.0, еще через 3 года, в 2009 году вышла вторая версия набора — LEGO Mindstorms NXT 2.0, и, наконец, в 2013 году появился в продаже набор LEGO Mindstorms EV3.

Набор LEGO Mindstorms включает в себя как стандартные детали LEGO, такие как оси, шестерни, балки, колеса и сервомоторы, так и двигатели, сенсоры, и программируемый блок. Эти наборы подразделяются на ресурсный и базовый.

Базовый набор LEGO MINDSTORMS NXT есть трех версий:

    8527 LEGO MINDSTORMS содержит 577 деталей, 2006 года выпуска. Это - первая версия коммерческого набора;

    9797 LEGO MINDSTORMS Education NXT Base Set содержит 431 деталь, 2006 года выпуска. Это — базовый набор для обучения, образовательный набор;

    8547 LEGO MINDSTORMS NXT 2.0 содержит 619 деталей, 2009 года выпуска. Это - вторая версия коммерческого набора.

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

Ресурсный набор LEGO MINDSTORMS Education Resource Set есть двух версий:

    9648 LEGO MINDSTORMS Education Resource Set;

    9695 LEGO MINDSTORMS Education Resource Set.

Ресурсный набор 2010 года выпуска содержит 817 деталей, они более разнообразны.

Базовый набор 2013 года выпуска LEGO MINDSTORMS EV3 3.0 поставляется в одной версии 31313, и содержит 601 деталь. «EV» расшифровывается здесь как Evolution.

Наборы LEGO Mindstorms комплектуются блоками управления на микроконтроллерах нескольких версий RCX, NXT и EV3. На текущий момент их три, кроме того есть модификации 1.0; 2.0 и 3.0.

Огромное количество сенсоров, которыми комплектуются наборы LEGO Mindstorms открывают широкие возможности для творчества. Сенсоры выпускают и сторонние производители, такие как Mindsensors и HiTechnic. Вот лишь несколько примеров стандартных сенсоров для LEGO Mindstorms NXT: сервомотор-тахометр NXT, ультразвуковой сенсор расстояния NXT, сенсор касания NXT, сенсор звука NXT, сенсор освещенности NXT. Вообще, список довольно обширен.

Давайте же рассмотрим, что представляет собой набор LEGO MINDSTORMS EV3.

Что касается начинки EV3, то интеллектуальный блок оснащен процессором Sitara AM1808 (ARM9) частотой 300 МГц от Texas Instruments, имеет 64 Мб оперативной памяти, 16 Мб Flash-памяти, также есть слот для карт памяти microSDHC до 32 Гб. В наличии USB-хост и Bluetooth, возможен Wi-Fi через USB-донгл, поддерживаются устройства Apple. Также блок оснащен монохромным LCD-дисплеем, разрешением 178x128. Все моторы и NXT-сенсоры полностью совместимы с блоком EV3. Кстати, NXT-блок может быть запрограммирован под EV3, но некоторые функции будут недоступны.

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

Интеллектуальный блок EV3 является сердцем конструктора. Питание осуществляется 6 пальчиковыми батарейками. Для управления служат 6 кнопок, причем подсветка имеет три цветовых режима индикации. Для подключения датчиков имеется 4 порта ввода, также присутствуют 4 порта вывода команд. Для подключения блока к компьютеру — гнездо miniUSB, порт USB-хост для организации соединений, встроенный динамик и, как упоминалось ранее, слот для карты памяти. Программный интерфейс позволяет создавать и настраивать программы непосредственно с блока.

Кроме интеллектуального блока, в комплект включены:

2 больших сервомотора, оснащенные точными датчиками вращения, и могущие развить 170 оборотов в минуту при максимальном крутящем моменте в 40 Нсм.

Также есть один средний сервомотор, крутящий момент здесь меньше — до 12 Нсм, однако обороты могут достигать 250 в минуту.

Датчик цвета и освещенности с возможностью различать 8 цветов с частотой опроса до 1 кГц.

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

ИК-датчик расстояния, применимый и для ДУ, способный принимать сигнал даже с 2 метров, с диапазоном измерения расстояния в радиусе до 70 см. Доступны 4 канала для индивидуального приема сигналов, управляющих команд.

Инфракрасный маяк для ИК-датчика, может работать как пульт ДУ. На корпусе есть зеленый индикаторный светодиод и переключатель каналов. Может предавать в 4 отдельных канала в радиусе до 2 метров. Автоматически отключается через час простоя. Питается от двух мизинчиковых батареек.

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

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

Ультразвуковой датчик, служащий для измерения расстояний посредством передачи и приема отраженных волн. Может работать как сонар и как приемник звуковых волн в качестве управляющих сигналов. Способен измерять расстояния до 2,5 метров с точностью в 1 см.

Поддерживаются не только сенсоры и аксессуары LEGO, но и модели сторонних производителей, например Mindsensors и HiTechnic. Это могут быть джойстики, компасы, акселерометры и т. д. Ассортимент всевозможных решений очень-очень широк.

Для программирования робота можно использовать программное обеспечение LEGO Mindstorms EV3 Home Edition для Windows или OS X, которое легко скачивается на официальном сайте LEGO. Там же есть обилие прошивок, обучающих материалов по программированию, видеороликов, интерактивных инструкций, описаний миссий.

Разумеется, EV3 может управляться со смартфона на Android или iOS, для этого есть отдельные приложения. Программирование возможно и на Java и на множестве других языков: ASM/C/C++/Perl/Python/Ruby/VB/Haskell/Lisp/Matlab/LabVIEW.

На официальном сайте LEGO можно найти 17 моделей с инструкциями для сборки разных роботов из комплекта EV3. Вот эти модели:

TRACK3R - робот на гусеничном ходу высокой проходимости с четырьмя взаимозаменяемыми инструментами.

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

R3PTAR - робот-кобра высотой 35см, может скользить по полу, атаковать предметы клыками с высокой скоростью.

GRIPP3R - этот робот способен поднимать тяжести, может захватить, поднять и кинуть жестяную банку.

EV3STORM - робот на гусеничном ходу со множеством миссий.

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

BANNER PRINT3R - робот-принтер. Он умеет рисовать обычным маркером, проводя линии. Можно задавать собственный рисунок.

RAC3 TRUCK - гоночный грузовик на дистанционном управлении. Можно добавить прицеп.

DINOR3X - робот-трицератопс ходит и поворачивается на четырех ногах.

KRAZ3 - робот реагирует на ИК-маяк своего друга-жучка. Можно также управлять роботом с помощью настраиваемой программы или запрограммировать так, чтобы он двигался исключительно за жучком;

EV3D4 - созданный по мотивам “Звездных войн”, может следовать за владельцем, перемещаться по ИК-маяку, общаться. Поддерживает обширный набор сценариев, которые можно программировать и расширять, используя новое ПО EV3.

EL3CTRIC GUITAR - Ударяя по одной струне, перебирая пальцами по безладовому грифу, используя тремоло-систему, можно исполнять невероятные соло на этой гитаре!

EV3MEG - робот-помощник, способный перемещаться точно по линиям определенного цвета, благодаря датчику освещенности. Обнаруживает препятствия на пути и реагирует на них. Способен перемещаться как самостоятельно, так и управляться с помощью ИК-маяка.

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

MR.B3AM - измеряет длину балок LEGO® Technic, определяет цвет и размер балок.

ROBODOZ3R - робот-бульдозер. Может двигаться самостоятельно или управляться дистанционно. Расчищает себе путь, отваливая и отодвигая с пути мешающие предметы.

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

Стали довольно популярны соревнования роботов, в которых каждое учебное заведение может выставить свои команды роботостроителей на соревнования. Проводятся такие соревнования и в России, самое известное из таких мероприятий — РобоФест. Лучшие из лучших попадают на Всемирную Олимпиаду Роботов - WRO (World Robot Olympiad).

Где купить LEGO Mindstorms EV3?

Цена LEGO Mindstorms EV3 зависит от комплектации набора. Различные комплектации LEGO Mindstorms, его образовательные версии, можно приобрести у специализированных продавцов LEGO Education.

Андрей Повный

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

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

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

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, фантазия ребенка будет поистине безграничной.
  • Если вы разыскиваете конструктор для себя, то стоит обратить внимание на ТРИК или #Структор, так как они оба совместимы с советским железным конструктором, а второй к тому же, еще, и выполнен из ПВХ.
  • Но, так или иначе, эти конструкторы очень сильно улучшат способности вашего ребенка к логическому мышлению, а также подготовят его к тому, что будет ждать его в школе или институте.

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

Основной модуль конструктора Lego Mindstorms EV3 может работать с прошивкой leJOS , позволяющей запускать Java-приложения. Специально для этого Oracle выпустил и поддерживает отдельную версию полноценной Java SE .

Нормальная JVM позволила мне использовать встроенный в нее протокол Java Management Extensions (JMX), чтобы реализовать удаленное управление роботом-манипулятором. Для объединения управляющих элементов, показаний датчиков и картинок с установленных на роботе IP-камер используется мнемосхема, сделанная на платформе AggreGate.


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

Оба компьютера подключены к IP-сети помещения через Wi-Fi адаптеры NETGEAR WNA1100. Робот управляется восемью двигателями Mindstorms - из них 4 «большие» и 4 «маленькие». Также установлены инфракрасный и ультразвуковой датчики для автоматической остановки у препятствия при движении задним ходом, два датчика прикосновения для остановки поворота манипулятора из-за препятствия, и гироскопический датчик, облегчающий ориентировку оператора при помощи визуализации положения плеча.

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

В самом манипуляторе два двигателя отвечают за подъем и опускание «плеча» и «предплечья». Еще три двигателя занимаются подъемом/опусканием кисти, ее поворотом на 360 градусов и сжиманием/разжиманием «пальцев».

Самым сложным механическим узлом является «кисть». Из-за необходимости выноса трех тяжелых двигателей в район «локтя» конструкция получилась достаточно хитрой.

В целом все выглядит так (коробок спичек был с трудом найден для масштаба):

Для передачи картинки установлены две камеры:

  • Обычный Android-смартфон с установленным приложением IP Webcam для общего обзора (на снимке HTC One)
  • Автономная Wi-Fi микро-камера AI-Ball , установленная прямо на «кисти» манипулятора и помогающая хватать предметы сложной формы

Программирование EV3

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

Код главных классов ПО руки-манипулятора

public class Arm { public static void main(String args) { try { EV3Helper.printOnLCD("Starting..."); EV3Helper.startJMXServer("192.168.1.8", 9000); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); EV3LargeRegulatedMotor motor = new EV3LargeRegulatedMotor(BrickFinder.getDefault().getPort("A")); LargeMotorMXBean m = new LargeMotorController(motor); ObjectName n = new ObjectName("robot:name=MotorA"); mbs.registerMBean(m, n); // Registering other motors here EV3TouchSensor touchSensor = new EV3TouchSensor(SensorPort.S1); TouchSensorMXBean tos = new TouchSensorController(touchSensor); n = new ObjectName("robot:name=Sensor1"); mbs.registerMBean(tos, n); // Registering other sensors here EV3Helper.printOnLCD("Running"); Sound.beepSequenceUp(); Thread.sleep(Integer.MAX_VALUE); } catch (Throwable e) { e.printStackTrace(); } } } public class EV3Helper { static void startJMXServer(String address, int port) { MBeanServer server = ManagementFactory.getPlatformMBeanServer(); try { java.rmi.registry.LocateRegistry.createRegistry(port); JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://" + address + ":" + String.valueOf(port) + "/server"); Map props = new HashMap(); props.put("com.sun.management.jmxremote.authenticate", "false"); props.put("com.sun.management.jmxremote.ssl", "false"); JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer(url, props, server); connectorServer.start(); } catch (Exception e) { e.printStackTrace(); } } static void printOnLCD(String s) { LCD.clear(); LCD.drawString(s, 0, 4); } }

Для каждого типа датчика и мотора создан интерфейс MBean"а и реализующий его класс, которые напрямую делегирует все вызовы классу, входящему в leJOS API.

Пример кода интерфейса

public interface LargeMotorMXBean { public abstract void forward(); public abstract boolean suspendRegulation(); public abstract int getTachoCount(); public abstract float getPosition(); public abstract void flt(); public abstract void flt(boolean immediateReturn); public abstract void stop(boolean immediateReturn); public abstract boolean isMoving(); public abstract void waitComplete(); public abstract void rotateTo(int limitAngle, boolean immediateReturn); public abstract void setAcceleration(int acceleration); public abstract int getAcceleration(); public abstract int getLimitAngle(); public abstract void resetTachoCount(); public abstract void rotate(int angle, boolean immediateReturn); public abstract void rotate(int angle); public abstract void rotateTo(int limitAngle); public abstract boolean isStalled(); public abstract void setStallThreshold(int error, int time); public abstract int getRotationSpeed(); public abstract float getMaxSpeed(); public abstract void backward(); public abstract void stop(); public abstract int getSpeed(); public abstract void setSpeed(int speed); }

Пример кода реализации MBean"а

public class LargeMotorController implements LargeMotorMXBean { final EV3LargeRegulatedMotor motor; public LargeMotorController(EV3LargeRegulatedMotor motor) { this.motor = motor; } @Override public void forward() { motor.forward(); } @Override public boolean suspendRegulation() { return motor.suspendRegulation(); } @Override public int getTachoCount() { return motor.getTachoCount(); } @Override public float getPosition() { return motor.getPosition(); } @Override public void flt() { motor.flt(); } @Override public void flt(boolean immediateReturn) { motor.flt(immediateReturn); } // Similar delegating methods skipped }

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

Подключение к серверу

Непосредственное управление роботом осуществляет сервер IoT-платформы AggreGate . Установленная бесплатная версия продукта AggreGate Network Manager включает драйвер протокола JMX и позволяет подключить до десяти JMX-хостов. Нам понадобится подключить два - по одному на каждый кирпичик EV3.

Прежде всего, нужно создать аккаунт JMX устройства, указав в настройках URL, заданный при запуске JMX сервера:

Свойства соединения с JMX-устройством


После этого выбираем активы (т.е. MBean"ы в данном случае), которые будут добавлены в профиль устройства:

Выбор MBean"ов


И через несколько секунд смотрим и меняем текущие значения всех опрошенных свойств MBean"ов:

Снимок устройства


Можно также потестировать различные операции вызывая вручную методы MBean"ов, например forward() и stop().

Список операций


Далее настраиваем периоды опроса для датчиков. Высокая частота опроса (100 раз в секунду) используется, так как управляющий сервер находится в локальной сети вместе с роботом и именно сервер принимает решения об остановке вращения при упоре в препятствие и т.п. Решение, безусловно, не промышленное, но в хорошо работающей Wi-Fi сети в рамках одной квартиры показало себя вполне адекватным.

Периоды опроса


Интерфейс оператора

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

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

Вид изнутри редактора интерфейсов

Вся форма:

Вид с показанными панелями-контейнерами:


Теперь, как говорят АСУТПшники, осталось «оживить мнемосхему». Для этого применяются так называемые привязки связывающие свойства и методы графических компонентов интерфейса со свойствами и методами серверных объектов. Так как компьютеры EV3 уже подключены к серверу, серверными объектами могут быть и MBean"ы нашего робота.

Весь интерфейс оператора содержит около 120 привязок, большая часть из которых однотипна:

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

Вторая половина привязок позволяет управлять роботом с клавиатуры, предварительно нажав на кнопку Keyboard Control. Эти привязки реагируют на события keyPressed и keyReleased , а в условии каждой привязки прописано, на какой именно код кнопки нужно реагировать.

Все управляющие привязки вызывают методы forward() , backward() и stop() различных MBean"ов. Поскольку доставка событий происходит асинхронно, важно, чтобы вызовы функций forward() /backward() и последующие вызовы stop() не перепутались. Для этого привязки, вызывающие методы одного MBean"а, добавлены в одну очередь (Queue).

Две отдельные группы привязок выставляют начальные скорости и ускорения двигателей (сейчас это реализовано на стороне сервера при помощи модели, поэтому эти привязки отключены) и меняют скорости/ускорения при перемещении ползунков Speed и Acceleration.

1.1 Что такое LEGO® MINDSTORMS®?

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

1.3 Что такое интеллектуальный модуль EV3?

Модуль EV3 - это программируемый интеллектуальный модуль, который, будучи мозгом робота, управляет моторами и датчиками, чтобы заставить его двигаться, ходить, говорить, а также обеспечивает беспроводную связь через Wi-Fi и Bluetooth.

2.1 Что входит в набор LEGO® MINDSTORMS® EV3?

Инструкции по сборке первого робота, TRACK3R
Соединительные кабели
1 USB-кабель
Детали LEGO Technic: 594 детали
1 модуль EV3
2 больших интерактивных сервомотора
1 средний интерактивный сервомотор
1 датчик касания
1 датчик цвета
1 инфракрасный датчик
1 инфракрасный маяк

2.2 Доступны ли инструкции по сборке в формате PDF?

2.3 Сколько роботов можно собрать, используя набор LEGO MINDSTORMS EV3 (31313)?

Сразу&ndash можно собрать пять моделей - инструкции по сборке вместе с сопровождающими программами содержатся в программном обеспечении EV3. Кроме того, существуют еще 12 дополнительных роботов, созданных нашими фанатами, информацию о которых можно получить через меню EV3 Software Lobby или через веб-сайт&ndash- все 12 моделей можно собрать, используя детали из набора LEGO® MINDSTORMS® EV3 (31313).

3.1 Можно ли использовать программное обеспечение LEGO® MINDSTORMS® EV3 Home Edition как на платформе Macintosh, так и на PC?

Да. Для программирования модулей LEGO MINDSTORMS EV3 программное обеспечение EV3 можно использовать как на платформе Macintosh, так и на платформе PC..

3.3 На каких языках доступно программное обеспечение LEGO® MINDSTORMS® EV3 Home Edition?

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

  • Китайский (Упрощенный)
  • Датский
  • Голландский
  • Английский (США)
  • Французский
  • Немецкий
  • Японский
  • Корейский
  • Русский
  • Испанский (ESSA)

3.4 Имеется ли руководство пользователя для программного обеспечения EV3?

Да. Руководство пользователя доступно для загрузки в формате pdf’с сайта сайт/mindstorms

3.5 На каких языках существует руководство пользователя по программному обеспечению EV3?

Вы можете загрузить руководство пользователя EV3 с сайта сайт/mindstorms на следующих языках:

  • Чешский
  • Китайский (упрощенный)
  • Датский
  • Голландский
  • Английский (США)
  • Эстонский
  • Финский
  • Французский
  • Немецкий
  • Венгерский
  • Итальянский
  • Японский
  • Корейский
  • Латвийский
  • Литовский
  • Норвежский
  • Польский
  • Португальский
  • Румынский
  • Русский
  • Словацкий
  • Испанский (ESSA)
  • Шведский
  • Украинский

3.6 Существует ли возможность программирования на самом модуле EV3?

Да. Мы продолжили работу и усовершенствовали программное приложение модуля для модуля LEGO® MINDSTORMS® EV3 . Вы с легкостью можете программировать основные задачи на модуле EV3. Все программы модуля EV3 могут быть загружены в программное обеспечение LEGO MINDSTORMS EV3 Home Edition для дальнейшего расширенного программирования.

3.7 Существуют ли инструменты для создания моих собственных программируемых блоков для программного обеспечения LEGO® MINDSTORMS® EV3 Home Edition?

Да. Для большинства пользователей этот инструмент называется «Мои Блоки» (MyBlocks), и он уже встроен в стандартное программное обеспечение EV3. Для людей, создающих свои собственные аппаратные средства, предоставляется комплект разработчика программного обеспечения.

3.8 Могу ли я запрограммировать модуль LEGO® MINDSTORMS® EV3, используя программное обеспечение NXT?

Нет. В программном обеспечении NXT нет возможности программировать модуль EV3.

3.9 Будет ли доступен справочный материал в формате pdf, в котором показано, как выполнять программирование на модуле EV3, а также использовать программное обеспечение LEGO® MINDSTORMS® EV3 Home Edition?

Существует руководство пользователя в формате pdf, в котором содержится краткая информация о приложении для прямого программирования модуля EV3, и о том, как создавать программу. Для помощи в первых шагах программирования EV3, в разделе программного обеспечения есть два видеоролика с кратким руководством.

3.10 Совместимо ли программное обеспечение LEGO® MINDSTORMS® EV3 Home Edition с прежними версиями аппаратных средств NXT?

Да. Вы можете программировать интеллектуальный модуль NXT, используя новое программное обеспечение LEGO MINDSTORMS EV3 Home Edition. Модуль NXT поддерживает не все функции программного обеспечения.

3.11 Будет ли ПО LEGO® MINDSTORMS® EV3 работать на планшете?

Да и нет. Бесплатное приложение EV3 Programmer, которое можно загрузить через App Store и Google Play, позволяет программировать роботов с помощью планшета через Bluetooth. По сравнению с программным обеспечением для ПК и Mac, данное приложение намного проще в использовании и не предусматривает более сложных программных функций, блоков данных и вычислений. Приложение EV3 Programmer рекомендовано для новичков в LEGO MINDSTORMS или для тех, кто хочет иметь возможность программировать своих роботов, даже если стационарного ПК или Mac нет под рукой. Для завершения установки программного обеспечения EV3 необходимо установить программу LEGO MINDSTORMS EV3 на ПК или Mac. В настоящее время данная версия программного обеспечения недоступна для планшетов.

3.12 Помимо программного обеспечения EV3, какие платформы программирования можно использовать для программирования модулей LEGO® MINDSTORMS® EV3?

Кроме программного обеспечения EV3, вы также можете использовать LabVIEW и RobotC. Программное обеспечение EV3 - это открытая платформа, и мы ожидаем, что сообщество MINDSTORMS будет использовать дополнительные языки, такие как JAVA.

3.13 Какие новые возможности добавлены в программное обеспечение LEGO® MINDSTORMS® EV3 Home Edition по сравнению с NXT?

В программном обеспечении EV3 есть много новых функций и усовершенствований по сравнению с программным обеспечением NXT. Вот наиболее заметные из них: Главная страница

  • Новый дизайн для удобного для перемещения по контенту, включая доступ к файлам проекта для пяти героев-роботов EV3: TRACK3R, SPIK3R, R3PTAR, GRIPP3R и EV3RSTORM, а также прямые ссылки на 12 бонусных роботов, созданных фанатами.
Редактор контента
  • Контент можно редактировать непосредственно внутри программного обеспечения, что позволяет выполнять настройку существующих проектов или создавать новые проекты с нуля.
Более тесная связь между модулем EV3 и средой программирования
  • Страница аппаратных средств позволяет отслеживать их состояние и значения.
  • Элементы аппаратных средств автоматически распознаются благодаря поддержке автоматической идентификации.
  • Настройка Bluetooth упрощается благодаря средствам адаптации USB к Bluetooth.
Средства отладки теперь являются частью среды программирования.
  • Важная информация о выполнении программы
  • Программные блоки будут отображать предупредительный знак, если обнаруженное аппаратное средство, отличается от требуемого.
  • Зонды позволяют видеть прохождение числовых значений по шинам данных.
Новые возможности программных блоков’:
  • Простое линейное программирование путем стыкования блоков (больше не нужно использовать луч).
  • Параметры блоков настраиваются непосредственно на блоках.
  • Читайте запрограммированную последовательность непосредственно на блоках.
  • Усовершенствованные шины последовательности действий упрощают отображение структуры программы и создают параллельное выполнение.
  • “Была добавлена функция Ожидание изменения” (Wait for change), которая позволяет легко создавать роботов, действующих в зависимости от окружающей обстановки и не ждущих изменения пороговой величины, реализуемого путем сравнения измеренных значений.
  • Усовершенствованы шины данных, добавлена функция приведения данных, упрощающая преобразование типов данных.
  • Массивы интегрированы в стандартные блоки.
  • Стало возможным прерывание цикла, что позволяет создавать усовершенствованные механизмы управления состоянием.

3.14 Что представляет собой редактор контента в программном обеспечении EV3?

Редактор контента позволяет редактировать, адаптировать и настраивать проекты &mdash - или же создавать свои собственные новые с нуля. Вы можете использовать редактор контента для изменения своих проектов, вставляя в них текст, изображения, видеоролики и звук.

3.15 Будет ли редактор контента поддерживать файлы.MOV и.AVI?

Редактор контента поддерживает следующие форматы файлов, за исключением.AVI:
Изображение: JPG, PNG
Видео: MP4, ASF, WMV, MOV
Звук: MP3, WMA

3.16 Как обновлять программное обеспечение EV3?

Из пункта «Справка» в верхней строке меню программного обеспечения EV3 вы можете включить в программном обеспечении EV3 функцию автоматической проверки наличия обновлений. После выбора опции «Проверять наличие обновлений ПО» появится флажок, и программное обеспечение EV3 будет регулярно проверять наличие обновлений. (Для этого требуется подключение к Интернету.) Если имеется соответствующее обновление, программное обеспечение EV3 уведомит вас об этом.. После загрузки вы можете установить обновление.

4.1 Для чего может использоваться связь по Bluetooth в модуле LEGO® MINDSTORMS® EV3?

Технология Bluetooth обеспечивает связь с программным обеспечением EV3 или связь между модулями EV3. Для работы приложений EV3 Programmer и EV3 Commander необходимо подключить планшет к роботу посредством Bluetooth.

4.2 Зачем использовать USB-кабель для подключения модуля LEGO® MINDSTORMS® EV3 к компьютеру, если существует возможность связи по Bluetooth?

USB-подключение более быстрое, кроме того, в некоторых компьютерах модуль Bluetooth отсутствует.

4.3 Могут ли модули LEGO® MINDSTORMS® EV3 подключаться шлейфом по Bluetooth?

4.4 В чем разница между Wi-Fi и Bluetooth?

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

4.5 Что означает надпись “made for iPod, iPhone and iPad”?

Связь Bluetooth на модуле EV3 поддерживает тот же протокол, который используют устройства iOS, - например, вы можете осуществлять связь с iPod, iPhone и iPad. (В модуле NXT этой возможности нет.)

5.1 Для чего может использоваться Wi-Fi с модулем LEGO® MINDSTORMS® EV3?

Функция Wi-Fi может использоваться для связи модуля EV3 с программным обеспечением EV3. Адаптер Wi-Fi должен быть подключен к USB-порту модуля EV3. (Адаптер Wi-Fi не входит в комплект продукта.)

Да. С интеллектуальным модулем EV3 в качестве Wi-Fi-адаптера рекомендуется использовать беспроводной адаптер NETGEAR N150 (WNA1100) и адаптер EDIMAX EW-7811UN.

5.3 Зачем использовать USB-кабель для подключения модуля LEGO® MINDSTORMS® EV3 к компьютеру, если существует возможность связи по Wi-Fi?

USB-подключение более быстрое. Батарея будет работать дольше, если подключение по Wi-Fi отключено.

5.4 Могут ли модули LEGO® MINDSTORMS® EV3 подключаться шлейфом через Bluetooth?

Нет. При подключении шлейфом для подключения модулей EV3 используется USB-кабель.

5.5 Нужен ли маршрутизатор?

Да. Если вы хотите использовать Wi-Fi, то вам потребуется маршрутизатор.

5.6 Wi-Fi лучше, чем Bluetooth?

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

6.1 Какие датчики LEGO для LEGO® MINDSTORMS® EV3 существуют?

В набор LEGO MINDSTORMS EV3 (31313) входят следующие датчики:

  • 1 Датчик касания
  • 1 Датчик цвета
  • 1 ИК-датчик
  • 1 ИК-маяк
Датчики, перечисленные ниже можно приобрести дополнительно в онлайн-магазине сайт:
  • Гироскопический датчик
  • Ультразвуковой датчик, а также другие датчики сторонних производителей.

6.2 Чем отличаются датчики LEGO® MINDSTORMS® EV3 от датчиков NXT?

Датчики LEGO MINDSTORMS EV3 - это совершенно новые датчики, которые имеют улучшенный интерфейс и рабочие характеристики, а также обеспечивают бóльшую точность по сравнению с датчиками NXT.

  • Датчик цвета EV3 может обнаруживать 7 цветов (и отсутствие цвета), тогда как датчик цвета NXT может обнаруживать только 6 цветов
  • Датчик цвета EV3 имеет режим отраженного света, который удаляет фоновое освещение.
  • Датчики EV3 могут возвращать новые значения 1000 раз в секунду, тогда как датчики NXT возвращают новые значения только 333 раза в секунду.

6.3 Будут ли датчики LEGO® MINDSTORMS® EV3 работать с интеллектуальным модулем NXT?

Нет. Датчики LEGO MINDSTORMS EV3 являются цифровыми, и поэтому не будут работать с интеллектуальным модулем NXT.

6.4 Потребуются ли новые соединительные кабели?

Нет. Для LEGO® MINDSTORMS® EV3 используются такие же соединительные кабели RJ12, как и LEGO MINDSTORMS NXT.

6.5 Можно ли использовать датчики LEGO® MINDSTORMS® EV3 вместе с датчиками NXT?

Да. Для модуля LEGO MINDSTORMS EV3 используются такие же соединительные кабели RJ12, как и для модуля LEGO MINDSTORMS NXT.

6.6 Могут ли датчики NXT использоваться с модулем LEGO® MINDSTORMS® EV3?

Да. LEGO MINDSTORMS EV3 использует такие же элементы LEGO Technic и соединительные кабели RJ12.

7.1 Какие моторы входят в набор LEGO® MINDSTORMS® EV3?

Два больших сервомотора и один средний сервомотор.

7.2 Чем отличаются интерактивные сервомоторы LEGO® MINDSTORMS® EV3 от интерактивных сервомоторов NXT?

Характеристики большого мотора EV3 такие же, как и в NXT, однако интерфейс оптимизирован для обеспечения более быстрой сборки с бóльшими возможностями.
Средний интерактивный сервомотор - это совершенно новый мотор, обеспечивающий новые возможности.

7.3 Взаимозаменяемы ли сервомоторы LEGO® MINDSTORMS® EV3 и сервомоторы NXT?

Технически да, но большие моторы LEGO MINDSTORMS EV3 и сервомоторы NXT имеют разную конструкцию. Большие моторы LEGO MINDSTORMS EV3 предоставляют более интересный опыт конструирования.

7.4 Могут ли моторы LEGO® MINDSTORMS® EV3 и NXT использоваться вместе?

7.5 Можно ли использовать сервомоторы LEGO® MINDSTORMS® EV3 с модулем NXT?

Да. Вы можете использовать как большие сервомоторы, так и средний сервомотор с модулем NXT.

7.6 Можно ли использовать моторы с кривошипно-шатунным механизмом с модулем LEGO® MINDSTORMS® EV3?

Нет. Коннекторы не совпадают.

7.7 Что значит “подключение шлейфом”?

Подключение шлейфом - это возможность соединять до четырех модулей LEGO® MINDSTORMS® EV3 с помощью USB-кабеля, что обеспечивает наличие у вашего робота 16 выходных портов и 16 входных портов, управляемых с главного модуля LEGO MINDSTORMS EV3.

7.8 Что необходимо для подключения шлейфом?

Несколько модулей LEGO® MINDSTORMS® EV3, датчики и моторы, а также дополнительный обычный USB-кабель для LEGO MINDSTORMS EV3.



Рекомендуем почитать

Наверх