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

runtime配置

请在本地hw_r2c_sdk-x.x.x/r2c_sdk_python/config文件夹找到机器人配置文件robot_{不同的机器人}_config.yaml,比如robot_flexiv_config.yaml。

机器人端配置文件中runtime配置项主要分为基础控制项、异步融合、心跳上报、键盘控制这几类。

runtime配置项示例

runtime:
  publish_hz: 20.0                # 动作运行频率 (Hz),同时决定观测发布检查频率
  max_duration_s: 0.0             # 最大运行时长 (秒),0表示持续运行
  dry_run: false                  # 调试模式:只发送观测,不运行动作
  action_response_timeout_s: 5.0  # 等待云端动作响应的超时时间 (秒)
  max_enqueue_actions_per_chunk: -1  # 单次入队的动作数上限,-1表示全部采用
  enable_action_chunk_alignment: false  # 启用chunk对齐
  skip_initial_observations: 1    # 启动后跳过的初始观测数,默认1

  # 心跳上报
  heartbeat:
    enabled: true
    interval_ms: 5000
    jitter_ms: 0
    status: "ONLINE"
    mode: "AUTO"

  # 键盘控制
  keyboard_control:
    enabled: false
  # ── 异步请求融合配置 ─────────────────────────────────────────────
  # 控制是否启用异步请求与轨迹融合。启用后,队列未空即可提前发布新
  # observation(掩盖云端推理延迟),并用融合策略平滑新旧 chunk 衔接。
  async_request:
    enabled: false
    # 队列中剩余 action 数低于此阈值时提前请求新 observation。
    # 0 退化为队列空才发布。
    publish_trigger_threshold: 0
    # 轨迹融合子配置
    fusion:
      # 融合策略: replace (直接替换) / weighted_average (加权平均) / nearest_neighbor (最近邻)
      strategy: weighted_average
      # 融合窗口大小 (用于 weighted_average / nearest_neighbor)
      window_size: 10
      # 类型感知融合 (Type-Aware Fusion):声明 joint_states.position 中每个元素的物理语义。
      # 可选值: joint_angle / position_xyz / euler / quaternion。
      # 需同时配置 strategy != replace 才能触发融合。
      state_types:
        - joint_angle
        - joint_angle
        - joint_angle
        - joint_angle
        - joint_angle
        - joint_angle
      # state_type_order — 为每个观测字段指定类型优先级排序 (可选)
      # state_type_order:
      #   euler: rpy
      #   quaternion: wxyz

runtime基础控制项

表1 基础控制项参数

参数

类型

默认值

说明

publish_hz

float

30

控制循环(动作运行)频率。

主循环每tick消费1个队列中的动作并运行,同时检查是否需要发布新观测。

实际观测发布速率取决于云端响应和队列消耗速度,一般为10Hz~30Hz。

max_duration_s

float

0

最大运行时长。

0或负数表示持续运行,需通过Ctrl+C停止运行。

dry_run

bool

false

该参数为true时正常发送观测数据,但不运行推理返回的动作。

适用于调试。

action_response_timeout_s

float

1.0

发送观测后等待云端动作的超时时间。

超时后重新发送观测。

skip_initial_observations

int

1

启动后跳过前N个观测不发布。

首个观测通常包含不完整数据(传感器未就绪),默认跳过1个。

动作序列与异步融合

云端返回的action chunk(动作序列)被拆分为多个action,将action逐个推入运行队列消费。当队列中仍有未消费的旧动作时,新chunk到达会触发融合逻辑,避免关节轨迹跳变。

表2 动作队列与异步融合参数

参数

类型

默认值

说明

max_enqueue_actions_per_chunk

int

-1

单次入队的动作数上限,超出部分丢弃。

-1表示全部采用。

enable_action_chunk_alignment

bool

false

新chunk到达时,先对齐到上次已运行的最后一个动作位置。

适用于chunk之间存在重叠的推理场景。

publish_trigger_threshold

int

0

队列中剩余动作数低于此阈值时触发新一轮观测发布。

0表示队列清空才发布(不进行异步融合)。

fusion_strategy

str

replace

融合策略,当前仅支持对关节值的融合,未端位姿暂不支持,请参见表3

fusion_window_size

int

10

融合窗口大小,仅weighted_average策略使用。

表3 融合策略

策略

说明

适用场景

replace

直接替换旧队列(默认行为)。

低延迟、single-step推理

weighted_average

新旧动作前W步线性加权平均,逐步过渡。

chunk推理、要求平滑过渡

nearest_neighbor

以当前关节状态为锚点,在新chunk中匹配最近点作为起点。

关节快速运动、空间对齐

动作队列与异步融合的配置建议

# 低延迟模式(single-step 推理,不融合)
runtime:
  publish_trigger_threshold: 0
  fusion_strategy: "replace"

# 平滑过渡模式(chunk 推理,加权融合)
runtime:
  publish_trigger_threshold: 10
  fusion_strategy: "weighted_average"
  fusion_window_size: 10

心跳上报

runtime.heartbeat参数控制向云端定期发送心跳信号,用于监控设备在线状态。

表4 heartbeat参数

参数

类型

默认值

说明

enabled

bool

false

是否启用心跳

interval_ms

int

1000

心跳间隔

jitter_ms

int

0

随机抖动(毫秒),避免多设备同时上报

status

str

"ONLINE"

心跳状态值

mode

str

"AUTO"

心跳模式

心跳上报示例

heartbeat:
  enabled: true
  interval_ms: 5000
  status: "ONLINE"
  mode: "AUTO"

键盘控制

runtime.keyboard_control参数启用终端键盘快捷键控制机器人。

表5 keyboard_control参数

参数

类型

默认值

说明

enabled

bool

false

是否启用键盘控制。

键盘控制默认快捷键如表6

表6 键盘控制默认快捷键

按键

功能

Space

暂停/恢复

h

回零位(go_home)

e

优雅停止

相关文档