System
This folder contains different ways to define systems, for instance to encode a controller.
Control system
Each control system should be implemented as a ControlSystem.
Dionysos.System.ControlSystem — TypeThe structure
ControlSystem{N, T}is the abstract type that defines a control system.
So far, we have implemented a few examples of control systems:
Dionysos.System.SimpleSystem — TypeSimpleSystem{N, T, F <: Function, F2} <: ControlSystem{N, T}is one implementation of the ControlSystem type.
Dionysos.System.ControlSystemGrowth — TypeControlSystemGrowth{N, T, F1 <: Function, F2 <: Function, F3 <: Function} <: ControlSystem{N, T}is one implementation of the ControlSystem type for which we have a growth bound function.
Dionysos.System.ControlSystemLinearized — TypeControlSystemLinearized{N, T, F1 <: Function, F2 <: Function, F3 <: Function, F4 <: Function, } <: ControlSystem{N, T}is one implementation of the ControlSystem type for which we have linearized the system map.
Dionysos.System.EllipsoidalAffineApproximatedSystem — TypeEllipsoidalAffineApproximatedSystem{}is a system whose dynamics is a noisy constrained affine control discrete system whose cells are ellipsoids, with a bound on the Lipschitz constant.
Controller
So far, the abstraction-based methods that we use define either piecewise-constant or piecewise-affine controllers.
Dionysos.System.ConstantController — TypeConstantController{T, VT}encodes a constant state-dependent controller of the κ(x) = c.
Dionysos.System.AffineController — TypeAffineController{T, MT, VT1, VT2}encodes an affine state-dependent controller of the κ(x) = K*(x-c)+ℓ.
Trajectories
Dionysos.System.DiscreteTrajectory — TypeDiscreteTrajectory{Q, TT}q_0 is the starting mode and transitions is a sequence of discrete transitions in the system.
Dionysos.System.ContinuousTrajectory — TypeContinuousTrajectory{T, XVT<:AbstractVector{T}, UVT<:AbstractVector{T}}x is a sequence of points in the state space and u is a sequence of points in the input space.
Dionysos.System.HybridTrajectory — TypeHybridTrajectory{T, TT, XVT <: AbstractVector{T}, UVT <: AbstractVector{T}}discrete is the discrete trajectory of type DiscreteTrajectory and continuous is a the continuous trajectory of type ContinuousTrajectory.
Dionysos.System.Trajectory — TypeTrajectory{T}provides the sequence of some elements of a trajectory.
Dionysos.System.Control_trajectory — TypeControl_trajectory{T1, T2}provides the sequence of states and inputs of a trajectory.
Dionysos.System.Cost_control_trajectory — TypeCost_control_trajectory{T1, T2, T3}provides the sequence of states, inputs (via Control_trajectory) and costs of a trajectory.