forked from zhiqiao0256/Soft-Arm-SMART-Controller-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfuncBuildGreyBox.m
More file actions
27 lines (25 loc) · 1.41 KB
/
funcBuildGreyBox.m
File metadata and controls
27 lines (25 loc) · 1.41 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
function nlgr =funcBuildGreyBox()
FileName = 'funcGreyBoxOde'; % File describing the model structure.
Order = [2 5 2]; % Model orders [ny nu nx].
Parameters = [1; 0.5; 0.5]; % Initial parameters. Np = 3.
InitialStates = [0; 0]; % Initial initial states.
Ts = 0; % Time-continuous system.
nlgr = idnlgrey(FileName, Order, Parameters, InitialStates, Ts, ...
'Name', 'Arm');
set(nlgr, 'InputName', {'Pm1','Pm2','Pm3','r_0','Phi'}, ...
'InputUnit', {'MPa','MPa','MPa','m','rad'}, ...
'OutputName', {'Angular position','vel'}, ...
'OutputUnit', {'rad','rad/s'}, ...
'TimeUnit', 's');
nlgr = setinit(nlgr, 'Name', {'Bending angle'; ... % x(1).
'Anguler vel'}); ... % x(2)
nlgr = setinit(nlgr, 'Unit', {'rad'; 'rad/s'});
nlgr = setpar(nlgr, 'Name', {'Alpha'; ... % k
'Stiffness'; ... % a
'Damper';}); ... % alpha
nlgr = setpar(nlgr, 'Unit', {'None';'Nm/rad'; 'Nm/(rad/s)'});
nlgr = setpar(nlgr, 'Minimum',{eps(0)*1;eps(0)*1;eps(0)*1}); % All parameters > 0!
nlgr.Parameters(1).Maximum=5;
nlgr.Parameters(2).Maximum=5;
nlgr.Parameters(2).Maximum=5;
% present(nlgr);