# ZED ROS2 Wrapper 5.1无法降低内部处理负载致功耗过高

> 原文链接：https://robotics.hellobike.com/pitfalls/2026-03-02-zed-ros2-wrapper-404
> 频道：pitfalls | 更新日期：2026-03-02 | 标签：auto, github-issue, zed-ros2-wrapper
> 核心摘要：ZED ROS2 Wrapper 5.1移除帧率上限导致功耗增加，通过修改源码恢复grab_compute_capping_fps赋值解决。

# ZED ROS2 Wrapper 5.1无法降低内部处理负载致功耗过高

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Re-enable grab_compute_capping_fps to Reduce Processing Load / Power Consumption](https://github.com/stereolabs/zed-ros2-wrapper/issues/404)（GitHub stereolabs/zed-ros2-wrapper #404）

**状态**：已解决

## 问题

在ZED ROS2 Wrapper 5.1中，`mInitParams.grab_compute_capping_fps`被硬编码为0.0f，导致即使将`general.pub_frame_rate`设为低频，SDK内部处理仍以最低15fps全速运行，无法降低移动端机器人功耗与发热。调整发布频率仅影响DDS通信负载，不改变底层计算消耗。

## 环境

ZED ROS2 Wrapper 5.1 (jazzy_5.1/master分支), ZED SDK 5.1, ROS2 Jazzy

## 解决办法

1. 定位源码文件 `zed_components/src/zed_camera/src/zed_camera_component_main.cpp` 第2506行
2. 将 `mInitParams.grab_compute_capping_fps = 0.0f;` 修改为 `mInitParams.grab_compute_capping_fps = static_cast<float>(mVdPubRate);`
3. 重新编译zed-ros2-wrapper使修改生效，验证系统功耗随发布帧率降低而下降
4. 或升级至包含commit `4b996b512a0ff519478f516bc8ab754ebc2baa85` 的版本以获取官方修复

讨论原作者：@nseyffer 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub stereolabs/zed-ros2-wrapper #404：Re-enable grab_compute_capping_fps to Reduce Processing Load / Power Consumption](https://github.com/stereolabs/zed-ros2-wrapper/issues/404)