Skip to main content
Цикл начинается с того, что ваши роботы делают на самом деле. Вы отправляете прогоны, включая сбои и вмешательства. Avala читает их, находит закономерности и сообщает, каких данных не хватает.

Форматы

MCAP сохраняет все топики, поэтому даёт самую полную картину. Импортёр ROS bag конвертирует топики камер (sensor_msgs/Image и sensor_msgs/CompressedImage) и сохраняет состояния суставов и другие числовые или текстовые топики. Облака точек и другие двоичные данные пропускаются. Отправляйте MCAP, когда нужно сохранить все топики.

Отправка прогонов как записей флота

Каждая загрузка попадает в существующую запись флота. Avala создаёт записи для ваших зарегистрированных устройств в начале программы. Получите их список, чтобы найти UID записи.
upload_recording возобновляет прерванную загрузку того же источника. Завершённый вызов означает, что обработка поставлена в очередь. Проверяйте client.fleet.recordings.get(uid).status, пока значение не станет ready.

Отметка сбоев и вмешательств как событий

События флота ставят метку на момент в записи. Отмечайте каждый сбой и каждое вмешательство, чтобы Avala быстро их находила. Используйте type для класса события и metadata для всего, что логирует ваш стек, например версии модели и задачи.
type события принимает одно из значений error, warning, info, state_change, anomaly или custom. severity принимает одно из значений info, warning, error или critical. События также можно создавать автоматически с помощью правил записи.

Импорт ROS bags и наборов данных LeRobot

Когда прогоны хранятся вне флота, импортируйте их как набор данных. Сначала установите дополнение для нужного формата.
Импортёр LeRobot подробно описан в разделе Экспорты.

Импорт логов оценки

Если вы оцениваете свою политику с помощью Inspect Robots, инструмента оценки с открытым исходным кодом, импортируйте его JSON-лог оценки. Каждое испытание, то есть одна сцена в одной эпохе, размечает одну последовательность меткой результата. Неудачные испытания становятся последовательностями, которые можно фильтровать, проверять и превращать в задачи сбора.
У каждой импортированной метки source равен imported, evaluation_membership равен held_out_eval, а autonomy_level равен autonomous. model_version соответствует политике запуска. Задача запуска становится одной подзадачей, охватывающей всё испытание. Метки, записанные человеком или моделью, сохраняются, если вы не передадите --overwrite. Полный список параметров приведён в справочнике CLI.

Просмотр записей и событий через MCP-сервер

MCP-сервер читает данные флота. Спросите своего ассистента о недавних сбоях или вызывайте инструменты напрямую:
  • fleet_list_recordings и fleet_get_recording для записей
  • fleet_list_events с фильтром по recording, device, type или severity
  • get_fleet_health для сводки по всему флоту
Загрузки и создание событий выполняются через SDK или CLI. См. Использование Avala с ИИ, чтобы подключиться.

Что Avala делает с прогонами

Шаги ниже Avala выполняет как услугу в рамках программы. Для них нет API, который нужно вызывать.
  1. Сегментация. Avala делит каждый прогон на последовательности и подзадачи в точках смены состояния. Ваши события привязывают моменты сбоя.
  2. Разметка. Каждая последовательность получает обе оси своих метаданных последовательности: проверку технической валидности и метку результата.
  3. Кластеризация. Avala группирует сбои по тому, что пошло не так и в каких условиях. Кластеры соотносятся с версионированной таксономией сбоев вашей программы. Новые кластеры расширяют таксономию.
  4. Анализ пробелов. Avala сравнивает кластеры сбоев с покрытием ваших существующих обучающих данных и оценочных когорт.

Отчёт о пробелах

Avala поставляет отчёт о пробелах для каждого пакета прогонов. Вы изучаете отчёт о пробелах и выбираете приоритеты. Утверждённые эксперименты становятся следующим брифом на сбор данных.