Helicopter

Overview

System type: linear continuous system
State dimension: 28
Application domain:

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)