主要内容

代码验证和验证与处理器在环(PIL)仿真

这个例子向您展示了如何使用无人机工具箱支持包PX4自动驾驶仪的代码验证和验证与处理器在环(P金宝appIL)。

在本例中,您将学习如何配置Simulink模型来运行处理器在环(PIL)仿真。金宝app在PIL模拟中,生成的代码运行在PX4飞行控制器上。PIL仿真的结果被转移到Simulink,以验证仿真和代码生成结果的数值等价性。金宝appPIL验证过程是开发周期中至关重要的一部分,以确保部署代码的行为与设计相匹配。

有关太平船务的更多详情,请参阅这个链接

这个例子通过展示你如何配置一个Simulink模型来运行金宝appPX4飞行控制器上的PIL模拟,介绍了Simulink代码生成和验证工作流。这个示例预先配置为在Pixhawk 1板上运行。您可以通过在Configuration Parameters对话框的Hardw金宝appare Implementation窗格中选择“Hardware board”来为其他支持的PX4飞行控制器配置此模型。

所需的硬件

要运行此示例,您将需要以下硬件:

  • 金宝app支持PX4飞行控制器

  • USB类型A转Mini-B电缆

太平仿真通信接口的选择

PX4飞行控制器支持除USB类型A到MINI-B电缆金宝app之外不需要任何其他电缆或硬件的接口,用于将飞行控制器连接到运行PX4自动驾驶仪的UAV Toolbox支持包的主机。

1。打开pil模型。

Open_System('px4demo_top_model_pil.slx');

2。打开造型标签并单击模型设置要打开配置参数对话框。

3。硬件实现>目标硬件资源>公益诉讼.选择硬件板串行端口,然后输入主机串口的值。

默认值使用您选择用于固件上传的外部模式和串行端口(COM端口)的相同硬件端口。要使用这些默认值以外的不同端口,请清除复选框并指定端口。

小费:您可以使用设备管理器识别PX4飞行控制器连接的主机的COM端口。

验证顶级模型代码与pil

这个例子展示了如何通过运行PIL模拟来验证为模型生成的代码。通过这种方法:

  • 您可以验证为顶级模型生成的代码

  • 您必须将模型配置为从MATLAB工作区加载测试向量或刺激输入

  • 您可以在正常和PIL仿真模式之间轻松切换整个模型

1。打开Top模型太平模式。

Open_System('px4demo_top_model_pil.slx');

该模型被配置为PX4 Pixhawk 1目标。您可以通过将硬件板更改为“配置参数”>“硬件实现”窗格中的支持的PX4飞行控制器来运行其他PX4自动驾驶仪目标的模型。金宝app

2。按照上面任务1的步骤选择PIL通信接口。

3。在Simulnk模型窗口中,转到应用标签和搜索SIL / PIL Manager

4.选择Processor-in-the-Loop(公益诉讼)SIL / PIL模式下拉菜单,然后单击运行验证

5。当太平船务模拟完成时,alogsOut变量在基本工作区中创建。的logsOut数据包含PIL仿真结果。您可以访问日志数据以获取信号count_a.count_b.通过使用以下命令:

一个。count_a = get(logsout,'count_a');

count_a.values.data.

count_b =得到(logsOut count_b);

count_b.values.data.

使用PIL验证引用的模型代码

这个例子展示了如何通过运行PIL模拟来验证为引用模型生成的代码。通过这种方法:

  • 您可以验证为引用模型生成的代码

  • 您必须提供测试线束模型,以提供测试矢量或刺激投入

  • 您可以轻松切换正常和太平模拟模式之间的模型块

1。打开模型块Pil模型。

open_system(“px4demo_model_pil_block.slx”);

该模型配置为PX4 Pixhawk 1目标。通过在Configuration Parameters > Hardware Implementation窗格中将Hardware板更改为支持的PX4飞行控制金宝app器,您可以为其他PX4目标运行该模型。

该模型包含两个模型块(对比度),其两个点在相同的参考模型处。请注意,还必须在参考模型中进行硬件板更改(右键单击平台或CheckB块,然后选择开放为顶级模型),按上述步骤操作。您将配置一个模型块在太平模拟模式下运行,另一个在正常模式下运行。

2。按照上面任务1的步骤选择PIL通信接口。

3。配置和运行对比度模型块在太平仿真模式下,如下步骤:

一个。右键单击块对比度并选择块参数(ModelReference)

对比度块参数,选择模拟模式作为Processor-in-the-Loop(公益诉讼),然后点击好吧

C。模拟标签并单击跑步

4.当模型开始运行时,Scope1显示在PX4自动驾驶仪上运行的PIL仿真输出Scope2显示正常模式仿真输出。

使用PIL块验证子系统生成的代码

此示例显示如何使用Pill块进行子系统代码验证。通过这种方法:

  • 您可以验证为子系统生成的代码

  • 您必须提供一个测试控制模型来提供一个测试矢量或刺激输入

  • 您必须用生成的PIL块交换您的原始子系统;您应该小心避免在这种状态下保存您的模型,因为您可能会丢失您的原始子系统。

1。打开PIL Block模型。

open_system(“px4demo_pil_block.slx”);

该模型被配置为PX4 Pixhawk 1目标。通过在Configuration Parameters > Hardware Implementation窗格中将Hardware板更改为支持的PX4飞行控制金宝app器,您可以为其他PX4目标运行该模型。

这里的目标是创建一个PIL块出来控制器您将在PX4飞行控制器上运行的子系统。

2。按照上面任务1的步骤选择PIL通信接口。

3。通过以下步骤启用PIL:

一个。造型标签并单击模型设置要打开配置参数对话框。

B.代码生成>验证>先进的参数并选择公益诉讼

4.为此创建一个pill块控制器子系统的步骤如下:

一个。右键单击控制器子系统和选择将此子系统部署到硬件

构建子系统控制器的代码对话框中,单击构建

5。通过以下步骤运行PIL模拟:

一个。将Pil子系统块复制到您的模型。

模拟选项卡,并单击跑步

6。生成的可执行文件被复制到电路板。

7。您可以切换之间的原始和PIL块子系统通过双击手动开关堵塞。双击数值差异阻止看到模拟之间的差异控制器子系统和PIL块运行在Pixhawk系列控制器硬件板上。

使用PIL执行代码分析

您可以执行代码分析,同时验证代码使用PIL。代码分析可以帮助您检查生成的代码是否满足实时性能需求。您可以确定需要最多时间的任务,然后研究是否可能在功能和速度之间进行权衡。

您可以使用SIL/PIL Manager App(启用基本代码分析)或使用Configuration Parameters对话框(提供代码分析的高级选项)来启用PIL模拟的代码分析。

笔记:执行时间分析取决于为所选硬件板配置的时钟频率。在“配置参数”对话框中,执行硬件实现>目标硬件资源>孵蛋的查看时钟频率。

启用S​​IL / PIL Manager应用程序的代码分析

1。打开Simulink模型后,转到金宝app应用标签并选择SIL / PIL Manager

2。在SIL/PIL选项卡中,选择Processor-in-the-Loop(公益诉讼)从SIL/PIL模式下拉列表中。

3。设置并选择任务分析.选择此选项可启用模型的执行时间分析。

从配置参数启用代码分析对话框

1。打开Simulink模型后,转到金宝app造型标签并单击模型设置要打开配置参数对话框。

2代码生成>验证>先进的参数并选择公益诉讼

3.要在模型中的每个速率进行配置文件,请选择测量任务执行时间

下一个参数度量函数执行时间被设置为默认情况下,。可设置为粗(仅引用的模型和子系统)详细(所有函数调用站点).此外,设置保存选项所有的数据.验证工作区变量的名称是executionProfile..点击申请然后好吧

按照所需步骤完成PIL模拟(如前一节所述)。

PIL仿真完成后,executionProfile.变量出现在MATLAB工作空间中。获取分析报告,分析不同的周转和执行时间:

报告(executionProfile)