Открыть сервисСервис

NAOqi

NAOqi — это проприетарная операционная система реального времени и программная платформа, разработанная французской компанией Aldebaran Robotics (позднее вошедшей в состав японского холдинга SoftBank Robotics) для управления гуманоидными роботами серий NAO, Pepper и Romeo. Платформа обеспечивает взаимодействие между аппаратным обеспечением робота, его сенсорами, исполнительными механизмами и прикладным программным обеспечением, предоставляя разработчикам инструменты для создания поведенческих алгоритмов, распознавания речи и объектов, а также навигации в пространстве.

Архитектура и компоненты

NAOqi построена на основе модульной архитектуры, где каждый модуль отвечает за определённый функциональный блок. Основные компоненты включают:

Ядро системы

Ядро NAOqi реализует управление процессами в реальном времени, планирование задач и обработку сенсорных данных. Оно работает на базе операционной системы Linux (дистрибутив OpenEmbedded), что обеспечивает совместимость с широким спектром аппаратных ресурсов. Основные функции ядра:

  • Управление памятью — распределение ресурсов между модулями.
  • Обработка прерываний — реагирование на события от датчиков (камеры, микрофоны, сенсоры касания).
  • Синхронизация потоков — координация работы параллельных процессов (например, одновременное движение конечностей и распознавание речи).

Модули

Система состоит из более чем 50 модулей, каждый из которых реализует отдельную функцию. Ключевые модули:

  • ALMotion — управление двигателями и кинематикой робота (ходьба, позы, жесты). Поддерживает 25 степеней свободы для NAO и 20 для Pepper.
  • ALMemory — хранилище данных, доступное для чтения и записи всеми модулями (например, текущее положение суставов, результаты распознавания лиц).
  • ALAudioDevice — обработка аудиопотока с микрофонов (до 4 каналов) и синтез речи через встроенный динамик.
  • ALVideoDevice — захват и обработка видео с двух камер (разрешение до 1280×960 пикселей, частота до 30 кадров/с).
  • ALSpeechRecognition — модуль распознавания речи на основе скрытых марковских моделей (HMM). Поддерживает до 10 языков, включая русский, английский, японский, французский.
  • ALFaceDetection — идентификация лиц по базе данных (до 1000 записей) с точностью около 90% при фронтальном ракурсе.
  • ALNavigation — построение карты помещения и планирование маршрута с использованием ультразвуковых датчиков (дальность до 2,5 м) и инфракрасных сенсоров.

Промежуточное ПО (Middleware)

NAQqi использует собственный протокол межпроцессного взаимодействия (IPC), основанный на сокетах TCP/IP и шине данных. Модули могут обмениваться сообщениями как в синхронном (блокирующем), так и в асинхронном режиме. Это позволяет создавать распределённые приложения, где часть обработки выполняется на внешнем компьютере, а часть — на борту робота.

История развития

Первое поколение (2006–2010)

Первая версия NAOqi была выпущена в 2006 году вместе с роботом NAO. Она базировалась на ядре Linux 2.6 и поддерживала только базовые функции: управление моторами, захват видео с камеры и простейшее распознавание речи (набор из 50 команд). Система была написана на C++ с использованием фреймворка Qt для графического интерфейса.

Второе поколение (2011–2015)

В 2011 году вышла версия 1.14, которая добавила поддержку многопоточности, улучшенную навигацию и интеграцию с ROS (Robot Operating System). В 2014 году, с выходом робота Pepper, платформа была расширена модулями для эмоционального взаимодействия (ALEmotionManager) и распознавания жестов (ALGestureRecognition). В этот период NAOqi стала поддерживать скриптовые языки — Python и JavaScript (через движок V8).

Третье поколение (2016–2020)

Версия 2.0 (2016) принесла полную переработку архитектуры: переход на 64-разрядное ядро, поддержку облачных сервисов (через API SoftBank Cloud) и модуль ALDialog для ведения диалогов. В 2018 году вышла версия 2.5, оптимизированная для работы на Raspberry Pi 3 (использовалась в образовательных наборах). Последнее крупное обновление — версия 2.8 (2020), которая добавила интеграцию с TensorFlow Lite для выполнения нейросетевых моделей на борту.

Современное состояние (2021–настоящее время)

После свёртывания массового производства роботов NAO и Pepper в 2021 году компания SoftBank Robotics прекратила активную разработку NAOqi. Поддержка системы ограничена выпуском критических исправлений безопасности. По состоянию на 2025 год последняя стабильная версия — 2.9.4 (выпущена в декабре 2023 года). Платформа продолжает использоваться в образовательных учреждениях и исследовательских лабораториях, где установлены ранее приобретённые роботы.

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

Языки и инструменты

Разработка приложений для NAOqi ведётся на нескольких языках:

  • C++ — для создания низкоуровневых модулей и драйверов. Используется фреймворк NAOqi SDK на базе CMake.
  • Python — основной язык для написания поведений (behaviors). Поддерживаются библиотеки NumPy, OpenCV (через ALProxy).
  • JavaScript — для веб-интерфейсов и простых диалогов (через модуль ALWeb).
  • Choregraphe — графическая среда разработки, позволяющая создавать программы из блоков (nodes) без написания кода. Поддерживает экспорт в Python-скрипты.

Пример кода (Python)

```python from naoqi import ALProxy

Создание прокси для модуля движения

motion = ALProxy("ALMotion", "192.168.1.100", 9559)

Включение автономного режима

motion.setExternalCollisionProtectionEnabled("Arms", True)

Выполнение жеста приветствия

motion.angleInterpolation("LShoulderPitch", 1.5, 1.0, True) motion.angleInterpolation("RShoulderRoll", -0.5, 0.8, True) ```

API и протоколы

NAOqi предоставляет RESTful API (порт 9559 по умолчанию) для удалённого управления. Поддерживаются следующие протоколы:

  • ALMemory — чтение/запись ключей и значений.
  • ALBehaviorManager — запуск и остановка поведений.
  • ALDialog — управление диалоговыми сценариями (формат .top файлов).

Применение

Образование

NAOqi широко используется в учебных заведениях для обучения программированию и робототехнике. По данным SoftBank Robotics, на 2020 год платформа была установлена более чем в 10 000 школ и университетов по всему миру, включая Россию (МГУ, МФТИ, СПбГУ). Типовые задачи: изучение алгоритмов движения, распознавания образов и голосового управления.

Научные исследования

В исследовательских лабораториях NAOqi применяется для:

  • Изучения социального взаимодействия человека и робота (Human-Robot Interaction, HRI).
  • Разработки адаптивных алгоритмов ходьбы и балансирования.
  • Тестирования нейросетевых моделей для компьютерного зрения (например, YOLO, MobileNet).

Коммерческое использование

До прекращения массовых продаж роботы на базе NAOqi использовались в:

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

Ограничения и критика

Технические ограничения

  • Производительность — процессор Intel Atom Z530 (1,6 ГГц) в NAO и Qualcomm Snapdragon 410 (1,2 ГГц) в Pepper не позволяют запускать современные нейросети в реальном времени без внешнего компьютера.
  • Автономность — время работы от аккумулятора составляет 60–90 минут для NAO и 8–12 часов для Pepper.
  • Закрытость кода — NAOqi является проприетарным ПО; исходный код недоступен, что ограничивает возможности модификации.

Критика сообщества

Разработчики отмечают недостаточную документацию для версий 2.5 и выше, а также частые изменения API между версиями, что приводит к несовместимости старых приложений. Кроме того, прекращение активной поддержки в 2021 году вызвало обеспокоенность у пользователей, использующих платформу в долгосрочных проектах.

Интересные факты

  • NAOqi была первой операционной системой для гуманоидных роботов, получившей сертификацию ROS (Robot Operating System) в 2012 году.
  • В 2015 году робот Pepper под управлением NAOqi стал первым роботом, который был принят на работу в японский офис компании SoftBank в качестве консультанта по продажам.
  • Модуль ALSpeechRecognition в версии 2.0 поддерживал распознавание до 5000 слов на английском языке, но для русского языка словарь был ограничен 500 словами.

Источники

  • Aldebaran Robotics. «NAOqi API Reference». Версия 2.8, 2020.
  • SoftBank Robotics. «Pepper Technical Specifications». 2019.
  • Pot, E., et al. «Choregraphe: A Graphical Tool for Humanoid Robot Programming». Proceedings of IEEE RO-MAN, 2009.
  • Breazeal, C. «Designing Sociable Robots». MIT Press, 2002.
  • Документация SoftBank Robotics (архив). «NAOqi OS Architecture». 2023.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru