具身智能:Rerun:具身智能的多模态时序数据层
Rerun 不是一个 VLA 模型,也不是仿真器。它更像具身智能系统里的黑盒飞行记录仪 + 可视化回放器 + 可查询数据层:把相机、深度、点云、机器人位姿、动作、文本、标量和模型输出放到同一条时间线上,让你能复盘“机器人到底在什么时候看到了什么、相信了什么、做了什么”。
这页先回答“Rerun:具身智能的多模态时序数据层”在「具身智能」里的位置:它解决什么局部问题,依赖哪些前置,最后会影响哪类工程或研究判断。
前置:先知道 VLA、世界模型、相机/深度和评测集的基本角色。 必要时先回 具身智能入口、基础知识 或 术语表。
主线关系:把感知、数据、仿真、策略、控制、安全和真实闭环连起来,看机器人系统为什么不能只靠离线指标判断。
Rerun 官方把它定位为面向 Physical AI 的 unified data layer,用于理解和改进包含 2D、3D、文本、时间序列和 tensor 的复杂多模态过程。官方文档还特别强调它服务 robotics、spatial computing、embodied AI、computer vision、simulation 等传感器随时间变化的系统。Rerun 文档里也说得很清楚:它不是训练平台、不是部署工具、也不是机器人操作系统,而是帮助准备数据、理解系统和调试开发链路的工具。
- 官网 / 产品入口:rerun.io
- 官方说明:What is Rerun?
- Python 快速开始:Log and Ingest
- 示例库:Rerun Examples
- Python API:Rerun Python API
具身智能最贵的不是单次 forward,而是失败不可解释。Rerun 在世界模型和 VLA 主线里负责把多传感器日志、坐标系、动作、预测和真实结果对齐,降低定位失败、清洗数据和构建 hard set 的成本。
先看它长什么样
Rerun 的基本体验是:代码或日志把多模态数据送进 Rerun,Viewer 里同步显示 2D 图像、3D 场景、时间线、曲线和文本;需要做数据清洗或训练集构造时,再从 recording 查询 dataframe。

图源:Rerun docs。这张图说明 Rerun 的位置:SDK / data loader 把多模态 streams 送入 Viewer / Storage,用户既能配置 layout,也能查询结果。
下面是官方 quickstart 里第一次把 3D points 送进 Viewer 后的效果。对具身智能来说,把这里的 Points3D 换成点云、机械臂末端轨迹、抓取候选或相机坐标系,排查思路是一样的。

图源:Rerun Log and Ingest。官方示例用 rr.Points3D 记录两个螺旋点云,并在 Viewer 中交互查看。
时间线是 Rerun 对机器人特别有用的地方:同一个 step 上可以同时看 RGB、depth、点云、动作、控制状态和事件日志。

图源:Rerun Log and Ingest。时间线让多模态数据按 frame、step 或 sensor timestamp 对齐。
5 分钟跑通
最小使用路径很简单:
1 | pip install rerun-sdk |
新建 rerun_demo.py:
1 | import numpy as np |
运行:
1 | python rerun_demo.py |
你应该看到 Rerun Viewer 被拉起,里面有一个 3D 点云、一个标量曲线和文本事件。这个 demo 还不是机器人系统,但它已经包含 Rerun 的三个核心动作:init 创建 recording,set_time_sequence 设定时间线,log 写入不同类型的数据。
它解决什么现场问题
真实机器人失败时,日志通常长这样:
1 | task_id=sort_red_block |
这条日志只告诉你“抓空了”,但不知道为什么抓空。真正排查时要同时看:
| 需要并排看的对象 | 如果缺失会怎样 |
|---|---|
| RGB / depth / point cloud | 不知道是视觉没看见,还是几何反投影错 |
| camera / base / end-effector frame | 不知道是不是外参、坐标轴或时间同步错 |
| 检测框、分割、抓取候选 | 不知道 perception 是否给了错误目标 |
| policy action、controller state | 不知道动作是模型错,还是控制器执行偏了 |
| success checker、人工接管标签 | 不知道失败应回流到哪个训练桶 |
Rerun 的价值就是把这些对象放进同一个 recording:按 entity path 管理空间对象,按 timeline 对齐事件,按 viewer 回放 2D/3D/曲线/文本,最后还能 query/export 成 dataframe 继续分析。
数据模型怎么理解
可以把一条 Rerun 记录抽象成:
其中:
- :entity path,例如
world/robot/gripper、world/camera/rgb; - :timeline 上的时间戳或序号,例如 frame index、sensor time、episode step;
- :component batch,例如 image、depth、points3D、transform、scalar、text log。
这个抽象很重要。具身智能不是只有一个“样本 id”,而是很多异步流:
这里 是 RGB, 是深度, 是关节,本体力觉 ,上一动作 ,语言或事件日志 。如果它们没有共同 timeline,就很难判断模型在第 步的动作到底基于哪一帧观测。
Rerun 的另一条关键线是坐标系。机器人里经常需要:
这里 是相机内参, 是相机到机器人 base 的外参。Rerun 不替你自动修正标定,但它让你把 Pinhole、Transform3D、depth、point cloud 和 robot frame 一起可视化。很多“模型抓不准”的问题,最后其实是坐标轴方向、外参版本或时间戳错了。
在具身数据引擎里的位置
Rerun 最适合放在下面这条链路中间:
1 | 机器人 / 仿真 / ROS2 / MCAP / 自定义日志 |
这和 Sim2Real 与具身数据引擎 的关系很直接:Sim2Real 页面讲“失败样本为什么值钱”,Rerun 负责让失败样本可看、可切片、可复盘、可导出。
接到机器人日志里怎么写
真实接入时,不要只记 RGB 或最终 action。更实用的 recording 应该把观测、几何、动作、控制状态和事件标签落在同一条 timeline 上:
1 | import rerun as rr |
这段代码的重点不是 API 本身,而是记录粒度:观测、几何、动作、控制状态和事件标签要落在同一条 step timeline 上。
常用对象速查
| 想看什么 | 常用 Rerun 对象 | 具身智能里的用途 |
|---|---|---|
| RGB / 深度 | rr.Image, rr.DepthImage |
检查相机画面、遮挡、深度边缘和异常曝光 |
| 相机模型 | rr.Pinhole |
把 2D 像素和 3D 空间对应起来 |
| 坐标系 / 外参 | rr.Transform3D, rr.TransformAxes3D |
检查 camera、base、end-effector 是否对齐 |
| 点云 / 轨迹 | rr.Points3D, rr.LineStrips3D |
查看重建点云、抓取候选、末端轨迹 |
| 标量曲线 | rr.Scalar |
看置信度、gripper width、力觉、速度、延迟 |
| 文本事件 | rr.TextLog |
记录 failure reason、planner state、人工接管原因 |
| 模型输出 | rr.Tensor 或结构化对象 |
保存 action chunk、logits、embedding 或中间特征 |
一个真实排查案例
1 | 症状:模型在仿真里抓取成功率 87%,真机只有 42%,失败集中在透明盒子 |
这里 Rerun 支撑的是证据链:不是“感觉模型不行”,而是能证明视觉、几何、动作、控制哪一层先错。
和 W&B、ROS、仿真器的区别
| 工具 | 更擅长什么 | 不要拿它替代什么 |
|---|---|---|
| Rerun | 多模态时序数据记录、2D/3D 可视化、坐标系与传感器回放 | 训练平台、模型 registry、机器人运行时 |
| W&B | 实验追踪、指标曲线、artifact、sweep、报告和模型/数据版本治理 | 多传感器 3D 回放、坐标系调试 |
| ROS / ROS2 | 机器人消息通信、节点编排、硬件与控制生态 | 实验结论管理、长期数据治理 |
| Isaac Sim / RoboTwin | 可控仿真、合成数据、任务脚本、物理环境 | 真机日志统一回放和跨源数据查询 |
一个常见组合是:ROS2/MCAP 负责采集和消息生态,Rerun 负责回放和空间时间对齐,W&B 负责训练实验、artifact 和评测曲线。
什么时候值得用
适合用 Rerun:
- 多相机、深度、点云、关节、动作和事件标签需要对齐;
- 需要检查相机内外参、坐标系、点云和抓取候选;
- 需要把失败样本切成可训练的 hard bucket;
- 需要让 perception、policy、control 和数据团队看同一份回放。
不一定值得用:
- 只有离线纯文本训练日志;
- 任务只需要标量 loss 和评测分;
- 已有成熟内部多模态回放系统,且能导出训练所需 dataframe;
- 线上部署只关心告警和 SLA,不需要逐 episode 复盘。
具身智能里的判断方式
读 Rerun 时不要把它当“好看的可视化工具”。它真正改变的是排查方法:
1 | 问题症状 -> 同步观测 -> 空间坐标 -> 动作执行 -> 失败标签 -> 数据回流 |
如果一个 VLA / WAM 项目没有这种可回放证据链,就很难回答:失败样本该回流到视觉、动作、世界模型、控制器还是评测脚本。Rerun 的角色,就是把这些判断从口头争论变成可视化、可查询、可复现的数据事实。
参考
- 回到本专题入口:具身智能,确认这页在整条路线中的位置。
- 按导航顺序继续:一个任务跑通具身闭环。
- 概念或符号卡住时,先查 术语表,再回到当前页。
- Title: 具身智能:Rerun:具身智能的多模态时序数据层
- Author: Charles
- Created at : 2025-06-07 09:00:00
- Updated at : 2025-06-07 09:00:00
- Link: https://charles2530.github.io/2025/06/07/ai-files-embodied-ai-rerun-robotics-data-visualization/
- License: This work is licensed under CC BY-NC-SA 4.0.