robocurve/inspect-robots

Open source evals for physical AI. Run any LLM/VLA on any arm/humanoid against any real/sim benchmark.

Inspect Robots – 物理人工智能评估框架

它是什么

  • 一个开源的 Python 库,允许你定义一次机器人基准测试,然后在任何兼容的实体上运行任何机器人控制策略(LLM 驱动的智能体、视觉语言模型、脚本化脚本等)——真实机械臂、模拟机器人或模拟世界。
  • 它记录一切:传感器流、策略转录、配置和分数,并将它们存储为可重放的日志。
  • 通过 Rerun 查看器提供实时可视化,可以在机器人移动时流式传输相机图像、关节轨迹和分数。

关键概念

  • 任务 – 机器人应该做什么的描述(例如“把叉子放在盘子上”)。
  • 实体 – 执行动作的机器人或模拟器。实体通过 Python 入口点发现;安装插件(例如 inspect-robots-yam)会使新机器人出现。
  • 策略 – 决策组件。策略可以是:
    • 前沿 LLM(通过 inspect-robots-agent),
    • 由 XPolicyLab 提供的 VLA(xpolicylab),
    • 代码即策略智能体(capx),
    • 简单的脚本化策略,或
    • 任何遵循动作契约的自定义客户端。
  • EvalLog – 包含完整配置、git 修订版、指标和(可选)相机帧的不可变 JSON 记录。
  • Rerun – 可选的可视化,记录 .rrd 文件,并可流式传输到远程查看器。

典型工作流程

  1. 安装核心 + 可选扩展
    uv venv && uv pip install "inspect-robots[rerun]"
    # 或仅使用 `inspect-robots` 作为仅 numpy 的核心
    
  2. 添加机器人插件(以 YAM 双臂机械臂为例)
    uv pip install inspect-robots-yam
    inspect-robots setup   # 向导创建 ~/.config/inspect-robots/config.ini
    
  3. 启动任何所需的策略服务器(例如,为 molmoact2 策略启动 MolmoAct2)。
  4. 运行任务
    inspect-robots "place the fork on the plate"
    
    • 该命令启动 Rerun 查看器,流式传输数据,并写入日志文件。
  5. 检查结果
    inspect-robots view logs/          # 静态 HTML 索引
    inspect-robots inspect LOG.json   # 美化打印单个日志
    inspect-robots video LOG.json     # 将存储的帧渲染为 MP4
    
  6. 迭代 – 你可以使用内置的 summarize 命令添加语音反馈、总结失败或使用学习笔记重试。

支持的机器人和模拟器(通过第一方插件)

机器人 / 世界 实体名称 包 动作空间
I2RT YAM 双臂机械臂 yam_arms inspect-robots-yam 14 维关节位置
Franka FR3 / Panda franka inspect-robots-franka 8 维关节位置
AgiBot A2 Ultra a2_arms inspect-robots-agibot-a2 16 维关节位置
Unitree G1 g1_arms inspect-robots-unitree-g1 16 维关节位置
SO-ARM 从动臂 so_arm inspect-robots-so101 6 维关节位置
WidowX 250S widowx inspect-robots-widowx 7 维末端执行器位姿
任何 ROS 兼容机械臂 ros inspect-robots-ros 可配置
Isaac Lab 模拟 isaacsim inspect-robots-isaacsim 关节位置
CubePick 模拟世界(无硬件) cubepick 内置 2 维增量位姿

可扩展性

  • 通过发布一个注册实体入口点并(可选)匹配策略客户端的 Python 包来添加新机器人。
  • 类似地添加新策略;框架在任何运动开始前验证兼容性(动作/观察形状、控制速率等)。
  • 可选扩展(rerun、inspect-robots-agent、inspect-robots-capx 等)单独安装,保持核心轻量(仅 NumPy)。

为什么重要

  • 为真实世界机器人研究提供单一、可复现的评估管道,弥合模拟基准测试和物理实验之间的差距。
  • 保证可审计性:每次运行都是一个自描述的日志,可以离线重新评分。
  • 支持前沿 AI 策略(LLM 智能体、代码即策略)以及经典 VLA,使得在相同硬件上比较新兴模型变得容易。
  • 内置安全护栏(错误分类、动作边界、人在回路重置)防止无人值守的机器人失控。

入门资源

  • 快速入门指南:docs/guide/quickstart.md
  • 实体参考(如何编写机器人插件):docs/guide/rig-reference.md
  • 概念概述:docs/guide/concepts.md
  • 完整 CLI 参考:docs/guide/cli.md

Inspect Robots 目前处于 alpha 阶段;API 可能会更改,因此如果你依赖它,请固定发布版本。

SUMMARY: Inspect Robots 是一个开源的 Python 框架,用于定义机器人基准测试并在真实机器人、模拟器或模拟世界上运行任何策略——LLM 智能体、VLA、脚本化脚本。它记录完整的传感器流、策略转录和分数,并提供实时 Rerun 可视化。插件增加了对特定机器人(YAM、Franka 等)和后端(ROS、Isaac Sim)的支持。核心轻量(仅 NumPy),可选扩展用于可视化、LLM 智能体、代码即策略和语音输入。

TITLE: Inspect Robots – 用于真实世界和模拟机器人策略的模块化评估套件

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目