# 红外循迹小车居中行驶振荡且受墙面凸起干扰

> 原文链接：https://robotics.hellobike.com/pitfalls/2015-05-29-robotics-se-1974
> 频道：pitfalls | 更新日期：2015-05-29 | 标签：auto, stackexchange, mobile-robot, sensors
> 核心摘要：RC 车用 4 个红外传感器居中行驶时振荡，可对读数做平均滤波和阈值过滤后再送入 PID。

# 红外循迹小车居中行驶振荡且受墙面凸起干扰

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[Autonomous car steering using IR sensors](https://robotics.stackexchange.com/questions/1974/autonomous-car-steering-using-ir-sensors)（Robotics Stack Exchange #1974）

**状态**：已解决

## 问题

RC 车在不规则走廊中用 4 个 Sharp 红外传感器和 PID 控制保持居中，墙距相近时仍明显振荡，遇到走廊凸起会失败，红外读数不稳定。

## 环境

RC 车；四角各 1 个 Sharp IR 传感器；前轮转向舵机和速度舵机；可选 2 个超声波传感器。

## 解决办法

1. 若有地图，可用 Kalman filter：用里程计做运动更新，用实际 IR 读数和基于当前位置、地图得到的期望读数做传感器更新。
2. 对 IR 读数做 averaging filter，将连续 `n` 次 IR 读数平均后作为控制输入，以模拟低通滤波并降低高频噪声。
3. 对 IR 读数做 threshold filter：读数大于某个距离阈值时，不把该传感器用于控制回路。
4. 平均滤波和阈值过滤结合后，PID 只根据目标墙面居中；若阈值内两侧都没有墙，可尝试保持当前航向。

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

## 原始参考来源 (Sources)

- [Robotics Stack Exchange #1974：Autonomous car steering using IR sensors](https://robotics.stackexchange.com/questions/1974/autonomous-car-steering-using-ir-sensors)