Control Systems¶
Plant models and closed-loop neural network control system classes.
Plant Models¶
LinearODE¶
Continuous-time linear system: x’ = Ax + Bu, y = Cx + Du.
plant = LinearODE(A, B, C, D)
plant = LinearODE(A, B, C, D, controlPeriod, numReachSteps)
Key Properties: A, B, C, D, dim, nI, nO,
controlPeriod, numReachSteps
DLinearODE¶
Discrete-time linear system: x[k+1] = Ax[k] + Bu[k].
plant = DLinearODE(A, B, C, D)
NonLinearODE¶
Continuous-time nonlinear system via CORA. x’ = f(x, u, t), y = Cx.
plant = NonLinearODE(nVars, nInputs, @dynamics_func, reachStep, controlPeriod, outputMat)
CORA Options: taylorTerms, zonotopeOrder, maxError, tensorOrder,
alg, reductionTechnique
DNonLinearODE¶
Discrete-time nonlinear system.
plant = DNonLinearODE(nVars, nInputs, @dynamics_func, outputMat)
HybridA¶
Hybrid automaton (switched systems) via CORA.
plant = HybridA(nModes, nVars, nInputs, dynamics, ...)
NNCS Composition¶
Class |
Plant Type |
Time |
Constructor |
|---|---|---|---|
|
LinearODE |
Continuous |
|
|
NonLinearODE |
Continuous |
|
|
DLinearODE |
Discrete |
|
|
DNonLinearODE |
Discrete |
|
|
HybridA |
Hybrid |
|
Common Properties: feedbackMap, ref_I (reference input set), init_set
Common Methods:
[reachSets, simTraces, controlTraces] = nncs.reach(reachPRM)
where reachPRM contains: init_set, ref_input, numSteps, reachMethod, numCores