目录
一、概述
泊车算法离不开感知&融合、规划&控制,从目前行业技术发展的角度来看,泊车涉及的每一个算法都不算完美,甚至可以说仍不成熟。然而,小鹏P7采用优秀的系统方案设计,特别是通过引入同步建图与定位技术有效提升了泊车性能;并通过设计与算法配合默契的HMI,有效地发挥了各个算法的长处,规避了算法的不足。
视觉感知只在寻库过程中检测库位(泊入阶段不使用视觉感知,保证视觉感知算法可以简单),并与超声波雷达寻库的结果进行融合(业界比较成熟的方案),一旦锁定库位后进行一次规划(不会根据动态障碍物的出现调整规划路径路径,也无需根据泊入阶段再感知的库位位置调整规划,使得规划算法可以简单),随后通过航位推算进行泊入(对线控和航位推算要求较高,但这也是电动车的优势),泊入过程中通过超声波雷达进行避障。整个过程中,HMI优秀地配合算法规避了复杂问题:视觉感知仍然存在非常多的误检,通过人工选库的设置,可以让用户轻易地过滤掉那些明显错误的库位,给视觉感知兜底;当车辆与库位的相对角度和位置使得规划无法给出好的泊车路线时,HMI屏幕上显示的库位是灰色的,不给用户选择泊入的权利,这给规划兜了底;当有动态障碍物出现在泊车路径时,暂停泊车,屏幕让用户选择是否继续泊车,这可以防止超声波雷达误报障碍物,若用户判断没有障碍物,属于超声波误报,可以点击屏幕选择继续泊车,否则退出泊车,这给超声波雷达避障兜底。
二、感知算法
1. 视觉库位检测
1.1. 视觉系统
在讨论视觉感知算法前,我们先简要讨论下视觉系统。视觉感知算法的效果受图像质量影响,由于相机是被动成像,所以成像质量依赖于相机的sensor、光、布置位置;视觉算法的选择又受制于域控制器的算力。
- 相机sensor:除了光照较好的户外场景,泊车功能还高频使用在地下停车场(有的地下停车场光线昏暗、有的地下停车场地面反光非常严重)、夜晚等场景,图像成像质量差可能严重降低算法性能。这就需要相机在低照度下成像质量好,在高照度下也不至于反光太严重。小鹏P7摄像头的sensor采用的是索尼019,该sensor的特点是在低照度成像画质也能比较好,从而保证即便是在正常开路灯的的夜晚条件下,自动泊车也可以正常工作;
- 光: 小鹏P7的灯光设计很好地为视觉感知服务,包括后鱼眼环视摄像头附近的一排尾部补光灯、较宽视野的前大灯(及前大灯上根据方向盘等信号打开的左右补光灯),在夜晚能够较好地为相机提供照明; 【IDEA(待探索):根据相机sensor的亮度,可设计在照度严重不足的条件下,在自动泊车状态下自动打开补光灯以配合相机寻找库位】;
- 相机布置位置:泊车为了能看到近处,使用的是环视鱼眼相机,畸变大,相机的布置时既要保证贴近车身的近处无盲区,又要保证远处畸变也尽量小,这就涉及到了相机(x,y,z)在车体坐标下的选择,以及相机光轴角度(roll, pitch, yaw)的选择。小鹏P7环视相机安装在后视镜的支柱上,通过调整摄像头按照位置和光轴角度,保证近处接近无盲区,并在车辆泊入库位后仍然能看到库位线。荣威、蔚来等车型是安装在后视镜上的。布置在后视镜支柱的位置优于布置在可以折叠的后视镜上,因为布置在后视镜上存在以下弊端:a. 如果后视镜处于折叠状态,则泊车功能不可用,但自动泊车功能应该独立于给人使用的后视镜的;b. 如果后视镜每次展开位置存在误差,则会带来环视相机标定的误差;c. 后视镜频繁折叠会导致内部相机线束跟随运动,可能造成松动或其他线束损坏;d.后视镜在使用过程中易被损坏(刮擦或撞坏等),更换相机可能性大。后视镜支柱的环视鱼眼相机位置如下图:
- 泊车控制器业界传说是TDA2,对应的GPU算力50GFlops,这决定了视觉检测的天花板,使得深度学习网络不会特别大。好在库位特征比较明显,库位尺寸差异也不大,在不苛求视觉算法的前提下(只有寻库阶段使用视觉库位检测,避免了视觉检测处理泊入阶段的库位相对于车扭转和库位被遮挡等问题),这个算力下也能给出不错的库位检测结果;但若能提升算力,