Обычное дело: мы используем cookie. Здесь можно узнать зачем
Хорошо

Программируемые роботы для образовательных целей: 3 проекта по разработке ПО и прошивки

Школа заказчика учит детей программированию с помощью роботов. Мы выполнили 3 проекта, включавших разработку прошивки и программного обеспечения для роботов Lego Mindstorms EV3 и Makeblock Me Auriga.
Беспроводное управление роботами через Wi-Fi и Bluetooth
Визуальное программирование на Google Blockly с трансляцией в Python
Система управления курсами с интеграцией LeadSquared CRM и контейнеризацией на Docker

Введение

Заказчиком выступил стартап, работающий в сфере образования. Компания учит детей 9-14 лет программировать на Python с помощью роботов – Lego Mindstorms EV3, Vex и Makeblock Me Auriga.

Запрос

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

Решение

КЕДР Solutions оказала заказчику целый ряд услуг. Мы написали прошивку для роботов Makeblock Me Auriga. Разработали облачную OTA-систему для выполнения кода на роботах Lego Mindstorms EV3. Наконец, мы разработали систему управления учебными курсами для помощи администрации школы.
Светодиодная лента, устанавливаемая на гриф гитары и предназначенная для обучения - КЕДР Solutions
Части различных обучающих роботов

Проект 1: Написание прошивки для роботов Makeblock Me Auriga

Для обучения школа заказчика использовала Google Blockly – браузерный графический редактор для программирования. В нем можно создавать приложения без написания кода, а соединяя разные блоки. С помощью специальной программы код Blockly можно перевести на язык Python. На роботе Lego Mindstorms EV3, который использовала школа, был установлен специальный сервис, позволяющий исполнять код на Python.

Заказчик хотел разработать такую же систему для роботов Makeblock Me Auriga.

Разработка прошивки

Оказалось, что роботы Makeblock не могут исполнять код на Python, поскольку они выполнены на базе Arduino: у этого компьютера довольно слабый микроконтроллер с прошивкой на чистом C/C++. Мы предложили подключить робота к Raspberry Pi, на котором установлена ОС Linux, что позволяет ему исполнять Python-скрипты. Тогда Python мог бы передавать команды на последовательный порт робота через устройство Me Shield.

Однако это решение было не очень удобным, потому что к роботу пришлось бы подключать плату Raspberry. Мы решили упростить систему. Python-скрипты можно исполнять на персональном компьютере, а затем передавать команды роботу по беспроводному последовательному интерфейсу (2.4G Wireless Serial). Нам потребовались только Bluetooth-донгл, подключенный к ПК, и беспроводной модуль, подключенный к роботу. Они обеспечивают связь между программным обеспечением mBlock и роботом Makeblock.
Светодиодная лента, устанавливаемая на гриф гитары и предназначенная для обучения - КЕДР Solutions
Язык на базе Google Blockly для программирования роботов

Результат

Мы разработали прошивку для роботов Makeblock Me Auriga. Она позволяет роботу исполнять команды, передаваемые по Bluetooth-донглу с браузера Chrome с помощью специального плагина. В результате ученики могут писать программы во фреймворке Blockly, комбинируя визуальное и текстовое программирование, и исполнять их на роботе.

Проект 2: Облачная OTA-система для роботов Lego Mindstorms EV3

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

КЕДР Solutions предложила решить проблему подключения роботов к ПК с помощью беспроводной связи. Мы доработали библиотеку робота EV3, использовав стандарт OTA для передачи и приема кода по беспроводной системе связи. Наше облачное OTA-решение на базе AWS позволяет преподавателям эффективно работать с учениками, роботами и учебными программами.
Светодиодная лента, устанавливаемая на гриф гитары и предназначенная для обучения - КЕДР Solutions
Тестирование программного обеспечения робота

Результат

КЕДР Solutions разработала облачную OTA-систему, которая позволяет множеству учеников писать код и запускать его на роботах Lego Mindstorms EV3. Вот как она работает:

  1. Во фреймворке Blockly ученик пишет код, который переводится на язык Python.
  2. Когда он кликает по иконке «Выполнить», код передается по Wi-Fi на сервер OTA-системы.
  3. Затем сервер передает код роботу, который назначен данному ученику.
  4. Робот выполняет запрограммированное действие: едет, стреляет, ползает, ходит, вращается и т.п.
  5. Робот передает обновленные данные о состоянии обратно на сервер.
  6. Эта информация доводится до преподавателя. Чтобы ему было легче проверять результаты работы, каждому роботу присвоен уникальный номер.

Проект 3: Система управления учебными курсами

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

Разработка ПО

Мы разработали программное обеспечение, которое интегрируется с системой управления взаимоотношениями с клиентами LeadSquared. Оно облегчает руководство учебным процессом. После оплаты курса, информация об этом передается в OTA-систему, а ученику становятся доступны соответствующие учебные материалы.

Наша команда выполнила разработку фронтенда и бэкенда системы управления курсами. Для создания, развертывания и запуска приложения мы использовали контейнеры Docker. Такая архитектура позволяет легко справляться с дополнительной нагрузкой и масштабировать систему – нужно лишь добавить новые контейнеры.
Светодиодная лента, устанавливаемая на гриф гитары и предназначенная для обучения - КЕДР Solutions
Робот Makeblock Me Auriga

Результат

Созданная нами браузерная система управления учебными курсами позволяет администрации:
  • Добавлять и удалять профили учеников;
  • Создавать курсы и задания;
  • Следить за выполнением заданий;
  • Просматривать историю изменений.

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

Выполненные работы

  • Написали прошивку для роботов Makeblock Me Auriga
  • Разработали плагин для Google Chrome для работы с Makeblock
  • Разработали облачную OTA-систему, используя сервисы AWS, для исполнения кода на роботах Lego Mindstorms EV3
  • Сверстали вебсайт на HTML5 и CSS3, который интегрируется с Google Maps, YouTube и LeadSquared

Использованные технологии

Python
для программирования роботов Lego EV3 и Makeblock Me Auriga.
Google Blockly
для визуального программирования в текущем веб-портале.
Специализированная сборка Linux
для робота Lego EV3.
OTA-система
для связи с роботом Lego EV3.
Amazon Web Services (AWS) и Docker
для хостинга и распределения нагрузки.
C/C++
для написания утилит.
Raspberry Pi
для выполнения Python-скриптов на роботах Me Auriga.

Итоги

Мы помогли заказчику улучшить процесс обучения детей программированию. Во фреймворке Google Blockly ученики пишут код, который затем переводится на язык Python, и смотрят, как роботы выполняют заданные ими команды. Умение решать задачи по программированию на языке Python помогает детям развивать вычислительное мышление и готовит их к будущему, когда знание технологий станет еще более востребованным, чем сейчас.
  • Добавлена поддержка роботов MakeBlock
  • Поддерживает 30+ модулей
  • Добавлены новые блоки Blockly 30+ блоков

Обратная связь по проекту:

КЕДР Solutions обновили и улучшили ПО для наших роботов, что, в свою очередь, повысило качество обучения детей программированию. Кроме того, команда нашла более простой способ подключать роботов к ПК. Ключом к успеху компании стала ее способность доработать ПО под нужды нашей школы.
Начальник учебно-методического отдела школы заказчика
Связаться с нами
Оставьте контактные данные, и мы свяжемся с вами в ближайшее время