2. 南方海洋科学与工程广东省实验室(珠海), 广东 珠海 519082;
3. 武汉理工大学 内河航运技术湖北省重点实验室, 湖北 武汉 430063;
4. 武汉理工大学 创业学院, 湖北 武汉 430070;
5. 武汉理工大学 交通与物流工程学院, 湖北 武汉 430063;
6. 武汉理工大学 智能交通系统研究中心, 湖北 武汉 430063;
7. 武汉理工大学 国家水运安全工程技术研究中心, 湖北 武汉 430070
2. Southern Marine Science and Engineering Guangdong Laboratory (Zhuhai), Zhuhai 519000, China;
3. Hubei Provincial Key Laboratory of Inland Shipping Technology, Wuhan University of Technology, Wuhan 430063, China;
4. School of Entrepreneurship, Wuhan University of Technology, Wuhan 430070, China;
5. School of Transportation and Logistics Engineering, Wuhan University of Technology, Wuhan 430063, China;
6. Intelligent Transportation Systems Research Center, Wuhan University of Technology, Wuhan 430063, China;
7. National Engineering Research Center Water Transport Safety, Wuhan 430063, China
智能船舶是传统船舶工业与新兴科学技术的融合体。感知、控制和决策功能是智能船舶航行系统的核心。随着智能船舶功能研发、产品定型、检验认证等研究的深入,对其测试验证评估技术的需求日益增强。智能船舶航行系统的驾驶环境具有复杂性和不确定性,为确保其安全应用,理论上需要测试海量场景工况才能证明系统的安全性。传统船舶性能测试主要包括虚拟测试、模型测试和实船测试3种方式,模型测试和实船测试需要耗费大量人力、物力成本,实验工况无法设计的全面,且安全性难以得到保障。虚拟测试的成本低、零风险、可定制、可加速、可重复,能够模拟实际船舶测试中危险或难以实现的极端场景,大幅度降低船舶测试的难度和风险[1-2]。因此,虚拟测试已经成为智能船舶测试评估过程中的重要环节。典型的船舶虚拟测试流程如图1所示,包括测试需求分析、测试场景获取、测试优化以及工具测试等阶段[3]。
本文针对船舶虚拟测试需求,研究基于场景要素解构的生成方法,采用边界场景优化生成方法,借助麻雀优化算法求解船舶碰撞边界条件,结合自然环境场景选择结果自动生成智能船舶虚拟测试场景[4-5]。
1 虚拟测试场景概述在水上交通领域,场景一般被认为是一定时间和空间范围内水上交通环境与船舶航行的综合反映,描述水上交通环境、水文气象环境和水上交通参与者的驾驶任务和状态等信息。由于场景定义的多样性,智能船舶虚拟测试无法覆盖场景的全部要素参数,难以保障测试场景的全面性。参考道路车辆自动驾驶虚拟测试案例,可按测试场景抽象程度将场景划分为功能场景、逻辑场景和具象场景。功能场景是语义级别的操作场景,通过文字属于描述场景要素之间的关系,用于概念界定阶段的要素定义和风险评价等[6]。逻辑场景是通过系统动力学公式,从状态空间的角度描述场景要素之间的关系,可看作是对功能场景的补充;具象场景是通过状态空间中的参数标定,确定具体要素取值,得到场景中要素之间的具体关系。
因此,虚拟测试场景可定义为:一定时间和空间范围内,智能船舶与航行环境中的其他船舶、水工建筑物、天气、环境照度、碍航物等要素的交互过程。既包括场景的各种实体,也包括实体执行的行动以及实体之间的连接关系。
2 虚拟测试场景要素解析虚拟测试场景是由许多要素构成的,这些要素可以统称为影响因素,为保证测试场景的有效性和全面性,可将要素分为真实环境参数、本船行为参数和其他水上交通参与者的行为参数[7]。每个因素都有一个具体的取值范围,可以是连续的或离散的取值。为避免测试场景生成数量爆炸式、趋于无限的增长,需借助黑盒测试方法中的手段。如边界值分析、等价类划分等,将连续的、无限的数值转化为离散的、有限的数值,然后根据场景要素间的相互关系,重构为层次结构模型,如图3所示[8]。
构建场景要素层次模型的方法有很多。本文选取AHP方法,力求避免复杂的数学建模方式进行复杂问题的决策,将复杂问题逐层解析为若干元素,组成一个项目连结且具备隶属关系的层析结构模型[9]。首先,分析场景中各要素之间的关系,确定场景要素的递阶层次结构模型,对同一层次场景要素关于上一层次要素的重要性进行对比。构建判断矩阵,最后采用定性或定量方法计算相对权重,并进行判断矩阵的一致性检验。
为保证测试场景的有效性和覆盖性要求,需从多源数据库中提取场景要素,包括船舶航行采集数据、水文观测数据、边缘测试数据,智能船舶航行技术规范、测试标准也可作为数据补充要素加以考虑[10]。模型中的场景要素可描述为:
$ {F_{ij}} = \left\{ {{F_{i + 1,{k_j}}},{k_j} \in {{\textit{Ω}} _{ij}}} \right\},i \in [1,2, \ldots ,Z - 1],j \in [1,2, \ldots ,{L_i}]。$ | (1) |
式中:
在对场景要素解构的基础上,以智能船追越过程的仿真测试为例,按照组合场景生成的方法,至少需要测试
考虑到虚拟测试系统在更复杂的场景下会出现故障,因此在生成过程中应尽可能地设计出测试场景的复杂度。依据典型场景要素的层次结构模型确定各场景要素的复杂度,并采用组合测试(Combinatorial Testing,CT)场景生成方法实现对解构场景的重构,如果一个场景能够较早地覆盖更多具有较大重要性指数之和的组合,则最终的场景复杂度得分可以在复杂度和效率之间取得较好的折中。
CT算法是在所有组合中先选择重要性函数指数之和最大的组合,并将其与所设定的阈值进行比较。如果小于阈值,则将其值赋给场景中相应的因子,然后删除所选组合,将重要性指数最大的值分配给场景组中剩余因子,重复步骤直至场景生成;如果大于阈值,所选组合存在与确认值相矛盾的因素值,则跳过此组合,将剩余的组合数值分配给场景中未确定的因素。重复上述步骤,直至所有组合都被分配完成,然后生成场景。其中特别的是,如果集合中所有剩余的未发现组合都与前面选择的组合冲突,那么在场景中,将具有最大重要性指数的值分配给剩余未分配因素,再生成场景。
然而,随着自动生成算法的进行,剩余组合的重要性指数之和会变小,无法用于构建高复杂度的场景。为解决这一问题,设置一个阈值来平衡不同的需求。当选择组合的重要性指数之和超过该阈值时,用剩余未覆盖的组合构建新场景时,覆盖性能将优先考虑,反之,优先考虑场景的复杂度。通过调整阈值,可以在覆盖率和复杂度之间做出平衡。采用CT方法生成测试场景的流程如图4所示。
每个新的测试用例生成过程主要包括以下关键步骤:1)生成未覆盖的组合集;2)选择重要性指标之和最大的组合;3)将所选组合的重要性指标之和与阈值进行比较;4)根据结果,在“先提高用例复杂性”和“先减少用例数量”2种生成策略之间选择一个平衡点,对新测试用例中未分配的因子进行分配[11-12]。生成过程每次生成一个小场景,并一直持续到覆盖所有组合。在保证覆盖率的前提下,将测试用例的数量控制在一个更合理的范围内,同时有效提高生成用例的整体复杂性。
但是,在采用上述方法生成测试场景后,仍然有大量冗余和类似的测试场景存在,拖慢虚拟测试效率,因此,需要对场景生成方法进一步优化。
3 虚拟测试场景生成方法优化 3.1 虚拟测试场景生成方法选择目前虚拟测试场景生成方式主要有:场景组合生成方法、场景优化生成方法和边界场景自适应生成方法3种[13]。其中,场景组合生成方法借助本体理论、知识图谱以及组合测试将要素之间的组合问题描述为组合测试问题,可实现面向测试目标的测试场景全覆盖。采用离线生成方式,生成过程不考虑要素间动态交互,所生成的场景库包括大量冗余相似或不合理场景。场景优化生成方法借助优化理论,在场景组合生成方法的基础上离线生成虚拟测试场景,场景覆盖度相较于组合生成方法大幅降低,主要生成参数空间的边界场景。边界场景自适应生成方法借助强化学习、神经网络等机器学习方法,在线生成边缘场景,生成过程中通过分析场景生成系统的动力学公式,让智能算法参与场景生成过程,其场景覆盖度更低。通过测试高风险的边界场景,测试特定系统性能效果[14]。
考虑到本文研究对象不需要突出特定系统性能效果,测试重点应放在寻找更多边缘场景。通过适当的测试场景,找到智能航行系统中存在的问题和弱点。因此,选择场景优化生成方法作为通用测试场景的生成方法。场景优化生成方式可充分测试智能船舶航行能力边界的小概率边界场景,从而实现加速测试[15]。
场景优化生成将场景中船舶的航行交互和环境交互描述为一个优化求解问题。通过不断迭代优化缩小测试过程中场景风险与预期风险之间的偏差,最终得到测试船舶极限能力的边界场景,如典型的单船避碰场景。通过优化本船与目标船的方位、距离、航向等指标来提高两船交会过程中发生碰撞的概率。考虑高海况环境条件对船舶操纵的影响,最终增加本船航行系统的碰撞风险,找到两船碰撞的安全边界。
边界场景优化研究多集中在事故和碰撞场景的生成,目前可以采用船舶碰撞事故数据来确定场景生成,但碰撞事故数据不能完全测试智能船舶的航行系统性能。因此可通过优化船舶交会过程的初始状态、运动轨迹和自然环境条件来提高场景的危险程度。受限于船舶动力学和物理操纵极限,智能船也并非能在任何场景下实现安全避碰,如果场景搜索过程中未考虑这些场景,也将生成多余的测试场景。本文的场景生成过程重点包括生成临界场景、智能船本可避碰成功但避碰失败的以及本不可避碰成功但找到其他思路避碰成功的场景。
3.2 边缘场景边界条件本文主要选择在船舶会遇时,驾驶员根据规则、和经验对会遇局面进行辨识,并确认避让责任,船舶会遇情况的辨识是船舶避撞决策的基本依据,互见中的船舶典型会遇场景。根据COLREGS可划分为对遇、交叉相遇以及追越,如图5所示。
从本船(智能船)的角度,基于目标船(TS)的相对位置来判断会遇情况。根据避让责任,处于E区域的目标船,将会与本船产生对遇局面,两船应各自右转互以左舷会船;A、B、D区域内的来船将与本船形成交叉相遇态势,A和B区域的来船,本船负有让路船的职责,A区(小角度交叉相遇)来船,本船应右转以左舷对左舷的方式会船,B区大角度交叉相遇船舶,本船可选择减速或转向方式会船,D区来船时,目标船为让路船,需采取避让行动,本船保向保速;C区目标船与本船形成追越,本船为直航船保向保速。
船舶碰撞危险度(Collision Risk Index,CRI)量度会遇过程中船舶发生碰撞的可能性,是船舶智能避碰决策的基础。当CRI达到某一阈值,船舶会遇存在碰撞危险,让路船需进行避碰操作解除避碰危险。
假设本船在能见度良好的开阔水域与n条目标船会遇,初始位置(X0,Y0),船速V0,航向C0。第i个目标船的位置(Xi,Yi),船速Vi,航向Ci。
如图6所示,d1代表船舶最小安全距离,它船进入该领域即从空间角度认为碰撞会发生;d2代表船舶安全通过的最小距离,未入侵该领域可认为其空间碰撞危险度为0,一般可认为
模糊数学常被用于船舶碰撞风险的分析,选用模糊集合理论对CRI进行计算评估,并考虑最小会遇距离(Distance of Close Point of Approaching,DCPA)、相对距离D、最小会遇时间(Time to Close Point of Approaching,TCPA)、相对方位B、船速比K等5个因素对CRI的影响,构建对应隶属度函数[16]。此外,考虑环境载荷对船舶操纵和避碰风险的影响,选择极端海况配合得到船舶避碰边界条件。
考虑到即便采用CRI作为参数空间寻求求解,但仍会生成大量相似、重复的测试场景,因此,参考文献[17]的方法,将相异度度量指标纳入适应度函数中作为以鼓励发现彼此高度不同的测试场景[11]。
假定
$ D\left( {{\tau _1},{\tau _2}} \right) = \frac{1}{n}{\sum\limits_{i = 1}^n {\left\| {c_1^i - c_2^i} \right\|} _2} 。$ | (2) |
对基于优化场景生成方法所生成的场景案例进行实例仿真验证与分析。
选择单船避碰过程为例,通过仿真测试验证,船舶智能航行系统的舵角分布区间为[−15°, 15°] ,本船速度区间为[−3kn, 15kn] 。测试验证了500余次场景,全部成功概率为54%,存在避碰失败概率为38%,全部失败概率为8%,说明本文所提出的场景优化生成方法能够有效降低场景生成数量且有效覆盖边缘场景测试工况。
5 结 语通过测试验证,本文提出的虚拟仿真测试平台的场景优化生成方法完善了目前虚拟测试平台的相关场景,其生成的场景也为测试平台提供了基础。同时,能够有效降低场景生成数量且有效覆盖边缘场景测试工况,提高了效率。
[1] |
刘佳仑, 杨帆, 马吉林, 等. 智能船舶及测试验证评估技术研究现状与展望[J]. 中国船检, 2021(7): 68-74. LIU Jia-lun, YANG Fan, MA Ji-lin, et al. Research status and prospect of intelligent ship and test verification and evaluation technology[J]. China Ship Inspection, 2021(7): 68-74. |
[2] |
刘佳仑, 杨帆, 马枫, 等. 智能船舶航行功能测试验证的方法体系[J]. 中国舰船研究, 2021, 16(1): 45-50. LIU Jia-lun, YANG Fan, MA Feng, et al. Method system for verification of intelligent ship navigation function test[J]. China Ship Research, 2021, 16(1): 45-50. |
[3] |
高立杰, 位少坤, 汪祥亮. 基于数据驱动的自动驾驶测试场景生成方法[C]//第十八届河南省汽车工程科技学术研讨会论文集, 2021: 236-238.
|
[4] |
周文帅, 朱宇, 赵祥模, 等. 面向高速公路车辆切入场景的自动驾驶测试用例生成方法[J]. 汽车技术, 2021(1): 11-18. ZHOU Wenshuai, ZHU Yu, ZHAO Xiangmo, et al. Automatic driving test case generation method for highway vehicle cut-in scenarios[J]. Automotive Technology, 2021(1): 11-18. |
[5] |
孙崇珊. 基于车路协同混合交通场景要素解析的测试案例生成方法[D]. 北京: 北京交通大学, 2021.
|
[6] |
赵祥模, 高赢, 徐志刚, 等. IntelliWay-变耦合模块化智慧高速公路系统一体化架构及测评体系[J/OL]. 中国公路学报, 2022:1-33. http://kns. cnki. net/kcms/detail/61. 1313. U. 20220601. 1805. 004. html Zhao Xiangmo, Gao Ying, Xu Zhigang, et al. IntelliWay - Variable coupling modular intelligent highway system integration architecture and evaluation system [ J / OL]. China Journal of Highway and Transport http: //kns. cnki. net/ kcms/ detail/ 61. 1313. U. 20220601. 1805. 004.html, 2022:1−33. |
[7] |
张帅, 邹浩彦, 张磊. 基于模型的飞行管理测试场景自动生成方法[C]//. 2021年中国航空工业技术装备工程协会年会论文集, 2021: 317−321.
|
[8] |
李江坤, 邓伟文, 任秉韬, 等. 基于场景动力学和强化学习的自动驾驶边缘测试场景生成方法[J]. 汽车工程, 2022, 44(7): 976-986. LI Jiangkun, DENG Weiwen, REN Bingtao, et al. Scenario generation method of autonomous driving edge test based on scene dynamics and reinforcement learning[J]. Automotive Engineering, 2022, 44(7): 976-986. |
[9] |
蒋娇. 一种航迹智能控制算法优化研究[D]. 厦门: 集美大学, 2014.
|
[10] |
蒋拯民, 党少博, 李慧云, 等. 自动驾驶汽车场景测试研究进展综述[J]. 汽车技术, 2022(8): 10-22. JIANG Zhengmin, DANG Shaobo, LI Huiyun, et al. Overview of research progress in scenario testing of autonomous vehicles[J]. Automotive technology, 2022(8): 10-22. |
[11] |
FENG Gao, et al. A test scenario automatic generation strategy for intelligent driving systems[J]. Mathematical Problems in Engineering, 2019 : 1−10.
|
[12] |
W TSENG, C Fan. Systematic scenario test case generation for nuclear safety systems[J]. Information and Software Technology, 2013, 55(2): 344-356. DOI:10.1016/j.infsof.2012.08.016 |
[13] |
GEMA, PGS B, RCH B, et al. Adaptive generation of challenging scenarios for testing and evaluation of autonomous vehicles[J]. Systems & Software, 2018(137): 197-215. |
[14] |
E ROCKLAGE, H KRAFT, A KARATAS, et al. Automated scenario generation for regression testing of autonomous vehicles[C]//2017 IEEE 20th International Conference on Intelligent Transportation Systems (ITSC), 2017: 476-483.
|
[15] |
J DUAN, F GAO, YH e, Test scenario generation and optimization technology for intelligent driving systems[C]//In IEEE Intelligent Transportation Systems Magazine, 2022,114(1): 115−127.
|
[16] |
S LIU, S NAKAJIMA, Automatic test case and test oracle generation based on functional scenarios in formal specifications for conformance testing[C]// In IEEE Transactions on Software Engineering, 2022, 48(2): 691−712.
|
[17] |
SARMIENTO E, LEITE TCSP, ALMENTERO E,et al. Test scenario generation from natural language requirements descriptions based on Petri-Nets[J]. Electronic Notes in Theoretical Computer Science, 2016, 329(329): 123-148. DOI:10.1016/j.entcs.2016.12.008 |