diff --git a/docs/centrifugal_forces.html b/docs/centrifugal_forces.html index f1ad876..7b55930 100644 --- a/docs/centrifugal_forces.html +++ b/docs/centrifugal_forces.html @@ -1,11 +1,10 @@ -
- +R = 0.1; % Excentricity [m] +R = 0.01; % Excentricity [m]
-From a specified maximum allowed centrifugal force (here set to \(100\,[N]\)), the maximum rotation speed as a function of the sample’s mass is shown in Figure 3. +From a specified maximum allowed centrifugal force (here set to \(10\,[N]\)), the maximum rotation speed as a function of the sample’s mass is shown in Figure 3.
F_max = 100; % Maximum accepted centrifugal forces [N] +F_max = 10; % Maximum accepted centrifugal forces [N] -R = 0.1; +R = 0.01; M_sample = 0:1:100; M_reflector = 15; @@ -188,7 +187,7 @@ M_reflector = 15;
Created: 2020-05-05 mar. 10:34
+Created: 2020-05-07 jeu. 14:05
@@ -513,8 +512,8 @@ And we run the simulation for all three payload Masses.
Let’s now see how this controller performs.
@@ -573,8 +572,8 @@ Finally, the time domain position error signals are shown in Figure
-
@@ -594,8 +593,8 @@ Finally, the time domain position error signals are shown in Figure 3.1 Simulation with Micro-Hexapod Offset
The micro-hexapod is inducing a 10mm offset of the sample center of mass with the rotation axis.
@@ -623,8 +622,8 @@ sim('nass_model');
A simulation is now performed with translation scans and spindle rotation at the same time.
-The sample has a mass one 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
+The sample has a mass of 1kg, the spindle rotation speed is 60rpm and the translation scans have a period of 4s and a triangular shape.
@@ -797,7 +796,7 @@ end
Created: 2020-05-05 mar. 10:34 Created: 2020-05-20 mer. 15:49
Joints are positions on a circle centered with the Z axis of {F} and {M} and at a chosen distance from {F} and {M}.
The radius of the circles can be chosen as well as the angles where the joints are located (see Figure 3).
@@ -457,9 +456,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
@@ -557,9 +556,9 @@ This Matlab function is accessible here
@@ -1038,9 +1037,9 @@ A simplistic model of such amplified actuator is shown in Figure
-
An amplified piezoelectric actuator is shown in Figure 7.
We can compute the vector of each leg \({}^{C}\hat{\bm{s}}_{i}\) (unit vector from \({}^{C}C_{f}\) to \({}^{C}C_{m}\)).
Created: 2020-05-05 mar. 10:34 Created: 2020-05-20 mer. 15:49
We initialize all the stages with the default parameters.
@@ -386,8 +385,8 @@ When the nano-hexapod is stiff (\(k>10^7\ [N/m]\)), the compliance of the micro-
We initialize all the stages with the default parameters.
@@ -470,7 +469,7 @@ We can see two mass lines for the soft nano-hexapod (Figure
Figure 11: Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod (png, pdf) Figure 11: Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload resonance frequency, both for a soft nano-hexapod and a stiff nano-hexapod
Figure 13: Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod (png, pdf) Figure 13: Dynamics from \(\mathcal{F}_z\) to \(\mathcal{X}_z\) for varying payload mass, both for a soft nano-hexapod and a stiff nano-hexapod Created: 2020-05-05 mar. 10:33 Created: 2020-05-20 mer. 15:492.7 Conclusion
+2.7 Conclusion
3.1.1 Simulation
+3.1.1 Simulation
3.1.2 Results
+3.1.2 Results
3.2 Simultaneous Translation scans and Spindle’s rotation
3.2.1 Simulation
+3.2.1 Simulation
3.2.2 Results
+3.2.2 Results
4.3 Simulation
+4.3 Simulation
4.4 Conclusion
+4.4 Conclusion
initializeStewartPlatform
: Initialize the Stewart Platform structure
initializeFramesPositions
: Initialize the positions of frames {A}, {B}, {F} and {M}
generateGeneralConfiguration
: Generate a Very General Configuration
computeJointsPose
: Compute the Pose of the Joints
-
stewart
structure elementsstewart
structure elementsstewart
structurestewart
structureinitializeStewartPose
: Determine the initial stroke in each leg to have the wanted pose
initializeCylindricalPlatforms
: Initialize the geometry of the Fixed and Mobile Platforms
initializeCylindricalStruts
: Define the inertia of cylindrical struts
initializeStrutDynamics
: Add Stiffness and Damping properties of each strut
initializeAmplifiedStrutDynamics
: Add Stiffness and Damping properties of each strut for an amplified piezoelectric actuator
initializeJointDynamics
: Add Stiffness and Damping properties for spherical joints
displayArchitecture
: 3D plot of the Stewart platform architecture
describeStewartPlatform
: Display some text describing the current defined Stewart Platform
-
generateCubicConfiguration
: Generate a Cubic Configuration
-
stewart
structure elementsstewart
structure elementsstewart
structurestewart
structurecomputeJacobian
: Compute the Jacobian Matrix
inverseKinematics
: Compute Inverse Kinematics
forwardKinematicsApprox
: Compute the Approximate Forward Kinematics
Documentation
-Documentation
+Function description
-Function description
+function [stewart] = initializeStewartPlatform()
% initializeStewartPlatform - Initialize the stewart structure
@@ -347,11 +346,11 @@ This Matlab function is accessible
Documentation
-Documentation
+Function description
-Function description
+Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -414,9 +413,9 @@ FO_A = MO_B + FO_M; % Position of {A} with respect to {F} [m]
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.geometry.H = H;
stewart.geometry.FO_M = FO_M;
@@ -440,9 +439,9 @@ This Matlab function is accessible
-
Documentation
-Documentation
+Function description
-Function description
+function [stewart] = generateGeneralConfiguration(stewart, args)
% generateGeneralConfiguration - Generate a Very General Configuration
@@ -484,9 +483,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -502,9 +501,9 @@ end
Compute the pose
-Compute the pose
+Fa = zeros(3,6);
Mb = zeros(3,6);
@@ -521,9 +520,9 @@ end
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.platform_F.Fa = Fa;
stewart.platform_M.Mb = Mb;
@@ -545,9 +544,9 @@ This Matlab function is accessible here
Documentation
-Documentation
+Function description
-Function description
+function [stewart] = computeJointsPose(stewart)
% computeJointsPose -
@@ -592,9 +591,9 @@ This Matlab function is accessible here
Check the
-stewart
structure elementsCheck the
+stewart
structure elementsassert(isfield(stewart.platform_F, 'Fa'), 'stewart.platform_F should have attribute Fa')
Fa = stewart.platform_F.Fa;
@@ -665,9 +664,9 @@ end
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.geometry.Aa = Aa;
stewart.geometry.Ab = Ab;
@@ -700,9 +699,9 @@ This Matlab function is accessible here
Function description
-Function description
+function [stewart] = initializeStewartPose(stewart, args)
% initializeStewartPose - Determine the initial stroke in each leg to have the wanted pose
@@ -726,9 +725,9 @@ This Matlab function is accessible here
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -750,9 +749,9 @@ end
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.actuators.Leq = dLi;
@@ -773,9 +772,9 @@ This Matlab function is accessible
-Function description
-Function description
+function [stewart] = initializeCylindricalPlatforms(stewart, args)
% initializeCylindricalPlatforms - Initialize the geometry of the Fixed and Mobile Platforms
@@ -809,9 +808,9 @@ This Matlab function is accessible
-
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -846,9 +845,9 @@ end
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.platform_F.type = 1;
@@ -884,9 +883,9 @@ This Matlab function is accessible
-
Function description
-Function description
+function [stewart] = initializeCylindricalStruts(stewart, args)
% initializeCylindricalStruts - Define the mass and moment of inertia of cylindrical struts
@@ -919,9 +918,9 @@ This Matlab function is accessible
-
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -969,9 +968,9 @@ end
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.struts_M.type = 1;
@@ -1007,9 +1006,9 @@ This Matlab function is accessible he
Documentation
-Documentation
+Function description
-Function description
+function [stewart] = initializeStrutDynamics(stewart, args)
% initializeStrutDynamics - Add Stiffness and Damping properties of each strut
@@ -1062,9 +1061,9 @@ A simplistic model of such amplified actuator is shown in Figure
-
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -1102,9 +1101,9 @@ This Matlab function is accessible
-
Documentation
-Documentation
+Function description
-Function description
+function [stewart] = initializeAmplifiedStrutDynamics(stewart, args)
% initializeAmplifiedStrutDynamics - Add Stiffness and Damping properties of each strut
@@ -1167,9 +1166,9 @@ A simplistic model of such amplified actuator is shown in Figure
-
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -1194,9 +1193,9 @@ C = args.Ca + args.Cr;
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.actuators.type = 2;
@@ -1226,9 +1225,9 @@ This Matlab function is accessible he
Function description
-Function description
+function [stewart] = initializeJointDynamics(stewart, args)
% initializeJointDynamics - Add Stiffness and Damping properties for the spherical joints
@@ -1267,9 +1266,9 @@ This Matlab function is accessible he
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -1477,9 +1476,9 @@ Note that there is trade-off between:
Function description
-Function description
+function [stewart] = initializeInertialSensor(stewart, args)
% initializeInertialSensor - Initialize the inertial sensor in each strut
@@ -1505,9 +1504,9 @@ Note that there is trade-off between:
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -1548,9 +1547,9 @@ end
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.sensors.inertial = sensor;
@@ -1571,9 +1570,9 @@ This Matlab function is accessible here
Function description
-Function description
+function [] = displayArchitecture(stewart, args)
% displayArchitecture - 3D plot of the Stewart platform architecture
@@ -1602,9 +1601,9 @@ This Matlab function is accessible here
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -1625,9 +1624,9 @@ end
Check the
-stewart
structure elementsCheck the
+stewart
structure elementsassert(isfield(stewart.platform_F, 'FO_A'), 'stewart.platform_F should have attribute FO_A')
FO_A = stewart.platform_F.FO_A;
@@ -1965,9 +1964,9 @@ This Matlab function is accessible he
Function description
-Function description
+function [] = describeStewartPlatform(stewart)
% describeStewartPlatform - Display some text describing the current defined Stewart Platform
@@ -1983,9 +1982,9 @@ This Matlab function is accessible he
Optional Parameters
-Optional Parameters
+Function description
-Function description
+function [stewart] = generateCubicConfiguration(stewart, args)
% generateCubicConfiguration - Generate a Cubic Configuration
@@ -2161,9 +2160,9 @@ This Matlab function is accessible
Documentation
-Documentation
+Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -2189,9 +2188,9 @@ end
Check the
-stewart
structure elementsCheck the
+stewart
structure elementsassert(isfield(stewart.geometry, 'H'), 'stewart.geometry should have attribute H')
H = stewart.geometry.H;
@@ -2226,9 +2225,9 @@ CCm = [Cc(:,2), Cc(:,2), Cc(:,4), Cc(:,4), Cc(:,6), Cc(:,6)]; % CCm(:,i) corresp
Compute the pose
-Compute the pose
+Populate the
-stewart
structurePopulate the
+stewart
structurestewart.platform_F.Fa = Fa;
stewart.platform_M.Mb = Mb;
@@ -2272,9 +2271,9 @@ This Matlab function is accessible here.
Function description
-Function description
+function [stewart] = computeJacobian(stewart)
% computeJacobian -
@@ -2297,9 +2296,9 @@ This Matlab function is accessible here.
Check the
-stewart
structure elementsCheck the
+stewart
structure elementsassert(isfield(stewart.geometry, 'As'), 'stewart.geometry should have attribute As')
As = stewart.geometry.As;
@@ -2345,9 +2344,9 @@ Ki = stewart.actuators.K;
Populate the
-stewart
structurePopulate the
+stewart
structurestewart.kinematics.J = J;
stewart.kinematics.K = K;
@@ -2407,9 +2406,9 @@ Otherwise, when the limbs’ lengths derived yield complex numbers, then the
Function description
-Function description
+function [Li, dLi] = inverseKinematics(stewart, args)
% inverseKinematics - Compute the needed length of each strut to have the wanted position and orientation of {B} with respect to {A}
@@ -2433,9 +2432,9 @@ Otherwise, when the limbs’ lengths derived yield complex numbers, then the
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -2447,9 +2446,9 @@ end
Check the
-stewart
structure elementsCheck the
+stewart
structure elementsassert(isfield(stewart.geometry, 'Aa'), 'stewart.geometry should have attribute Aa')
Aa = stewart.geometry.Aa;
@@ -2493,9 +2492,9 @@ This Matlab function is accessible he
Function description
-Function description
+function [P, R] = forwardKinematicsApprox(stewart, args)
% forwardKinematicsApprox - Computed the approximate pose of {B} with respect to {A} from the length of each strut and using
@@ -2517,9 +2516,9 @@ This Matlab function is accessible he
Optional Parameters
-Optional Parameters
+arguments
stewart
@@ -2530,9 +2529,9 @@ end
Check the
-stewart
structure elementsCheck the
+stewart
structure elementsassert(isfield(stewart.kinematics, 'J'), 'stewart.kinematics should have attribute J')
J = stewart.kinematics.J;
@@ -2587,7 +2586,7 @@ We then compute the corresponding rotation matrix.
-
@@ -109,8 +108,8 @@ The rotation speed will have an effect due to the Coriolis effect.
1.1 Initialization
+1.1 Initialization
3.1 Initialization
+3.1 Initialization