一文深度解析「AEB」应用与挑战
作者 |辉羲智能-马静AEB紧急制动保证每次都可以刹车吗?支持的刹车速度是不是越高越好?误刹车和该刹车不刹车哪个更严重?智驾状态下刹车和人工驾驶状态下刹车是不是一样?带激光雷达的系统夜间性能是否大幅度提升? ...
以下为文章全文:(本站微信公共账号:cartech8)
汽车零部件采购、销售通信录 填写你的培训需求,我们帮你找 招募汽车专业培训老师
作者 | 辉羲智能-马静 AEB紧急制动保证每次都可以刹车吗?支持的刹车速度是不是越高越好?误刹车和该刹车不刹车哪个更严重?智驾状态下刹车和人工驾驶状态下刹车是不是一样?带激光雷达的系统夜间性能是否大幅度提升?媒体评测无法评测误制动,仅靠正向刹车场景是否客观? 本文倾向于较全面说明白AEB功能,重点会放在AEB算法本身,前面偏科普,后面偏专业。对于“车辆配置了多少传感器”和 “感知算法对环境的探测还原能力”,这两者的重要性显而易见,也容易被理解,本文就不过多赘述。 对于上面几个问题,行业内外的朋友们曾多次探讨,本文也都会涉及。如果倾向于快速了解本文观点,可直接移步文末总结。 HUIXI TECH 一、何为 AEB AEB 是目前很多车辆都已配置的一项功能,全称是 Autonomous Emergency Braking,自动紧急制动。就是当驾驶员没关注路况,或视野受限,对即将到来的碰撞没有及时反应,此时,AEB就自动帮你刹车。如何做到呢?简言之,就是通过安装在车上的辅助驾驶系统(可以是摄像头,毫米波雷达,激光雷达,或各种组合搭配)对自车状态及周围交通环境实时监控,并分析计算,判定合适的刹车介入时机。 AEB 功能属于短时介入,主要是给一脚刹车,但在体验上,可以是富有层次的一系列动作。 首先是仪表会出现图标闪烁提示,接着是滴滴滴的声音报警,部分车型还有安全带随后收紧,刹车踏板也会预踩下,接着才是或轻或重的一脚刹车。整个下来,低速刹车的情况,好产品给人的感觉是,小有惊吓但稳稳当当。 AEB功能跟现在市场大热的城区自动驾驶是什么关系呢?如果说,城区自动驾驶是智能省心的AI代驾,那么AEB则是省心之余的最后一道安全防线,当AI罢工或者AI未开启的情况下,时刻在线的AEB为主动安全兜底,如果AEB也没管用,那就只能靠被动安全装置了(如车身结构、安全带、座椅、方向盘、安全气囊等)! 历史演进 早在2006年,奔驰就用上了AEB功能,接着2008年的日产,2010年的沃尔沃,可以说AEB是最古老的辅助驾驶功能。 AEB的发展,跟法规强相关。从2008年开始,关于AEB的法规、行规陆续发布,成为AEB后续的技术扩展指南。其中影响最大的是ENCAP,每两年发布一次,现在是2023版。该评价规范对AEB设置了越来越多的作用工况:从最早的仅对车作用,扩展到当前对行人、儿童、骑行者都要求,从最早的仅关注前方碰撞物,扩展到当前横穿马路、鬼探头、路口转弯、超车甚至倒车时都有要求。目的当然是借助技术进步减少交通事故。 值得一提的是,我国的CNCAP评价规范,目前已发布了2024征求意见稿,对AEB提出了直逼欧标的技术要求,还专门关注了误触发的情况。 现状 基于市场需求和法规标准的推动,AEB配置率越来越高,据报道2023年1-6月数据已达54.7%,稳居ADAS类榜首。基数如此庞大,不仅民间视频热度高,车企的宣传推广力度也增大了,如已经公开的几家:蔚来-ET5/ES7/ET5T,比亚迪-海豚/海豹,小鹏-P7i,通过了官方最严苛AEB测试ENCAP2023并获5星评级;问界M7,称其AEB可以90km/h刹停;哪吒汽车CEO称其AEB场地测试可达到五星加水平,支持的启动速度可达到100km/h;腾势汽车则表示目前支持60km/h启动,后续高阶会升级到支持80km/h启动速度。 HUIXI TECH 二、AEB 解决哪些问题? AEB可以解决那些实际问题?对车企和车主,以下分别从评级要求和现实需求两个角度简述。 评级要求 对于车企,装配AEB过法规,拿评级是最直接的驱动。以ENCAP2023为例,AEB的作用工况有如下几类: 行人:前面走的人,横穿马路的人,转弯时盲区走来的行人,倒车时车后的人。 两轮车(自行车,摩托车):前面骑行的两轮车,横穿马路的两轮车,转弯时盲区来的二轮车。 车辆:前面静止的车,前面急刹车的车,前面慢速的车,路口横穿的车,转弯时对面来的车。 车企法规评级测试通过,至少说明具备在特定场景下,自动刹车的能力。前面几家优秀的五星评级,正是说明,在试验场这些工况下,他们的AEB可以很好地工作。但是,毕竟实际交通路况要复杂得多,五星评级也不能说明实际开上路,车主的体验是满意的。 如下是AEB的部分主要测试项目示意图。已经比较全面地覆盖了常见的事故场景。 现实需求 对于车主,至少从笔者个人体验来看,AEB实实在在防追尾,还有两次帮助避免了倒车时撞上穿行的电瓶车。然而误刹车的情况也时有发生,特别堵车慢行时,打算提速变道加塞,刚打了方向就给来上一脚,也会导致惊慌,好在是低速,后果不会很严重,如果是高速情况下发生误刹车,可能就没那么幸运了。 那么我们究竟需要什么样的AEB?支持的速度越高越好吗?越灵敏越好吗?显然未必。 先说速度的问题,无论从业内视角,还是个人体验,虽然技术上而言AEB做到高速当然不成问题,但中庸保守的低速AEB恰恰是真正实用的。一方面,由于链路上各环节均有失误概率,导致误刹车不可能绝对避免,而高速误杀可能会引发追尾,侧翻等严重后果,其危害远大于低速;另一方面,实际使用中,日常通勤低速驾驶的工况更多,需要补刹车免追尾的情况也远多于高速。当然,真正致命的危险往往发生在高速,AEB决不能在高速无所作为。 折中的策略是,报警提前,预制动提前,可以发点刹,但真正的重刹仍应最后时刻决定。如此有三个好处:第一是碰撞虽不能完全避免,但有效减速足以减轻伤害;第二是考虑到后车高速追尾的可能,部分减速的策略优于直接刹停;第三是提前报警,部分减速,还留有驾驶员自主操作的余地。另外,理论上也不难计算,由于刹车距离的限制,在高于某个相对车速之后(约为48km/h,基于纯理论计算,不考虑刹车响应时间,如考虑,拐点更低,在30km/h以内),转向避撞会比刹车避撞更高效,这是另一个主动安全功能AES发挥作用的工况了。 再说灵敏度的问题,AEB的TP(正确触发)和FP(错误触发)是一对矛盾,概率上讲,TP越大,FP必然也越大。而在实际体验中,误触发的危险不言而喻,随着AEB的普及,误触发导致的惊吓和伤害已越来越多成为抱怨焦点。加上公众对AEB具体可处理的场景并不熟悉,导致更多时候,对AEB的不作为并不敏感,而对误触发则谈之色变。 合理的策略应当是,有足够把握的情况才触发,否则宁肯把决策权交给驾驶员。前提是,我们开发的产品已足够好,已没有提升余地,否则还是先踏踏实实做好产品,而不是一开始就实践这套貌似“求稳而不作为”的策略。早在2013年,本人在Global头部Tier1就处理过AEB相关纠纷,客户投诉自己开车追尾,高大上(当年的标准)的防撞雷达毫无反应。当时我作为开发人员负责分析EDR(汽车黑匣子)数据,至今记忆犹新。AEB的难可见一斑,不作为不行,乱作为也不行。 HUIXI TECH 三、开发的难点在哪里 很多人会说AEB本身可以很简单,但要做到真正好,其实很难。究竟难在哪里?感知能力强,系统链路延时小,光这两点想要做好都不容易。此外,AEB功能算法本身,也会导致性能天差地别。下面挑选AEB开发中的部分关键点做一些解析。尽量用可直观理解的表述,不堆公式。 AEB功能模块 一般情况下,AEB架构有如下部分:左边是传感器输入,前序为感知结果,中间环境分析+干预决策两部分是AEB主体,后序则为输出结果到执行器和HMI等。 关键场景的判断 环境分析的一般做法是,将主要作用工况按照场景进行分类,好处是可以逐个类别针对性地做目标筛选,关键参数的计算也需基于分类不同而采用不同算法,最主要的是,基于规则的合理分类,在处理复杂场景时,配合严格的目标筛选和场景筛选策略,可以有效降低误触发。针对当前最新的NCAP要求(CNCAP2024, ENCAP2023),我们将场景分为如下四个类别: 同向运动场景、目标横穿场景、自车转弯场景、对向运动场景。各场景需要针对性地做目标筛选和场景筛选。当然前提是目标已经做过初步过滤,如检查目标质量和类型,初步计算目标跟自车的运动轨迹是否有交叉可能等。 上面的策略中,最基本的一个是关于目标和自车运动状态的判断。这个依赖感知,但不能指望感知精准。常见的问题,比如测速不准,明明静止的目标竟然有速度,甚至高于±0.5m/s, 做简单粗暴的预测判断,那么这个目标一会是静止,下一帧变同向运动,接着又变对向运动。因此即使做运动判断,也不能是if-else加各种滞回阈值那么简陋,起码要做连续帧监测,再加上状态机控制逐个状态间的跳转,才能保证至少是平滑稳定的状态变化。再者,还需细分相对自车的运动角度,这需要相对准的heading感知,如果不准,还需要细细地计算各自的轨迹圆,判断交点,如此下来,仅仅做运动判断,小几千行代码。 我们常说的,应用功能算法总要给感知打补丁,其实正是体现在这些细节上,如果感知本身准确度可信度较高,那么应用功能内部类似的连续帧检测,滤波,反复确认当然可以减少,从而减少整个链路的用时,也就更有底气应对类似鬼探头的突发场景。 当前也有不少尝试使用神经网络模型去做特定场景的目标筛选,比如筛选横穿的行人,神经网络模型自学习的规则代替人定的经验规则,这是一个值得尝试的方向,可以作为人定经验规则的补充和参考,但对于不容闪失的AEB而言,目前的目标筛选性能还远远不能完全替代人定经验规则。 另外一点,仅仅目标筛选是远远不够的,决定AEB触发时机的是更为严谨的计算,只有计算精准,才能做到刹车时机合理,不早不晚。比如横穿的行人,也许本来恰好能在车到达时已穿过车头部分,或者电瓶车本打算横穿,看到车来又在边上紧急停住,再比如路口转弯时,对向开来的轨迹擦肩而过的转弯车,这种情况AEB如果刹车,都属于误刹车,会造成极差的体验,甚至影响安全。不难理解,精准的预测和计算计算直接决定整个场景策略的执行效果,接下来我们解析部分关键参数的计算。 关键参数的计算 - 目标和自车的预测轨迹 轨迹预测方法有多种,理论比较简单,就是基于运动方程。首先是选取合适的运动模型。 最简单的模型是将自车和目标建模为点目标,那么可以拆分为横纵向,分别计算轨迹坐标。优点是方法简洁轻量,缺点也显而易见,不考虑转向角,当然预测不准。为了矫正,可以计算yawrate导致的横纵向加速度分量,并在预测方程中考虑进去。因此这种方式一般用于粗略评估轨迹交叉,直接用于精细计算是有问题的。 还可以将目标建模为长方形,采用单轮车模型,考虑实时输入的加速度和yawrate变化,计算每个轨迹点的位置,速度,heading等。优点是模型简单,预测轨迹较为准确,缺点是不考虑前后轮的差异,仍然不能应对弯道等速度方向和航向不一致的情况。因此这种方式适用于转弯和弯道跟随之外的场景。 更通用的做法是建模为二轮车模型(自行车模型),区分前后轮。除了yawrate变化之外,考虑输入的方向盘转角,从而更准确的描述弯道上的轨迹点。优点是预测较准确,适应度广。因此这种预测方式也是自动驾驶预测中最广泛使用的。 无论模型如何选择,自车和目标都不可能真的当做点目标处理,否则后果是灾难性的。因为极限情况下,刹车的时机之差就在20cm间,如果整体计算误差控制不到这个范围内,那么AEB呈现的效果必不会好。一般将目标建模为平面矩形box, 每个预测轨迹点,都相应去更新这个box对应的具体参数,box的中心,朝向,尺寸,这样在计算碰撞时,就可以考虑具体各个角点的位置,距离,以及碰撞的可能性了。 - 增强型TTC TTC(Time To Collision) 是从此刻开始到碰撞的时间,根据假定不变的相对速度和相对距离计算的。增强型(ETTC)是在TTC的基础上,考虑了自车和目标的加速度。最早期AEB仅考虑Car to Car Rear(追尾前车),ISO 22839 还给出了ETTC的计算公式和推导。当时是可以的,大家也都这么计算。但现在不行了,这个公式基本不会再有用。因为场景变化了,对于运动方向有夹角的情况不再适用。 更通用的计算方法是,根据自车和目标预测轨迹点的实时距离,判断二者离的最近的时刻,那么从此刻开始,到这个距离最近点的时间,才是真正的增强型TTC。 - 刹车时机TTB TTB(Time To Brake) 是从此刻开始到车辆必须开始刹车的时间。一般而言,TTC用于指导FCW报警开始的时机。而TTB用于指导AEB制动介入的时机。从TTB 的定义可以直接理解到,TTB = 0 的时刻,也就是必须开始刹车的时刻,再不刹车就必然碰撞。因此这个参数至关重要。 如何算的准?首先,要知道我们这辆车的制动曲线是怎么样的。收到制动请求后,大约几十到上百毫秒是没有任何反应的,接下来是上百甚至几百毫秒的建压时间,然后才达到我们理想的请求减速值。 我们在计算时,必须严格考虑这些参数值,计算好刹车过程中的速度变化和距离变化。然后,逐个时间步去推演,假如此刻刹车,考虑到刹车方程,自车距离目标最近点的距离是怎样的,是否会碰撞。遍历到某个时间点时,碰撞发生,那么这个时间点就是TTB。 当然,为了更高效,如何遍历也是要讲究很多技巧的。那么如何判断碰撞?直观理解,计算得出最近距离为零,即为碰撞。关于碰撞判断和最近距离的计算,有诸多成熟算法,如AABB碰撞检测算法,SAT碰撞检测等。 - 碰撞点位置的计算 碰撞点位置,具体来说,就是自车和目标均为四面四角,我们计算二者是哪个面碰撞哪个面,哪个角碰撞哪个角。距离最近的角有多近,最近的边的距离等等。 得到轨迹预测点和对应的box参数后,当二者距离越来越近,此时又需要逐步推演,从而确定最先接触的边和角。同样,推演的方式可以优化为很高效。通过碰撞点位置的确定,我们可以判断某个碰撞推理是否合乎逻辑,用作场景筛选的重要工具。比如,横穿的场景,如果推演出AEB不做制动介入的情况下,碰撞发生在自车的尾部,那显然是不适合再刹车的。 - 碰撞挽回的概率 我们确认了高危紧迫工况,准确计算了碰撞轨迹,锁定了碰撞时机,甚至算好了碰撞速度,碰撞就一定会发生吗? AEB在计算碰撞的同时,时刻计算推翻自己前期预设的可能性。主要从两个角度考虑:自车驾驶员是否有可能控制方向躲避碰撞?目标车辆的反应呢,它是否有可能突然转向躲避碰撞? 前者,主要根据驾驶员的控制输入,车道线,路沿,以及车流轨迹来预测自车的驾驶轨迹,假如处于弯道,这种跟随道路曲率的预测完全可以避免很多对临车道的误刹车。同样对于变道时,转弯时的误触发也有抑制作用。后者,主要是针对横穿和对向的目标,计算对方打方向躲避是否有足够的距离空间和物理操控可行性。当然,对于后者的预测是很难准确的,因此仅仅用于推迟AEB介入的时机,并不会导致AEB因此取消介入。 - 减速度的计算 计算减速度,基本理论很简单,就是运动方程。我们对相对运动的自车和目标,确定各自的初始速度,距离,目标的加减速状态,据此解运动方程求解自车减速度。但实际计算中,仍需考虑较多的细节。 首先,两者相对距离,当然并非此刻测量的距离,既然是基于刹车假设的减速度,自然需要考虑自车中间某个时间开始刹车的情况。因此这个相对距离的计算是需要动态分段完成的。一般假设自车从TTB时刻开始刹车,那么需要计算此刻到TTB之间按照当前运动状态行进的距离,然后刹车开始之后,根据具体刹车参数,考虑到刹车方程,再计算需要的刹车距离,还需考虑整个时段内目标正常行驶新产生的距离,综合起来,才是实际可用于刹车的相对距离。除此之外,计算过程中,还需要预测目标和自车是否会停下,从而导致距离计算公式的变化。就类似中学数学求解相对运动,二者的各种运动情况均需要覆盖考虑。 - 复杂的状态机参数 经过上述各种精确计算,到了干预决策模块,还需要结合驾驶员的状态,做综合判断。驾驶员状态我们可以从DMS(驾驶员监控系统)输入获取,没有DMS的话,AEB也可以根据驾驶员踩油门刹车,控制方向盘等行为引发的CAN信号变化做逻辑判断。假如驾驶员打瞌睡,那么我们相应的报警和刹车介入都会提前。但如果驾驶员明显在环控制,那么报警刹车都相应推迟,免除过多打扰。 另外,报警和刹车的时机,还要根据目标的类型,场景的类型各自设置不同的条件组和参数组。除了对输入参数范围,有效性检查等一系列的前置条件满足外,还需要根据碰撞概率,碰撞角度,场景成熟度,减速度值等,抑制掉部分不把握的场景。再考虑到车速,相对速度,驾驶员在环指数,碰撞重合度等给各工况的参数组加上对应的调节因子,目的是确保每个可能影响AEB介入时机的因素,都能找到对应的调节入口。 总之,状态机参数簇需满足两个明确的需求:一是高自由度,即各个场景,各种工况,各种目标类型的参数均可以解耦单独调节,不会影响其他。另一个是高相关性,即参数设置的物理意义明确,可解释性强,能够直观反映调节方向和结果。 开发难点小结 做好AEB不容易,开发方面难点主要在如下方面: 1、在兼容并包的通用算法基础上,精工细作。因为碰撞时机需要精准,因此计算必须精准; 2、在未必十分可靠的感知输入下,做好稳定预测; 3、审慎权衡TP和FP的矛盾,放开更多准入工况,必然导致更多误触发。 HUIXI TECH 四、验证的难点在哪里? 谈到AEB验证,都知道是个大问题,主要也是难在误触发。下面简单说明。 验证的几个层次 量产的AEB验证,主要分2块。一个是正向验证,也就是通过场地NCAP测试进行,确保该触发的时候都能触发。另一个是误触发验证,主要是通过巨量里程累积的场景,看是否在不该触发的时候误触发。那么究竟需要多少里程才算测好了呢? 根据泊松分布做个简单的统计学计算,我们可以有如下结论: 为了达成20万公里1次误触发的目的,理论上,我们需要累积测试91.9万公里没有误触发。 为了达成10万公里1次误触发的目的,理论上,我们需要累积测试45.8万公里没有误触发。 下面表格中,对应公里数的单位是万公里,显然,这是巨量的。 - 正向验证 正向验证相对简单,就是在测试场逐个工况测试。一般都是针对NCAP要求的场景去测。这个验证,即使产品开发做的不那么好,哪怕是通过各种补丁,反复调参总归是能达到比较好的结果。这也是为什么,仅但靠正向验证,是远远不够的。 另外正向验证的优良case可以制作正向测试集,为后期算法迭代更新后做为回归测试的对比真值。 - 误触发验证 误触发验证首先需要累积巨量数据,我们的算法全链路正常运行如此多的公里数,如果没有误触发,那么结合正向测试的效果,可以认为产品验证比较充分。 但我们不能每次迭代都基于如此庞大的数据集,时间和算力都消耗不起。那么建议小而精的危险工况场景库是比较好的解决方法。如下图,通过人工打标,数据挖掘,第一次运行结果等来源,选取相关的数据段进入危险工况场景库,后续每次迭代做回归测试,针对误触发验证,可以专门针对这个场景库去做,降本提效。 此外,量产前,还可以通过影子模式验证AEB的正向作用和误触发。所谓影子模式,即功能部署后正常作为背景任务运行,但关闭控制输出,上传算法日志和EDR记录到后台云。充分利用日常测试,数采测试等时机迭代感知,优化AEB算法逻辑和配置参数。 验证难点小结 验证难在里程要求高,迭代更新后需要反复回归测试等。 HUIXI TECH 五、总 结 如果读者坚持到这里,想必对文章开头的几个常见问题已经有答案了。这里我们总结一下: - AEB紧急制动保证每次都可以刹车吗? AEB设计初衷当然是尽可能规避危险,至少降低高速碰撞的伤害,但实际上不能保证每次都可以刹车。客观地说,结合当前AEB层次不一的市场表现,作为主动安全兜底,AEB仍然是辅助功能,绝不是万能的。很多情况会导致不刹车,例如部分异形障碍物导致感知无法确认,传感器被雨水泥污等遮挡,纯摄像头的情况夜晚视线过差,目标出现过于突然,车速过高(对静止目标超过120kph), 驾驶员未系安全带,驾驶员过多操作车辆导致为避免误触发AEB介入较晚等等,清楚意识到这些风险对于我们消费者是有利的。 - 支持的刹车速度是不是越高越好? 应该说,支持的响应速度确实是越高越好,但这个响应可以是早期的报警提醒,刹车仍需要谨慎。高速场景下,刹车救命,但未必需要刹停,因为后车追尾同样致命。详细解释可以参考前文现实需求部分。 - 误刹车和该刹车不刹车哪个更严重? 见仁见智,个人更倾向于不要误刹车。从业内越来越多关于误刹的抱怨来看,似乎防误刹更紧迫。 - 智驾状态下刹车和人工驾驶状态下刹车是不是一样? 不一样。智驾开启状态,驾驶员基本不干预控车,多数场景会提前舒适减速,从而减少AEB作用的机会。即使智驾减速不够以至于到了AEB介入时刻,由于一直是智驾状态,前序有较好的提前减速,且基本不会有驾驶员的随机干预,也会相对容易。而不开智驾的情况下,人工驾驶,AEB只会对最紧迫状态起作用,此时即使介入也未必能处理好所有情况,如高速下发现静止前前车,极限切入(cut-in), 突然出现的行人鬼探头等等。 - 带激光雷达的系统夜间性能是否大幅度提升? 是的。夜间视觉的性能差是显而易见的。激光雷达测距测速本来也优于视觉, 可以较好地补充夜间短板。当然其他传感器如4D毫米波雷达,同样可以补短板,性价比更高。 - 媒体评测无法评测误制动,仅靠正向刹车场景是否客观? 有参考价值,但不足够客观。正向刹车是基本要求,难点在于满足正向要求的同时,误触发率降到最低。而误触发率无论是媒体测评,还是评测机构的场地评测,都很难给出结论。真正性能如何,只有实际上路后,经过大数据验证才有说服力。详细解释可以参考前文现实需求部分。 参考资料 [1] C-NCAP 管理规则 [2] E-NCAP 2023:www.euroncap.com/en/for-engineers * 文中部分图片源自E-NCAP官网 |
文章网友提供,仅供学习参考,版权为原作者所有,如侵犯到
你的权益请联系542334618@126.com,我们会及时处理。
会员评价:
共0条 发表评论