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.