Use new argument function validation technique

This commit is contained in:
2020-01-13 11:42:31 +01:00
parent 994fe2ccc7
commit a2917a50e9
20 changed files with 770 additions and 660 deletions

View File

@@ -1,4 +1,4 @@
#+TITLE: Active Damping
#+TITLE: Active Damping with an uni-axial model
:DRAWER:
#+STARTUP: overview
@@ -97,7 +97,7 @@ The performance of this undamped system will be compared with the damped system
#+end_src
#+begin_src matlab
open('active_damping/matlab/sim_nano_station_id.slx')
open('active_damping_uniaxial/matlab/sim_nano_station_id.slx')
#+end_src
** Init
@@ -114,8 +114,8 @@ The nano-hexapod is a piezoelectric hexapod and the sample has a mass of 50kg.
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod(struct('actuator', 'piezo'));
initializeSample(struct('mass', 50));
initializeNanoHexapod('actuator', 'piezo');
initializeSample('mass', 50);
#+end_src
All the controllers are set to 0.
@@ -138,7 +138,7 @@ We identify the various transfer functions of the system
And we save it for further analysis.
#+begin_src matlab
save('./active_damping/mat/plants.mat', 'G', '-append');
save('./active_damping_uniaxial/mat/plants.mat', 'G', '-append');
#+end_src
** Sensitivity to disturbances
@@ -462,13 +462,13 @@ And the closed loop system is computed below.
#+end_src
#+begin_src matlab
open('active_damping/matlab/sim_nano_station_id.slx')
open('active_damping_uniaxial/matlab/sim_nano_station_id.slx')
#+end_src
** Control Design
Let's load the undamped plant:
#+begin_src matlab
load('./active_damping/mat/plants.mat', 'G');
load('./active_damping_uniaxial/mat/plants.mat', 'G');
#+end_src
Let's look at the transfer function from actuator forces in the nano-hexapod to the force sensor in the nano-hexapod legs for all 6 pairs of actuator/sensor (figure [[fig:iff_plant]]).
@@ -566,8 +566,8 @@ Let's initialize the system prior to identification.
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod(struct('actuator', 'piezo'));
initializeSample(struct('mass', 50));
initializeNanoHexapod('actuator', 'piezo');
initializeSample('mass', 50);
#+end_src
All the controllers are set to 0.
@@ -589,7 +589,7 @@ We identify the system dynamics now that the IFF controller is ON.
And we save the damped plant for further analysis
#+begin_src matlab
save('./active_damping/mat/plants.mat', 'G_iff', '-append');
save('./active_damping_uniaxial/mat/plants.mat', 'G_iff', '-append');
#+end_src
** Sensitivity to disturbances
@@ -1001,13 +1001,13 @@ And the closed loop system is computed below.
#+end_src
#+begin_src matlab
open('active_damping/matlab/sim_nano_station_id.slx')
open('active_damping_uniaxial/matlab/sim_nano_station_id.slx')
#+end_src
** Control Design
Let's load the undamped plant:
#+begin_src matlab
load('./active_damping/mat/plants.mat', 'G');
load('./active_damping_uniaxial/mat/plants.mat', 'G');
#+end_src
Let's look at the transfer function from actuator forces in the nano-hexapod to the measured displacement of the actuator for all 6 pairs of actuator/sensor (figure [[fig:rmc_plant]]).
@@ -1106,8 +1106,8 @@ Let's initialize the system prior to identification.
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod(struct('actuator', 'piezo'));
initializeSample(struct('mass', 50));
initializeNanoHexapod('actuator', 'piezo');
initializeSample('mass', 50);
#+end_src
And initialize the controllers.
@@ -1129,7 +1129,7 @@ We identify the system dynamics now that the RMC controller is ON.
And we save the damped plant for further analysis.
#+begin_src matlab
save('./active_damping/mat/plants.mat', 'G_rmc', '-append');
save('./active_damping_uniaxial/mat/plants.mat', 'G_rmc', '-append');
#+end_src
** Sensitivity to disturbances
@@ -1514,13 +1514,13 @@ The obtained sensitivity to disturbances is shown in figure [[fig:dvf_1dof_sensi
#+end_src
#+begin_src matlab
open('active_damping/matlab/sim_nano_station_id.slx')
open('active_damping_uniaxial/matlab/sim_nano_station_id.slx')
#+end_src
** Control Design
Let's load the undamped plant:
#+begin_src matlab
load('./active_damping/mat/plants.mat', 'G');
load('./active_damping_uniaxial/mat/plants.mat', 'G');
#+end_src
Let's look at the transfer function from actuator forces in the nano-hexapod to the measured velocity of the nano-hexapod platform in the direction of the corresponding actuator for all 6 pairs of actuator/sensor (figure [[fig:dvf_plant]]).
@@ -1617,8 +1617,8 @@ Let's initialize the system prior to identification.
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeNanoHexapod(struct('actuator', 'piezo'));
initializeSample(struct('mass', 50));
initializeNanoHexapod('actuator', 'piezo');
initializeSample('mass', 50);
#+end_src
And initialize the controllers.
@@ -1640,7 +1640,7 @@ We identify the system dynamics now that the RMC controller is ON.
And we save the damped plant for further analysis.
#+begin_src matlab
save('./active_damping/mat/plants.mat', 'G_dvf', '-append');
save('./active_damping_uniaxial/mat/plants.mat', 'G_dvf', '-append');
#+end_src
** Sensitivity to disturbances
@@ -1812,7 +1812,7 @@ Direct Velocity Feedback:
** Load the plants
#+begin_src matlab
load('./active_damping/mat/plants.mat', 'G', 'G_iff', 'G_rmc', 'G_dvf');
load('./active_damping_uniaxial/mat/plants.mat', 'G', 'G_iff', 'G_rmc', 'G_dvf');
#+end_src
** Sensitivity to Disturbance