-
Hello! Firstly, thank you for sharing this great idea and all these resources. In the Control Examples referenced in the repo, the system model is loaded from a library in neuromancer.psl. However, I am not sure how I can go about creating my own system model within the Neuromancer framework so that it can be integrated with the rest of the DPC methodology easily. Is there any documentation regarding this? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Hi @abhigyan9, thanks for the inquiry! If you know your model beforehand, you can define it as a Python callable to be wrapped in the Node class for the System class. Here is an example of apriori known linear state space model defined via simple lambda function You can define more complex nonlinear state space (SSM) models in a similar way simply by implementing it in a python function. In case you have a continuous time ordinary differential equation model, you can use our base ODESystem class Another example is this colab notebook, where we again use pre-defined ODE inheriting from the ODESystem class Another scenario is when you don't have a model at hand, and you want to identify the model from data. For this you can have a closer look on our system ID examples: You don't need the psl model for either of these, we use the psl models in some examples as emulator models to test the control policies. |
Beta Was this translation helpful? Give feedback.
Hi @abhigyan9, thanks for the inquiry!
If you know your model beforehand, you can define it as a Python callable to be wrapped in the Node class for the System class.
Here is an example of apriori known linear state space model defined via simple lambda function
https://github.com/pnnl/neuromancer/blob/master/examples/control/Part_1_stabilize_linear_system.ipynb
You can define more complex nonlinear state space (SSM) models in a similar way simply by implementing it in a python function.
For this you can use our base SSM class where you need to define state and input dynamics yourself
https://github.com/pnnl/neuromancer/blob/master/src/neuromancer/dynamics/ode.py#L6
In case you have a con…