ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

PEGASUS整体方法:构建自动驾驶场景测试与安全验证体系

PEGASUS整体方法:构建自动驾驶场景测试与安全验证体系 简介一份面向自动驾驶测试与标准制定者的重要参考资料详细阐释PEGASUS项目方法论用于解决高度自动化驾驶功能在系列发布中的安全验证与可靠性评估问题。内容涵盖场景分析、质量度量、实施过程、测试策略以及结果反思并以高速公路chauffeur ODD操作设计领域为例提出以场景为基础的测试方法替代传统基于距离的随机测试为自动驾驶功能验证提供了系统性思路。文档英文原文结合项目摘要、方法、反思与展望可帮助读者快速理解PEGASUS整体框架与关键研究问题。文中引用Wachenfeld Winner的思想实验指出为验证自动驾驶功能需约62.2亿公里的测试距离对比凸显传统方法的局限。资源为单个PDF文档共包含1个文件大小约640KB便于阅读与归档。目前已有124人学习适合从事自动驾驶研发、测试及标准制定的专业人士参考。 拿到这份《PEGASUS-Gesamtmethode.pdf》时我的第一反应是无人驾驶测试终于有了一本真正意义上的“总账”。它不是某个仿真软件的说明书也不是简单罗列几个测试场景模板而是把自动驾驶从场景描述、数据采集、测试用例生成、虚拟仿真、实车验证到最后安全论证的整套流程串成了一个整体方法。业内常说的“自动驾驶安全验证到底怎么做”在这份资料里被拆成了可执行、可追溯、可复现的步骤。这份PDF适合谁如果你是自动驾驶测试工程师、功能安全或预期功能安全SOTIF的负责人、高校课题组的研究生或者是刚准备搭建场景库和验证体系的团队建议从头到尾仔细读一遍。读完之后你会发现很多自己摸索过但没想通的问题比如场景怎么分类、数据怎么进库、覆盖率达到多少才算够PEGASUS都给出了至少可以当讨论基准的答案。1. 为什么这份资料值得逐页读PEGASUS项目到底做了什么1.1 国家级项目的“整体方法”PEGASUS项目是德国联邦经济事务和能源部资助的大型研究项目整车厂、Tier 1供应商、软件工具公司、科研机构都参与其中时间是2016年到2019年左右。项目名称里的PEGASUS取自飞马座寓意很直接自动驾驶安全验证是一个难度极高、需要“飞起来”才能看清全貌的问题。项目最终产出里这份Gesamtmethode.pdf是最具概括性的成果德文Gesamtmethode翻译过来就是“整体方法”或“总体方法论”。传统上汽车功能安全验证主要靠真实道路测试但行业早就发现用单纯路测里程来证明自动驾驶“足够安全”是一条走不通的路。要把小概率、高风险、组合爆炸的交通场景测明白必须有系统性的方法。PEGASUS的思路不是上来就给你1000个测试用例而是先定义一套“如何产生测试用例、如何管理场景数据、如何评估覆盖度、如何闭环迭代”的元方法。这就是它和普通测试规范最不一样的地方它是在教你建立验证体系而不是替你做某一次验证任务。1.2 这份PDF能帮我们解决什么问题我自己的体会是PEGASUS最大的价值是帮团队把“安全验证”从口号变成工作流。很多公司做ADAS或自动驾驶功能时测试往往跟着项目走这个月做AEB就找一堆AEB场景下个月做ACC又临时去采集数据。最后每个子系统都测过但整体上缺一套统一语言场景重复、数据格式不统一、覆盖率说不清。PEGASUS提供的整体方法恰好能把这些散点连成线。它特别强调两个词一个是“系统化”systematisch一个是“可追溯”nachvollziehbar。系统化意味着场景不是拍脑袋选的而是从功能定义、真实交通数据、事故统计、专家知识等来源里结构化生成的可追溯意味着从需求到场景、从场景到测试用例、从测试结果到安全论证每一步都能回查。对做ISO 26262和ISO 21448的团队来说这正是写安全案例时最头疼的部分别人问“你凭什么说这个功能安全”PEGASUS的流程能帮助你给出有依据的回答。2. 六个字读懂核心方法论场景、工具、流程2.1 场景三分类是整份文档的地基PEGASUS方法论里最出名、引用最多的概念就是场景的三个层级功能场景、逻辑场景、具体场景。这个分类几乎贯穿了整份PDF整个验证流程都是围绕它展开的。功能场景functional scenario是用自然语言或语义化方式描述的场景比如“自车以60km/h行驶在直线车道上前方有一辆静止的目标车两车纵向距离逐渐缩短”。它解决的是“场景里的人一眼能不能看懂”的问题适合需求阶段和跨部门沟通。逻辑场景logical scenario在功能场景基础上引入了参数空间比如自车速度范围30到80km/h、目标车静止状态、横向偏移范围-1到1米、路面附着系数0.4到0.9。它解决的是“这个场景有哪些可变因素”的问题是探索测试深度的基础。具体场景concrete scenario则是从逻辑场景中抽取的一组具体参数值比如速度正好60km/h、横向偏移0.3米、附着系数0.85。它对应的是真正可以输入给仿真器或实车执行的测试用例。为什么这个分类如此重要因为自动驾驶测试场景是连续且无穷的而测试资源是有限的。功能场景帮你划边界逻辑场景帮你描述风险空间具体场景帮你落到可执行用例。没有这个分层你面对的只是一堆“跑不完的路测数据”有了这个分层你才能把无限问题转化为有限但充分的测试集合。2.2 六层模型划定场景范围只看场景分类还不够你还需要一个统一的框架来“记住”场景里所有的关键信息。PEGASUS以及后续很多场景标准都使用了分层道路模型我见过最常见的是把场景拆成六个层第一层是道路几何与拓扑第二层是交通标志和地面标线第三层是临时的交通变化比如施工区或临时管制第四层是静态障碍物第五层是动态交通参与者第六层是环境条件包括天气、光照、湿度、GPS信号质量。这个六层模型很多人第一眼会觉得“太繁琐”但实际用下来非常有用。比如测一个雨天夜间场景如果只记录车辆速度漏掉了道路曲率和路灯亮度测试结果往往复现不了而用六层模型做场景采集清单就能避免遗漏关键因素。更重要的是它给数据库设计提供了字段基础不管数据来自实车采集、仿真生成还是事故库都能统一映射到同一套结构里方便后续检索和参数化。2.3 数据从哪来怎么进场景库PEGASUS并不认为场景库是“攒出来的”而是“建出来的”。场景来源通常有几类第一类是真的道路数据通过测试车、量产车回传或自然驾驶研究采集第二类是事故数据库和危险工况记录这类数据稀少但价值极高往往能覆盖到功能失效的边缘第三类是专家经验和法规要求比如UNECE R157里的切入场景第四类是通过参数化和仿真批量生成的虚拟变体。把这些来源的数据放进场景库之前要做清洗、对齐、聚类和去重。很多团队容易忽略这一步直接把路测数据往里堆最后数据库里全是“高速跟车”这种重复样本真正危险的变道或路口场景反而没几条。PEGASUS的流程提醒我们数据采集之后要先做场景识别把连续轨迹转换成离散场景事件再用逻辑场景的参数区间做聚类这样场景库才能既有广度又有密度。3. 把PDF变成可落地的验证流程3.1 从V模型看PEGASUS如何嵌入开发做车控或功能开发的工程师对V模型都不陌生左侧是需求、设计、实现右侧是集成、验证、确认。PEGASUS的整体方法主要在右侧做文章但它不是简单增加几个测试阶段而是补充了一条“安全论证”的闭环。我在项目里一般这样理解功能定义出来后先用功能场景把预期行为描述清楚然后针对每一个功能场景建立逻辑场景确定参数范围和边界再通过实验设计或随机抽样生成具体场景在仿真平台里执行大规模回归最后挑选关键场景做实车验证。每一步的输出都要留下记录形成一条从“需求场景”到“测试结果”的追溯链。到了项目评审时别人问你“C-NCAP场景覆盖了吗”你可以直接打开追溯表告诉他这个场景来自哪个功能场景、参数区间是什么、仿真跑了几组、实车验证了哪几条。这里的核心不是工具多高级而是流程闭环。PEGASUS里反复强调的“整体方法”本质上就是把左侧的系统设计能力和右侧的测试验证能力用一个可追溯的框架接起来。3.2 可复用的数据闭环工具链标准资料里不会详细教你选哪款软件但会告诉你流程里需要哪几类工具。按PEGASUS的思路一套能落地的最小工具链至少包含四部分场景编辑与管理工具、仿真执行工具、数据回注与分析工具、覆盖度统计工具。场景编辑通常用OpenSCENARIO和OpenDRIVE这类开放格式来保存动态和静态信息数据库里按功能场景、逻辑场景、具体场景三个层级管理。仿真执行我习惯用CarMaker或VTD这类能支持传感器模型和实时控制的平台跑批量用例时再用云端集群。数据回注环节尤其重要实车采集的轨迹数据和传感器数据需要返回到仿真环境里做复现用来验证场景识别的准确性。最后覆盖度统计工具要把“场景类型覆盖数”“参数区间覆盖比例”“边界点是否测试”这些指标自动计算出来否则靠人工Excel统计很容易漏。这套工具链不需要一步到位。我们最早正式落地PEGASUS流程时仿真平台还是单机版场景库就是PostgreSQL加一个简单的Web管理页面覆盖度统计先靠脚本跑。关键是先把“场景—用例—结果—覆盖率”这条数据链路打通之后再逐步换工具架构不会变。3.3 参数空间与覆盖率避免组合爆炸的关键操作真正开始用逻辑场景做测试时大家遇到的第一个大问题就是组合爆炸。拿AEB举个简单的例子自车速度20到80km/h每10一个档位就是7个点目标车是静止、低速还是减速三种横向偏移从0到1米每0.2米一个点就是6个点再叠加路面附着、光照、传感器型号随便一列就有上千种组合。PEGASUS的思路是不要盲目全组合而是用参数化加抽样策略在风险空间里找代表性样本。实际操作中我会先做参数敏感性分析找出对结果影响最大的几个参数。比如速度是强影响因子就多取几个边界点横向偏移对AEB是否触发影响大就重点取0、正负极限、传感器的探测盲区边界。其余参数用随机抽样或均匀抽样补足。这样既不会漏掉高风险边角又能把用例数量控制在服务器能承受的范围内。覆盖度指标同样要有层次。不能只说“我们跑了5万次仿真”而要拆成场景类型覆盖了多少、每个逻辑场景的参数区间覆盖了多少、关键边界点测了多少、是否有专家评审记录。PEGASUS本身没有给出一个“全覆盖才算合格”的绝对数值而是强调用覆盖度量加上风险分析和专家判断形成可辩护的安全论证。这个思路在我后来被评审追问时帮了大忙。3.4 一次小规模落地实例我们在实际项目里选择“城市交叉路口左转遇对向直行车辆”这个功能场景做过一次完整试点。先把自然语言描述整理成功能场景然后用六层模型补充道路、标志、动态目标、天气等条件接着定义逻辑场景变量包括自车速度、对手车速度、车距、车道偏移、光照再用DoE选出了42组具体场景仿真平台批量跑完后挑出6组高危险场景做了封闭场地实车验证。整个过程大概用了三周时间最终评审时我们拿出了一张追溯表和覆盖统计身份从“被质疑者”变成了“解释者”。这次试点给我最大的感受是PEGASUS方法看起来庞杂但只要选一个具体功能走通全链路团队就能快速建立共同语言。不需要一开始就把所有功能都纳入这套体系那种“一步到位”的规划最后往往半途而废。4. 读资料与落地时容易踩的坑4.1 读这份PDF时容易陷入的三个误区第一个误区是把它当成可以直接拿来做认证的标准。PEGASUS本质上是一个研究项目的方法论总结不是ISO或UNECE法规它给出的是思路和框架不是一份“填完就通过”的检查表。我见过有同事拿着PDF里的某个图当标准流程去审计结果被问细节时发现很多步骤还需要自己定义。第二个误区是只看文字不看图表。Gesamtmethode这份资料里包含大量流程图、数据流图和分类结构图场景三分类、六层模型、工具接口这些核心内容只看文字很容易理解偏。建议读的时候准备一个大屏或打印版把图表和正文对照着看尤其是项目总览那张大图。第三个误区是忽略术语表。德文和英文术语并不是一一对应比如Freigabe并不完全等于releaseAbsicherung也不只是verification它更强调“安全论证”这个整体过程。我们团队当时统一做了一份中英德术语对照表后面开会沟通顺畅了很多。4.2 常见问题速查表常见问题PEGASUS方法对应的思路落地建议场景数量太多测不完用逻辑场景参数化避免全组合遍历先做参数敏感性分析只对高影响参数取边缘点仿真结果和实车对不上场景描述不一致或传感器模型偏差用同一批具体场景做仿真和实车对照记录偏差范围覆盖率做到多少才算合格没有统一绝对数值用多层覆盖度加风险分析来论证建立覆盖度统计表关键风险场景必须有专家评审记录和ISO 21448、UNECE法规怎么衔接方法是补充手段不是替代法规法规场景优先执行PEGASUS流程用于补充危险场景和自我论证团队成员看不懂术语和流程缺少统一的“场景语言”建术语表用功能场景沟通、逻辑场景评审、具体场景执行这张表其实就是我过去一年在项目里被问到最多的问题。每次回答完我都会把答案又更新到团队的内部Wiki里慢慢形成了一套围绕PEGASUS的“持久化经验”。4.3 我的实操建议如果你刚拿到这份PDF我建议不要从第一页顺序读到最后一页。先花半小时把项目总览图看懂然后跳到场景三分类和六层模型部分再回到流程章节。读完后挑一个你们正在做的ADAS功能用文档里的框架整理出第一版功能场景和逻辑场景哪怕只用Excel也行。另外建议团队里至少安排一个人专门负责“场景语言”的维护。PEGASUS方法能不能真正跑起来很大程度取决于团队内部是否长期用同一套方式描述场景、记录参数、统计覆盖。场景库不是一次性建设任务而是像代码库一样需要持续维护和评审的资产。我自己的习惯是每季度做一次场景库复盘把新增的真实事故数据、量产车回传数据、法规变化合入逻辑场景再重新跑一遍覆盖率统计。PEGASUS的方法论给了我一个很好的“操作系统”剩下需要填进去的是每个项目自己的数据和对安全的判断。本文还有配套的精品资源点击获取
返回列表