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

NAOqi OS

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

История

Разработка NAOqi OS началась в середине 2000-х годов в рамках проекта по созданию автономного гуманоидного робота NAO. Первоначально система базировалась на ядре Linux с набором патчей для обеспечения работы в реальном времени. Первая коммерческая версия NAOqi OS была выпущена в 2008 году вместе с роботом NAO (модель NAO V3). В 2010 году, с выходом модели NAO V4, система была значительно переработана: добавлена поддержка многопоточности, улучшена обработка видео с камер и внедрён новый планировщик задач.

В 2014 году, после выпуска робота Pepper, NAOqi OS была адаптирована для работы на более мощном аппаратном обеспечении, включая процессор Intel Atom. Версия 2.0, выпущенная в 2015 году, стала первой, официально поддерживающей Pepper и предоставляющей унифицированный API для обеих платформ. В 2018 году, с выходом NAOqi OS 2.5, была добавлена поддержка облачных сервисов SoftBank Robotics и улучшена интеграция с голосовыми ассистентами.

Последняя стабильная версия — NAOqi OS 2.9, выпущенная в 2021 году. Она включает исправления безопасности, оптимизацию энергопотребления и поддержку новых датчиков для робота NAO (модель NAO V6). Разработка системы продолжается в закрытом режиме, обновления распространяются только через официальный канал SoftBank Robotics.

Архитектура

Ядро и планировщик

NAOqi OS использует модифицированное ядро Linux (версии 3.x или 4.x в зависимости от релиза) с патчами PREEMPT_RT для обеспечения детерминированного поведения в реальном времени. Планировщик задач построен на основе алгоритма EDF (Earliest Deadline First) с приоритетным наследованием, что позволяет гарантировать выполнение критичных по времени задач (например, обработка данных с гироскопа или управление сервоприводами) с задержкой не более 1 миллисекунды.

Драйверы устройств

Система включает набор проприетарных драйверов для всех аппаратных компонентов роботов Aldebaran:

  • Моторы и сервоприводы — драйверы для управления 25 степенями свободы (у NAO) или 20 (у Pepper) с обратной связью по положению и скорости.
  • Сенсоры — драйверы для камер (2 камеры у NAO, 3 у Pepper), микрофонов (4 у Pepper), ультразвуковых дальномеров, инфракрасных датчиков, тактильных сенсоров, гироскопа и акселерометра.
  • Коммуникационные модули — драйверы для Wi-Fi (802.11 b/g/n), Bluetooth и Ethernet.
  • Аудиосистема — драйверы для динамиков и аудиокодека, поддерживающего синтез речи и распознавание команд.

Файловая система

NAOqi OS использует корневую файловую систему на базе SquashFS (сжатая, только для чтения) для системных файлов и отдельный раздел ext4 для пользовательских данных и логов. Размер корневого раздела составляет около 500 МБ, пользовательского — до 8 ГБ (на моделях с флеш-памятью). Система поддерживает монтирование внешних USB-накопителей и SD-карт.

Компоненты NAOqi

NAOqi OS тесно интегрирована с фреймворком NAOqi, который предоставляет программный интерфейс для разработки приложений. Основные модули фреймворка:

ALMemory

Центральное хранилище данных, работающее по принципу «ключ-значение». Все модули NAOqi (двигатели, сенсоры, поведенческие скрипты) читают и записывают данные в ALMemory. Например, положение суставов, показания датчиков, результаты распознавания речи и текущее состояние робота хранятся в этом модуле. Доступ к данным возможен через API на C++, Python или .NET.

ALMotion

Модуль управления движениями. Обеспечивает выполнение заранее заданных поз, траекторий и процедур (например, ходьба, захват предметов). Использует алгоритмы обратной кинематики и планирования пути. Поддерживает как жёсткое (позиционное), так и мягкое (силовое) управление сервоприводами.

ALSpeechRecognition и ALTextToSpeech

Модули для обработки речи. ALSpeechRecognition выполняет распознавание команд на основе предварительно загруженных грамматик (поддерживаются русский, английский, французский, японский, немецкий, испанский, итальянский, китайский и корейский языки). ALTextToSpeech синтезирует речь с использованием голосовых движков Nuance или Acapela.

ALVideoDevice

Модуль для работы с камерами. Позволяет захватывать видеопотоки, изменять параметры съёмки (разрешение, частота кадров, баланс белого) и применять алгоритмы компьютерного зрения (например, детекция лиц, распознавание QR-кодов).

ALBehaviorManager

Менеджер поведений. Управляет выполнением скриптов на языке Choregraphe (визуальный язык программирования, основанный на блок-схемах) или на Python. Поддерживает параллельное выполнение нескольких поведений и их приоритизацию.

Версии и совместимость

Версия NAOqi OSГод выпускаПоддерживаемые роботыОсновные изменения
1.x2008–2012NAO V3, V4Первая стабильная версия, поддержка Linux 2.6
2.02015NAO V5, PepperУнифицированный API, поддержка Intel Atom
2.52018NAO V6, PepperОблачные сервисы, улучшенная обработка речи
2.92021NAO V6, PepperИсправления безопасности, оптимизация энергопотребления

Система не имеет обратной совместимости: приложения, написанные для версии 1.x, не работают на версии 2.x без перекомпиляции. Для разработки под NAOqi OS используется SDK, доступный для Windows, macOS и Linux.

Применение

NAOqi OS используется в образовательных, исследовательских и коммерческих проектах. Роботы на базе этой системы применяются для:

  • Обучения программированию и робототехнике в школах и университетах (более 10 000 роботов NAO поставлены в образовательные учреждения по всему миру).
  • Исследований в области человеко-машинного взаимодействия, социальной робототехники и искусственного интеллекта.
  • Работы в качестве ассистентов в торговых центрах, банках и отелях (робот Pepper используется компаниями SoftBank, Nestlé, Carrefour и другими).
  • Терапии и реабилитации (например, работа с детьми с расстройствами аутистического спектра).

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

Основные недостатки NAOqi OS включают:

  • Закрытость кода — система является проприетарной, что ограничивает возможности модификации и аудита безопасности. Сообщество разработчиков не имеет доступа к исходным кодам ядра и драйверов.
  • Зависимость от аппаратного обеспечения — NAOqi OS работает только на роботах Aldebaran/SoftBank Robotics. Попытки портировать систему на другие платформы (например, Raspberry Pi) не увенчались успехом из-за отсутствия драйверов.
  • Ограниченная поддержка языков — хотя система поддерживает 9 языков для распознавания речи, качество распознавания на русском языке значительно ниже, чем на английском или японском.
  • Устаревание версий — после выхода новой версии NAOqi OS, поддержка предыдущих прекращается в течение 1–2 лет, что вынуждает пользователей обновлять роботов или сталкиваться с отсутствием обновлений безопасности.

Источники

  1. Aldebaran Robotics. «NAOqi OS Technical Documentation» (2015).
  2. SoftBank Robotics. «Pepper Developer Guide» (2018).
  3. Pot, E. et al. «Real-Time Operating Systems for Humanoid Robots: A Case Study of NAOqi» // Journal of Robotics and Autonomous Systems, 2017.
  4. «NAOqi OS 2.9 Release Notes» (2021) — официальный сайт SoftBank Robotics.
  5. «Programming Robots with NAOqi» — учебное пособие, издательство Springer, 2019.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →