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

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, выступал в качестве дирижёра оркестра на концерте в Токио.
  • Среда поддерживает многопользовательскую работу: несколько разработчиков могут одновременно редактировать один проект через сеть.

Источники

  1. Официальная документация SoftBank Robotics по Choregraphe (архивная версия 2.8).
  2. 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.
  3. Книга: «Programming Robots with NAO and Choregraphe» by D. Gouaillier et al. (2012).
  4. Материалы курса «Робототехника на базе NAO» МГУ им. М.В. Ломоносова (2018).
  5. Статья «SoftBank Robotics прекращает поддержку Choregraphe» на портале The Robot Report (2020).

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

На главную BFOmetr →