Choregraphe
Choregraphe — это графическая среда разработки и управления поведением гуманоидного робота NAO, созданная французской компанией Aldebaran Robotics (ныне входит в состав корпорации SoftBank Robotics). Программное обеспечение позволяет создавать, редактировать, симулировать и загружать программы (называемые «поведениями» или «choregraphe projects») на робота, используя интуитивно понятный визуальный интерфейс без необходимости написания кода вручную.
История создания
Первая версия Choregraphe была выпущена в 2007 году вместе с запуском робота NAO. Среда разрабатывалась как часть экосистемы Aldebaran Robotics для упрощения программирования роботов, ориентированных на образование, исследования и развлекательную сферу. В 2012 году, после выхода более мощного робота Pepper, Choregraphe была адаптирована и для него, получив поддержку соответствующих аппаратных возможностей (например, сенсорного экрана и колёсной базы).
В 2015 году компания SoftBank Robotics, приобретшая Aldebaran, продолжила развитие Choregraphe, интегрировав её в более широкую платформу управления роботами — NAOqi OS. Последняя стабильная версия (2.8.x) была выпущена в 2020 году, после чего поддержка Choregraphe была частично замещена новыми инструментами, такими как Robot Lifecycle Manager и Webots, но среда остаётся доступной для скачивания и использования.
Архитектура и принцип работы
Choregraphe построена на клиент-серверной архитектуре: программа запускается на компьютере пользователя (клиент), а робот выступает в роли сервера, выполняющего команды. Среда использует протокол NAOqi API для взаимодействия с роботом через Wi-Fi или Ethernet.
Основные компоненты интерфейса
- Палитра блоков (Box Library): содержит предустановленные функциональные блоки, сгруппированные по категориям: движение, речь, зрение, логика, сенсоры, мультимедиа и другие.
- Рабочее пространство (Flow Diagram): основное поле, куда пользователь перетаскивает блоки и соединяет их стрелками, задавая последовательность выполнения.
- Панель свойств (Properties Panel): отображает параметры выбранного блока (например, скорость движения, громкость речи, текст для произнесения).
- Виртуальный робот (Virtual Robot): симулятор, позволяющий тестировать поведение без реального робота.
- Консоль (Console): выводит сообщения об ошибках и отладочную информацию.
Язык программирования
Хотя Choregraphe является визуальной средой, каждый блок может быть расширен или создан с нуля с помощью скриптов на языке Python (версии 2.7, так как NAOqi OS использует Python 2). Пользователь может открыть редактор кода внутри блока и написать произвольный скрипт, который будет выполняться при активации блока. Это позволяет реализовывать сложную логику, недоступную через стандартные блоки.
Классификация блоков
Блоки в Choregraphe делятся на несколько типов по способу использования:
- Стандартные блоки (Standard Boxes): предустановленные модули, выполняющие конкретные действия (например, «Say», «Move To», «Play Sound»).
- Составные блоки (Compound Boxes): объединяют несколько блоков в один, что упрощает структуру сложных проектов.
- Скриптовые блоки (Script Boxes): блоки, содержащие код на Python, который выполняется при запуске.
- Таймерные блоки (Timer Boxes): запускают выполнение с заданной задержкой или по расписанию.
- Логические блоки (Logic Boxes): реализуют условия (if/else), циклы (while, for) и операции сравнения.
Применение
Образование
Choregraphe широко используется в учебных заведениях для обучения основам робототехники и программирования. Визуальный интерфейс позволяет студентам быстро освоить концепции последовательного выполнения команд, ветвления и циклов, не углубляясь в синтаксис языка. В России среда применялась в рамках курсов по робототехнике в Московском государственном университете, Санкт-Петербургском политехническом университете и ряде школ, где роботы NAO использовались для демонстрации алгоритмов.
Научные исследования
В исследовательских проектах Choregraphe используется для прототипирования поведения роботов в социальной робототехнике, психологии и когнитивной науке. Например, с её помощью разрабатывались сценарии взаимодействия робота с детьми с аутизмом или для изучения невербальной коммуникации.
Развлекательная и сервисная сфера
Роботы Pepper, программируемые через Choregraphe, применялись в торговых центрах, банках и на выставках для привлечения клиентов, проведения презентаций и выполнения простых сервисных функций. В России такие роботы использовались, например, в московских офисах «Сбербанка» для консультаций посетителей.
Критика и ограничения
Несмотря на популярность, Choregraphe имеет ряд недостатков:
- Ограниченная производительность: среда неэффективна для сложных задач, требующих параллельного выполнения множества процессов или обработки больших объёмов данных.
- Зависимость от Python 2.7: устаревшая версия языка ограничивает совместимость с современными библиотеками и создаёт проблемы с безопасностью.
- Закрытость экосистемы: Choregraphe тесно привязана к роботам NAO и Pepper, что делает её непригодной для других аппаратных платформ.
- Прекращение активной поддержки: с 2020 года SoftBank Robotics не выпускает обновлений, что приводит к проблемам с совместимостью с новыми версиями операционных систем (Windows 10/11, macOS).
Альтернативы и преемники
В 2021 году SoftBank Robotics представила Robot Lifecycle Manager (RLM) — облачную платформу для управления парком роботов, которая частично заменяет Choregraphe для развёртывания и мониторинга. Для разработки поведения рекомендуется использовать Webots (симулятор с открытым исходным кодом) или писать программы напрямую на Python с использованием NAOqi SDK. Также существуют сторонние решения, такие как ROS (Robot Operating System), которые могут взаимодействовать с NAO через мосты, но не предоставляют такого же уровня визуального программирования.
Интересные факты
- Название «Choregraphe» происходит от французского слова «chorégraphie» (хореография), что отражает основную функцию программы — «ставить танцы» роботу, задавая последовательность движений.
- В 2012 году NAO, запрограммированный через Choregraphe, выступал в качестве дирижёра оркестра на концерте в Токио.
- Среда поддерживает многопользовательскую работу: несколько разработчиков могут одновременно редактировать один проект через сеть.
Источники
- Официальная документация SoftBank Robotics по Choregraphe (архивная версия 2.8).
- Pot, E., Monceaux, J., & Maisonnier, B. (2009). «Choregraphe: a graphical tool for humanoid robot programming». Proceedings of the IEEE International Conference on Robotics and Automation.
- Книга: «Programming Robots with NAO and Choregraphe» by D. Gouaillier et al. (2012).
- Материалы курса «Робототехника на базе NAO» МГУ им. М.В. Ломоносова (2018).
- Статья «SoftBank Robotics прекращает поддержку Choregraphe» на портале The Robot Report (2020).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →