diff --git a/docs/active-damping.html b/docs/active-damping.html index c597a72..aac90f2 100644 --- a/docs/active-damping.html +++ b/docs/active-damping.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +We add some stiffness and damping in the flexible joints and we re-identify the dynamics. @@ -403,8 +403,8 @@ The new dynamics from force actuator to force sensor is shown in Figure
The control is a performed in a decentralized manner. @@ -429,8 +429,8 @@ The root locus is shown in figure 3.
@@ -461,8 +461,8 @@ To run the script, open the Simulink Project, and type run active_damping_
We first initialize the Stewart platform without joint stiffness. @@ -520,8 +520,8 @@ The transfer function from actuator forces to force sensors is shown in Figure <
We add some stiffness and damping in the flexible joints and we re-identify the dynamics. @@ -557,8 +557,8 @@ The new dynamics from force actuator to force sensor is shown in Figure
The control is a performed in a decentralized manner. @@ -590,8 +590,8 @@ The root locus is shown in figure 6 and the obtained p
@@ -623,8 +623,8 @@ To run the script, open the Simulink Project, and type run active_damping_
We first initialize the Stewart platform without joint stiffness. @@ -687,8 +687,8 @@ The transfer function from actuator forces to relative motion sensors is shown i
We add some stiffness and damping in the flexible joints and we re-identify the dynamics. @@ -724,8 +724,8 @@ The new dynamics from force actuator to relative motion sensor is shown in Figur
The control is a performed in a decentralized manner. @@ -750,8 +750,8 @@ The root locus is shown in figure 10.
@@ -867,7 +867,7 @@ K_dvf = 1e4*s/(1 Created: 2020-02-28 ven. 17:33 Created: 2020-03-02 lun. 17:57
We first initialize the Stewart platform.
@@ -387,8 +387,8 @@ payload = initializePayload('type',
We identify the transfer function from the actuator forces \(\bm{\tau}\) to the absolute displacement of the mobile platform \(\bm{\mathcal{X}}\) in three different cases:
@@ -400,8 +400,8 @@ We identify the transfer function from the actuator forces \(\bm{\tau}\) to the
We design a diagonal controller with equal bandwidth for the 6 terms.
@@ -570,8 +570,8 @@ Finally, we pre-multiply the diagonal controller by \(\bm{J}^{-T}\) prior implem
We identify the transmissibility and compliance of the system.
@@ -608,12 +608,12 @@ We identify the transmissibility and compliance of the system.
We design a diagonal controller with equal bandwidth for the 6 terms.
@@ -660,8 +660,8 @@ Finally, we pre-multiply the diagonal controller by \(\bm{J}^{-T}\) prior implem
We identify the transmissibility and compliance of the system.
@@ -810,8 +810,8 @@ Let’s define the system as shown in figure 13.
We first initialize the Stewart platform.
@@ -842,12 +842,12 @@ payload = initializePayload('type',
We first initialize the Stewart platform.
@@ -1003,8 +1003,8 @@ payload = initializePayload('type',
Created: 2020-02-28 ven. 17:34 Created: 2020-03-02 lun. 17:57 Created: 2020-02-28 ven. 17:37 Created: 2020-03-02 lun. 17:57
@@ -1164,8 +1164,8 @@ FOc = H + MO_B; % Cente
@@ -1173,6 +1173,38 @@ We found that we can have a diagonal stiffness matrix using the cubic architectu
Depending on the cube’s size, we obtain 3 different configurations.
We observe that \(k_{\theta_x} = k_{\theta_y}\) and \(k_{\theta_z}\) increase linearly with the cube size.
@@ -1436,6 +1468,7 @@ Now, thanks to the Jacobian (Figure 9), we compute the
Figure 11: Dynamics from \(\bm{\mathcal{F}}\) to \(\bm{\mathcal{X}}\) (png, pdf)
+It is interesting to note here that the system shown in Figure 12 also yield a decoupled system (explained in section 1.3.3 in li01_simul_fault_vibrat_isolat_point).
+
+ Figure 12: Alternative way to decouple the system
The dynamics is well decoupled at all frequencies.
@@ -1541,13 +1585,13 @@ controller = initializeController('type',
-The obtain geometry is shown in figure 12.
+The obtain geometry is shown in figure 13.
Figure 12: Geometry used for the simulations - The cube’s center is coincident with the frames \(\{A\}\) and \(\{B\}\) but not with the Center of mass of the mobile platform (png, pdf) Figure 13: Geometry used for the simulations - The cube’s center is coincident with the frames \(\{A\}\) and \(\{B\}\) but not with the Center of mass of the mobile platform (png, pdf)
@@ -1586,14 +1630,14 @@ Gc.OutputName = {'Dx',
-The obtain dynamics \(\bm{G}_{c}(s) = \bm{J}^{-T} \bm{G}(s) \bm{J}^{-1}\) is shown in Figure 13.
+The obtain dynamics \(\bm{G}_{c}(s) = \bm{J}^{-T} \bm{G}(s) \bm{J}^{-1}\) is shown in Figure 14.
Figure 13: Obtained Dynamics from \(\bm{\mathcal{F}}\) to \(\bm{\mathcal{X}}\) (png, pdf) Figure 14: Obtained Dynamics from \(\bm{\mathcal{F}}\) to \(\bm{\mathcal{X}}\) (png, pdf)
@@ -1703,25 +1747,25 @@ controller = initializeController('type',
Figure 14: Geometry of the generated Stewart platform (png, pdf) Figure 15: Geometry of the generated Stewart platform (png, pdf)
-And we identify the dynamics from the actuator forces \(\tau_{i}\) to the relative motion sensors \(\delta \mathcal{L}_{i}\) (Figure 15) and to the force sensors \(\tau_{m,i}\) (Figure 16).
+And we identify the dynamics from the actuator forces \(\tau_{i}\) to the relative motion sensors \(\delta \mathcal{L}_{i}\) (Figure 16) and to the force sensors \(\tau_{m,i}\) (Figure 17).
Figure 17: Geometry of the generated Stewart platform (png, pdf) Figure 18: Geometry of the generated Stewart platform (png, pdf)
-And we identify the dynamics from the actuator forces \(\tau_{i}\) to the relative motion sensors \(\delta \mathcal{L}_{i}\) (Figure 18) and to the force sensors \(\tau_{m,i}\) (Figure 19).
+And we identify the dynamics from the actuator forces \(\tau_{i}\) to the relative motion sensors \(\delta \mathcal{L}_{i}\) (Figure 19) and to the force sensors \(\tau_{m,i}\) (Figure 20).
@@ -1861,7 +1905,7 @@ This Matlab function is accessible
Figure 20: Cubic Configuration Figure 21: Cubic Configuration Created: 2020-02-28 ven. 17:34 Created: 2020-03-03 mar. 15:51
@@ -677,8 +677,8 @@ And now at the Compliance matrix.
@@ -692,7 +692,7 @@ The low frequency transfer function matrix from \(\mathcal{\bm{F}}\) to \(\mathc
Created: 2020-02-28 ven. 17:34 Created: 2020-03-02 lun. 17:57 Created: 2020-02-28 ven. 17:34 Created: 2020-03-02 lun. 17:57 Created: 2020-02-11 mar. 17:52 Created: 2020-03-02 lun. 17:57 Created: 2020-02-11 mar. 17:52 Created: 2020-03-02 lun. 17:57
-
1.2 Initialization
+1.2 Initialization
1.3 Identification
+1.3 Identification
1.3.1 HAC - Without LAC
+1.3.1 HAC - Without LAC
controller = initializeController('type', 'open-loop');
@@ -426,8 +426,8 @@ G_ol.OutputName = {'Dx',
-
1.3.2 HAC - IFF
+1.3.2 HAC - IFF
controller = initializeController('type', 'iff');
@@ -453,8 +453,8 @@ G_iff.OutputName = {'Dx',
-
1.3.3 HAC - DVF
+1.3.3 HAC - DVF
controller = initializeController('type', 'dvf');
@@ -518,12 +518,12 @@ We then design a controller based on the transfer functions from \(\bm{\mathcal{
1.6 HAC - DVF
+1.6 HAC - DVF
1.6.1 Plant
+1.6.1 Plant
1.6.2 Controller Design
+1.6.2 Controller Design
1.6.3 Obtained Performance
+1.6.3 Obtained Performance
1.7 HAC - IFF
+1.7 HAC - IFF
1.7.1 Plant
+1.7.1 Plant
1.7.2 Controller Design
+1.7.2 Controller Design
1.7.3 Obtained Performance
+1.7.3 Obtained Performance
2.1 Initialization
+2.1 Initialization
2.2 Identification
+2.2 Identification
2.2.1 HAC - Without LAC
+2.2.1 HAC - Without LAC
controller = initializeController('type', 'open-loop');
@@ -872,8 +872,8 @@ G_ol.OutputName = {'Dx',
-
2.2.2 HAC - DVF
+2.2.2 HAC - DVF
controller = initializeController('type', 'dvf');
@@ -971,8 +971,8 @@ There are mainly three different cases:
3.1 Initialization
+3.1 Initialization
3.2 Identification
+3.2 Identification
controller = initializeController('type', 'dvf');
@@ -1239,7 +1239,7 @@ The results are shown in figure
1.5 Conclusion
+1.5 Conclusion
2.2 Conclusion
+2.2 Conclusion
+
+
+
+
+
+
+
+Cube’s Size
+Paper with the corresponding cubic architecture
+
+
+
+Small
+furutani04_nanom_cuttin_machin_using_stewar
+
+
+
+Medium
+yang19_dynam_model_decoup_contr_flexib
+
+
+
+Large
+
+3.2 Conclusion
+3.2 Conclusion
Gc = inv(stewart.kinematics.J)*G*inv(stewart.kinematics.J');
+Gc = inv(stewart.kinematics.J)*G*stewart.kinematics.J;
Gc.InputName = {'Fx', 'Fy', 'Fz', 'Mx', 'My', 'Mz'};
Gc.OutputName = {'Dx', 'Dy', 'Dz', 'Rx', 'Ry', 'Rz'};
@@ -1452,6 +1485,17 @@ The obtain dynamics \(\bm{G}_{c}(s) = \bm{J}^{-T} \bm{G}(s) \bm{J}^{-1}\) is sho
4.3 Conclusion
+4.3 Conclusion
5.3 Conclusion
+5.3 Conclusion
1.3 Conclusion
+1.3 Conclusion
2.2 Conclusion
+2.2 Conclusion
2.1 Initialize the Stewart platform
+2.1 Initialize the Stewart platform
3.1 Initialize the Stewart platform
+3.1 Initialize the Stewart platform
stewart = initializeStewartPlatform();
@@ -844,9 +844,9 @@ plot(freqs, C_norm)
Function description
-Function description
+function [T, T_norm, freqs] = computeTransmissibility(args)
% computeTransmissibility -
@@ -867,9 +867,9 @@ plot(freqs, C_norm)
Optional Parameters
-Optional Parameters
+arguments
args.plots logical {mustBeNumericOrLogical} = false
@@ -946,9 +946,9 @@ If wanted, the 6x6 transmissibility matrix is plotted.
Computation of the Frobenius norm
-Computation of the Frobenius norm
+T_norm = zeros(length(freqs), 1);
@@ -985,9 +985,9 @@ If wanted, the 6x6 transmissibility matrix is plotted.
Function description
-Function description
+function [C, C_norm, freqs] = computeCompliance(args)
% computeCompliance -
@@ -1008,9 +1008,9 @@ If wanted, the 6x6 transmissibility matrix is plotted.
Optional Parameters
-Optional Parameters
+arguments
args.plots logical {mustBeNumericOrLogical} = false
@@ -1086,9 +1086,9 @@ If wanted, the 6x6 transmissibility matrix is plotted.
Computation of the Frobenius norm
-Computation of the Frobenius norm
+freqs = args.freqs;
@@ -1117,7 +1117,7 @@ C_norm = zeros(length(freqs), 1);