В материале
29 разд.Один умный робот — сложно. Пять разных роботов — уже менеджмент
В лаборатории легко сказать: «robot, принеси бутылку». В multi-robot team вопрос другой: кто именно? Wheeled platform быстрее на полу, quadruped проходит сложный рельеф, arm умеет grasp, drone видит сверху, но ничего тяжёлого не несёт. Команда должна разложить человеческую фразу на tasks, dependencies и capabilities.
CoMuRoS интересна тем, что авторы не делают один LLM прямым водителем каждого motor. Они строят hierarchy: сверху task manager, ниже robot-level agents, ещё ниже ROS2 skills, perception и classical control. AI здесь больше бригадир, чем джойстик.
Task manager читает человеческое желание, а не готовый DAG
User даёт high-level instruction естественным языком. Central LLM получает description environment, список robots, skills/constraints и dynamic context: выполненные tasks, status агентов и events. На этой основе он decomposes goal на executable subtasks.
Classical planning часто требует вручную описать preconditions и dependencies. Это даёт guarantees, но плохо переносит open world. CoMuRoS выбирает другую trade-off: часть зависимостей выводится из context, поэтому flexibility выше, а correctness сильнее зависит от reasoning LLM и quality configuration.
Четыре класса задач: independent, sequential, coordinated и infeasible
Drone может искать survivor, пока quadruped несёт aid kit — independent. Если arm сначала кладёт object в box, а mobile formation потом везёт box — sequential. Если три robots одновременно несут один box — coordinated.
Infeasible classification не менее важна. Нормальный autonomous system должен уметь сказать «у команды нет такого skill», а не сочинять heroic plan. В physical world hallucination быстро перестаёт быть смешным текстом.
Local LLM не придумывает моторную физику — он собирает известные skills
После allocation каждый robot-level LLM получает subtask и набор primitive ROS2 skills. Его роль — compose executable Python/commands из разрешённых building blocks: navigate, detect, grasp, place, wait, report. Low-level locomotion выполняет specialized controller.
Это здоровое separation. LLM хорош в semantic plan и flexible language; classical robotics — в kinematics, trajectories и feedback at high rate. Заставлять один model одновременно думать «доставить аптечку» и стабилизировать wheel velocity — архитектурный мазохизм.
Самое умное событие иногда то, которое система игнорирует
В hardware experiment человек бросил red object перед Burger robot. Perception заметил событие, но local classifier определил: оно не влияет на current task. Message не ушёл central manager, Waffle и quadruped продолжили работу. Для setup authors reported 10/10 success.
В реальном environment events бесконечны. Если каждая тень вызывает expensive replanning, система утонет в собственной внимательности. Intelligence — ещё и ability правильно не обращать внимание.
Когда бутылка падает — replanning действительно нужен
Другой hardware sequence проверял collaborative recovery. Если event мешает task, robot сообщает manager. Тот обновляет context, может остановить часть execution, переназначить subtask и затем продолжить plan.
Hardware collaborative object-recovery scenario имел 9 successes из 10 trials. Это не industrial reliability, но test важен: он проверяет mid-execution failure. Жизнь начинается после первой ошибки — робототехника тоже.
Три маленьких mobile robots несут коробку как одна машина
Waffle и два Burger robots формируют группу, физически переносящую box. Отдельный X-arm должен сбросить blue ball со стола в box. Manager синхронизирует formation arrival, manipulator action и delivery.
Successful path прошёл 8/8 trials. Интерес не в cardboard box, а в shared task model: каждый agent имеет часть capabilities, но high-level system должна видеть team как composite actuator.
Если синий мяч упал мимо — зовём самого универсального робота: человека
Авторы специально меняли geometry, чтобы X-arm иногда толкал blue ball мимо box. Camera видит failure, event признаётся relevant, manager запускает replanning. И тут появляется честный вывод: ни один доступный robot не умеет вернуть ball в box.
CoMuRoS назначает recovery task user. Человек кладёт ball в box, system видит новый state, formation продолжает delivery. Human-assisted recovery прошёл 5/5 trials. Это менее sci-fi, но гораздо взрослее: хороший AI умеет организованно просить помощь.
Hospital scenario показывает: intention тоже меняется
В simulation user может сказать «я голоден». Task manager интерпретирует intent и строит plan. Но человек может передумать, environment меняется, task становится ненужной — event loop должен учитывать это так же, как physical obstacle.
Goal не всегда immutable command на начало shift. Люди отменяют просьбы и меняют priority. Система, идеально выполняющая уже ненужную задачу, формально obedient и практически бессмысленна.
Disaster relief: drone ищет, quadruped не ждёт окончания поиска
В simulation drone обследует area и находит survivors. Когда появляется координата, manager отправляет quadruped с first-aid kit к найденному человеку, пока drone продолжает поиск. Tasks превращаются в event-driven pipeline.
Это показывает, почему rigid plan «сначала найти всех, потом помогать» может быть хуже. Feedback позволяет начать полезное action раньше.
Zero-shot здесь имеет конкретное, а не магическое значение
Authors объясняют definition: один и тот же task-manager prompt с coordination rules применяют к разным scenarios без scenario-specific fine-tuning и prompt rewrite. Меняется textual configuration environment и robot capabilities.
System не телепатически узнаёт неизвестную factory. Generalization означает, что core logic может построить новый plan из нового declarative context без ручного переписывания под каждое demo.
22 scenarios, 54 tasks и около 20 robots — benchmark уже не на двух кубиках
Curated benchmark включает 22 scenarios, 54 tasks и примерно 20 robot types/configurations. Authors оценивали classification, allocation, executability, correctness и robustness. Planning correctness доходила до 0.91 ± 0.053.
В replanning benchmark из 20 scenarios один из evaluated backends, Grok 3, показал reported correctness 0.948 ± 0.034. Это score конкретного benchmark, а не «94,8% безопасность в любом реальном мире».
Почему central + local hierarchy лучше чата, где все robots спорят
Fully decentralized LLM agents выглядят красиво, но на scale превращаются в token factory: много messages, shared state расползается, latency растёт. Central manager держит team-level picture, local agents скрывают execution details.
Manager при этом не пишет каждый motor command. Abstraction layers работают потому же, почему работают человеческие организации и software architecture: complexity нужно делить на уровни, иначе даже очень умные участники вместе производят шум.
LLM в control loop создаёт новые failure modes
Language model недетерминирован, может неверно parse intent, пропустить dependency или generate code, который syntactic, но semantically странный. Constrained skills, checks и low-level controllers снижают риск, но не убирают его.
High-stakes robotics нужны formal safety envelopes, verification, fail-safe states и logs. Если manager решил, что forklift «может слегка помочь» рядом с человеком, красивый benchmark не должен превращать фантазию в actuator command.
Почему это одна из самых чистых современных историй о кибернетике
CoMuRoS буквально строит loop: goal → plan → action → perception → event relevance → updated state → replan. Человек тоже остаётся внутри loop как agent с capabilities, а не только emergency stop.
Real intelligence в dynamic world больше похожа на хорошую организацию, чем на oracle: никто не знает всё, информация поднимается наверх только когда меняет решение, а план живёт до первой встречи с реальностью — после чего его спокойно переписывают.
Главная инженерная проблема — не дать manager стать новой единственной точкой отказа
Central coordination удобна, пока связь и manager доступны. В реальной factory или disaster zone network может исчезнуть на секунды, а cloud model — отвечать слишком медленно. Поэтому practical architecture должна явно определять, что каждый robot делает при потере high-level coordinator: завершает безопасный primitive, останавливается, возвращается домой или продолжает локальную задачу.
Именно здесь будущий CoMuRoS-подобный stack должен соединиться с классической fault-tolerant robotics. LLM может быть хорошим planner, но safety policy не должна зависеть от того, успел ли он красиво сформулировать следующий шаг.
Что станет настоящим тестом после benchmark
Следующий уровень — не ещё один tabletop demo, а многочасовая работа heterogeneous team с battery constraints, blocked routes, changing humans, sensor drift и tasks, которые приходят одновременно от разных users. Тогда станут видны latency, token cost, memory growth и конфликт priorities.
Если system выдержит такой shift без постоянного ручного prompt-tuning, это будет сильный аргумент, что natural-language orchestration действительно может стать middleware между человеком и роботизированной инфраструктурой, а не только эффектной research demo.
LLM не крутит motors — он работает уровнем выше: кто что делает, в каком порядке и когда plan нужно переписать.
- Central task-manager LLM decomposes natural-language goals и allocates tasks по capabilities.
- Local robot LLMs compose executable actions из primitive ROS2 skills.
- Onboard perception фильтрует relevant/irrelevant events до central replanning.
- Human может стать частью recovery plan, если robots не имеют нужного skill.
Что проверяли
Curated planning benchmark.
Разные dependencies и robot roles.
Примерный масштаб heterogeneous configurations.
До 0.91 ±0.053 в planning benchmark.
Как живёт plan после нажатия Start
Interpret
Task manager читает human goal и available capabilities.
Allocate
Subtasks становятся independent, sequential, coordinated или infeasible.
Execute
Robot-level agents вызывают constrained ROS2 skills.
Observe
Perception ловит changes/failures и оценивает relevance.
Replan
Relevant event обновляет context и может изменить allocation или добавить human.
Кто за что отвечает
| Уровень | LLM / reasoning | Deterministic robotics |
|---|---|---|
| Team | Goal decomposition, allocation, replanning | Task state / interfaces |
| Robot | Compose known primitive skills | ROS2 actions, checks |
| Motion | Не должен генерировать raw motor current | Controllers, navigation, kinematics |
| Safety | Reasoning предлагает plan | Execution layer должен enforce hard limits |
Почему AI-бригадир интереснее «одного суперробота»
Что означает zero-shot?
Зачем local agents?
Зачем просить человека?
Почему игнорирование event — feature?
Что читать дальше
Ещё две темы из этой серии — чтобы не закрывать вкладку на самом интересном.
Источники и проверка
- Frontiers in Robotics and AICoMuRoS - An LLM-based generalizable hierarchical task planning and execution framework for heterogeneous robot teams with event-driven re-planning
- CoMuRoS ProjectCoMuRoS project and open-source resources




Комментарии0 комментариев
Комментарии