sonyps4.ru

Интеллектуальные игрушки – программируемые роботы конструкторы. В чем разница между Wi-Fi и Bluetooth? Что представляет собой редактор контента в программном обеспечении EV3

В этом разделе представлены различные Лего роботы. Начиная с Mindstorms - робота для продвинутых пользователей и даже профессионалов, заканчивая персонажами легенд: Hero Factory, Ninjago, Chima и др.


Начнём наше повествование с необычной лего игрушки – электронного интерактивного робота на базе процессора NXT 2.0! Его, с помощью инструкции, может собрать даже 10-12-летний ребёнок! LEGO Роботы mindstorms понравится не только детям, но и их родителям, так как он очень функционален и возможности его программирования поистине безграничны! Можно сконструировать свои программируемые модели!

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

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

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

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

Ещё одна серия – это Фабрика Героев. Герои из серии Hero Factory являются очень колоритными существами, это гибрид человека и робота и название им – киборги! Фигурки роботов имеют подвижные руки и ноги, они держат различное оружие, которое помогает им сражаться с полчищами мутантов, которые прислуживают Огненному Лорду.

Данная серия Hero Factory является аналогом Биониклов, поэтому её с радостью воспримут поклонники мультфильмов про роботов.

Среди персонажей есть как добрые: Стормер, Фурно, Бриз и другие, так и отрицательные герои: Дриллдозер, Джетбаг, Вон Небула, которые подчиняются могущественному и злому Огненному Лорду. Попробуйте собрать всю коллекцию фигурок Фабрика Героев лего роботов и устроить своё сражение за торжество добра и справедливости!

Основной модуль конструктора 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.

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

8.1. Изучаем инфракрасный датчик и инфракрасный маяк

(Рис. 1) в своей работе использует световые волны, невидимые человеку - инфракрасные волны* . Такие же волны используют, например, дистанционные пульты управления различной современной бытовой техникой (телевизорами, видео и музыкальными устройствами). Инфракрасный датчик в режиме "Приближение" самостоятельно посылает инфракрасные волны и, поймав отраженный сигнал, определяет наличие препятствия перед собой. Еще два режима работы инфракрасный датчик реализует в паре с инфракрасным маяком (Рис. 2) . В режиме "Удаленный" инфракрасный датчик умеет определять нажатия кнопок инфракрасного маяка, что позволяет организовать дистанционное управление роботом. В режиме "Маяк" инфракрасный маяк посылает постоянные сигналы, по которым инфракрасный датчик может определять примерное направление и удаленность маяка, что позволяет запрограммировать робота таким образом, чтобы он всегда следовал в сторону инфракрасного маяка. Перед использованием инфракрасного маяка в него необходимо установить две батарейки AAA.

Рис. 1

Рис. 2

8.2. Инфракрасный датчик. Режим "Приближение"

Этот режим работы инфракрасного датчика похож на режим определения расстояния ультразвуковым датчиком. Разница кроется в природе световых волн: если звуковые волны отражаются от большинства материалов практически без затухания, то на отражение световых волн влияют не только материалы, но и цвет поверхности. Темные цвета в отличие от светлых сильнее поглощают световой поток, что влияет на работу инфракрасного датчика. Диапазон работы инфракрасного датчика также отличается от ультразвукового - датчик показывает значения в пределах от 0 (предмет находится очень близко) до 100 (предмет находится далеко или не обнаружен). Еще раз подчеркнем: инфракрасный датчик нельзя использовать для определения точного расстояния до объекта, так как на его показания в режиме "Приближение" оказывает влияние цвет поверхности исследуемого предмета. В свою очередь это свойство можно использовать для различия светлых и темных объектов, находящихся на равном расстоянии до робота. С задачей же определения препятствия перед собой инфракрасный датчик справляется вполне успешно.

Решим практическую задачу, похожую на Задачу №14 Урока №7 , но, чтобы не повторяться, усложним условие дополнительными требованиями.

Задача №17: написать программу прямолинейно движущегося робота, останавливающегося перед стеной или препятствием, отъезжающего немного назад, поворачивающего на 90 градусов и продолжающего движение до следующего препятствия.

У робота, собранного по инструкции small-robot-31313 , впереди по ходу движения установлен инфракрасный датчик. Соединим его кабелем с портом "3" модуля EV3 и приступим к созданию программы.

Рассмотрим программный блок "Ожидание" Оранжевой палитры, переключив его в Режим: - "Сравнение" - "Приближение" (Рис. 3) . В этом режиме программный блок "Ожидание" имеет два входных параметра: "Тип сравнения" и "Пороговое значение" . Настраивать эти параметры мы уже умеем.

Рис. 3

Решение:

  1. Начать прямолинейное движение вперед
  2. Ждать, пока пороговое значение инфракрасного датчика станет меньше 20
  3. Прекратить движение вперед
  4. Отъехать назад на 1 оборот двигателей
  5. Повернуть вправо на 90 градусов (воспользовавшись знаниями Урока №3, рассчитайте необходимый угол поворота моторов)
  6. Продолжить выполнение пунктов 1 - 5 в бесконечном цикле.

Попробуйте решить Задачу № 17 самостоятельно, не подглядывая в решение.

Рис. 4

А теперь для закрепления материала попробуйте адаптировать решение Задачи №15 Урока №7 к использованию инфракрасного датчика! Получилось? Поделитесь впечатлениями в комментарии к уроку...

8.3. Дистанционное управление роботом с помощью инфракрасного маяка

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

  1. Пользуясь инфракрасным маяком, направляйте передатчик сигнала (Рис. 5 поз. 1) в сторону робота. Между маяком и роботом должны отсутствовать любые препятствия! Благодаря широкому углу обзора инфракрасный датчик уверено принимает сигналы, даже если маяк располагается позади робота!
  2. На корпусе маяка расположены 5 серых кнопок (Рис. 5 поз. 2) , нажатия которых распознает инфракрасный датчик, и передает коды нажатий в программу, управляющую роботом.
  3. С помощью специального красного переключателя (Рис. 5 поз. 3) можно выбрать один из четырех каналов для связи маяка и датчика. Сделано это для того, чтобы в непосредственной близости можно было управлять несколькими роботами.

Рис. 5

Задача №18: написать программу дистанционного управления роботом с помощью инфракрасного маяка.

Мы уже знаем, что для реализации возможности выбора выполняющихся блоков необходимо воспользоваться программным блоком "Переключатель" Оранжевой палитры. Установим режим работы блока "Переключатель" в - "Измерение" - "Удалённый" (Рис. 6) .

Рис. 6

Для активации связи между инфракрасным датчиком и маяком необходимо установить правильное значение параметра "Канал" (Рис. 7 поз. 1) в соответствии с выбранным каналом на маяке! Каждому программному контейнеру блока "Переключатель" необходимо сопоставить один из возможных вариантов нажатия серых клавиш (Рис. 7 поз. 2) . Заметьте: некоторые варианты включают одновременное нажатие двух клавиш (нажатые клавиши помечены красным цветом). Всего в программном блоке "Переключатель" в этом режиме можно обрабатывать до 12 различающихся условий (одно из условий должно быть выбрано условием по умолчанию). Добавляются программные контейнеры в блок "Переключатель" нажатием на "+" (Рис. 7 поз.3) .

Рис. 7

Предлагаем реализовать следующий алгоритм управления роботом:

  • Нажатие верхней левой кнопки включает вращение левого мотора, робот поворачивает вправо (Рис. 7 поз. 2 значение: 1)
  • Нажатие верхней правой кнопки включает вращение правого мотора, робот поворачивает влево (Рис. 7 поз. 2 значение: 3)
  • Одновременное нажатие верхних левой и правой кнопок включает одновременное вращение вперед левого и правого мотора, робот двигается вперед прямолинейно (Рис. 7 поз. 2 значение: 5)
  • Одновременное нажатие нижних левой и правой кнопок включает одновременное вращение назад левого и правого мотора, робот двигается назад прямолинейно (Рис. 7 поз. 2 значение: 8)
  • Если не нажата ни одна кнопка маяка - робот останавливается (Рис. 7 поз. 2 значение: 0) .

При разработке алгоритма дистанционного управления вы должны знать следующее: когда нажата одна из комбинаций серых кнопок - инфракрасный маяк непрерывно посылает соответствующий сигнал, если кнопки отпущены, то отправка сигнала прекращается. Исключение составляет отдельная горизонтальная серая кнопка (Рис. 7 поз 2 значение: 9) . Эта кнопка имеет два состояния: "ВКЛ" - "ВЫКЛ" . Во включенном состоянии маяк продолжает посылать сигнал, даже если вы отпустите кнопку (о чём сигнализирует загорающийся зеленый светодиод), чтобы выключить отправку сигнала в этом режиме - нажмите горизонтальную серую кнопку еще раз.

Приступим к реализации программы:

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

  1. Вариантом по умолчанию назначим вариант, когда не нажата ни одна кнопка (Рис. 7 поз. 2 значение: 0) . Установим в контейнер программный блок , выключающий моторы "B" и "C" .
  2. В контейнер варианта нажатия верхней левой кнопки (Рис. 7 поз. 2 значение: 1) установим программный блок "Большой мотор" , включающий мотор "B" .
  3. В контейнер варианта нажатия верхней правой кнопки (Рис. 7 поз. 2 значение: 3) установим программный блок "Большой мотор" , включающий мотор "C" .
  4. В контейнер варианта одновременного нажатия верхних левой и правой кнопок (Рис. 7 поз. 2 значение: 5) установим программный блок "Независимое управление моторами" "B" и "C" вперед.
  5. В контейнер варианта одновременного нажатия нижних левой и правой кнопок (Рис. 7 поз. 2 значение: 8) установим программный блок "Независимое управление моторами" , включающий вращение моторов "B" и "C" назад.
  6. Поместим наш настроенный программный блок "Переключатель" внутрь программного блока "Цикл" .

По предложенной схеме попробуйте создать программу самостоятельно, не подглядывая в решение!

Рис. 8

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

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

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

Серия Лего Mindstorms это особое достижение компании Lego . Все дело в том, что эти конструкторы основаны на электромеханике и робототехнике, а значит, они будут интересны тем, кто имеет оригинальное мышление и хорошую фантазию, а также знание и понимание всех происходящих технических процессов. Именно поэтому очень часто набор Лего Роботы становится любимой игрушкой не только для ребят старшего школьного возраста, но и хобби для их пап и даже дедушек.

Покупая конструктор Лего Mindstorms, Вы получаете:

Интереснейшую игру-конструктор

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

Огромные возможности для развития творчества

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

Качественный продукт

Перед запуском серийного производства конструкторов все их компоненты проходят проверку на прочность на испытательных стендах. Каждый элемент Лего Роботы рассчитан на более чем 50 000 циклов сцепления. Для производства пластиковых элементов конструктора Лего Mindstorms не применяются тяжелые металлы и другие вредные для здоровья материалы.

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

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

Покупайте у нас набор Лего Mindstorms и создавайте игрушки, которые в Ваших руках непременно оживут!



Загрузка...