自动泊车系统里,超声波(USS)车位拟合是基础。任务目标很明确:将传感器返回的一堆离散的距离点,通过算法,还原成一个几何上规整、物理上合理的停车位。
整个过程可以拆解为以下几个核心步骤。
1. 数据源与坐标变换
- 数据来源:车辆低速行驶时,侧向的超声波传感器(USS)持续向外探测,返回与最近障碍物的距离。
- 核心一步:坐标变换:
- 传感器返回的是相对自身的距离值。
- 必须结合车辆的里程计(Odometry)信息——通常来自轮速传感器和惯性测量单元(IMU),进行坐标系转换。
- 转换路径:
传感器坐标系
->车身坐标系
->世界坐标系
(或泊车起始点坐标系)。
- 结果:经过变换和初步滤波,得到一份在统一坐标系下的环境点云。这是后续所有工作的基础。
2. 点云聚类:从散点到物体
有了点云,需要将属于同一个物理实体(如旁边的车、墙面)的点聚集起来。
- 常用算法:DBSCAN(基于密度的噪声应用空间聚类)。
- 选择原因:
- 无需预设聚类数:环境中障碍物数量未知。
- 可识别任意形状:障碍物轮廓通常是线状或面状,DBSCAN能很好地处理。
- 自带抗噪能力:能有效识别并分离出离群的噪声点。
- 结果:原来杂乱的点云,被清晰地分成了几个点簇(Cluster),每个点簇代表一个潜在的障碍物。
3. 直线拟合:从物体到线段
从代表障碍物的点簇中,提取出关键的几何特征——直线。
- 标准算法:RANSAC(随机采样一致性)。
- 工作原理简述:
- 从点簇中随机抽取最少的点(2个)构成一条候选直线。
- 计算簇内所有点到该直线的距离,统计距离在阈值内的点(内点,Inliers)的数量。
- 重复以上过程,选择内点数最多的那条直线作为最终拟合结果。
- 选择原因:鲁棒性极强。即使点簇中存在少量错误的点(离群点,Outliers),RANSAC也能大概率找到正确的主体趋势。相比之下,最小二乘法等方法极易受离群点干扰。
- 结果:处理完所有点簇后,我们得到了一系列代表环境边界的线段。
4. 车位构建:从线段到车位
这是最后一步,依赖几何规则和先验知识。
- 寻找车位特征:
- 在拟合出的线段集合中,寻找特定的几何关系。
- L型角点:两条近似垂直的线段,通常是车位的入口。
- U型结构:两条近似平行且间距合适(约2.2-2.5米)的线段,以及一条与它们相连的垂直线段,构成一个完整的车位雏形。
- 生成与验证:
- 基于检测到的特征,按照标准车位尺寸(如宽度2.5m,深度5.3m)生成候选车位。
- 对候选车位进行几何约束验证:检查其长、宽、角度是否在合理范围内,是否与其他已检测障碍物冲突。
- 根据构成车位的真实线段数量和长度,评估其置信度。由真实数据支撑越多的车位,置信度越高。
- 分类:最终将有效的车位根据其与车辆的相对姿态,分为垂直车位、平行车位或斜列车位。
挑战与演进
传统的流程清晰有效,但在复杂场景下仍有局限。近年来的研究主要围绕以下几点演进:
- 克服数据稀疏性 -> 栅格地图(Grid Map)
- 问题:USS点云非常稀疏,单帧信息不足。
- 方案:引入占据栅格地图(Occupancy Grid Map)。将环境划分为网格,根据USS探测结果,在时间序列上更新每个格子的被占用概率。这样,稀疏的点云可以随着车辆移动,逐渐累积成一幅更稠密、更完整的环境地图,为车位检测提供更可靠的依据。
- 克服传感器局限 -> 多传感器融合
- 问题:USS角度分辨率低,对材质敏感,无法识别车位线。
- 方案:融合视觉(摄像头)信息。这是目前的主流和趋势。
- 摄像头:负责识别车位线、箭头、地面材质等纹理信息,利用深度学习模型可直接分割出车位区域。
- 超声波:提供精确的近距离测距,是低成本的“安全垫”,用于确认边界、防止碰撞。
- 两者优势互补,能极大提升车位检测的准确性和鲁棒性。
- 应对动态环境 -> 目标跟踪
- 问题:行人、购物车等动态物体会干扰静态车位的构建。
- 方案:引入跟踪算法(如卡尔曼滤波、EKF)。对聚类后的障碍物进行状态估计和跟踪,从而区分出静态物体(可构成车位)和动态物体(需规避的干扰)。
总的来说,超声波车位拟合的本质是从低质量的、稀疏的测量数据中,通过算法和规则,重建出结构化的环境信息。其核心思路是“聚类-拟合-匹配”,而未来的发展方向无疑是多传感器深度融合。
发表回复