Helicopter
This is a 28-dimensional controlled helicopter model.
using ReachabilityModels, MAT, ReachabilityBase.CurrentPath
file = matopen(@current_path("helicopter", "sx/heli.mat"))
MAT.MAT_HDF5.MatlabHDF5File(HDF5.File: (read-only) /home/runner/work/ReachabilityModels.jl/ReachabilityModels.jl/docs/../src/models/helicopter/sx/heli.mat, true, false, 0, false)
system matrix
A = read(file, "A")
28×28 Matrix{Float64}:
0.0 0.0 … 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 -0.160139 -6.11536 -0.0389724
0.0 0.0 0.979163 0.0404014 0.010697
0.0 0.0 -0.0230167 -1.06985 -0.596675
-32.1036 0.0 … -1.11578 -0.0263051 -0.0337389
0.102161 32.0578 -0.0310234 -1.22553 0.657926
-1.91097 1.71383 -0.126841 -0.391839 0.420788
0.126296 -0.00289825 0.0 0.0 0.0
-0.0181141 0.077615 0.0 0.0 0.0
⋮ ⋱ ⋮
0.0 0.0 0.0 0.0 0.0
0.0 0.0 … 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0426396 0.132541 -0.142338
0.0 0.0 … -6.64198 0.0396022 0.0261817
0.0 0.0 0.197714 -6.3694 -0.0119768
0.0 0.0 0.012459 -0.083125 -5.47283
input matrix
B = read(file, "B")
28×6 Matrix{Float64}:
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
-9.82138e-5 -0.126296 0.00289825 -0.00177237 0.319316 -0.785296
-0.000680851 0.0181141 -0.077615 0.012793 -0.710897 -2.45359
⋮ ⋮
0.0 0.0 0.0 3.26127 0.0 0.0
0.0 0.0 0.0 0.0 3.26127 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 8.15316
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0 0.0
state domain
X = Universe(28)
Universe{Float64}(28)
input domain
U = Hyperrectangle(zeros(6), [0, 0, 0, 0.001, 0.001, 0.001])
function model(X0)
S = @system(x' = A * x + B * u, x ∈ X, u ∈ U)
return IVP(S, X0)
end
model (generic function with 1 method)