3. 环境感知与车位检测
自动泊车系统的第一步,也是最关键的一步,是让车辆“看见”周围环境并准确找到可用的车位。本章将深入剖析环境感知层的两大核心传感器——超声波雷达与视觉传感器(摄像头/鱼眼相机),并详细讲解车位线识别算法与车位类型分类逻辑。理解这一章的内容,是后续路径规划与轨迹跟踪控制的基础,因为所有规划与控制的输入都源于感知层的输出结果。
3.1 超声波雷达:近距离感知的基石
核心原理
超声波雷达通过发射40kHz左右的机械波脉冲,并接收经障碍物反射的回波,利用飞行时间法(Time of Flight, ToF)计算传感器到目标的距离。在自动泊车场景中,通常采用12颗超声波传感器,其中前保险杠6颗、后保险杠6颗,形成对车辆前后方及侧方的近距覆盖。其核心优势在于对近距离(0.15m~4.5m)障碍物的测距精度高、响应速度快、成本低廉,且不受光照条件影响,是泊车场景中不可或缺的感知手段。
信号处理与数据输出
超声波雷达的原始输出为模拟回波信号,经过放大、阈值比较和数字化后,得到每个传感器的距离值。在实际工程中,需要重点关注以下处理环节:
- 温度补偿:声速随温度变化约为0.6m/s/℃,需通过温度传感器进行实时补偿,否则在极端温度下会产生显著误差。
- 串扰抑制:多颗传感器同时工作时,相邻传感器可能接收到彼此的反射波,需采用编码脉冲或时分复用机制。
- 近距盲区处理:传感器起振期间无法接收回波,导致存在约0.15m的盲区,需通过多传感器交叉覆盖来弥补。
案例拆解:超声波检测垂直车位
以典型的垂直车位泊入场景为例,车辆以约10km/h的速度沿车位方向行驶。当车辆经过空车位时,侧向超声波传感器会检测到“有障碍物→无障碍物→有障碍物”的距离变化模式。系统通过分析该模式,可以估算出空车位的宽度和深度。具体流程如下:
- 车辆行驶过程中,侧向传感器以20Hz频率采集距离数据。
- 当检测到距离从小于0.5m跳变到大于1.5m时,标记为车位起始边界。
- 持续监测距离值,当距离再次从大于1.5m跳变到小于0.5m时,标记为车位终止边界。
- 计算车位宽度 = 终止边界位置 - 起始边界位置,若宽度大于2.3m,则判定为可用垂直车位。
3.2 鱼眼相机与视觉感知
核心原理
鱼眼相机通过超广角镜头(FOV ≥ 190°)获取车辆周围的全景图像。与普通摄像头相比,鱼眼镜头引入了严重的桶形畸变,因此必须进行畸变校正才能用于车位线识别。典型的自动泊车系统采用4颗鱼眼相机,分别安装在车辆前后保险杠中央和左右后视镜下方,通过图像拼接形成360°环视鸟瞰图(Bird's Eye View, BEV)。
车位线识别算法流程
车位线识别是视觉感知的核心任务,其典型处理流程如下:
| 步骤 | 算法/方法 | 输入 | 输出 | 典型耗时 |
|---|---|---|---|---|
| ① 畸变校正 | 相机标定 + 重映射 | 原始鱼眼图像 | 校正后图像 | 2ms |
| ② 透视变换 | 逆透视映射(IPM) | 校正后图像 | 鸟瞰图 | 3ms |
| ③ 语义分割 | 轻量级CNN(如UNet) | 鸟瞰图 | 车位线掩码 | 15ms |
| ④ 线特征提取 | 霍夫变换 / LSD | 车位线掩码 | 线段集合 | 5ms |
| ⑤ 车位拟合 | 矩形拟合 + 几何约束 | 线段集合 | 车位角点坐标 | 3ms |
案例拆解:基于语义分割的车位线检测
在某量产车型的泊车系统中,采用轻量级UNet网络对鸟瞰图进行语义分割,将每个像素分类为“车位线”、“路面”、“车辆”、“行人”等类别。训练数据集包含10万张标注图像,覆盖不同光照、天气和地面材质场景。实际运行中,分割网络的mIoU达到0.82,单帧推理时间约15ms(运行在嵌入式GPU上)。
在分割结果基础上,系统通过以下步骤完成车位拟合:
- 对分割掩码进行形态学闭运算,消除断裂和孔洞。
- 使用霍夫变换检测直线段,并过滤长度小于0.5m的短线段。
- 根据车位线的平行和垂直几何关系,将线段分组为候选车位。
- 对每个候选车位进行矩形拟合,计算角点坐标和车位朝向。
3.3 车位类型分类与决策逻辑
核心原理
车位类型分类是感知层与规划层之间的桥梁。系统需要根据车位线的几何特征和超声波的空间检测结果,将车位分为垂直车位、平行车位和斜列车位三类,并输出车位的精确坐标、朝向和尺寸。分类的准确性直接影响后续路径规划策略的选择。
分类判断方法
车位类型的判断主要依据车位线与车辆行驶方向的夹角θ:
- 垂直车位:θ ∈ [80°, 100°],车位宽度通常为2.3m~2.8m,深度为4.8m~5.5m。
- 平行车位:θ ∈ [-10°, 10°],车位宽度通常为2.0m~2.5m,长度为5.5m~6.5m。
- 斜列车位:θ ∈ [30°, 60°] 或 [-60°, -30°],车位宽度和深度介于垂直与平行之间。
在实际系统中,分类决策通常采用以下逻辑:
if (车位线检测置信度 > 0.7) {
// 视觉主导分类
angle = 计算车位线与车辆航向夹角();
if (angle > 75° && angle < 105°) 类型 = 垂直车位;
else if (angle > -15° && angle < 15°) 类型 = 平行车位;
else if (angle > 30° && angle < 60°) 类型 = 斜列车位;
else 类型 = 未知;
} else {
// 超声波空间检测主导
width = 超声波检测车位宽度();
depth = 超声波检测车位深度();
if (width > 2.3m && depth > 4.8m) 类型 = 垂直车位;
else if (width > 2.0m && depth > 5.5m) 类型 = 平行车位;
else 类型 = 未知;
}
案例拆解:多传感器融合的车位分类
在某复杂地下车库场景中,车位线因磨损而模糊不清,视觉检测置信度仅为0.45。此时系统自动切换至超声波主导模式。超声波检测到目标车位宽度为2.4m,深度为5.0m,结合车辆航向与车位入口的几何关系,判定为垂直车位。随后,视觉系统在车辆靠近过程中持续尝试重新检测车位线,当置信度提升至0.75时,系统融合视觉角点坐标与超声波距离数据,输出最终车位坐标,定位精度达到±3cm。
总结复盘
本章内容涵盖了自动泊车环境感知的核心环节。超声波雷达提供了可靠的近距离障碍物信息,鱼眼相机通过语义分割实现了车位线的精确识别,而车位类型分类则综合了视觉与超声波的互补优势。在实际工程中,需要特别注意传感器的标定精度、时间同步和失效处理机制。一个稳健的感知系统,应当能够在任何单一传感器失效的情况下,仍然通过冗余设计完成基本车位检测任务。