更新时间:2026-08-05 GMT+08:00
分享

各机器人配置详解

本章节介绍各机器人支持的运动键、典型配置、运行时调用的目标SDK函数、是否实现set_gripper。

✓ 代表支持,✗代表抛NotImplementedError/ValueError(运动键)或走no-op(夹爪键)

表1 各机器人与标准键对照表

适配器

pose_euler

pose_quat

joints

gripper数字

gripper字符串

dummy

✗(no-op)

✗(no-op)

lerobot

✗(no-op)

✗(no-op)

flexiv

dummy-仿真/单元测试用

  • 支持键joints(只此一种,任意长度)
  • 不实现set_gripper(走no-op)

典型配置

hardware:
  type: "dummy"
  config:
    joint_names: ["j1", "j2", "j3", "j4", "j5", "j6"]
    commands:
      go_home:
        type: go_home
        joints: [0.0, 0.0, 0.0, 0.0, 0.0, 0.5]

go_home触发后调用DummyRobotHardwareAdapter.move_to(joints=...),内部走send_action({"joint_target": [v, ...]})。

仿真模式下不会真实驱动硬件,适合端到端流程联调。

lerobot-LeRobot系列(so101等)

  • 支持键joints(list 形式,顺序对应joint_names)
  • 不实现set_gripper(走no-op)

典型配置

hardware:
  type: "lerobot"
  config:
    robot:
      type: "so101"
      port: "/dev/ttyACM0"
    joint_names: ["shoulder_pan", "shoulder_lift", "elbow", "wrist_1", "wrist_2", "wrist_3", "gripper"]
    commands:
      go_home:
        type: go_home
        joint_names:
          - shoulder_pan.pos
          - shoulder_lift.pos
          - elbow_flex.pos
          - wrist_flex.pos
          - wrist_roll.pos
          - gripper.pos
        joints: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]

LeRobot的gripper是机械结构上的一个独立关节,不需要单独走set_gripper 接口,直接给到joints列表的对应位置即可。

flexiv-Flexiv Rizon 4(唯一带夹爪的实现)

  • 支持键pose_euler/joints
  • 实现set_gripper(走vendor的Flexiv-GN01夹爪)

典型配置(pose + 夹爪宽度)

hardware:
  type: "flexiv"
  config:
    robot_sn: "Rizon4-062833"
    gripper_name: "Flexiv-GN01"
    gripper_open_width: 0.09      # 夹爪完全打开(m)
    gripper_close_width: 0.012    # 夹爪完全闭合(m)
    gripper_velocity: 0.10
    gripper_force_limit: 20.0
    commands:
      go_home:
        type: go_home
        pose_euler: [0.5, 0.0, 0.3, 0.0, 3.14, 0.0]   # 米 + 弧度
        gripper: 0.02                                 # 可选,目标宽度(m)

gripper键接受两种值,分为:

  • 数字

    set_gripper(width=<float>),移动到指定宽度。

  • 字符串

    "open" / "close":set_gripper(action="open"|"close"),移动到gripper_open_width或gripper_close_width。

move_to走Flexiv RDK的execute_primitive调用;set_gripper内部调用_move_gripper(width)。

flexiv是SDK内唯一实现set_gripper的内置适配器。

相关文档