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.x | 2008–2012 | NAO V3, V4 | Первая стабильная версия, поддержка Linux 2.6 |
| 2.0 | 2015 | NAO V5, Pepper | Унифицированный API, поддержка Intel Atom |
| 2.5 | 2018 | NAO V6, Pepper | Облачные сервисы, улучшенная обработка речи |
| 2.9 | 2021 | NAO 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 лет, что вынуждает пользователей обновлять роботов или сталкиваться с отсутствием обновлений безопасности.
Источники
- Aldebaran Robotics. «NAOqi OS Technical Documentation» (2015).
- SoftBank Robotics. «Pepper Developer Guide» (2018).
- Pot, E. et al. «Real-Time Operating Systems for Humanoid Robots: A Case Study of NAOqi» // Journal of Robotics and Autonomous Systems, 2017.
- «NAOqi OS 2.9 Release Notes» (2021) — официальный сайт SoftBank Robotics.
- «Programming Robots with NAOqi» — учебное пособие, издательство Springer, 2019.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →