在 lerobot-dataset-visualizer 中展示的参数,本质上是对 so101-robot 机械臂运动状态的数字化描述,下面详细解释它们在可视化工具中的含义和作用。

1. 核心概念:动作 (Action) 与观测 (Observation)
在机器人控制和强化学习中,这是两个最基础的概念:
- 动作 (
action) :这是智能体(Agent)发出的指令,告诉机器人要做什么。 - 观测 (
observation) :这是机器人反馈给智能体的当前状态,告诉智能体现在怎么样了。
在 so101-robot 中,动作和观测的结构是完全一样的,都是一个包含6个浮点数的数组,分别对应6个关节的位置。这种设计使得控制逻辑相对直观。
2. 各参数详细说明(结合可视化)
在 lerobot-dataset-visualizer 中,你可能会看到类似下面的实时数据显示或曲线图,它们各自的含义如下:
| 参数名 | 中文含义 | 动作 (action) 含义 |
观测 (observation.state) 含义 |
单位 |
|---|---|---|---|---|
shoulder_pan.pos |
肩部水平旋转关节位置 | 指令机械臂底座绕 Z 轴旋转到目标角度。 | 反馈机械臂底座当前绕 Z 轴的实际角度。 | 弧度 (rad) |
shoulder_lift.pos |
肩部俯仰关节位置 | 指令大臂绕 Y 轴旋转到目标角度(抬起或放下)。 | 反馈大臂当前绕 Y 轴的实际角度。 | 弧度 (rad) |
elbow_flex.pos |
肘部弯曲关节位置 | 指令前臂绕 Y 轴旋转到目标角度(弯曲或伸直)。 | 反馈前臂当前绕 Y 轴的实际角度。 | 弧度 (rad) |
wrist_flex.pos |
腕部俯仰关节位置 | 指令手腕绕 Y 轴旋转到目标角度(上下摆动)。 | 反馈手腕当前绕 Y 轴的实际角度。 | 弧度 (rad) |
wrist_roll.pos |
腕部旋转关节位置 | 指令手腕绕 X 轴(末端执行器轴线)旋转到目标角度。 | 反馈手腕当前绕 X 轴的实际旋转角度。 | 弧度 (rad) |
gripper.pos |
夹爪位置 | 指令夹爪开合到目标位置。通常 0 代表闭合,1 代表张开。 |
反馈夹爪当前的实际开合程度。 | 归一化值 (0~1) |
3. 在可视化工具中的作用
lerobot-dataset-visualizer 会实时绘制这些参数的变化曲线,让你直观地看到:
- 动作指令序列 :一条曲线代表一个关节的
action随时间的变化。 - 观测状态序列 :另一条曲线代表同一个关节的
observation.state随时间的变化。
通过对比这两条曲线,你可以:
- 验证控制效果 :理想情况下,观测曲线应该紧紧跟随动作曲线。如果两者偏差很大,说明控制算法可能不够好,或者机器人模型存在误差。
- 分析运动过程:可以清晰地看到每个关节在何时开始运动、运动到什么位置、何时停止。
- 调试和诊断:如果机器人的行为不符合预期,可以通过查看这些曲线来判断是哪个关节的指令出了问题,或者是哪个关节的反馈有异常。
例如,在执行一个抓取任务时,你会看到:
shoulder_pan.pos,shoulder_lift.pos,elbow_flex.pos,wrist_flex.pos,wrist_roll.pos这些关节的曲线会协同变化,将夹爪移动到目标物体上方。- 最后,
gripper.pos的曲线会从一个较大的值(张开)迅速下降到一个较小的值(闭合)。
总结
简单来说,action 是你想让机器人做什么 ,observation.state 是机器人告诉你它现在做了什么 。lerobot-dataset-visualizer 通过可视化这两者,帮助你理解和分析机器人的运动行为和控制性能。