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

传输数据压缩配置

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

传输数据压缩主要通过图像压缩配置实现,图像压缩通过机器人配置文件的device_to_r2c.mappings.transforms配置。

transforms图像转换器

device_to_r2c.mappings.transforms指定转换器,对原始图像数据进行编码。

ndarray_to_* 转换器要求BGR输入。如果原始数据为RGB,需要先加rgb_to_bgr。

表1 transforms可用转换器

注册名

输入

输出

可调参数

ndarray_to_jpeg

BGR ndarray

JPEG bytes

quality(默认95)

ndarray_to_webp

BGR ndarray

WebP bytes

quality(默认80)

ndarray_to_png

BGR ndarray

PNG bytes

无(无损)

ros_image_to_jpeg

ROS Image

JPEG bytes

quality(默认95)

ros_image_to_webp

ROS Image

WebP bytes

quality(默认80)

ros_compressed_image_to_jpeg

ROS CompressedImage

JPEG bytes

quality(默认95)

ros_compressed_image_to_webp

ROS CompressedImage

WebP bytes

quality(默认80)

rgb_to_bgr

RGB ndarray

BGR ndarray

transforms写法示例

# 写法 1: 单字符串
transforms: ndarray_to_jpeg

# 写法 2: 列表串联
transforms:
  - rgb_to_bgr
  - ndarray_to_webp

# 写法 3: 带 quality 参数
transforms:
  - ndarray_to_webp:
      quality: 70

图像压缩格式对比

表2 图像压缩格式对比

特性

JPEG

WebP

PNG

压缩方式

有损

有损

无损

quality范围

0~100

0~100

-

默认quality

95

80

-

压缩比(640×480)

≈20×

≈32×

≈2×

编码耗时

≈1.4ms

≈42ms

≈47ms

体积(vs JPEG)

基准

小35%~40%

大9×

适用场景

通用生产

带宽受限

调试/精确比对

不同编码方式的带宽参考

以2路640×480相机20Hz为例,带宽参考如表3

表3 带宽参考

编码方式

带宽

适用网络

raw(无压缩)

≈282Mbps

仅本地测试

PNG

≈64Mbps

本地/有线

JPEG q=80

≈15Mbps

宽带/4G

WebP q=80

≈9Mbps

4G/弱宽带

WebP q=40

≈4Mbps

极端低带宽

推荐在生产环境使用ndarray_to_webp(quality70~80),兼顾画质与带宽。

传输数据压缩典型场景配置示例

  • ROS2场景(sensor_msgs/CompressedImage输入)
    device_to_r2c:
      image_encoding: jpeg
      mappings:
        - target_key: "images.color.wrist"
          source_path: "streams.wrist"
          transforms:
            - ros_compressed_image_to_ndarray
            - bgr_to_rgb
            - ndarray_to_jpeg:
                quality: 80
  • LeRobot/SDK直驱场景(numpy ndarray输入,RGB格式)
    device_to_r2c:
      image_encoding: jpeg
      mappings:
        - target_key: "images.color.front"
          source_path: "front"
          transforms:
            - rgb_to_bgr
            - ndarray_to_webp:
                quality: 70
  • Dummy仿真场景
    device_to_r2c:
      image_encoding: jpeg
      mappings:
        - target_key: "images.color.wrist"
          source_path: "wrist"
          transforms:
            - ndarray_to_webp:
                quality: 70

相关文档