# VFH 跨 360°谷值被误分成两个谷

> 原文链接：https://robotics.hellobike.com/pitfalls/2016-02-17-robotics-se-9200
> 频道：pitfalls | 更新日期：2016-02-17 | 标签：auto, stackexchange, motion-planning, python, planning
> 核心摘要：Python 2.7 实现 VFH 时跨 360°谷值判断错误，可先循环平移直方图再反向还原航向。

# VFH 跨 360°谷值被误分成两个谷

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[A Vector Field Histogram implementation in Python 2.7](https://robotics.stackexchange.com/questions/9200/a-vector-field-histogram-implementation-in-python-2-7)（Robotics Stack Exchange #9200）

**状态**：已解决

## 问题

`computeTheta` 在极坐标直方图谷值跨过 360°时，会把一个连续谷值误判为两个谷值，导致转向方向计算错误。

## 环境

Linux / ROS 机器人软件与控制通用开发环境

## 解决办法

1. 在计算前对 `histogram` 做循环平移，使直方图起点始终位于一个峰值处。
2. 在平移后的直方图上执行原有的航向查找逻辑，保证谷值结束位置不超过 360°。
3. 得到 `heading` 后，按最初的平移量 `headingOffset` 反向平移，还原到原坐标系。

原问题作者：Danks C.；采纳答案作者：Chuck。原内容依 CC BY-SA 4.0 授权，本页摘要同样依 CC BY-SA 4.0 授权。
:::

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #9200：A Vector Field Histogram implementation in Python 2.7](https://robotics.stackexchange.com/questions/9200/a-vector-field-histogram-implementation-in-python-2-7)