22 KiB
22 KiB
Decentralize control to add virtual mass
- Initialization
- Identification
- Adding Virtual Mass in the Leg's Space
- Adding Virtual Mass in the Task Space
Initialization
initializeGround();
initializeGranite();
initializeTy();
initializeRy();
initializeRz();
initializeMicroHexapod();
initializeAxisc();
initializeMirror();
initializeSimscapeConfiguration();
initializeDisturbances('enable', false);
initializeLoggingConfiguration('log', 'none');
initializeController('type', 'hac-dvf');
The nano-hexapod has the following leg's stiffness and damping.
initializeNanoHexapod('k', 1e5, 'c', 2e2);
We set the stiffness of the payload fixation:
Kp = 1e8; % [N/m]
Identification
We identify the system for the following payload masses:
Ms = [1, 10, 50];
Identification of the transfer function from $\tau$ to $d\mathcal{L}$.
Identification of the Primary plant without virtual add of mass
Adding Virtual Mass in the Leg's Space
Plant
Controller Design
Kdvf = 10*s^2/(1+s/2/pi/500)^2*eye(6);
Identification of the Primary Plant
Adding Virtual Mass in the Task Space
Plant
Let's look at the transfer function from $\bm{\mathcal{F}}$ to $d\bm{\mathcal{X}}$: \[ \frac{d\bm{\mathcal{L}}}{\bm{\mathcal{F}}} = \bm{J}^{-1} \frac{d\bm{\mathcal{L}}}{\bm{\tau}} \bm{J}^{-T} \]
Controller Design
KmX = (s^2*1/(1+s/2/pi/500)^2*diag([1 1 50 0 0 0]));
Kdvf = inv(nano_hexapod.kinematics.J')*KmX*inv(nano_hexapod.kinematics.J);