NASS - Finite Element Models with Simscape
-Table of Contents
--
-
- 1. APA300ML
-
-
-
- 1.1. Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates -
- 1.2. Piezoelectric parameters -
- 1.3. Simscape Model -
- 1.4. Identification of the APA Characteristics - - -
- 1.5. Identification of the Dynamics from actuator to replace displacement -
- 1.6. Identification of the Dynamics from actuator to force sensor -
- 1.7. Identification for a simpler model -
- 1.8. Integral Force Feedback -
- - 2. First Flexible Joint Geometry - - -
- 3. Optimized Flexible Joint - - -
- 4. Complete Strut with Encoder - - -
-In this document, Finite Element Models (FEM) of parts of the Nano-Hexapod are developed and integrated into Simscape for dynamical analysis. -
- --It is divided in the following sections: -
--
-
- Section 1: -A super-element of the Amplified Piezoelectric Actuator APA300ML used for the NASS is exported using Ansys and imported in Simscape. -The static and dynamical properties of the APA300ML are then estimated using the Simscape model. -
- Section 2: -A first geometry of a Flexible joint is modelled and its characteristics are identified from the Stiffness matrix as well as from the Simscape model. -
- Section 3: -An optimized flexible joint is developed for the Nano-Hexapod and is then imported in a Simscape model. -
- Section 4: -A super element of a complete strut is studied. -
1 APA300ML
--In this section, the Amplified Piezoelectric Actuator APA300ML (doc) is modeled using a Finite Element Software. -Then a super element is exported and imported in Simscape where its dynamic is studied. -
- --A 3D view of the Amplified Piezoelectric Actuator (APA300ML) is shown in Figure 1. -The remote point used are also shown in this figure. -
- - --
-Figure 1: Ansys FEM of the APA300ML
-1.1 Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates
--We first extract the stiffness and mass matrices. -
-K = readmatrix('APA300ML_mat_K.CSV'); -M = readmatrix('APA300ML_mat_M.CSV'); --
200000000.0 | -30000.0 | --20000.0 | --70.0 | -300000.0 | -40.0 | -10000000.0 | -10000.0 | --6000.0 | -30.0 | -
30000.0 | -30000000.0 | -2000.0 | --200000.0 | -60.0 | --10.0 | -4000.0 | -2000000.0 | --500.0 | -9000.0 | -
-20000.0 | -2000.0 | -7000000.0 | --10.0 | --30.0 | -10.0 | -6000.0 | -900.0 | --500000.0 | -3 | -
-70.0 | --200000.0 | --10.0 | -1000.0 | --0.1 | -0.08 | --20.0 | --9000.0 | -3 | --30.0 | -
300000.0 | -60.0 | --30.0 | --0.1 | -900.0 | -0.1 | -30000.0 | -20.0 | --10.0 | -0.06 | -
40.0 | --10.0 | -10.0 | -0.08 | -0.1 | -10000.0 | -20.0 | -9 | --5 | -0.03 | -
10000000.0 | -4000.0 | -6000.0 | --20.0 | -30000.0 | -20.0 | -200000000.0 | -10000.0 | -9000.0 | -50.0 | -
10000.0 | -2000000.0 | -900.0 | --9000.0 | -20.0 | -9 | -10000.0 | -30000000.0 | --500.0 | -200000.0 | -
-6000.0 | --500.0 | --500000.0 | -3 | --10.0 | --5 | -9000.0 | --500.0 | -7000000.0 | --2 | -
30.0 | -9000.0 | -3 | --30.0 | -0.06 | -0.03 | -50.0 | -200000.0 | --2 | -1000.0 | -
0.01 | --2e-06 | -1e-06 | -6e-09 | -5e-05 | --5e-09 | --0.0005 | --7e-07 | -6e-07 | --3e-09 | -
-2e-06 | -0.01 | -8e-07 | --2e-05 | --8e-09 | -2e-09 | --9e-07 | --0.0002 | -1e-08 | --9e-07 | -
1e-06 | -8e-07 | -0.009 | -5e-10 | -1e-09 | --1e-09 | --5e-07 | -3e-08 | -6e-05 | -1e-10 | -
6e-09 | --2e-05 | -5e-10 | -3e-07 | -2e-11 | --3e-12 | -3e-09 | -9e-07 | --4e-10 | -3e-09 | -
5e-05 | --8e-09 | -1e-09 | -2e-11 | -6e-07 | --4e-11 | --1e-06 | --2e-09 | -1e-09 | --8e-12 | -
-5e-09 | -2e-09 | --1e-09 | --3e-12 | --4e-11 | -1e-07 | --2e-09 | --1e-09 | --4e-10 | --5e-12 | -
-0.0005 | --9e-07 | --5e-07 | -3e-09 | --1e-06 | --2e-09 | -0.01 | -1e-07 | --3e-07 | --2e-08 | -
-7e-07 | --0.0002 | -3e-08 | -9e-07 | --2e-09 | --1e-09 | -1e-07 | -0.01 | --4e-07 | -2e-05 | -
6e-07 | -1e-08 | -6e-05 | --4e-10 | -1e-09 | --4e-10 | --3e-07 | --4e-07 | -0.009 | --2e-10 | -
-3e-09 | --9e-07 | -1e-10 | -3e-09 | --8e-12 | --5e-12 | --2e-08 | -2e-05 | --2e-10 | -3e-07 | -
-Then, we extract the coordinates of the interface nodes. -
-[int_xyz, int_i, n_xyz, n_i, nodes] = extractNodes('APA300ML_out_nodes_3D.txt');
-
-Node i | -Node Number | -x [m] | -y [m] | -z [m] | -
---|---|---|---|---|
1.0 | -697783.0 | -0.0 | -0.0 | --0.015 | -
2.0 | -697784.0 | -0.0 | -0.0 | -0.015 | -
3.0 | -697785.0 | --0.0325 | -0.0 | -0.0 | -
4.0 | -697786.0 | --0.0125 | -0.0 | -0.0 | -
5.0 | -697787.0 | --0.0075 | -0.0 | -0.0 | -
6.0 | -697788.0 | -0.0125 | -0.0 | -0.0 | -
7.0 | -697789.0 | -0.0325 | -0.0 | -0.0 | -
Total number of Nodes | -7 | -
Number of interface Nodes | -7 | -
Number of Modes | -120 | -
Size of M and K matrices | -162 | -
-Using K
, M
and int_xyz
, we can now use the Reduced Order Flexible Solid
simscape block.
-
1.2 Piezoelectric parameters
--In order to make the conversion from applied voltage to generated force or from the strain to the generated voltage, we need to defined some parameters corresponding to the piezoelectric material: -
-d33 = 600e-12; % Strain constant [m/V] -n = 80; % Number of layers per stack -eT = 1.6e-8; % Permittivity under constant stress [F/m] -sD = 1e-11; % Compliance under constant electric displacement [m2/N] -ka = 235e6; % Stack stiffness [N/m] -C = 5e-6; % Stack capactiance [F] --
-PZT-4 -
-d33 = 300e-12; % Strain constant [m/V] -n = 80; % Number of layers per stack -eT = 5.3e-9; % Permittivity under constant stress [F/m] -sD = 1e-11; % Compliance under constant electric displacement [m2/N] -ka = 235e6; % Stack stiffness [N/m] -C = 5e-6; % Stack capactiance [F] --
-The ratio of the developed force to applied voltage is: -
-\begin{equation} -\label{orgbc04a1b} - F_a = g_a V_a, \quad g_a = d_{33} n k_a -\end{equation} --where: -
--
-
- \(F_a\): developed force in [N] -
- \(n\): number of layers of the actuator stack -
- \(d_{33}\): strain constant in [m/V] -
- \(k_a\): actuator stack stiffness in [N/m] -
- \(V_a\): applied voltage in [V] -
-If we take the numerical values, we obtain: -
-d33*n*ka % [N/V] --
-5.64 -- - -
-From (Fleming and Leang 2014) (page 123), the relation between relative displacement of the sensor stack and generated voltage is: -
-\begin{equation} -\label{orgb1b83fa} - V_s = \frac{d_{33}}{\epsilon^T s^D n} \Delta h -\end{equation} --where: -
--
-
- \(V_s\): measured voltage in [V] -
- \(d_{33}\): strain constant in [m/V] -
- \(\epsilon^T\): permittivity under constant stress in [F/m] -
- \(s^D\): elastic compliance under constant electric displacement in [m^2/N] -
- \(n\): number of layers of the sensor stack -
- \(\Delta h\): relative displacement in [m] -
-If we take the numerical values, we obtain: -
-1e-6*d33/(eT*sD*n) % [V/um] --
-23.438 --
1.3 Simscape Model
-
-The flexible element is imported using the Reduced Order Flexible Solid
simscape block.
-
-Let’s say we use two stacks as a force sensor and one stack as an actuator: -
--
-
- A
Relative Motion Sensor
block is added between the nodes A and C
- - An
Internal Force
block is added between the remote points E and B
-
-The interface nodes are shown in Figure 1. -
- --One mass is fixed at one end of the piezo-electric stack actuator (remove point F), the other end is fixed to the world frame (remote point G). -
-1.4 Identification of the APA Characteristics
-1.4.1 Stiffness
--The transfer function from vertical external force to the relative vertical displacement is identified. -
- --The inverse of its DC gain is the axial stiffness of the APA: -
-1e-6/dcgain(G) % [N/um] --
-1.753 -- - -
-The specified stiffness in the datasheet is \(k = 1.8\, [N/\mu m]\). -
-1.4.2 Resonance Frequency
--The resonance frequency is specified to be between 650Hz and 840Hz. -This is also the case for the FEM model (Figure 2). -
- - --
-Figure 2: First resonance is around 800Hz
-1.4.3 Amplification factor
--The amplification factor is the ratio of the vertical displacement to the stack displacement. -
- --The ratio of the two displacement is computed from the FEM model. -
-abs(dcgain(G(1,1))./dcgain(G(2,1)))
-
--5.0749 -- - -
-This is actually correct and approximately corresponds to the ratio of the piezo height and length: -
-75/15
-
--5 --
1.4.4 Stroke
--Estimation of the actuator stroke: -\[ \Delta H = A n \Delta L \] -with: -
--
-
- \(\Delta H\) Axial Stroke of the APA -
- \(A\) Amplification factor (5 for the APA300ML) -
- \(n\) Number of stack used -
- \(\Delta L\) Stroke of the stack (0.1% of its length) -
1e6 * 5 * 3 * 20e-3 * 0.1e-2 --
-300 -- - -
-This is exactly the specified stroke in the data-sheet. -
-1.4.5 Stroke BIS
--
-
[ ]
Identified the stroke form the transfer function from V to z
-
1.5 Identification of the Dynamics from actuator to replace displacement
--We first set the mass to be approximately zero. -The dynamics is identified from the applied force to the measured relative displacement. -The same dynamics is identified for a payload mass of 10Kg. -
-m = 10; --
-
-Figure 3: Transfer function from forces applied by the stack to the axial displacement of the APA
--The root locus corresponding to Direct Velocity Feedback with a mass of 10kg is shown in Figure 4. -
- --
-Figure 4: Root Locus for Direct Velocity Feedback
-1.6 Identification of the Dynamics from actuator to force sensor
--Let’s use 2 stacks as a force sensor and 1 stack as force actuator. -
- --The transfer function from actuator voltage to sensor voltage is identified and shown in Figure 5. -
- --
-Figure 5: Transfer function from actuator to force sensor
--For root locus corresponding to IFF is shown in Figure 6. -
- --
-Figure 6: Root Locus for IFF
-1.7 Identification for a simpler model
--The goal in this section is to identify the parameters of a simple APA model from the FEM. -This can be useful is a lower order model is to be used for simulations. -
- --The presented model is based on (Souleille et al. 2018). -
- --The model represents the Amplified Piezo Actuator (APA) from Cedrat-Technologies (Figure 7). -The parameters are shown in the table below. -
- - --
-Figure 7: Picture of an APA100M from Cedrat Technologies. Simplified model of a one DoF payload mounted on such isolator
-- | Meaning | -
---|---|
\(k_e\) | -Stiffness used to adjust the pole of the isolator | -
\(k_1\) | -Stiffness of the metallic suspension when the stack is removed | -
\(k_a\) | -Stiffness of the actuator | -
\(c_1\) | -Added viscous damping | -
-The goal is to determine \(k_e\), \(k_a\) and \(k_1\) so that the simplified model fits the FEM model. -
- --\[ \alpha = \frac{x_1}{f}(\omega=0) = \frac{\frac{k_e}{k_e + k_a}}{k_1 + \frac{k_e k_a}{k_e + k_a}} \] -\[ \beta = \frac{x_1}{F}(\omega=0) = \frac{1}{k_1 + \frac{k_e k_a}{k_e + k_a}} \] -
- --If we can fix \(k_a\), we can determine \(k_e\) and \(k_1\) with: -\[ k_e = \frac{k_a}{\frac{\beta}{\alpha} - 1} \] -\[ k_1 = \frac{1}{\beta} - \frac{k_e k_a}{k_e + k_a} \] -
- --From the identified dynamics, compute \(\alpha\) and \(\beta\) -
-alpha = abs(dcgain(G('y', 'Fa'))); -beta = abs(dcgain(G('y', 'Fd'))); --
-\(k_a\) is estimated using the following formula: -
-ka = 0.8/abs(dcgain(G('y', 'Fa'))); --
-The factor can be adjusted to better match the curves. -
- --Then \(k_e\) and \(k_1\) are computed. -
-ke = ka/(beta/alpha - 1); -k1 = 1/beta - ke*ka/(ke + ka); --
- | Value [N/um] | -
---|---|
ka | -40.5 | -
ke | -1.5 | -
k1 | -0.4 | -
-The damping in the system is adjusted to match the FEM model if necessary. -
-c1 = 1e2; --
-The analytical model of the simpler system is defined below: -
-Ga = 1/(m*s^2 + k1 + c1*s + ke*ka/(ke + ka)) * ... - [ 1 , k1 + c1*s + ke*ka/(ke + ka) , ke/(ke + ka) ; - -ke*ka/(ke + ka), ke*ka/(ke + ka)*m*s^2 , -ke/(ke + ka)*(m*s^2 + c1*s + k1)]; - -Ga.InputName = {'Fd', 'w', 'Fa'}; -Ga.OutputName = {'y', 'Fs'}; --
-And the DC gain is adjusted for the force sensor: -
-F_gain = dcgain(G('Fs', 'Fd'))/dcgain(Ga('Fs', 'Fd')); --
-The dynamics of the FEM model and the simpler model are compared in Figure 8. -
- - --
-Figure 8: Comparison of the Dynamics between the FEM model and the simplified one
--The simplified model has also been implemented in Simscape. -
- --The dynamics of the Simscape simplified model is identified and compared with the FEM one in Figure 9. -
- --
-Figure 9: Comparison of the Dynamics between the FEM model and the simplified simscape model
-1.8 Integral Force Feedback
--In this section, Integral Force Feedback control architecture is applied on the APA300ML. -
- --First, the plant (dynamics from voltage actuator to voltage sensor is identified). -The payload mass is set to 10kg. -
-m = 10; --
-The obtained dynamics is shown in Figure 10. -
- - --
-Figure 10: IFF Plant
--The controller is defined below and the loop gain is shown in Figure 11. -
-Kiff = -1e3/s; --
-
-Figure 11: IFF Loop Gain
--Now the closed-loop system is identified again and compare with the open loop system in Figure 12. -
- --It is the expected behavior as shown in the Figure 13 (from (Souleille et al. 2018)). -
- - --
-Figure 12: OL and CL transfer functions
--
-Figure 13: Results obtained in souleille18_concep_activ_mount_space_applic
-2 First Flexible Joint Geometry
--The studied flexor is shown in Figure 14. -
- --The stiffness and mass matrices representing the dynamics of the flexor are exported from a FEM. -It is then imported into Simscape. -
- --A simplified model of the flexor is then developped. -
- - --
-Figure 14: Flexor studied
-2.1 Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates
--We first extract the stiffness and mass matrices. -
-K = extractMatrix('mat_K_6modes_2MDoF.matrix'); -M = extractMatrix('mat_M_6modes_2MDoF.matrix'); --
11200000.0 | -195.0 | -2220.0 | --0.719 | --265.0 | -1.59 | --11200000.0 | --213.0 | --2220.0 | -0.147 | -
195.0 | -11400000.0 | -1290.0 | --148.0 | --0.188 | -2.41 | --212.0 | --11400000.0 | --1290.0 | -148.0 | -
2220.0 | -1290.0 | -119000000.0 | -1.31 | -1.49 | -1.79 | --2220.0 | --1290.0 | --119000000.0 | --1.31 | -
-0.719 | --148.0 | -1.31 | -33.0 | -0.000488 | --0.000977 | -0.141 | -148.0 | --1.31 | --33.0 | -
-265.0 | --0.188 | -1.49 | -0.000488 | -33.0 | -0.00293 | -266.0 | -0.154 | --1.49 | -0.00026 | -
1.59 | -2.41 | -1.79 | --0.000977 | -0.00293 | -236.0 | --1.32 | --2.55 | --1.79 | -0.000379 | -
-11200000.0 | --212.0 | --2220.0 | -0.141 | -266.0 | --1.32 | -11400000.0 | -24600.0 | -1640.0 | -120.0 | -
-213.0 | --11400000.0 | --1290.0 | -148.0 | -0.154 | --2.55 | -24600.0 | -11400000.0 | -1290.0 | --72.0 | -
-2220.0 | --1290.0 | --119000000.0 | --1.31 | --1.49 | --1.79 | -1640.0 | -1290.0 | -119000000.0 | -1.32 | -
0.147 | -148.0 | --1.31 | --33.0 | -0.00026 | -0.000379 | -120.0 | --72.0 | -1.32 | -34.7 | -
0.02 | -1e-09 | --4e-08 | --1e-10 | -0.0002 | --3e-11 | -0.004 | -5e-08 | -7e-08 | -1e-10 | -
1e-09 | -0.02 | --3e-07 | --0.0002 | --1e-10 | --2e-09 | -2e-08 | -0.004 | -3e-07 | -1e-05 | -
-4e-08 | --3e-07 | -0.02 | -7e-10 | --2e-09 | -1e-09 | -3e-07 | -7e-08 | -0.003 | -1e-09 | -
-1e-10 | --0.0002 | -7e-10 | -4e-06 | --1e-12 | --6e-13 | -2e-10 | --7e-06 | --8e-10 | --1e-09 | -
0.0002 | --1e-10 | --2e-09 | --1e-12 | -3e-06 | -2e-13 | -9e-06 | -4e-11 | -2e-09 | --3e-13 | -
-3e-11 | --2e-09 | -1e-09 | --6e-13 | -2e-13 | -4e-07 | -8e-11 | -9e-10 | --1e-09 | -2e-12 | -
0.004 | -2e-08 | -3e-07 | -2e-10 | -9e-06 | -8e-11 | -0.02 | --7e-08 | --3e-07 | --2e-10 | -
5e-08 | -0.004 | -7e-08 | --7e-06 | -4e-11 | -9e-10 | --7e-08 | -0.01 | --4e-08 | -0.0002 | -
7e-08 | -3e-07 | -0.003 | --8e-10 | -2e-09 | --1e-09 | --3e-07 | --4e-08 | -0.02 | --1e-09 | -
1e-10 | -1e-05 | -1e-09 | --1e-09 | --3e-13 | -2e-12 | --2e-10 | -0.0002 | --1e-09 | -2e-06 | -
-Then, we extract the coordinates of the interface nodes. -
-[int_xyz, int_i, n_xyz, n_i, nodes] = extractNodes('out_nodes_3D.txt');
-
-Node i | -Node Number | -x [m] | -y [m] | -z [m] | -
---|---|---|---|---|
1.0 | -181278.0 | -0.0 | -0.0 | -0.0 | -
2.0 | -181279.0 | -0.0 | -0.0 | --0.0 | -
Total number of Nodes | -2 | -
Number of interface Nodes | -2 | -
Number of Modes | -6 | -
Size of M and K matrices | -18 | -
-Using K
, M
and int_xyz
, we can use the Reduced Order Flexible Solid
simscape block.
-
2.2 Identification of the parameters using Simscape and looking at the Stiffness Matrix
--The flexor is now imported into Simscape and its parameters are estimated using an identification. -
- --The dynamics is identified from the applied force/torque to the measured displacement/rotation of the flexor. -And we find the same parameters as the one estimated from the Stiffness matrix. -
- -Caracteristic | -Value | -Identification | -
---|---|---|
Axial Stiffness Dz [N/um] | -119 | -119 | -
Bending Stiffness Rx [Nm/rad] | -33 | -33 | -
Bending Stiffness Ry [Nm/rad] | -33 | -33 | -
Torsion Stiffness Rz [Nm/rad] | -236 | -236 | -
2.3 Simpler Model
--Let’s now model the flexible joint with a “perfect” Bushing joint as shown in Figure 15. -
- - --
-Figure 15: Bushing Joint used to model the flexible joint
--The parameters of the Bushing joint (stiffnesses) are estimated from the Stiffness matrix that was computed from the FEM. -
-Kx = K(1,1); % [N/m] -Ky = K(2,2); % [N/m] -Kz = K(3,3); % [N/m] -Krx = K(4,4); % [Nm/rad] -Kry = K(5,5); % [Nm/rad] -Krz = K(6,6); % [Nm/rad] --
-The dynamics from the applied force/torque to the measured displacement/rotation of the flexor is identified again for this simpler model. -The two obtained dynamics are compared in Figure -
- - --
-Figure 16: Comparison of the Joint compliance between the FEM model and the simpler model
-3 Optimized Flexible Joint
--The joint geometry has been optimized using Ansys to have lower bending stiffness while keeping a large axial stiffness. -
- --The obtained geometry is shown in Figure 17. -
- - --
-Figure 17: Flexor studied
-3.1 Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates
--We first extract the stiffness and mass matrices. -
-K = readmatrix('flex025_mat_K.CSV'); -M = readmatrix('flex025_mat_M.CSV'); --
12700000.0 | --18.5 | --26.8 | -0.00162 | --4.63 | -64.0 | --12700000.0 | -18.3 | -26.7 | -0.00234 | -
-18.5 | -12700000.0 | --499.0 | --132.0 | -0.00414 | --0.495 | -18.4 | --12700000.0 | -499.0 | -132.0 | -
-26.8 | --499.0 | -94000000.0 | --470.0 | -0.00771 | --0.855 | -26.8 | -498.0 | --94000000.0 | -470.0 | -
0.00162 | --132.0 | --470.0 | -4.83 | -2.61e-07 | -0.000123 | --0.00163 | -132.0 | -470.0 | --4.83 | -
-4.63 | -0.00414 | -0.00771 | -2.61e-07 | -4.83 | -4.43e-05 | -4.63 | --0.00413 | --0.00772 | --4.3e-07 | -
64.0 | --0.495 | --0.855 | -0.000123 | -4.43e-05 | -260.0 | --64.0 | -0.495 | -0.855 | --0.000124 | -
-12700000.0 | -18.4 | -26.8 | --0.00163 | -4.63 | --64.0 | -12700000.0 | --18.2 | --26.7 | --0.00234 | -
18.3 | --12700000.0 | -498.0 | -132.0 | --0.00413 | -0.495 | --18.2 | -12700000.0 | --498.0 | --132.0 | -
26.7 | -499.0 | --94000000.0 | -470.0 | --0.00772 | -0.855 | --26.7 | --498.0 | -94000000.0 | --470.0 | -
0.00234 | -132.0 | -470.0 | --4.83 | --4.3e-07 | --0.000124 | --0.00234 | --132.0 | --470.0 | -4.83 | -
0.006 | -8e-09 | --2e-08 | --1e-10 | -3e-05 | -3e-08 | -0.003 | --3e-09 | -9e-09 | -2e-12 | -
8e-09 | -0.02 | -1e-07 | --3e-05 | -1e-11 | -6e-10 | -1e-08 | -0.003 | --5e-08 | -3e-09 | -
-2e-08 | -1e-07 | -0.01 | --6e-08 | --6e-11 | --8e-12 | --1e-07 | -1e-08 | -0.003 | --1e-08 | -
-1e-10 | --3e-05 | --6e-08 | -1e-06 | -7e-14 | -6e-13 | -1e-10 | -1e-06 | --1e-08 | -3e-10 | -
3e-05 | -1e-11 | --6e-11 | -7e-14 | -2e-07 | -1e-10 | -3e-08 | --7e-12 | -6e-11 | --6e-16 | -
3e-08 | -6e-10 | --8e-12 | -6e-13 | -1e-10 | -5e-07 | -1e-08 | --5e-10 | --1e-11 | -1e-13 | -
0.003 | -1e-08 | --1e-07 | -1e-10 | -3e-08 | -1e-08 | -0.02 | --2e-08 | -1e-07 | --4e-12 | -
-3e-09 | -0.003 | -1e-08 | -1e-06 | --7e-12 | --5e-10 | --2e-08 | -0.006 | --8e-08 | -3e-05 | -
9e-09 | --5e-08 | -0.003 | --1e-08 | -6e-11 | --1e-11 | -1e-07 | --8e-08 | -0.01 | --6e-08 | -
2e-12 | -3e-09 | --1e-08 | -3e-10 | --6e-16 | -1e-13 | --4e-12 | -3e-05 | --6e-08 | -2e-07 | -
-Then, we extract the coordinates of the interface nodes. -
-[int_xyz, int_i, n_xyz, n_i, nodes] = extractNodes('flex025_out_nodes_3D.txt');
-
-Total number of Nodes | -2 | -
Number of interface Nodes | -2 | -
Number of Modes | -6 | -
Size of M and K matrices | -18 | -
Node i | -Node Number | -x [m] | -y [m] | -z [m] | -
---|---|---|---|---|
1.0 | -528875.0 | -0.0 | -0.0 | -0.0 | -
2.0 | -528876.0 | -0.0 | -0.0 | --0.0 | -
-Using K
, M
and int_xyz
, we can use the Reduced Order Flexible Solid
simscape block.
-
3.2 Identification of the parameters using Simscape
--The flexor is now imported into Simscape and its parameters are estimated using an identification. -
- --The dynamics is identified from the applied force/torque to the measured displacement/rotation of the flexor. -And we find the same parameters as the one estimated from the Stiffness matrix. -
- -Caracteristic | -Value | -Identification | -
---|---|---|
Axial Stiffness Dz [N/um] | -94.0 | -93.9 | -
Bending Stiffness Rx [Nm/rad] | -4.8 | -4.8 | -
Bending Stiffness Ry [Nm/rad] | -4.8 | -4.8 | -
Torsion Stiffness Rz [Nm/rad] | -260.2 | -260.2 | -
3.3 Simpler Model
--Let’s now model the flexible joint with a “perfect” Bushing joint as shown in Figure 15. -
- - --
-Figure 18: Bushing Joint used to model the flexible joint
--The parameters of the Bushing joint (stiffnesses) are estimated from the Stiffness matrix that was computed from the FEM. -
-Kx = K(1,1); % [N/m] -Ky = K(2,2); % [N/m] -Kz = K(3,3); % [N/m] -Krx = K(4,4); % [Nm/rad] -Kry = K(5,5); % [Nm/rad] -Krz = K(6,6); % [Nm/rad] --
-The dynamics from the applied force/torque to the measured displacement/rotation of the flexor is identified again for this simpler model. -The two obtained dynamics are compared in Figure -
- - --
-Figure 19: Comparison of the Joint compliance between the FEM model and the simpler model
-3.4 Comparison with a stiffer Flexible Joint
--The stiffness matrix with the flexible joint with a “hinge” size of 0.50mm is loaded. -
-K_050 = readmatrix('flex050_mat_K.CSV');
-
--Its parameters are compared with the Flexible Joint with a size of 0.25mm in the table below. -
- -Caracteristic | -0.25 mm | -0.50 mm | -
---|---|---|
Axial Stiffness Dz [N/um] | -94.0 | -124.7 | -
Shear Stiffness [N/um] | -12.7 | -25.8 | -
Bending Stiffness Rx [Nm/rad] | -4.8 | -26.0 | -
Bending Stiffness Ry [Nm/rad] | -4.8 | -26.0 | -
Torsion Stiffness Rz [Nm/rad] | -260.2 | -538.0 | -
4 Complete Strut with Encoder
- -4.1 Introduction
--Now, the full nano-hexapod strut is modelled using Ansys. -
- --The 3D as well as the interface nodes are shown in Figure 20. -
- - --
-Figure 20: Interface points
--A side view is shown in Figure 21. -
- - --
-Figure 21: Interface points - Side view
--The flexible joints used have a 0.25mm width size. -
-4.2 Import Mass Matrix, Stiffness Matrix, and Interface Nodes Coordinates
--We first extract the stiffness and mass matrices. -
-K = readmatrix('strut_encoder_mat_K.CSV'); -M = readmatrix('strut_encoder_mat_M.CSV'); --
2000000.0 | -1000000.0 | --3000000.0 | --400.0 | -300.0 | -200.0 | --30.0 | -2000.0 | --10000.0 | -0.3 | -
1000000.0 | -4000000.0 | --8000000.0 | --900.0 | -400.0 | --50.0 | --6000.0 | -10000.0 | --20000.0 | -3 | -
-3000000.0 | --8000000.0 | -20000000.0 | -2000.0 | --900.0 | -200.0 | --10000.0 | -20000.0 | --300000.0 | -7 | -
-400.0 | --900.0 | -2000.0 | -5 | --0.1 | -0.05 | -1 | --3 | -6 | --0.0007 | -
300.0 | -400.0 | --900.0 | --0.1 | -5 | -0.04 | --0.1 | -0.5 | --3 | -0.0001 | -
200.0 | --50.0 | -200.0 | -0.05 | -0.04 | -300.0 | -4 | --0.01 | --1 | -3e-05 | -
-30.0 | --6000.0 | --10000.0 | -1 | --0.1 | -4 | -3000000.0 | --1000000.0 | --2000000.0 | --300.0 | -
2000.0 | -10000.0 | -20000.0 | --3 | -0.5 | --0.01 | --1000000.0 | -6000000.0 | -7000000.0 | -1000.0 | -
-10000.0 | --20000.0 | --300000.0 | -6 | --3 | --1 | --2000000.0 | -7000000.0 | -20000000.0 | -2000.0 | -
0.3 | -3 | -7 | --0.0007 | -0.0001 | -3e-05 | --300.0 | -1000.0 | -2000.0 | -5 | -
0.04 | --0.005 | -0.007 | -2e-06 | -0.0001 | --5e-07 | --1e-05 | --9e-07 | -8e-05 | --5e-10 | -
-0.005 | -0.03 | -0.02 | --0.0001 | -1e-06 | --3e-07 | -3e-05 | --0.0001 | -8e-05 | --3e-08 | -
0.007 | -0.02 | -0.08 | --6e-06 | --5e-06 | --7e-07 | -4e-05 | --0.0001 | -0.0005 | --3e-08 | -
2e-06 | --0.0001 | --6e-06 | -2e-06 | --4e-10 | -2e-11 | --8e-09 | -3e-08 | --2e-08 | -6e-12 | -
0.0001 | -1e-06 | --5e-06 | --4e-10 | -3e-06 | -2e-10 | --3e-09 | -3e-09 | --7e-09 | -6e-13 | -
-5e-07 | --3e-07 | --7e-07 | -2e-11 | -2e-10 | -5e-07 | --2e-08 | -5e-09 | --5e-09 | -1e-12 | -
-1e-05 | -3e-05 | -4e-05 | --8e-09 | --3e-09 | --2e-08 | -0.04 | -0.004 | -0.003 | -1e-06 | -
-9e-07 | --0.0001 | --0.0001 | -3e-08 | -3e-09 | -5e-09 | -0.004 | -0.02 | --0.02 | -0.0001 | -
8e-05 | -8e-05 | -0.0005 | --2e-08 | --7e-09 | --5e-09 | -0.003 | --0.02 | -0.08 | --5e-06 | -
-5e-10 | --3e-08 | --3e-08 | -6e-12 | -6e-13 | -1e-12 | -1e-06 | -0.0001 | --5e-06 | -2e-06 | -
-Then, we extract the coordinates of the interface nodes. -
-[int_xyz, int_i, n_xyz, n_i, nodes] = extractNodes('strut_encoder_out_nodes_3D.txt');
-
-Total number of Nodes | -8 | -
Number of interface Nodes | -8 | -
Number of Modes | -6 | -
Size of M and K matrices | -54 | -
Node i | -Node Number | -x [m] | -y [m] | -z [m] | -
---|---|---|---|---|
1.0 | -504411.0 | -0.0 | -0.0 | -0.0405 | -
2.0 | -504412.0 | -0.0 | -0.0 | --0.0405 | -
3.0 | -504413.0 | --0.0325 | -0.0 | -0.0 | -
4.0 | -504414.0 | --0.0125 | -0.0 | -0.0 | -
5.0 | -504415.0 | --0.0075 | -0.0 | -0.0 | -
6.0 | -504416.0 | -0.0325 | -0.0 | -0.0 | -
7.0 | -504417.0 | -0.004 | -0.0145 | --0.00175 | -
8.0 | -504418.0 | -0.004 | -0.0166 | --0.00175 | -
-Using K
, M
and int_xyz
, we can use the Reduced Order Flexible Solid
simscape block.
-
4.3 Piezoelectric parameters
--Parameters for the APA300ML: -
- -d33 = 300e-12; % Strain constant [m/V] -n = 80; % Number of layers per stack -eT = 1.6e-8; % Permittivity under constant stress [F/m] -sD = 1e-11; % Compliance under constant electric displacement [m2/N] -ka = 235e6; % Stack stiffness [N/m] -C = 5e-6; % Stack capactiance [F] --
na = 2; % Number of stacks used as actuator -ns = 1; % Number of stacks used as force sensor --
4.4 Identification of the Dynamics
--The dynamics is identified from the applied force to the measured relative displacement. -The same dynamics is identified for a payload mass of 10Kg. -
-m = 10; --
-
-Figure 22: Dynamics from the force actuator to the measured motion by the encoder
-- -
- -