主要内容

实时模型准备工作流程

图中显示了实时模型准备工作流程。

实时模型既快速又准确。当您在您的实时目标机器上模拟一个实时模型时,它会一直运行到完成,并根据理论模型和经验数据生成匹配您预期的结果。确定模型是否能够实时运行的唯一方法是在实时目标机器上运行它。但是,您可以使用桌面模拟,即在开发计算机上进行的模拟,在部署模型之前确定模型是否具有实时能力的可能性。

实时模型准备工作流是您在开发计算机上执行的两个工作流中的第一个,以使您的模型更有可能是实时的。该工作流向您展示了如何调整大小或您的模型的保真度,以提高速度而不牺牲和准确性。当您完成这个工作流时,使用实时模拟工作流来找到最佳的固定步骤、固定成本求解器配置,以便实时模拟您的模型。

为实时模拟准备你的模型

获得参考结果

使用经验或理论数据来设计和构建您的Simscape™模型。使用仿真软件金宝app®全局变量步长求解器来模拟你的模型。根据需要细化模型,以获得底层数据支持的模拟结果。金宝app参考结果为评估整个模型准备和实时仿真工作流程的所有阶段的模型准确性提供了基线。

泛滥的风险评估

当步长太小而不能让实时计算机完成任何一步所需的所有处理时,就会发生溢出。如果您的模型需要的步长太小,以至于可能导致溢出,那么您的模型不够快,无法进行实时模拟。要确定小步骤是否可能导致溢出,请创建一个包含步骤大小的图,变量步长步骤求解器使用该图来执行模型的模拟。步长图告诉您求解器在模拟过程中使用的小步的数量和大小。

对于可能导致实时模拟溢出的小步骤的大小或数量,没有硬性指标。将模型从桌面模拟移动到实时模拟是一个迭代过程。这个过程包括修改、模拟和分析您的模型,它帮助您确定模型中的小步骤是否有时间限制,或者是否足够多,从而导致溢出。

通过在实时计算机上模拟不同模型而获得的经验还可以帮助您确定模型中的小步骤是否可能导致溢出。例如,考虑有两个模型(M1和M2)和两个不同的实时处理器(RT1和RT2)的情况。处理器RT1和RT2具有相同的标称处理速度。模型M1,一个机械模型,和M2,一个电气模型,都有一些步骤,是1e-15秒。模型M1可能在实时处理器RT1上使用足够精确的结果进行模拟,但在实时处理器RT2上使用不够精确的结果进行模拟。也有可能模型M1在RT1和RT2上运行到最后并得到准确的结果,而模型M2在两个处理器上都产生溢出。这些场景是可能的,因为不同的模型拓扑产生不同的动态,而且名义处理速度不是模拟执行时间的唯一决定因素。操作系统和I/O配置等其他因素也会影响模拟在实时处理器上执行的方式。当您评估小步长对模型实时生存能力的影响时,熟悉系统动力学和实时设备的处理能力可以指导您做出决策。

调整模型保真度或范围

如果您的分析表明使用该模型进行实时仿真可能会出现超限或产生不够精确的结果,则修改该模型以提高速度或精度。

当您评估超限风险时,如果您发现模拟使用了太多的小步骤,请使用以下方法来提高模拟速度:

  • 降低计算成本。

  • 减少数值刚度。

  • 减少零交叉。

  • 减少快速动力学

  • 为并行处理划分模型。

在评估模型精度时,如果发现仿真结果与参考结果不匹配,可以使用以下方法来提高模型精度:

  • 金宝app模拟动态系统的最佳实践

  • Simscape基本建模技术

用变步长求解器获得结果

使用Simuli金宝appnk全局变步长求解器,获得模型修改版本的结果。

步长图还可以帮助你:

  • 估计最大步长使用的固定步长求解器,以实现准确的结果在实时仿真。

  • 确定不连续或快速动力学使模拟减慢的确切时间。

评估模型的准确性

将在目标计算机上模拟的结果与参考结果进行比较。参考模型和修正模型的结果是一样的吗?如果不是,它们是否足够相似,使经验或理论数据也支持从修正模型的模拟结果?金宝app修改后的模型是否代表了您想要测量的现象?它是否正确地表达了这些现象?如果您计划使用您的模型来测试您的控制器设计,那么这个模型是否足够精确,能够产生您可以依赖于系统确认的结果?这些问题的答案可以帮助您决定您的实时结果是否足够准确。

执行实时模拟工作流程

当变量仿真结果表明您的模型具有实时处理所需的速度和精度时,您可以使用实时仿真的工作流为固定步骤,固定成本模拟配置你的模型。

返回到实时模型准备工作流

连接器是一个入口点,用于从另一个工作流(例如,实时仿真工作流或硬件在环仿真工作流)返回到实时模型准备工作流。

工作流完成的计算能力不足

您的实时目标机器可能缺乏实时运行模型的计算能力。如果,在工作流的多次迭代之后,没有模型的复杂性级别使你的模型能够实时运行,考虑以下选项来增加处理能力:

相关的例子

更多关于