Новый конструктор LEGO SPIKE Prime - что это за зверь?
В начале 2020 года в мире робототехники произошло важное событие - компания LEGO выпустила новое образовательное решение - конструктор SPIKE Prime.
В парке LEGO теперь представлены 6 робототехнических наборов:
- RCX
- NXT
- EV3
- WeDo
- WeDo 2.0
- SPIKE
Подробнее об этих наборах читайте в статье Робототехнические конструкторы для школы и дома.
Давайте вместе рассмотрим возможности этого конструктра.
Знакомство
Набор LEGO Spike поставляется в яркой желтой коробке такого же размера, что и EV3.
Рыночная цена - чуть выше набора EV3 и значительно выше WeDo - 31 000 рублей. Внутри нас ждет следующий комплект деталей:
- Хаб (контроллер робота) с аккумулятором
- Кабель USB - microUSB для соединения с компьютером и зарядки аккумулятора.
- 2 средних мотора
- 1 большой мотор
- Датчик цвета
- Датчик расстояния
- Датчик силы нажатия (кнопка)
- Россыпь соединительных деталей LEGO
Сецификации приложены к статье.
Набор стал красочнее и сразу привлекает внимание - яркие детали, сочные цвета всех элементов. В набор также входит лист с наклейками.
Теперь для каждой ячейки появилась своя наклейка с перечнем деталей, удобно раскладывать детали конструктора на место. Для каждого мотора, хаба и коробки предлагается своя пустая наклейка на которую самостоятельно можено нанести, например, нумерацию набора, что в образовательном процессе очень помогает держать наборы в порядке.
Хаб
Мозгом робота является хаб.
Рекламное видео: https://www.youtube.com/watch?v=CQaju3M2LbA
Экран
Первое, что бросается в глаза, в отличии от EV3 - у хаба нет экрана. Теперь вместо него 25 сегментный индикатор (5х5).
На первый взгляд, кажется, что это откат технологий к детским игрушкам, но со временем понимаешь, что для мобильного робота такой экран достаточен. Тусклый жк экран EV3 был мелким и существовал только для выбора программы, а все остальные дополнительные фишки использовались редко. Самый большой минус экрана SPIKE - нельзя вывести на экран точные числа показателей робота для отладки в режиме реального времени. Но разработчики для отладки
добавили отдельный функционал в IDE.
Управление
Для управления хабом используются всего 4 кнопки:
- основная центральная кнопка, а-ля iPhone;
- влево;
- вправо;
- bluetooth.
Упраление интуитивно понятное - ВКЛ/ВЫКЛ на центральной кнопке, влево/вправо - выбор программ из 20 ячеек памяти, bluetooth - bluetooth.
У центральной кнопки имеется цветная индикация, которая показывает состояние хаба, а также может использоваться в программировании.
Питание
Теперь никаких батареек - только родной аккумулятор, который идет в комплекте с набором, поэтому искать и докупать его отдельно не придется. Заряжается он по microUSB, а не отдельным блоком питания, что позволяет подпитывать роботов зарядом прямо во время программирования. Объем остался прежним - около 2000 мАч, а размер аккумулятора уменьшился.
Разъемы
Для подключения датчиков и моторов предусмотрено 6 портов. Самое главное: все порты одинаково работают и на вход и на выход - к любому из них можно подключать и сервопривод и датчик!
Вместо разъема похожего на телефонный (с защелкой) используется более простой разъем - LPF2. Наколько он будет надежнее - покажет время.
Разъемы именуются A - F, а рядом с ними иконка. Если кто значет почему у разъемов E и F иконки отличаются - напишите об этом в комментариях.
Соединение
Для соединения с компьютером используется стандартный microUSB кабель. Можно было уже и typeC использовать. Через кабель можно загружать и запускать программы, получать данные от хаба и датчиков, а также заряжать аккумулятор.
С Bluetooth 4.2 подключаться стало значительно проще. На хабе для этого предусмотрена отдельная кнопка и программное обеспечение быстро подхватывает соединение.
Большим минусом данного bluetooth соединения является отсутствие соединения двух устройств из коробки, хотя спецификация говорит о возможности подключения каких-то LEGO смарт-девайсов. Возможно, в будущем будет добавлено.
Дополнительные функции
На борту хаба сразу имеются трехосевые гироскоп и акселерометр и они, о чудо, сразу работают хорошо! Кто имел дело с гироскопом на EV3, поймет, какую боль испытывает ученик, пытаясь убрать гиродрифт.
Также в хаб встроен динамик, позволяющий доносить важную информацию до оператора в нужный момент.
Операционная система
Робот SPIKE работает под управлением MicroPython - Python для микроконтроллеров. Что это означает? Данная система открыта и доступна из коробки для продвинутых пользователей, которые хотят программировать на текстовых языках программирования и хотят разбиратся во внутреннем устройстве контроллера.
На данный момент IDE для программирования доступно только визуальное (об этом позже), но уже ходят слухи на англоязычных сайтах, что LEGO выпустить IDE с текстовым языком программирования до окончания 2020 года.
Сервоприводы
В комплекте с роботом идут 2 средних и 1 большой двигатель. На сервоприводы нанесены риски обозначающие нулевое положение мотора, а в программе появилась команда "выставить угол поворота на 0".
Во время движения сервоприводы издают писк, что вызывает опасение за корректность работы двигателей.
Кабели не отсоединяются от двигателя, что сразу становится слабым местом сервопривода. Провода мягкие, гибкие и легко будут поддвержены внешнему воздействию. При обрыве провода сервопривод уже нельзя будет использовать.
Датчики
В комплекте идут датчики: расстояния, цвета, силы нажатия.
Датчик расстояния - ультразвуковой датчик аналогичный датчику EV3, но с решенной проблемой минимального расстояния - теперь в упор датчик показывает корректное значение, а не максимум. Также на датчике имеется подсветка, которую можно включить программно.
Датчик цвета - похожий на датчик EV3 датчик определения цвета поверхности. Датчик оборудован ярким белым светодиодом и позволяет определить цвет поверхности даже в темноте. Режим определения яркости отраженного света также имеется, а вот режима определения яркости внешнего освещения убран (но им особо никто и не пользовался).
Датчик силы нажатия - датчик, который приходит на смену датчику-кнопке EV3. Позволяет определять не только факт нажатия, но и силу нажатия в процентах.
Все датчики оборудованы неотсоединяющимися кабелями аналогичными сервоприводам.
Сборка
Сборка робота стала проще в сравнении со сборкой робота на EV3. Хаб, двигатели и датчики стали более квадратными и с большим количеством вариантов соединения с деталями. Базовый робот собирается буквально за 1 минуту и можно сразу приступать к програмированию. Основные колеса стали неразборными - что явно улучшает их ходовую составляющую. Также колеса крепятся не только посредством центральной оси, но и ближайших стандартных отверстий под штифты.
В наборе появилось множество новых деталей, которые расщиряют возможности соединения. Две большие пластины позволяют собирать статичные конструкции, как, например, ЧПУ станок.
Ресурсный набор
Ресурсный набор представляет собой не просто набор пластиковых деталей, а дополнительно включает в себя сразу 1 большой мотор, 1 датчик цвета и 2 больших колеса.
Поставляется по цене около 8 000 рублей.
Программирование
Собственный IDE
Робот Spike программируется с помощью собственной IDE с визуальным языком программирования. Если в EV3, NXT, WeDo используется оригинальный блочный язык программирования, то в данном программном обеспечении представлен практически в чистом виде Scratch - свободно распространяемый и очень популярный язык, созданный в MIT.
Какие особенности у данного программного обеспечения?
- Те, кто раньше использовал в обучении scratch, оценят удобство перехода с чистого программирования на программирования роботов.
- Блоки на экране занимают мало места и располагаются вертикально, как в текстовых языках программирования.
- Удобно работать с вложенностью функций друг в друга.
- Палитра блоков располагается слева экрана и полностью прокручивается.
- Удобно работать с переменными и массивами (списками).
- Удобно добавлять комментарии для конкретных блоков.
- Имеются дополнительные блоки, которые можно подключать при необходимости.
- Дополнитльные блоки могут подгружать данные из интернета, например, блоки погоды сообщают реальные температуру, осадки и скорсть ветра.
- Пропало несколько удобных функций - собственный счетчик цикла и неогранниченный блок математики, позволяющий задать любую арифметку текстово.
Помимо рабочего экрана и палитры блоков предлагается подключить хаб по USB или Bluetooth. После подключения хаба, автоматически выводятся датчики и моторы, подключенные к хабу и всегда выводят значения своих параметров.
Если хаб подключен, то пользователю доступна информационная панель, которая в расширенном виде демонстрирует что сейчас происходит с хабом. Для каждого подключенного мотора или датчика можно выбрать какой именно параметр необходимо демонстрировать.
Отдельно хочется обратить внимание на гироскоп. Он в реальном времени выводит три параметра: рысканье, тангаж и крен. С этими параметрами можно постоянно работать при программировании робота и не требуется подключение отдельных датчиков.
Созданную программу можно сохранить в 1 из 20 ячеек памяти хаба и запустить прямо с компьютера, при этом используя мониторинг данных - режим отладки.
Пример программы
В качестве примера приведу программу определения температуры на 5 дней, а также вывод графика температуры на экран, где столбцы - это дни, а каждая ячейка - это 5 градусов тепла. Яркость ячейки отображает градиент температуры, где 10% яркости ячейки - 0.5 градуса тепла.
Искодный код программы можно скачать из файлов статьи.
В Санкт-Петербурге сегодня около 12 градусов, в течении двух дней температура упадет до 1 градуса, а дальше снова станет теплее.
Сторонние IDE
В связи с тем, что плафторма новая, то и стороннего программного обеспечения еще никто не успел выпустить (RobotC, LabView, ТРИК Studio и т.д.). Но в связи с тем, что хаб работает на MycroPython, то можно запустить код на Python прямо из консоли.
На просторах интернета фигурирует информация о том, что LEGO планируют выпустить свою IDE с текстовым языком программирования - Python. Если это произойдет, то процесс обучения на данной платформе станет удобнее и не надо будет устанавливать стороннее программное обеспечение.
Как запустить SPIKE из консоли
Шаг 1. Запускаем терминал на Mac или других Unix системах, а для Windows скачиваем Putty.
Шаг 2. Подключаем хаб к компьютеру USB кабелем
Шаг 3. Определяем к какому порту полдключен хаб. На Mac пишем в терминале
ls /dev/tty.usbmodem*
На Windows смотрим в менеджере устройств к какому порту подключен хаб.
-
Шаг 4. Подключаемся
Подключаемся к хабу, указывая корректный порт, и устанавливаем скорость передачи данных 115200 бод.
В терминале пишем
screen /dev/<portname> 115200
В других IDE нажимаем Open или Connect после установки соответствующего порта и скорости 115200 бод.
Шаг 5. Запускаем REPL (read eval print loop).
После подключения в Putty или запуска команды screen в терминале отобразится поток строк и цифр. Это данные с внутренних датчиков хаба. Нажмите control+c - это прервет процесс и должна отобразиться приблизительно такая информация:
MicroPython v1.9.4-1146-gca9944357 on 2019-09-25; LEGO Technic Large Hub with STM32F413xx Type "help()" for more information.
Теперь можно программировать.
Шаг 6. Hello world
Напишите команды
>>> import hub
>>> hub.display.show(‘Hello world’)
Обратите внимание на команду «import» - она включает библиотеку python, которая позволяет общаться с SPIKE Prime. При запуске программы хаб на светодидоном экране выведет Hello world.
Шаг 7. Изучаем MicroPython on SPIKE Prime.
Внутри хаба и библиотеки hub находится огромное количество команд, которые можно использовать при программировании.
Методический материал
Методический материал доступен как для ученика, так и для педагога прямо из программного обеспечения SPIKE. Достаточно выбрать урок и, следуя инструкции и просматривая занимательные видео, построить своего робота и выполнить задание урока.
Для педагога методический материал доступен онлайн и рассказывает о всех нюансах урока, а также предлагает различные варианты действий.
Методический материал рассчитан на работу в парах учениками 5-8 классов, а последний урок подводит обучающегося к участию в соревнованиях FTC LEGO League.
Итог
Новая робототехническая платформа LEGO SPKE Prime позиционируется как замена LEGO EV3 - соответствующая цена, соответствующие моторы и датчики, соответствующее программное обеспечение, возможность текстового программирования.
Разноцветность набора говорит о том, что конструктор создан для детей и, если не разобраться в вопросе, то можно ошибочно сравнить его с WeDo.
Большой заслугой разработчиков является то, что они смогли решить неприятные болезни предыдущих поколений - гироскоп, bluetooth, аккумулятор и прочее.
Самое слабое место конструктора - это его двигатели, которые быстро могут выйти из строя из-за мягких кабелей.
Сильной же стороной SPIKE является его возможности программирования, которые еще не раскрыты сообществом на 100%.
Данный набор способен как заменить EV3, так и встать рядом с ним, как в свое время происходило и с парой наборов NXT и EV3.
Успех робототехнического конструктора SPIKE Prime возможно будет оценить, только тогда, когда он сможет превзойти аналогичне наборы на учебных соревнованиях, таких как РобоФинист, ВРО, RoboCup и другие.
- Спецификация аккумулятор.pdf (1.79 МБ)
- Спецификация большой мотор.pdf (1.83 МБ)
- Спецификация датчик расстояния.pdf (1.83 МБ)
- Спецификация датчик силы нажатия.pdf (1.79 МБ)
- Спецификация датчик цвета.pdf (1.79 МБ)
- Определение погоды.llsp (28.22 КБ)
- Спецификация средний мотор.pdf (1.82 МБ)
- Спецификация хаб.pdf (1.8 МБ)