实时仿真工作流程
实时仿真工作流程如图所示。连接器是返回到实时模型准备工作流的出口点。
图中为实时模型制备流程。连接器是从其他实时工作流(例如,实时仿真工作流或硬件在环仿真工作流)返回到实时模型准备工作流的入口点。
在执行此工作流之前,请使用实时模型准备流程.实时模型准备工作流程向您展示如何获取参考结果、确定最大步长以及修改模型以快速模拟并产生准确的结果。
使用实时仿真工作流可以增加模型具有实时能力的可能性。当你在实时计算机上模拟它时,如果它满足以下两个条件,你的模型就是实时的:
根据经验数据或理论模型,结果与您的期望相符。
该模型进行模拟时不会产生溢出。
实时仿真工作流采用有界,即固定步长、固定代价的仿真。固定步长、固定代价模拟通过限制求解器使用的步长和迭代次数来设置计算代价的上限。
让你的模型实时可行
执行固定步骤,固定成本模拟
在桌面计算机上运行您的模型,使用全局求解器和局部求解器的固定步长、固定成本配置。有关为实时模拟指定固定步长、固定成本求解器配置的详细信息,请参见选择步长和迭代次数而且实时生存能力的固定成本模拟.
评估模型精度
将目标计算机上的模拟结果与参考结果进行比较。参考模型和修正模型的结果是否相同?如果不是,它们是否足够相似,以至于经验或理论数据也支持修正模型的模拟结果?金宝app修改后的模型是否代表了您想要测量的现象?它是否正确地描述了这些现象?如果您计划使用您的模型来测试您的控制器设计,那么模型是否足够精确以产生您可以依赖于系统确认的结果?这些问题的答案可以帮助您确定实时结果是否足够准确。
通过调整求解器设置来提高精度
如果您的固定步长、固定成本模拟结果与参考结果不匹配,请尝试通过调整求解器配置来提高精度。增加迭代次数或减小步长可以提高精度。
对于隐式全局求解器(ode14x, ode1be),增加牛顿迭代的次数。对于后向欧拉或梯形规则局部求解器,增加非线性迭代次数。
对于全局解算器和任何局部解算器,减小步长。将每个局部求解器的步长配置为为全局求解器指定的步长的整数倍。
返回到实时模型准备工作流程
如果改变求解器配置并不能提高或加快足够的速度,请尝试通过返回实时模型准备工作流来使您的模型具有实时能力。
调整模型的保真度或范围,然后在实时模型准备工作流程中逐步执行其他流程和决策。反复调整、模拟和分析您的模型,直到它足够快速和准确,您可以再次尝试实时模拟工作流。有关信息,请参见实时模型准备流程.
评估超期风险
就速度而言,确定您的模型具有实时性的唯一方法是在目标硬件上进行模拟时测试溢出。但是,您可以使用固定步长、固定代价的模拟来估计求解器执行速度足够快的可能性,以便进行实时模拟。有关估计模拟时间的信息,请参见估算计算成本.
通过调整求解器设置来提高仿真速度
如果您的计算成本估计表明您的模型执行太慢,无法避免实时目标计算机上的溢出,请尝试通过调整求解器配置来提高模拟速度。减少迭代次数或增加步长可以提高精度。
对于隐式全局求解器(ode14x, ode1be),减少牛顿迭代的次数。对于后向欧拉或梯形规则局部求解器,减少非线性迭代次数。
对于全局解算器和任何局部解算器,增加步长。将每个局部求解器的步长配置为为全局求解器指定的步长的整数倍。
模型是实时可行的
当固定步长、固定成本的仿真结果表明您的模型可能具有实时能力时,您可以尝试在目标硬件上进行实时仿真。有关如何使用实时模拟测试控制器硬件的信息,请参见硬件在环仿真基础知识.
返回到实时仿真工作流
连接器是从另一个工作流(例如,硬件在环仿真工作流)返回到实时仿真工作流的入口点。
实时生存能力的计算能力不足
您的实时目标机器可能缺乏实时运行模型的计算能力。如果在工作流多次迭代之后,没有模型复杂性和求解器设置的组合使您的模型实时可行,请考虑以下选项来提高处理能力: