В данной статье речь пойдет о новой версии конструктора - LEGO Mindstorms Education EV3. Но прежде чем рассказывать о нововведениях EV3, давайте познакомимся с серией конструкторов LEGO Mindstorms поближе.
LEGO Mindstorms – робототехнический конструктор для ребят в возрасте от 10 лет. В качестве строительных блоков для робота используются детали LEGO Techniс – многие ребята уже знакомы с ними по конструкторам «Технология и физика», «Пневматика», «Возобновляемые источники энергии». Но построить каркас робота недостаточно: надо «научить» его получать информацию из окружающей среды и реагировать на нее. Для этого используются специальные устройства – сенсоры: они позволяют определять цвет, освещенность, расстояние до ближайших предметов и многое другое. Реагировать на «раздражители» робот может с помощью моторов – либо уехать куда-нибудь, либо что-нибудь сделать – например, укусить обидчика за палец. А «мозгом» робота является специальный программируемый блок, к которому и подключаются все моторы и датчики.
Перейдем к составу набора LEGO Mindstorms EV3. Вот что входит в образовательную версию набора:
- 1 программируемый блок
- 3 мотора:
- 2 больших мотора
- 1 средний мотор
- 5 датчиков:
- 2 датчика касания
- 1 датчик цвета
- 1 ультразвуковой датчик расстояния
- 1 гироскоп
- Аккумуляторная батарея для робота
- 528 деталей Lego Technic
Датчики и моторы
Рассмотрим, что же изменилось в EV3 по сравнению со старой версией NXT.
В наборе будет 3 мотора, но один из них будет отличаться как по размерам так и по техническим характеристикам.
Датчик звука был заменен на гироскоп. Остальные типы датчиков остались прежними.
Еще одной особенностью является авто-определение датчиков и моторов при их подключении к блоку – о данной особенности я расскажу в разделе, описывающем новую среду программирования EV3.
Характеристики датчиков и моторов представлены ниже.
Датчик касания
Датчик касания EV3 очень похож на датчик предыдущей версии. Он определяет, когда кнопка нажата или отпущена, также он может подсчитывать одиночные или многократные нажатия.
Датчик цвета
Датчик цвета EV3 различает 7 цветов и может определить отсутствие цвета. Как и в прошлой версии он может работать как датчик освещенности.
- Измеряет отраженный красный свет и окружающее освещение
- Способен определять различия между белым и черным или цветами: синим, зеленым, желтым, красным, белым и коричневым
- Частота работы: 1 кГц
Гироскоп
Гироскопический датчик EV3 измеряет вращательное движение робота и изменение его положения.
- Может использоваться для определения текущего направления вращения
- Точность: +/- 3 градуса на 90 градусов оборота (в режиме измерения наклона)
- Может определить максимум 440 градусов/c (в режиме гироскопа)
- Частота работы: 1 кГц
Ультразвуковой датчик расстояния
К основной функции ультразвукового датчика EV3 добавилась еще одна - он также может "слушать" ультразвуковые колебания, испускаемые другими датчиками ультразвука.
- Может измерять расстояние в диапазоне 3 - 250 см.
- Точность измерений : +/- 1 см
- Дискретность результата измерений: 0.1 см.
- Может быть использован для поиска других активных ультразвуковых датчиков (режим прослушивания)
- Красная LED подсветка вокруг "глаз"
Большой мотор
Большой сервомотор EV3 очень похож на предыдущую версию мотора NXT, однако корпус мотора стал чуть больше (виртуально он теперь занимает 14x7x5 отверстий против бывших 14x6x5). Также были изменены места крепления моторов и их тип.
- Максимальные обороты - 160- 170 об/мин.
- Заданный крутящий момент - 40 Н/см
- Реальный крутящий момент - 20 Н/см.
- Встроенный датчик угла поворота (энкодер) мотора с точностью 1 градус
Средний мотор
Средний сервомотор EV3 основан на Power Function моторе аналогичного размера. Дополнительное место потребовали только датчик угла поворота и порт для подключения. Этот мотор отлично подойдет для работы под низкими нагрузками и высокими скоростями.
- Максимальные обороты - 240- 250 об/мин.
- Заданный крутящий момент - 12 Н/см
- Реальный крутящий момент - 8 Н/см.
- Встроенный датчик угла поворота (энкодер) мотора с точностью 1 градус
NXT датчики, моторы и кабели совместимы с EV3, таким образом все ранее построенные роботы могут управляться новым блоком.
Программируемый блок EV3
Серьезные изменения произошли и с микрокомпьютером EV3. По сравнению с NXT, EV3 блок имеет более быстрый процессор, больше памяти. Прошивка блока EV3 базируется на свободно распространяемой ОС Linux, что дает возможность создавать свои прошивки для блока. Подключить робота к компьютеру теперь возможно не только через USB и Bluetooth, но и по Wi-Fi. Между собой роботы также могут «общаться» по USB, Bluetooth и Wi-Fi.
Ниже представлена сравнительная таблица характеристик NXT и EV3:
| NXT | EV3 |
Процессор | Atmel 32-Bit ARM AT91SAM7S256
48 MHz 256 KB FLASH памяти 64 KB RAM памяти | ARM9
300 MHz 16 Mb Flash памяти 64 Mb RAM памяти |
Со-процессор | Atmel 8-Bit ARM AVR, ATmega48
8 MHz 4 KB FLASH памяти 512 Byte RAM памяти | отсутствует |
Операционная система | Проприетарная | Linux |
Порты ввода (для датчиков) | 4 порта
Поддерживает аналоговые, цифровые датчики Скорость передачи данных: 9600 бит/с (I2C) | 4 порта
Поддерживает аналоговые, цифровые датчики Скорость передачи данных: до 460.8 Кбит/с (UART) |
Порты вывода (для моторов) | 3 порта
| 4 порта
|
Передача данных по USB | Используется режим full speed: 12 Мбит/c | Используется режим high speed: 480 Мбит/с |
Подключение USB устройств | Нет возможности | Возможно последовательное подключение до 3 устройств, в том числе сетевых карт wi-fi и flash карт |
Устройство для чтения SD карт | Отсутствует | Поддерживает miniSD карты, максимальный объем - 32 Гб |
Подключение к мобильным устройствам | Возможно подключение к устройствам с ОС Android | Возможно подключение к устройствам с ОС Android и iOS (iPhone, iPad) |
Экран | LCD, монохромный
100 * 64 пикселей | LCD, монохромный
178 * 128 пикселей |
Взаимодействие | Bluetooth
USB 2.0 | Bluetooth v2.1 DER
USB 2.0 (при подключении к ПК USB 1.1 (при последовательном подключении нескольких устройств) Wi-Fi |
Среда программирования
С EV3 в комплекте поставляется новая графическая среда разработки на базе LabView, похожая на NXT-G. Работать она будет, как и NXT-G, на ОС Windows и Mac.
Среда разработки EV3 была значительно улучшена. Теперь все материалы для робота: программы для робота, документацию, результаты экспериментов, фото и видео - можно хранить в проекте. Был также добавлен инструмент zoom, который позволяет масштабировать программу, чтобы, например, увидеть всю программу целиком. Стоит отметить, что NXT блок можно программировать с помощью новой среды EV3, однако старый блок поддерживает не все особенности нового языка программирования.
Перечислим основные нововведения среды программирования EV3:
- Тесная интеграция среды программирования с блоком:
- Добавлена специальная страница с подключенным оборудованием. Она позволяет отслеживать статус EV3 блока и получать значения с датчиков в реальном времени.
- Датчики и моторы распознаются при подключении автоматически, благодаря функции auto-id. Это позволяет не указывать, что к такому-то порту подключен такой-то датчик или мотор.
- Новый режим отладки:
- В процессе работы программы подсвечивается выполняемый блок. Это позволяет точно понимать поведение программы.
- На программном блоке загорается специальный символ, если к данному порту подключен другой датчик или мотор.
- Добавлена возможность просматривать значения, передаваемые через каналы данных (data wires).
- Новые возможности программных блоков:
- Сцепление блоков друг с другом позволило отказаться от "балки исполнения", на которой располагались блоки в среде NXT-G.
- У блоков нет такого понятия, как панель настройки, - поведение теперь настраивается непосредственно на блоке, что привело к увеличению их размера. Программу теперь намного легче читать – сразу видно как настроены датчики и моторы.
- Появились блоки "ждать изменения", которые позволяют реагировать на факт изменения значения, а не на изменение до определенного значения как в NXT-G.
- Улучшения в передачи данных от блока к блоку позволяют упростить преобразование типов (теперь не нужно вручную преобразовывать, например, число в строку).
- Добавлена возможность работы с массивами.
- Стал возможен досрочный выход из цикла.
Кроме нового языка программирования появились программы под Android и iPhone\iPad для управления роботом. Также на базе программы Autodesk Invertor Publisher создана программа для создания и просмотра пошаговых 3D инструкций. В этой программе можно масштабировать и вращать модель на каждом этапе сборки, что позволяет строить более сложных роботов по инструкциям.
Базовые роботы
В образовательный набор включены инструкции для сборки 5 роботов:
Color Sorter
Классическая задача по сортировке предметов (в данном случае - Lego деталей) по цвету.
Gyro Boy
Робот-сигвей, использующий гироскоп для балансировки.
Puppy
Робот-собачка, которую можно гладить, кормить. Спать и справлять нужду она также умеет :) Напоминает тамагочи.
Робо-рука
Позволяет перемещать предметы.
Для EV3 набора был подготовлен ресурсный набор LEGO MINDSTORMS Education EV3, позволяющий собирать другие модели, используя новые детали.
При написании статьи использовались материалы блога nnxt.blogspot.com.