我想运行一个控制系统模拟,类似于演示的这里。既然OpenMDAO似乎有很好的基于组件的建模特性,那么用OpenMDAO来运行这样的模拟是否可能呢?
更具体的说,我现在要完成的是对一个动态系统和各种PID控制器进行更简单的连续时间仿真,在系统的不同点上实现各种扰动的组合。
我现在所做的是通过lsim()函数完成的,这个函数在lsim() doc和lsim() doc中都是可用的。然而,这些工具在要求将整个系统建模为单一集总输入输出系统的方式上是很麻烦的。使用多个输入点的转换非常耗时,而且由于系统的复杂性,很难实现。此外,lsim()也不能用于非线性问题.
理想情况下,我还想要混合连续时间模拟(对于工厂)和离散时间(对于控制器,我将在未来转换,并允许更容易地模拟时间延迟)。另一个想要支持非线性行为的原因是为了模拟未来的迟滞现象。
一个简单的方法是使用Simulink (如描述的这里),但我宁愿用Python来实现,因为我正在尝试构建一个与其他Python工具交互的解决方案。
发布于 2015-08-11 01:22:48
一切皆有可能!还没人按你的要求去做。
利用OpenMDAO对系统进行了瞬态建模。具体来说,我们的卫星工作采用了轨道动力学的显式时间积分方案,解决了一个最优控制问题。但它没有解决控制器的设计,也没有状态空间建模。
然而,建立对象模型和离散时间控制器都是可能的。所以我不明白为什么不能这么做。
https://stackoverflow.com/questions/31929633
复制相似问题