我想运行一个类似于此处演示的控制系统模拟。由于 OpenMDAO 似乎具有基于组件的建模的良好特性,是否可以使用 OpenMDAO 运行这样的模拟?
更具体地说,我现在试图完成的是更简单的动态系统和各种 PID 控制器的连续时间模拟,以适应系统不同点的无数干扰组合。
我现在所做的是通过该lsim()
函数完成的,该函数在 Scipy ( lsim() doc ) 和 Matlab ( lsim() doc ) 中都可用。然而,这些工具很麻烦,因为它们需要将整个系统建模为单个集总输入输出系统。使用多个输入点时的转换是耗时的,并且根据系统的复杂性很难实现。此外,lsim()
不适用于非线性问题。
理想情况下,我还想混合使用连续时间模拟(针对工厂)和离散时间模拟(针对控制器,我将在未来对其进行转换,以便更轻松地模拟时间延迟)。希望支持非线性行为的另一个原因是模拟未来的滞后。
一个简单的方法是使用 Simulink(如此处所述),但我宁愿在 Python 中使用它,因为我正在尝试构建一个与其他 Python 工具交互的解决方案。