此外,保障智能汽车安全性的过程中,预期功能安全的研究与探索也是不可或缺的。对于预期功能安全测试,仿真工具中的虚拟场景与现实世界中的真实场景之间的一致性,是影响智能汽车安全性的重要因素之一。关于虚拟场景的真实性和一致性评估,并不能完全由软件工具的功能安全鉴定环节来覆盖。
本文将首先从功能安全标准的角度出发,对所有软件工具进行安全评估和鉴定,随后从预期功能安全的角度出发,探索仿真工具与真实场景的一致性,并提出评估方法和思路。
软件工具的置信度对其安全性具有重要影响,置信度反映了对软件工具信任程度和可靠性的评估。在软件功能安全开发项目中,软件工具置信度会影响到对工具产出结果的信任及依赖程度,进而直接关系到软件的安全性。因此,对软件工具进行安全评估和鉴定是必要的。通过分析方法确定软件工具的置信度等级,并根据这个等级确认其实际的安全性。
在公司级别统一执行软件工具的安全评估和鉴定,可以避免在不同项目中重复相同的评估工作。在每个项目中使用前,需确认相关约束条件、使用方法、应用环境等是否符合评估和鉴定时的条件。如果存在差异,则需对该项目中的相应软件工具进行单独的安全评估和鉴定。
1.1 软件工具的安全评估
在智能汽车软件开发项目中,使用了多种软件工具,如需求分析工具、软件开发工具、测试工具、安全分析工具、绘图工具、文档工具、配置管理工具等。
进行软件工具安全评估时,由功能安全人员负责列出并分析软件研发过程中使用的所有工具,包括商业化工具、开源工具和自主开发的工具。针对每种工具,需要明确其版本、配置信息、执行环境、预期用途、已知缺陷、使用方法、所需的输入输出、环境约束和功能约束等。
功能安全人员通过分析每种工具的预期用途,评估其对软件开发的影响及错误探测能力。依据ISO26262功能安全标准,基于工具影响TI和工具错误探测TD两个维度确定工具的置信度等级TCL,如表1工具置信度水平确定表。
表1 工具置信度水平确定表
其中,
TI1代表该工具发生错误异常时不会影响软件的安全性;
TI2代表该工具发生错误异常时对软件安全性能够产生影响;
TD1代表有充分的措施能够预防或探测工具的异常情况和错误输出,具有较高探测度;
TD2代表有措施预防或探测工具的异常情况和错误输出,具有中等探测度;
TD3代表除了TD1和TD2之外的其他情况。
工具置信度等级分别为TCL1、TCL2和TCL3。
举个例子,针对软件编译工具,如果发生异常,可能导致编译后的可执行代码出错,直接影响安全性,故影响度定为TI2。并且对于软件编译工具发生异常导致错误输出的这种情况,一般没有有效的措施可以进行防护,探测度为TD3,由此得出其置信度等级为TCL3。
另外,对于单元测试工具,异常情况可能导致无法准确发现软件潜在问题,间接影响软件安全,因此影响度为TI2。但通过后续测试,可能探测到由单元测试问题引发的隐患,所以探测度为TD2,据此得出单元测试工具的置信度等级为TCL2。
1.2 软件工具的安全鉴定
通过工具安全评估并确定置信度水平后,对于TCL1级的工具,不需要进行安全鉴定。而对于TCL2和TCL3级的工具,则需要根据工具所应用的软件开发项目中,软件最高安全完整性等级来确定应采用的鉴定方法。
依据ISO26262功能安全标准,应参照表2 软件工具的鉴定来选择鉴定方法,优先考虑强烈推荐的方法,在多个强烈推荐的方法中选其一即可。
其中,
“使用中的累积置信度”须有充分数据支撑,这些数据应基于软件工具在相同用途下的历史使用情况,且在相似的环境、功能和约束条件下进行。对所有功能异常和错误输出情况进行系统化数据累计。
“工具开发流程评估”要求软件工具的开发流程达到国际或国内的适宜标准,如采用ASPICE、CMMI等评估流程,或遵循某些团体标准的开源开发。
“软件工具确认”需验证工具符合预期用途,确保工具不出错或错误可被检测措施全面覆盖,及工具对异常情况的响应能力,并应对确认过程中出现的异常、错误及其措施进行分析。
“按照安全标准开发”则要求软件开发达到一定的功能安全标准,虽无专门适用于软件工具开发的安全标准,但可依照国际或国内认可的软件功能安全开发标准,如IEC61508、EN50128、ISO26262、RTCA DO-178或相应的国家标准进行。
表2 软件工具的鉴定
以编译器和单元测试工具为例,如果要开发一个符合ASIL D标准的软件系统,就必须对所使用的编译器进行安全鉴定。在经过安全评估后,若编译器的置信度被评定为TCL3,那么这个编译器必须是按照安全标准开发的,或者已经进行了全面的确认。在实际项目中,由于使用方通常无法按照安全标准对工具进行重新开发,且全面执行工具确认同样充满挑战,因此编译器需要通过相应的工具置信度安全评估和认证。工具使用方通常会直接采用该工具的功能安全认证资质作为安全鉴定的证据,但仍需关注并确认工具的使用环境和约束条件与当前项目需求的匹配性。
对于单元测试工具,如果其经过安全评估并识别为TCL2等级,则需采用软件工具确认方法进行安全鉴定。如果该单元测试工具是经过相应安全评估与认证的商业化产品,则意味着它已经过全面的测试、验证与确认,因此可以直接利用其功能安全认证资质进行安全鉴定。此时,同样需要考虑安全使用环境和约束条件。如果单元测试工具未经过安全评估与认证,则需要工具使用方对其进行确认,通过开发测试套件实施全面测试和确认,以探查可能的功能异常和错误输出。可以采用一些故障插入测试,如输入不完整数据、进行不完整工具升级、使用禁用的配置组合或执行一些可预见的误操作,并分析其防护措施的完备性。只有当单元测试工具全面通过确认,证明无安全隐患时,才能满足安全鉴定的要求,否则不能在功能安全软件开发中使用。
软件工具的安全评估与鉴定过程如图1所示。
图1 软件工具的安全评估与鉴定的总体流程
在智能汽车软件开发领域,随着产业生态圈的不断扩展,软件开发语言变得多样化,相应的软件工具种类也日渐增多。大量开源工具的广泛使用,常常导致人们忽视了软件工具的置信度问题。许多开发者并未意识到,软件工具可能对软件产品造成严重的安全影响。因此,在智能汽车软件的未来发展中,必须加强对工具置信度的重视,确保在每个与功能安全相关的软件开发过程中,对软件工具进行全面的安全评估与鉴定。
在智能汽车的预期功能安全研究过程中,经常会用到仿真工具。这些工具可以将真实场景转换为虚拟元素和场景,从而允许被测系统在仿真环境中进行全面的验证。
场景仿真测试是智能汽车预期功能安全研究的关键环节,提供了一个安全、高效、经济且可控的测试环境。这种环境使得系统能在多种场景下进行全面的安全测试,覆盖更多复杂的情况。
尤其是在真实的道路测试环境中难以遇到的特殊场景事件,通过仿真工具就能够模拟出来。仿真测试不仅能够提供安全的测试环境,避免真实环境测试中可能发生的风险和安全隐患,而且还能重复执行相同的测试用例,验证系统的一致性和稳定性。
同时,仿真测试具有良好的可控性,能够精确控制测试条件和参数,深入分析系统行为。与真实环境测试涉及到昂贵的成本和资源投入相比,仿真测试相对较为经济高效,并且可以利用真实环境采集的数据在仿真测试中进行数据回灌,以在仿真环境下获得真实的验证效果。
在仿真测试中,通过物理模拟、传感器模拟、环境模拟和模型渲染技术,基于真实场景要素和内容,仿真工具能够创造各种虚拟仿真场景。这包括将真实场景中的元素,如道路、车辆、行人和建筑物等,转化为虚拟世界中的图像和动态形式。
在仿真中,常常需要模拟车辆内部视角或外部观察者视角;并且处理虚拟对象之间的交互,如车辆避让、行人行为、道路标志显示等,以使仿真更加真实和复杂。
此外,仿真还需要模拟各种环境条件,包括不同的天气、光照、季节等。然而,这些由工具生成的虚拟世界场景与真实场景之间可能存在差异,这是仿真测试中需要特别注意的问题,主要表现为:
软件仿真工具通常使用物理模型来模拟车辆、行人和其他交通参与者的运动和交互,这些物理模型可能不完全准确,无法考虑到所有细节和复杂性;
在仿真中,传感器模拟可能无法完全还原真实传感器的性能和精度;
仿真工具虽然能够尝试模拟不同的环境条件,包括不同的天气、光照和路面状况,但可能与真实环境的复杂状态和变化存在偏差;
智能汽车相关算法通常在特定数据集和场景下进行训练和验证,在仿真工具中涵盖的交通情况和场景细节可能与实际道路上的情况存在差异;
软件仿真工具使用的地图数据、车辆行为数据、路况数据等可能不够完整或准确,这会影响模拟的真实性和可靠性;
软件仿真工具的运行速度可能比真实场景中的实时性要快或慢,这可能导致仿真结果与实际场景之间存在时间上的不一致性。
在实际驾驶情况下,车辆会遇到大量实时的场景与数据,包括路况、天气、其他车辆以及行人等,而这些场景数据在仿真中的模拟涉及众多复杂的细节。
如果仿真工具模拟的场景与真实世界存在偏差,那么从仿真中得到的结论可能不够准确和全面。这种情况下,在软件仿真工具中验证的安全特性和算法在实际道路上的表现可能与预期有所差异。
此外,如果仿真工具使用的数据集不完整或不准确,也会影响模拟的真实性和可靠性。
在智能汽车预期功能安全研究过程中,通常需要通过大量的仿真测试来验证和确认已知场景及其触发条件,并对未知场景进行探索与评估。如果仿真工具模拟效果与真实环境的一致性存在问题,那么最终可能会影响到预期功能安全的评价结果,进而影响智能汽车软件的安全性。
因此,在智能汽车软件开发过程中,除了需要根据功能安全标准要求对软件工具的置信度进行安全评估与鉴定外,还应重点关注仿真工具模拟场景与真实环境之间的一致性和有效性。目前尚缺乏适用的安全标准来规范化和系统化地对仿真工具一致性进行评估,基于实践经验和探索研究,对比测试可以作为一种有效的评估方法。
对比测试通常是基于标准化场景进行的,例如,可以依据中国新车评价规程C-NCAP中相关场景及测试要求来进行。通过基于基本测试场景的对比测试,可以评估仿真工具模拟的场景与真实环境之间的差异和一致性,进而验证仿真工具的有效性和可靠性。
在对比测试评估中,会基于特定标准的基本场景及相应的测试用例,分别进行实车测试和仿真测试。这不仅限于C-NCAP中的标准场景,还可以基于其他标准的场景进行测试。在实际评估过程中,应根据软件开发的具体需求选择适当的标准化场景进行对比验证。总体而言,所选取的标准化场景和用例越全面、越具有代表性,仿真工具的评估结果就越全面和准确。
采用对比测试进行预期功能安全仿真工具评估主要分为两步:
第一步是在基础场景中同时进行实车测试和仿真测试。这个阶段主要针对感知效果进行对比,评估仿真工具对感知系统的一致性和真实性。在这个环节中,需要特别关注仿真图像输出格式的正确性、模型渲染的真实性、仿真场景中所有物体的相关参数与真实情况的符合程度,以及仿真场景中所有交通参与者的数量、路径和行为是否与真实情况一致。
第二步是在基础场景上叠加预期功能安全分析中识别的各种触发条件,以确保在第一步的仿真效果基础上,对仿真工具中触发条件的仿真效果与实车测试的一致性进行评估。触发条件可能包括降雨、降雪、雾霾、昏暗光线、强烈照明、前方设置的强光反射物体、消失的车道线、突然行人闯入、前方突然车辆切入等多种可能触发风险的情况。
通过这样的分层测试方法,可以更准确地评估仿真工具的效果和可靠性,确保其模拟结果能够有效地反映真实世界情况。
对比测试流程如图2所示。
图2 对比测试的流程
除了通过对比测试来评估仿真工具的安全性外,仿真场景的开发过程也需要采取措施提高可靠性和安全性。这可以通过使用高质量的模型和数据来实现,使仿真尽可能接近真实世界。
同时,使用真实世界的数据驱动仿真是一个有效的方法,例如,利用真实的地图数据、交通流量数据和天气数据。
此外,确保仿真中物体的运动和交互遵循准确的物理规律也非常重要。比如,车辆的加速、制动、转弯等动作应该遵循车辆动力学模型的规律。
由于仿真工具是一个复杂的系统,很难一次性达到完美的真实性,因此需要不断进行迭代和改进。通过实践经验和反馈,可以逐步提高仿真效果与真实世界的一致性。例如,可以使用自动驾驶车辆在实际道路上收集的数据来验证和校准仿真系统,从而提高仿真效果的准确性。
在智能汽车预期功能安全研究中,除了利用仿真工具进行仿真测试之外,还需进行大量的实际道路测试和验证,以确保系统在真实场景中的安全性和性能。通过结合仿真测试和实车测试,可以从多角度确保预期功能安全,以此也可规避仿真工具可能对安全性评估带来的影响。这种综合的测试方法有助于构建更加全面和可靠的安全验证体系。
关注公众号,点击公众号主页右上角“ ··· ”,设置星标,实时获取公众号“水轻言”最新文章。
完