主要内容

无人机包裹递送自动化测试实例

这个例子展示了如何编辑需求,将需求链接到模型中的实现,并在UAV应用程序的上下文中验证它们的功能。该模型的组成部分和需求包括无人机的制导和控制无人机包裹递送的例子。

简介

无人机包裹递送示例通过增量设计迭代展示了如何实现小型多直升机模拟在城市环境中的不同位置起飞、飞行和降落。在这个例子中,我们经历了编辑一个小而有代表性的需求集的过程,将这些需求链接到模型中实现这些需求的部分,并最终通过测试套件验证这些需求。

需求评审

单击,加载所需的工程和文件打开实时脚本或者运行openExample函数。

openExample (“无人机/ AutomateTestingForUAVPackageDeliveryExample”

需求工具箱™允许您在Simulink™中创建、分析和管理需求。万博1manbetx类定义的20个功能需求指导而且控制无人机飞行控制器。打开所提供的Simulink项目和需万博1manbetx求集。或者,也可以从需求的标签。要求经理应用程序在Si万博1manbetxmulink。

prj = openProject(“验证/ AutomatedTestsPackageDelivery.prj”);打开(“uavPackageDeliveryReqs.slreqx”

需求被分为引导和控制部分。这些要求直接映射到无人机包裹递送示例的多旋翼模型的部分。查看需求列表并单击项目以查看和编辑右侧的详细信息。

将需求与实现联系起来

“需求工具箱”使您能够将每个单独的需求链接到实现该需求的Simulink模型组件。万博1manbetx要链接要求,首先打开多转子模型。

open_system (“MultirotorModel”

中的单击,进入需求透视图视角控件在模型画布的右下角。

选择需求视角。

在需求透视图中,导航到指导逻辑并检查一些指导要求是否得到实施。需求#5和#6用灰色标记。航向和偏航命令限制由路标追随者块。

open_system ('MultirotorModel/制导逻辑/全制导逻辑/制导状态流/制导模式选择器/制导逻辑。WP的

或者,您可以导航到每个需求的实现链接需求编辑器中每个需求的部分。打开需求编辑器。选择功能需求并导航到Links >>实现章节。细节标签在右边。

打开(“uavPackageDeliveryReqs.slreqx”

单击需求#19(索引1.2.1.4)。在细节选项卡下链接,按theta_limit链接到要求在多转子模型中实现的地方。的θ限制Block实现了这个需求。

自动化测试

为了确保每个需求都得到满足,这个示例包括在模型上运行的三个自动测试。中打开测试文件,查看如何实现这些测试测试经理.您应该看到两个测试套件,GuidanceLogicSuite而且ControlSystemSuite

uiopen (“MultirotorModelTest.mldatx”,1)

测试引导逻辑

测试指导状态转换测试使用管理测试线束(万博1manbetx仿真软件测试)对于模型。要查看测试装置,请单击测试指导状态转换测试和展开测试中的系统部分测试。点击箭头按钮打开模型:

该装置包含一个信号编辑器,带有一组预定义的输入,用于测试制导逻辑状态机的所有阶段,从起飞到着陆。

为了验证在模拟过程中满足了需求,测试实现了六个通过时间评估来评估时间逻辑(万博1manbetx仿真软件测试)并将这些内容与需求链接起来。

测试控制系统

控制系统测试套件由两个测试组成。一个专注于测试控制器的所有命令限制,另一个评估控制器性能。这两个测试都使用了一个Simulink测试集,在一万博1manbetx些合理的输入下驱动控制系统并评估响应。

测试控制系统命令限制测试实现10通过时间评估来评估时间逻辑(万博1manbetx仿真软件测试)评估以确保控制系统中的所有命令都正确地满足需求所建立的值。这些评估与相应的需求相关联。

测试控制系统性能测试使用比较模型输出和基线数据(万博1manbetx仿真软件测试)测试以评估控制系统是否在界限内或偏离预先记录的基线。

运行所有测试

要运行两个测试套件,请单击运行测试经理将来发布。测试运行后,您将在结果和工件树。

确认需求

作为最后一步,打开要求编辑器并启用实现国家而且验证状态工具条中的列。列的颜色表示每个需求是否已经被测试实现和验证。