Skip to main content
循环从您的机器人实际做了什么开始。您发送运行记录,包括失败和干预。Avala 读取它们,找出规律,并告诉您缺少哪些数据。

格式

MCAP 保留每个 topic,因此能提供最完整的信息。ROS bag 导入器转换摄像头 topic(sensor_msgs/Image 和 sensor_msgs/CompressedImage),并保留关节状态及其他数值或文本 topic。点云等二进制负载会被跳过。当您需要保留所有 topic 时,请发送 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 bag 和 LeRobot 数据集

当运行记录存放在机群之外时,将其作为数据集导入。请先安装对应格式的扩展。
LeRobot 导入器的详细说明见导出。

导入评估日志

如果您用开源评估工具 Inspect Robots 评估策略,可以导入它的 JSON 评估日志。每个试验(一个 epoch 中的一个场景)为一个序列打上结果标签。失败的试验成为您可以筛选、审阅并转化为采集工作的序列。
每个导入的标签都将 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 完成。参见与 AI 一起使用 Avala进行连接。

Avala 如何处理运行记录

以下步骤是 Avala 在计划中提供的服务。它们没有可调用的 API。
  1. 分段。 Avala 在状态变化处把每条运行记录拆分为序列和子任务。您的事件锚定失败发生的时刻。
  2. 标注。 每个序列获得其序列元数据的两个维度:技术有效性检查和结果标签。
  3. 聚类。 Avala 按出了什么问题以及在什么条件下出问题对失败分组。聚类映射到为您的计划建立的带版本号的失败分类体系。新的聚类会扩展该分类体系。
  4. 差距分析。 Avala 把失败聚类与您现有训练数据和评估组的覆盖进行比较。

差距报告

Avala 为每批运行记录交付一份差距报告。 您审阅差距报告并选择优先级。获批的实验成为下一份采集简报。