текст логотипа
Статьи

Новый конструктор LEGO SPIKE Prime - что это за зверь?

Аватар пользователя
Хованский Алексей Владимирович

В начале 2020 года в мире робототехники произошло важное событие - компания LEGO выпустила новое образовательное решение - конструктор SPIKE Prime.

45680_prod_spike_prime_expansion_competition_ready_assemblinganadvanceddrivingbase_08_withdoodles-bca1425c61dcd0afb059595eb8065002.png

В парке LEGO теперь представлены 6 робототехнических наборов:

  • RCX
  • NXT
  • EV3
  • WeDo
  • WeDo 2.0
  • SPIKE                                           

Подробнее об этих наборах читайте в статье Робототехнические конструкторы для школы и дома.

Давайте вместе рассмотрим возможности этого конструктра.  

Знакомство

Набор LEGO Spike поставляется в яркой желтой коробке такого же размера, что и EV3. 

02b36a86da94f4e63ebab1476af4c614.jpg

Рыночная цена - чуть выше набора EV3 и значительно выше WeDo - 31 000 рублей. Внутри нас ждет следующий комплект деталей:

  1. Хаб (контроллер робота) с аккумулятором
  2. Кабель USB - microUSB для соединения с компьютером и зарядки аккумулятора.
  3. 2 средних мотора
  4. 1 большой мотор
  5. Датчик цвета
  6. Датчик расстояния
  7. Датчик силы нажатия (кнопка) 
  8. Россыпь соединительных деталей LEGO                                           

Сецификации приложены к статье.

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

spikeprime_start_unboxing_01-9a0d0c50eb99be920ff760d8e397adf6.jpg

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

Хаб

Мозгом робота является хаб.

maxresdefault.jpg

Рекламное видео: https://www.youtube.com/watch?v=CQaju3M2LbA

Экран

Первое, что бросается в глаза, в отличии от EV3 - у хаба нет экрана. Теперь вместо него 25 сегментный индикатор (5х5). 

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

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

 добавили отдельный функционал в IDE.  

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

Управление

Для управления хабом используются всего 4 кнопки: 

  1. основная центральная кнопка, а-ля iPhone;
  2. влево; 
  3. вправо; 
  4. bluetooth.                  

Упраление интуитивно понятное - ВКЛ/ВЫКЛ на центральной кнопке, влево/вправо - выбор программ из 20 ячеек памяти, bluetooth - bluetooth.

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

Питание

Теперь никаких батареек - только родной аккумулятор, который идет в комплекте с набором, поэтому искать и докупать его отдельно не придется. Заряжается он по microUSB, а не отдельным блоком питания, что позволяет подпитывать роботов зарядом прямо во время программирования. Объем остался прежним - около 2000 мАч, а размер аккумулятора уменьшился.

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

Разъемы

Для подключения датчиков и моторов предусмотрено 6 портов. Самое главное: все порты одинаково работают и на вход и на выход - к любому из них можно подключать и сервопривод и датчик! 

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

Вместо разъема похожего на телефонный (с защелкой) используется более простой разъем - LPF2. Наколько он будет надежнее - покажет время.

Разъемы именуются A - F, а рядом с ними иконка. Если кто значет почему у разъемов E и F иконки отличаются - напишите об этом в комментариях.

Соединение

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

С Bluetooth 4.2 подключаться стало значительно проще. На хабе для этого предусмотрена отдельная кнопка и программное обеспечение быстро подхватывает соединение.

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

Дополнительные функции

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

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

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

Операционная система

Робот SPIKE работает под управлением MicroPython - Python для микроконтроллеров. Что это означает? Данная система открыта и доступна из коробки для продвинутых пользователей, которые хотят программировать на текстовых языках программирования и хотят разбиратся во внутреннем устройстве контроллера.

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

 

На данный момент IDE для программирования доступно только визуальное (об этом позже), но уже ходят слухи на англоязычных сайтах, что LEGO выпустить IDE с текстовым языком программирования до окончания 2020 года.

Сервоприводы

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

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

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

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

Датчики

В комплекте идут датчики: расстояния, цвета, силы нажатия.

%D0%91%D0%B5%D0%B7%20%D0%BD%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F.png

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

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

Датчик силы нажатия - датчик, который приходит на смену датчику-кнопке EV3. Позволяет определять не только факт нажатия, но и силу нажатия в процентах.

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

Сборка

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2013.56.02.png

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2013.58.06.png

Ресурсный набор

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

lego-education-SPIKE(1).jpg

Поставляется по цене около 8 000 рублей.

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

Собственный IDE

Робот Spike программируется с помощью собственной IDE с визуальным языком программирования. Если в EV3, NXT, WeDo используется оригинальный блочный язык программирования, то в данном программном обеспечении представлен практически в чистом виде Scratch - свободно распространяемый и очень популярный язык, созданный в MIT.

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2014.01.16.png

Какие особенности у данного программного обеспечения?

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

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2014.03.48.png

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2014.04.27.png

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

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2014.05.12.png

Пример программы

В качестве примера приведу программу определения температуры на 5 дней, а также вывод графика температуры на экран, где столбцы - это дни, а каждая ячейка - это 5 градусов тепла. Яркость ячейки отображает градиент температуры, где 10% яркости ячейки - 0.5 градуса тепла.

Искодный код программы можно скачать из файлов статьи.

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2010.42.53.pngIMG_5108.png

В Санкт-Петербурге сегодня около 12 градусов, в течении двух дней температура упадет до 1 градуса, а дальше снова станет теплее.

Сторонние IDE

В связи с тем, что плафторма новая, то и стороннего программного обеспечения еще никто не успел выпустить (RobotC, LabView, ТРИК Studio и т.д.). Но в связи с тем, что хаб работает на MycroPython, то можно запустить код на Python прямо из консоли. 

На просторах интернета фигурирует информация о том, что LEGO планируют выпустить свою IDE с текстовым языком программирования - Python. Если это произойдет, то процесс обучения на данной платформе станет удобнее и не надо будет устанавливать стороннее программное обеспечение.

Как запустить SPIKE из консоли

Шаг 1. Запускаем терминал на Mac или других Unix системах, а для Windows скачиваем Putty.

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2012.47.10.png

Шаг 2. Подключаем хаб к компьютеру USB кабелем 

Шаг 3. Определяем к какому порту полдключен хаб. На Mac пишем в терминале

ls /dev/tty.usbmodem*

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2012.48.01.png

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2012.48.05.png

На Windows смотрим в менеджере устройств к какому порту подключен хаб.

-

Шаг 4. Подключаемся

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

В терминале пишем 

screen /dev/<portname> 115200

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2012.48.19.png

В других 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.

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2012.48.29.png

Теперь можно программировать.

Шаг 6. Hello world

Напишите команды

>>> import hub
>>> hub.display.show(‘Hello world’)

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2012.51.17.png

IMG_5111.jpg

Обратите внимание на команду «import» - она ​​включает библиотеку python, которая позволяет общаться с SPIKE Prime. При запуске программы хаб на светодидоном экране выведет Hello world.

Шаг 7. Изучаем MicroPython on SPIKE Prime.

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

Методический материал

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

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA%20%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0%202020-04-09%20%D0%B2%2013.46.37.png

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

Методический материал рассчитан на работу в парах учениками 5-8 классов, а последний урок подводит обучающегося к участию в соревнованиях FTC LEGO League.

Итог

Новая робототехническая платформа LEGO SPKE Prime позиционируется как замена LEGO EV3 - соответствующая цена, соответствующие моторы и датчики, соответствующее программное обеспечение, возможность текстового программирования. 

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

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

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

Сильной же стороной SPIKE является его возможности программирования, которые еще не раскрыты сообществом на 100%.

Данный набор способен как заменить EV3, так и встать рядом с ним, как в свое время происходило и с парой наборов NXT и EV3. 

Успех робототехнического конструктора SPIKE Prime возможно будет оценить, только тогда, когда он сможет превзойти аналогичне наборы на учебных соревнованиях, таких как РобоФинист, ВРО, RoboCup и другие.

Файлы 8