Программируем НикиРобот с помощью ИИ и машинного обучения

13.04.2026

Программируем НикиРобот с помощью ИИ и машинного обучения

Представляем вашему вниманию опыт использования искусственного интеллекта в моделировании различных робототехнических систем (на примере НикиРобот и датчиков Ардуино). Методическим материалом поделился Филиппов Виктор Германович, учитель информатики и робототехники ГАОУ МО «Балашихинский лицей» г. Балашиха Московской области.

Для работы с наборами Никиробот, mBot2, а также схемами на Arduino применяется среда mBlock5. MBlock5 — это среда программирования с использованием графических блоков, в ней также возможно написание кода на высокоуровневом языке Python.

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

Возможности mBlock5 в области искусственного интеллекта (AI):

  • Лёгкий для восприятия интерфейс. Среда предлагает интуитивно понятный интерфейс, который позволяет детям начинать программирование с простого перетаскивания блоков кода.
  • Поддержка популярных устройств. mBlock5 позволяет легко писать и загружать программы для роботов Makeblock, плат Arduino, микробита и других платформ.
  • Возможность работы с сервисами AI и IoT. Среда поддерживает функции искусственного интеллекта, включая распознавание голоса и лица, определение настроения и другие.
  • Подключение к интернету вещей. С помощью mBlock5 можно добавлять функциональность интернета вещей к оборудованию, управлять бытовой техникой, создавать умные устройства и многое другое.
  • Быстрое обучение моделей машинного обучения. В mBlock5 можно быстро обучать модели машинного обучения для использования в блочном кодировании.
  • Создание проектов в сфере машинного обучения. Например, распознавание изображений, речи, эмоций, возраста человека и других объектов.
  • Управление роботом через систему компьютера. Робот может распознавать текст, изображения, слова, людей и эмоции, а также получать данные из интернета.
  • Использование расширения «Обучаемый робот» (Teachable Machine), которое помогает научить компьютер распознавать различные объекты и передавать соответствующие команды роботу.

Машинное обучение является одним из направлений искусственного интеллекта. Основной принцип заключается в том, что машины получают данные и «обучаются» на них. В настоящее время это наиболее перспективный инструмент, основанный на искусственном интеллекте. Системы машинного обучения позволяют быстро применять знания, полученные при обучении на больших наборах данных, что позволяет им преуспевать в таких задачах, как распознавание лиц, распознавание речи, распознавание объектов, перевод и многих других. В отличие от программ с закодированными вручную инструкциями для выполнения конкретных задач, машинное обучение позволяет системе научиться самостоятельно распознавать шаблоны и делать прогнозы.

Разницу между AI и ML можно объяснить через метафору: если представить AI как целую компанию, то машинное обучение — это один из её отделов, например, аналитический. Он специализируется на прогнозах и классификации, но не охватывает все задачи.

Другие «подразделения» компании AI могут работать с обработкой языка, изображений или генерацией контента. Важно: машинное обучение — это подмножество AI, то есть AI — более широкое понятие, а ML — одно из направлений ИИ.

Возможные школьные проекты

Вот некоторые примеры проектов для работы с Никиробот, mBot2, схем на Arduino в области искусственного интеллекта и машинного обучения. С помощью расширения «Обучаемый робот» можно реализовать:

  • Сортировку мусора (органика, стекло, пластик, бумага).
  • Проверку соблюдения масочного режима (есть маска, нет маски, маска надета неправильно).
  • Определение эмоций пользователя.
  • Создание робота на основе искусственного интеллекта — интеграция искусственного интеллекта в робота, возможность автономно выполнять задачи. Например, программирование для распознавания объектов и принятия решений на основе того, что он «видит».
  • Использование функции Machine Learning 2.0 для категоризации изображений и придания им уникальных значений. Например, программирование mBot2 для управления тем, чтобы он отображал счастливые или грустные лица на основе выражения пользователя.

Примеры уроков и раздаточный материал для школьников подготовлены на основе материалов разработчиков робототехнического комплекса Клик и НикиРобот, представленных в соответствующем обучающем видео: КЛИК — Машинное обучение распознавание нейросети.

Также использовались следующие материалы:

Возможные затруднения и рекомендации по их преодолению

  1. При использовании мобильного компьютерного класса машинное обучение проводится с помощью встроенных в ноутбук WEB камеры и микрофона, что вызывает некоторые затруднения у учащихся. Желательно использовать внешние WEB камеры, тогда возможно значительно расширить спектр объектов для машинного обучения, например, использовать любые физические трехмерные объекты. В нашем случае использовались только объекты, напечатанные на листе.
  2. Для корректной работы программы mBlock 5.0 необходимы регулярные обновления программного обеспечения и возможность беспрепятственной установки требуемых библиотек. Для этого крайне желательно постоянное подключение к сети интернет с минимальной фильтрацией трафика или внесения ресурсов в белый список.
  3. Для старших классов важно не ограничиваться возможностями блочно-модульного программирования mBlock 5.0, а использовать возможности языка С++ Arduino IDE.
  4. Схемы, собранные на платах Arduino, также могут быть использованы для изучения школьниками искусственного интеллекта и машинного обучения

Занятие 1. Машинное обучение. Программирование Панды в mBlock5 в зависимости от результатов распознавания объектов

Чтобы создать тренировочную модель в mBlock5, необходимо:

  1. Перейти во вкладку «Персонажи» и нажать на кнопку «Добавить расширение».
  2. Добавить расширение «Обучаемый робот».
  3. Нажать на кнопку «Тренировочная модель».
  4. В окне создания тренировочной модели задать категории для обучения и добавить туда примеры. Можно задать от 3 до 10 различных категорий.
  5. Чтобы обучить распознавать ту или иную категорию объектов, необходимо:
    • Задать имя категории.
    • Нажать на кнопку «Изучить» под окном коллекции изображений категории. Можно удерживать кнопку нажатой, чтобы получить серию снимков объекта.
    • Добиться высокого процента распознавания и перейти к следующей категории, повторив п. 1-3.

     6. После создания тренировочной модели нажать на кнопку «Использовать модель». В палитре блоков расширения «Обучаемый робот» появятся три новых блока, которые позволяют получить результат распознавания, проверить, определён ли объект той или иной категории, а также поработать с надёжностью распознавания.

Рекомендации при создании тренировочной модели:

  • Выбрать нейтральный фон для съёмок, чтобы ничего не отвлекало от распознавания основного объекта.
  • Делать как можно больше снимков (минимум 10 на категорию) и фотографировать объект с различных ракурсов, чтобы повысить качество распознавания.
  • После обучения новой категории проверить работу тренировочной модели, показав объекты из предыдущих категорий, и убедиться, что распознавание осуществляется корректно. При необходимости вернуться и дополнить снимками предыдущие категории.

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

Далее программируем Панду по результатам определения объекта. Действия Панды в зависимости от результата распознавания (1, 2, 3) школьники должны придумать самостоятельно, например, используя основные команды движения: вперед, назад, поворот. Возможны и другие команды, не связанные с движением, например, представленные на рисунке.

Источник: Машинное обучение с КЛИК и Никиробот — встроенные инструменты mBlock5 

Занятие 2. Машинное обучение. Программирование НикиРобот или Клик в mBlock5 в зависимости от результатов распознавания объектов

Начало занятия аналогично Занятию 1. Начинаем с программирования Панды, используя ранее подключенный модуль «Трансляция в режиме загрузки». По умолчанию в mBlock5 данный модуль не подключен.

Далее программируем НикиРобот. Программа представлена на рисунке. В зависимости от результата распознавания 1-2-3 НикиРобот движется вперед, назад или останавливается. Все команды движения робота должны быть изучены ранее. Для корректного определения значения все числа должны быть преобразованы в строковые переменные.

Источник: Машинное обучение с КЛИК и Никиробот — встроенные инструменты mBlock5 

Занятие 3. Искусственный интеллект. Использование модуля Cognitive Services. Распознавание речи, текста, объектов, настроения и т.д. в mBlock5 с возможностью программирования Панды, НикиРобот или Клик в зависимости от результатов распознавания.

Для работы с данным модулем необходима регистрация в программе mBlock5. Устанавливаем расширение.

Программируем действия Панды или НикиРобот в зависимости от распознавания речи, текста, объектов, настроения и т.д. Используем знания, полученные на предыдущих уроках.

 

Источник: Машинное обучение с КЛИК и Никиробот — встроенные инструменты mBlock5 

Занятие 4. Искусственный интеллект. Использование модуля AI Service. Распознавание речи, текста, объектов, настроения и т.д. в mBlock5 с возможностью программирования НикиРобот или Клик в зависимости от результатов распознавания.

Для работы с данным модулем регистрация в программе mBlock5 не обязательна! Устанавливаем расширение.

Программируем действия Панды или НикиРобот в зависимости от распознавания речи, текста, объектов, настроения и т.д. Аналогично Cognitive Services (см. Занятие 3).

Источник: Машинное обучение с КЛИК и Никиробот — встроенные инструменты mBlock5 

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

Материалы

Игра Морской бой

Компьютерное зрение и Клик

Машинное обучение и распознавание

Машинное обучение встроенные инструмента mBlock5

Вам понравилось? Расскажите о своем опыте своим друзьям в социальных сетях. Пусть им понравится тоже!

Наш сайт использует сервис "Яндекс.Метрика" и файлы cookies на вашем устройстве в соответствии с политикой обработки персональных данных и условиями использования сервиса "Яндекс.Метрика"

* Для запрета сбора данных вы можете использовать расширение для броузера "Блокировщик яндекс метрики"