Nonlinear state-space models in ControlSystems.jl?

Will nonlinear state-space models be implemented in ControlSystems.jl? Nonlinear state-space model here is a system with equations like

\begin{cases} \begin{aligned} \dot{\boldsymbol{x}} &= f(t, \boldsymbol{x}, \boldsymbol{u}), \\ \boldsymbol{y} &= g(t, \boldsymbol{x}, \boldsymbol{u}), \end{aligned} \end{cases}

and the user can specify f and g.

Such systems will be useful for simulations such as controlling an inverted pendulum with a PID controller.

I know nonlinearity() exists, but it does not seem to be able to take multiple inputs.
(Sorry if such a feature is already available.)

There are no concrete plans to bring more nonlinear features into ControlSystems.jl, instead, the plan is to integrate better with other nonlinear simulation tools, such as ModelingToolkit.jl.

Here is a video where the two are used together for nonlinear modeling and simulation with linear control design

I also have a, so far experimental, interface between Controlsystems.jl and ModelingToolkit.jl here

1 Like

That’s great! Thank you.