-
Notifications
You must be signed in to change notification settings - Fork 7
Expand file tree
/
Copy pathModelPredictiveControl.jl
More file actions
70 lines (55 loc) · 2.5 KB
/
Copy pathModelPredictiveControl.jl
File metadata and controls
70 lines (55 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
module ModelPredictiveControl
using PrecompileTools
using LinearAlgebra, SparseArrays
using Random: randn
using StableRNGs: StableRNG
using RecipesBase
using DifferentiationInterface: ADTypes.AbstractADType, AutoForwardDiff
using DifferentiationInterface: AutoSparse, SecondOrder
using DifferentiationInterface: Prep, SparseJacobianPrep, SparseHessianPrep
using DifferentiationInterface: gradient, jacobian, hessian
using DifferentiationInterface: value_and_gradient, value_and_jacobian
using DifferentiationInterface: value_gradient_and_hessian
using DifferentiationInterface: gradient!, value_and_gradient!, prepare_gradient
using DifferentiationInterface: jacobian!, value_and_jacobian!, prepare_jacobian
using DifferentiationInterface: hessian!, value_gradient_and_hessian!, prepare_hessian
using DifferentiationInterface: Constant, Cache
using SparseConnectivityTracer: TracerSparsityDetector
using SparseMatrixColorings: GreedyColoringAlgorithm, sparsity_pattern
using SparseMatrixColorings: NaturalOrder, LargestFirst, SmallestLast
using SparseMatrixColorings: IncidenceDegree, DynamicLargestFirst, RandomOrder
using SparseMatrixColorings: ncolors
import ProgressLogging
import ForwardDiff
import ControlSystemsBase
import ControlSystemsBase: ss, tf, delay
import ControlSystemsBase: Continuous, Discrete
import ControlSystemsBase: StateSpace, TransferFunction, DelayLtiSystem, LTISystem
import ControlSystemsBase: iscontinuous, isdiscrete, sminreal, minreal, c2d, d2c
import JuMP
import JuMP: MOIU, MOI, GenericModel, Model, optimizer_with_attributes, register
import JuMP: @variable, @operator, @constraint, @objective
import OSQP, Ipopt
import FastGaussQuadrature
export SimModel, LinModel, NonLinModel
export DiffSolver, RungeKutta, ForwardEuler
export setop!, setname!
export setstate!, setmodel!, preparestate!, updatestate!, evaloutput, linearize, linearize!
export savetime!, periodsleep
export StateEstimator, InternalModel, Luenberger
export SteadyKalmanFilter, KalmanFilter, UnscentedKalmanFilter, ExtendedKalmanFilter
export MovingHorizonEstimator
export ManualEstimator
export default_nint, initstate!
export PredictiveController, ExplicitMPC, LinMPC, NonLinMPC, setconstraint!, moveinput!
export TranscriptionMethod, SingleShooting, MultipleShooting
export TrapezoidalCollocation, OrthogonalCollocation
export SimResult, getinfo, sim!
include("general.jl")
include("sim_model.jl")
include("transcription.jl")
include("state_estim.jl")
include("predictive_control.jl")
include("plot_sim.jl")
include("precompile.jl")
end