summaryrefslogtreecommitdiffstats
path: root/midterm.m
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