4. 机器人硬件与传感器配置

在 LeRobot 数据采集与数据集构建流程中,硬件与传感器配置是决定数据质量上限的第一道关口。无论后续采用 ACT、Diffusion Policy 还是其他模仿学习算法,模型能学到的信息完全取决于采集时硬件能提供什么。本章围绕机械臂、相机、夹爪、力传感器四类核心设备,讲清选型逻辑、关键参数与配置方法,帮助你在动手采集前把硬件链路搭对。

一、核心原理:硬件决定数据的“可学习性”

机器人学习数据本质上是“观测—动作”序列。观测来自相机、关节编码器、力传感器;动作来自机械臂与夹爪的执行指令。硬件配置的核心目标有三个:

  • 观测充分性:相机视角、分辨率、帧率能否覆盖任务关键区域,例如抓取点、接触面、目标物体。
  • 动作可复现性:机械臂自由度、重复定位精度、夹爪行程与力控能力是否与任务匹配。
  • 时间一致性:多传感器采样频率、时间戳对齐、延迟是否可控,否则策略会学到错位的因果。
一句话原则:硬件不是越贵越好,而是“观测够用、动作可控、时间对齐”三者同时满足。

二、机械臂选型与参数设置

LeRobot 生态中常见的是 6 自由度协作机械臂(如 SO-100、Koch、ALOHA 系列)以及低成本舵机臂。选型时重点看以下参数:

参数含义推荐范围/建议
自由度 DOF可独立控制的关节数桌面抓取 5~6 DOF;复杂操作 6~7 DOF
重复定位精度多次回到同一点的最大偏差≤1 mm 适合精细抓取;≤3 mm 适合粗放任务
负载能力末端可承载重量≥ 夹爪重量 + 目标物体重量 × 1.5 安全系数
工作半径末端可达范围覆盖整个操作台,避免频繁移动底座
控制接口与主机通信方式USB/串口/CAN,需确认 LeRobot 驱动支持

参数设置上,建议先做关节零位标定,再设置速度与加速度限制。采集阶段速度不宜过快,否则相机运动模糊会显著降低数据质量。典型配置如下:

robot:
  type: so100
  port: /dev/ttyACM0
  baudrate: 1000000
  joints:
    - shoulder_pan
    - shoulder_lift
    - elbow_flex
    - wrist_flex
    - wrist_roll
    - gripper
  max_velocity: 0.5      # 归一化速度,采集时建议 0.3~0.5
  max_acceleration: 0.8
  calibration: ./calib/so100.json

三、相机配置:视角、分辨率与帧率

相机是模仿学习中最关键的观测源。常见配置为“一主多辅”:一个全局视角看整体场景,一个腕部视角看末端与接触区域。选型与参数建议:

  • 分辨率:全局相机 640×480 或 1280×720;腕部相机 640×480 足够,过高会增加传输与训练负担。
  • 帧率:与机械臂控制频率匹配,通常 30 FPS;若控制频率为 10 Hz,相机 30 FPS 可提供冗余。
  • 曝光与白平衡:手动锁定,避免自动曝光导致帧间亮度跳变,这是数据集中最常见的噪声来源之一。
  • 安装位置:全局相机俯视 30°~45°,腕部相机尽量靠近夹爪但不遮挡视线。
误区:使用自动曝光和自动白平衡。采集过程中光照变化会让模型把“亮度变化”误学成“动作变化”,导致策略不稳定。

四、夹爪与力传感器配置

夹爪决定抓取动作的物理边界。平行夹爪适合规则物体,自适应夹爪适合形状多变物体。关键参数包括行程、夹持力、开合速度。力传感器则用于接触-rich 任务,如插拔、擦拭、装配。

力传感器常见为六维力/力矩传感器,安装在腕部与夹爪之间。配置要点:

  • 量程:根据任务最大接触力选择,通常 50~200 N,过大量程会降低小力分辨率。
  • 采样率:≥ 100 Hz,接触瞬间力变化快,低频会丢失关键信号。
  • 零点标定:每次上电后空载标定,消除夹爪自重与温漂影响。
  • 滤波:硬件低通 + 软件滑动平均,但滤波延迟需与相机时间戳对齐。
sensors:
  camera_front:
    type: usb_camera
    index: 0
    width: 640
    height: 480
    fps: 30
    auto_exposure: false
    exposure: 120
  camera_wrist:
    type: usb_camera
    index: 1
    width: 640
    height: 480
    fps: 30
  force_torque:
    type: serial
    port: /dev/ttyUSB0
    baudrate: 115200
    rate_hz: 200
    zero_on_start: true

五、案例场景:桌面抓取任务的硬件配置

任务:机械臂从桌面抓取不同颜色的方块并放入盒子。硬件配置如下:

  • 机械臂:SO-100,6 DOF,重复定位精度 1 mm,负载 500 g。
  • 相机:全局 1280×720@30FPS,腕部 640×480@30FPS,均锁定曝光。
  • 夹爪:平行夹爪,行程 50 mm,夹持力 20 N,开合速度 0.2 s。
  • 力传感器:暂不配置,因为抓取任务对接触力要求不高,可先降低复杂度。

采集时控制频率设为 10 Hz,相机 30 FPS 下每 3 帧对应一个动作,时间戳统一由主机时钟打标。该配置在 LeRobot 中可直接通过 YAML 加载,采集 50 条轨迹后即可训练基础 ACT 策略。

六、复盘与常见误区

硬件配置阶段最容易出现的问题不是设备本身,而是“配置与任务不匹配”。常见误区包括:

  1. 相机视角被机械臂遮挡:采集时频繁出现末端遮挡目标,模型学不到稳定观测。解决:调整全局相机角度或增加腕部相机。
  2. 夹爪力过大导致物体弹飞:力控参数未调,抓取瞬间物体被弹开。解决:降低夹持力或增加软指垫。
  3. 力传感器未标定:零点漂移导致力信号基线偏移,策略学到错误的接触判断。解决:每次采集前执行零点标定。
  4. 多传感器时间戳不同步:相机与力传感器各自打标,导致观测与动作错位。解决:统一由主机在读取时打时间戳,或使用硬件触发。
建议在正式采集前先做 5 条“试采”,回放检查相机画面、关节轨迹、力信号是否正常,再批量采集。试采成本远低于返工成本。
LeRobot 硬件与传感器配置链路 采集主机 LeRobot 运行时 时间戳统一打标 机械臂 6 DOF / 重复精度 ≤1mm 速度限制 0.3~0.5 关节零位标定 夹爪 行程 50mm / 力 20N 开合速度 0.2s 软指垫防弹飞 相机 全局 1280×720@30 腕部 640×480@30 锁定曝光/白平衡 力/力矩传感器 量程 50~200N 采样率 ≥100Hz 上电零点标定 统一时间戳与数据对齐总线 相机 30FPS · 力传感器 200Hz · 机械臂控制 10Hz → 主机统一打标后写入 LeRobotDataset