blob: 8f8e5e163036b4c24dfdcfddfc61b4563a8ee716 (
plain)
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
|
% Copyright (c) 2024, Naoki Sean Pross, ETH Zürich
%% ------------------------------------------------------------------------
% Clear environment and generate parameters
clear; clc; close all;
params = uav_params();
%% ------------------------------------------------------------------------
% Create nominal plant and controller
% Generate nominal model
model = uav_model(params);
ctrl = uav_ctrl_nominal(params, model);
% Model dimensions
nx = model.linear.Nx;
% Open loop path
L = model.linear.StateSpace * ctrl.K;
% Closed loop path under unitary negative gain
G = feedback(L, eye(nx, nx));
%% ------------------------------------------------------------------------
% Simulate nominal controller
%% ------------------------------------------------------------------------
% Define performance goals
%% ------------------------------------------------------------------------
% Create uncertain model
%% ------------------------------------------------------------------------
% Define stability goals
%% ------------------------------------------------------------------------
% Perform H-infinity design
%% ------------------------------------------------------------------------
% Perform mu-Analysis
|