【问题标题】:Is it possible to use OpenMDAO for control systems simulation? If so, how?是否可以使用 OpenMDAO 进行控制系统仿真?如果是这样,怎么做?
【发布时间】:2015-11-02 23:05:36
【问题描述】:

我想运行一个类似于here 演示的控制系统模拟。由于 OpenMDAO 似乎具有基于组件的建模的良好特性,是否可以使用 OpenMDAO 运行这样的模拟?

更具体地说,我现在尝试完成的是更简单的动态系统和各种 PID 控制器的连续时间模拟,以适应系统不同点的无数干扰组合。

我现在的工作是通过lsim() 函数完成的,该函数在 Scipy (lsim() doc) 和 Matlab (lsim() doc) 中都可用。然而,这些工具很麻烦,因为它们需要将整个系统建模为单个集总输入输出系统。使用多个输入点时的转换是耗时的,并且根据系统的复杂性很难实现。此外,lsim() 不适用于非线性问题。

理想情况下,我还想混合使用连续时间模拟(针对工厂)和离散时间模拟(针对控制器,我将在未来对其进行转换,以便更轻松地模拟时间延迟)。希望支持非线性行为的另一个原因是模拟未来的滞后现象。

一个简单的方法是使用 Simulink(如 here 所述),但我宁愿在 Python 中使用它,因为我正在尝试构建一个与其他 Python 工具交互的解决方案。

【问题讨论】:

    标签: simulation simulink numerical-integration openmdao errorcontrolsystem


    【解决方案1】:

    一切皆有可能!还没有人完成你要问的事情。

    已经使用 OpenMDAO 对系统进行了一些瞬态建模。具体来说,我们的satellite work 使用了明确的轨道动力学时间积分方案并解决了最优控制问题。但它没有解决控制器设计或状态空间建模问题。

    但是,构建工厂模型和离散时间控制器应该都是可能的。所以我不明白为什么不能这样做。

    【讨论】:

    • 我已经扩展了问题以解释更多细节。为了更具体地说明问题本身,也许我应该包含 “我应该如何开始使用 1.0 API 解决这个问题?在进行瞬态分析时我应该寻找哪些功能?我是否必须在某处手动包含集成?”
    猜你喜欢
    • 2023-04-07
    • 2013-04-02
    • 2018-10-28
    • 2012-06-19
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2023-04-10
    • 2010-11-16
    相关资源
    最近更新 更多