diff --git a/docs/bibliography.html b/docs/bibliography.html index 364a213..7d84a44 100644 --- a/docs/bibliography.html +++ b/docs/bibliography.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Stewart Platform - Bibliography @@ -1425,7 +1425,7 @@ yang19_dynam_model_decoup_contr_flexib -  +1 X   6-UPS (Cubic?) @@ -1659,7 +1659,7 @@

Author: Dehaeze Thomas

-

Created: 2020-03-11 mer. 19:00

+

Created: 2020-03-13 ven. 10:04

diff --git a/docs/stewart-architecture.html b/docs/stewart-architecture.html index 8511d1e..e664ae7 100644 --- a/docs/stewart-architecture.html +++ b/docs/stewart-architecture.html @@ -4,7 +4,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> - + Stewart Platform - Definition of the Architecture @@ -275,85 +275,85 @@ @@ -799,6 +809,49 @@ view([0 -1 0]);

Figure 6: Display of the Stewart platform architecture at some defined pose (png, pdf)

+ +

+One can also use the describeStewartPlatform function to have a description of the current Stewart platform’s state. +

+ +
+describeStewartPlatform(stewart)
+GEOMETRY:
+- The height between the fixed based and the top platform is 90 [mm].
+- Frame {A} is located 45 [mm] above the top platform.
+- The initial length of the struts are:
+	 95.2, 95.2, 95.2, 95.2, 95.2, 95.2 [mm]
+
+ACTUATORS:
+- The actuators are mechanicaly amplified.
+- The vertical stiffness and damping contribution of the piezoelectric stack is:
+	 ka = 2e+07 [N/m] 	 ca = 1e+01 [N/(m/s)]
+- Vertical stiffness when the piezoelectric stack is removed is:
+	 kr = 5e+06 [N/m] 	 cr = 1e+01 [N/(m/s)]
+
+JOINTS:
+- The joints on the fixed based are universal joints
+- The joints on the mobile based are spherical joints
+- The position of the joints on the fixed based with respect to {F} are (in [mm]):
+	  113 	 -20 	  15
+	  113 	  20 	  15
+	 -39.3 	  108 	  15
+	 -73.9 	  88.1 	  15
+	 -73.9 	 -88.1 	  15
+	 -39.3 	 -108 	  15
+- The position of the joints on the mobile based with respect to {M} are (in [mm]):
+	  57.9 	 -68.9 	 -15
+	  57.9 	  68.9 	 -15
+	  30.8 	  84.6 	 -15
+	 -88.6 	  15.6 	 -15
+	 -88.6 	 -15.6 	 -15
+	  30.8 	 -84.6 	 -15
+
+KINEMATICS:
+'org_babel_eoe'
+ans =
+    'org_babel_eoe'
+
@@ -823,11 +876,11 @@ This Matlab function is accessible

-
-

Documentation

-
+
+

Documentation

+
- -
-

Function description

-
+
+

Function description

+
-
-

Documentation

-
+
+

Documentation

+
- -
-

Function description

-
+
+

Function description

+
-
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -963,9 +1016,9 @@ FO_A = MO_B + FO_M; % Po
 
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
stewart.geometry.H      = H;
 stewart.geometry.FO_M   = FO_M;
@@ -989,9 +1042,9 @@ This Matlab function is accessible 
-

Documentation

-
+ -
-

Function description

-
+
+

Function description

+
function [stewart] = generateGeneralConfiguration(stewart, args)
 % generateGeneralConfiguration - Generate a Very General Configuration
@@ -1033,9 +1086,9 @@ The radius of the circles can be chosen as well as the angles where the joints a
 
-
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -1070,9 +1123,9 @@ Mb = zeros(3,6);
 
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
stewart.platform_F.Fa = Fa;
 stewart.platform_M.Mb = Mb;
@@ -1094,9 +1147,9 @@ This Matlab function is accessible here
 

-
-

Documentation

-
+
+

Documentation

+
-
-

Function description

-
+
+

Function description

+
-
-

Check the stewart structure elements

-
+
+

Check the stewart structure elements

+
assert(isfield(stewart.platform_F, 'Fa'),   'stewart.platform_F should have attribute Fa')
 Fa = stewart.platform_F.Fa;
@@ -1214,9 +1267,9 @@ MRb = zeros(3,3,6);
 
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
stewart.geometry.Aa = Aa;
 stewart.geometry.Ab = Ab;
@@ -1249,9 +1302,9 @@ This Matlab function is accessible here
 

-
-

Function description

-
+
+

Function description

+
-
-

Optional Parameters

-
+
+

Optional Parameters

+
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
stewart.actuators.Leq = dLi;
 
@@ -1322,9 +1375,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
@@ -1358,9 +1411,9 @@ This Matlab function is accessible 
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -1395,9 +1448,9 @@ This Matlab function is accessible 
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
stewart.platform_F.type = 1;
 
@@ -1433,9 +1486,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
@@ -1468,9 +1521,9 @@ This Matlab function is accessible 
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -1518,9 +1571,9 @@ I_M = zeros(3, 3, 6); % Inertia of the "mobile" part o
 
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
-
-

Documentation

-
+
+

Documentation

+

piezoelectric_stack.jpg @@ -1587,9 +1640,9 @@ A simplistic model of such amplified actuator is shown in Figure -

Function description

-
+
+

Function description

+
function [stewart] = initializeStrutDynamics(stewart, args)
 % initializeStrutDynamics - Add Stiffness and Damping properties of each strut
@@ -1611,9 +1664,9 @@ A simplistic model of such amplified actuator is shown in Figure 
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -1651,9 +1704,9 @@ This Matlab function is accessible 
-

Documentation

-
+
+

Documentation

+

An amplified piezoelectric actuator is shown in Figure 13.

@@ -1686,9 +1739,9 @@ A simplistic model of such amplified actuator is shown in Figure -

Function description

-
+
+

Function description

+
function [stewart] = initializeAmplifiedStrutDynamics(stewart, args)
 % initializeAmplifiedStrutDynamics - Add Stiffness and Damping properties of each strut
@@ -1716,9 +1769,9 @@ A simplistic model of such amplified actuator is shown in Figure 
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -1743,9 +1796,9 @@ C = args.Ca + args.Cr;
 
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
-
-

Function description

-
+
+

Function description

+
-
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -2014,9 +2067,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
@@ -2042,9 +2095,9 @@ Note that there is trade-off between:
 
-
-

Optional Parameters

-
+
+

Optional Parameters

+
arguments
     stewart
@@ -2085,9 +2138,9 @@ Note that there is trade-off between:
 
-
-

Populate the stewart structure

-
+
+

Populate the stewart structure

+
stewart.sensors.inertial = sensor;
 
@@ -2108,9 +2161,9 @@ This Matlab function is accessible here
-
-

Function description

-
+
+

Function description

+
-
-

Optional Parameters

-
+
+

Optional Parameters

+
-
-

Check the stewart structure elements

-
+
+

Check the stewart structure elements

+
assert(isfield(stewart.platform_F, 'FO_A'), 'stewart.platform_F should have attribute FO_A')
 FO_A = stewart.platform_F.FO_A;
@@ -2488,8 +2541,177 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil
 
+ + +
+

5.13 describeStewartPlatform: Display some text describing the current defined Stewart Platform

+
+

+ +

+ +

+This Matlab function is accessible here. +

+
+

Function description

+
+
+
function [] = describeStewartPlatform(stewart)
+% describeStewartPlatform - Display some text describing the current defined Stewart Platform
+%
+% Syntax: [] = describeStewartPlatform(args)
+%
+% Inputs:
+%    - stewart
+%
+% Outputs:
+
+
+
+
+ +
+

Optional Parameters

+
+
+
arguments
+    stewart
+end
+
+
+
+
+ +
+

5.13.1 Geometry

+
+
+
fprintf('GEOMETRY:\n')
+fprintf('- The height between the fixed based and the top platform is %.3g [mm].\n', 1e3*stewart.geometry.H)
+
+if stewart.platform_M.MO_B(3) > 0
+  fprintf('- Frame {A} is located %.3g [mm] above the top platform.\n',  1e3*stewart.platform_M.MO_B(3))
+else
+  fprintf('- Frame {A} is located %.3g [mm] below the top platform.\n', - 1e3*stewart.platform_M.MO_B(3))
+end
+
+fprintf('- The initial length of the struts are:\n')
+fprintf('\t %.3g, %.3g, %.3g, %.3g, %.3g, %.3g [mm]\n', 1e3*stewart.geometry.l)
+fprintf('\n')
+
+
+
+
+ +
+

5.13.2 Actuators

+
+
+
fprintf('ACTUATORS:\n')
+if stewart.actuators.type == 1
+    fprintf('- The actuators are classical.\n')
+    fprintf('- The Stiffness and Damping of each actuators is:\n')
+    fprintf('\t k = %.0e [N/m] \t c = %.0e [N/(m/s)]\n', stewart.actuators.K(1), stewart.actuators.C(1))
+elseif stewart.actuators.type == 2
+    fprintf('- The actuators are mechanicaly amplified.\n')
+    fprintf('- The vertical stiffness and damping contribution of the piezoelectric stack is:\n')
+    fprintf('\t ka = %.0e [N/m] \t ca = %.0e [N/(m/s)]\n', stewart.actuators.Ka(1), stewart.actuators.Ca(1))
+    fprintf('- Vertical stiffness when the piezoelectric stack is removed is:\n')
+    fprintf('\t kr = %.0e [N/m] \t cr = %.0e [N/(m/s)]\n', stewart.actuators.Kr(1), stewart.actuators.Cr(1))
+end
+fprintf('\n')
+
+
+
+
+ +
+

5.13.3 Joints

+
+
+
fprintf('JOINTS:\n')
+
+
+ +

+Type of the joints on the fixed base. +

+
+
switch stewart.joints_F.type
+  case 1
+    fprintf('- The joints on the fixed based are universal joints\n')
+  case 2
+    fprintf('- The joints on the fixed based are spherical joints\n')
+  case 3
+    fprintf('- The joints on the fixed based are perfect universal joints\n')
+  case 4
+    fprintf('- The joints on the fixed based are perfect spherical joints\n')
+end
+
+
+ +

+Type of the joints on the mobile platform. +

+
+
switch stewart.joints_M.type
+  case 1
+    fprintf('- The joints on the mobile based are universal joints\n')
+  case 2
+    fprintf('- The joints on the mobile based are spherical joints\n')
+  case 3
+    fprintf('- The joints on the mobile based are perfect universal joints\n')
+  case 4
+    fprintf('- The joints on the mobile based are perfect spherical joints\n')
+end
+
+
+ +

+Position of the fixed joints +

+
+
fprintf('- The position of the joints on the fixed based with respect to {F} are (in [mm]):\n')
+fprintf('\t % .3g \t % .3g \t % .3g\n', 1e3*stewart.platform_F.Fa)
+
+
+ +

+Position of the mobile joints +

+
+
fprintf('- The position of the joints on the mobile based with respect to {M} are (in [mm]):\n')
+fprintf('\t % .3g \t % .3g \t % .3g\n', 1e3*stewart.platform_M.Mb)
+fprintf('\n')
+
+
+
+
+ +
+

5.13.4 Kinematics

+
+
+
fprintf('KINEMATICS:\n')
+
+if isfield(stewart.kinematics, 'K')
+  fprintf('- The Stiffness matrix K is (in [N/m]):\n')
+  fprintf('\t % .0e \t % .0e \t % .0e \t % .0e \t % .0e \t % .0e\n', stewart.kinematics.K)
+end
+
+if isfield(stewart.kinematics, 'C')
+  fprintf('- The Damping matrix C is (in [m/N]):\n')
+  fprintf('\t % .0e \t % .0e \t % .0e \t % .0e \t % .0e \t % .0e\n', stewart.kinematics.C)
+end
+
+
+
+
+
+

@@ -2500,7 +2722,7 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil

Author: Dehaeze Thomas

-

Created: 2020-03-02 lun. 17:57

+

Created: 2020-03-13 ven. 10:05

diff --git a/org/bibliography.org b/org/bibliography.org index e0eebdc..ed42996 100644 --- a/org/bibliography.org +++ b/org/bibliography.org @@ -151,7 +151,7 @@ | cite:taghavi19_desig_model_simul_novel_hexap | | | | 6-SCS | Conventional | - | - | Passive Damping | Matlab/Simscape | 6dof passive damper | | cite:owoc19_mechat_desig_model_contr_stewar_gough_platf | | | | | | Rotary | | PID | | Low cost Stewart-Platform | | cite:min19_high_precis_track_cubic_stewar | | | | Cubic | | Piezoelectric | Leg length | Tracking control, ADRC, State observer | Analytical | Use of ADRC for tracking control of cubic hexapod | -| cite:yang19_dynam_model_decoup_contr_flexib | | X | | 6-UPS (Cubic?) | Flexible | Piezoelectric | Force, Position | Vibration isolation, Model-Based, Modal control | Solid/Flexible | Stiffness of flexible joints is compensated using feedback, then the system is decoupled in the modal space | +| cite:yang19_dynam_model_decoup_contr_flexib | 1 | X | | 6-UPS (Cubic?) | Flexible | Piezoelectric | Force, Position | Vibration isolation, Model-Based, Modal control | Solid/Flexible | Stiffness of flexible joints is compensated using feedback, then the system is decoupled in the modal space | | cite:stabile19_desig_analy_novel_hexap_platf | | | | | | | | | | | | cite:tong20_dynam_decoup_analy_exper_based | | | | | | | | | | | diff --git a/org/stewart-architecture.org b/org/stewart-architecture.org index 449301e..fb1edfb 100644 --- a/org/stewart-architecture.org +++ b/org/stewart-architecture.org @@ -290,6 +290,52 @@ Let's now move a little bit the top platform and re-display the configuration: #+caption: Display of the Stewart platform architecture at some defined pose ([[./figs/stewart_architecture_example_pose.png][png]], [[./figs/stewart_architecture_example_pose.pdf][pdf]]) [[file:figs/stewart_architecture_example_pose.png]] +One can also use the =describeStewartPlatform= function to have a description of the current Stewart platform's state. + +#+begin_src matlab :results output replace :exports results + describeStewartPlatform(stewart) +#+end_src + +#+RESULTS: +#+begin_example +describeStewartPlatform(stewart) +GEOMETRY: +- The height between the fixed based and the top platform is 90 [mm]. +- Frame {A} is located 45 [mm] above the top platform. +- The initial length of the struts are: + 95.2, 95.2, 95.2, 95.2, 95.2, 95.2 [mm] + +ACTUATORS: +- The actuators are mechanicaly amplified. +- The vertical stiffness and damping contribution of the piezoelectric stack is: + ka = 2e+07 [N/m] ca = 1e+01 [N/(m/s)] +- Vertical stiffness when the piezoelectric stack is removed is: + kr = 5e+06 [N/m] cr = 1e+01 [N/(m/s)] + +JOINTS: +- The joints on the fixed based are universal joints +- The joints on the mobile based are spherical joints +- The position of the joints on the fixed based with respect to {F} are (in [mm]): + 113 -20 15 + 113 20 15 + -39.3 108 15 + -73.9 88.1 15 + -73.9 -88.1 15 + -39.3 -108 15 +- The position of the joints on the mobile based with respect to {M} are (in [mm]): + 57.9 -68.9 -15 + 57.9 68.9 -15 + 30.8 84.6 -15 + -88.6 15.6 -15 + -88.6 -15.6 -15 + 30.8 -84.6 -15 + +KINEMATICS: +'org_babel_eoe' +ans = + 'org_babel_eoe' +#+end_example + * Functions <> @@ -1794,6 +1840,135 @@ Plot the legs connecting the joints of the fixed base to the joints of the mobil #+end_src +** =describeStewartPlatform=: Display some text describing the current defined Stewart Platform +:PROPERTIES: +:header-args:matlab+: :tangle ../src/describeStewartPlatform.m +:header-args:matlab+: :comments none :mkdirp yes :eval no +:END: +<> + +This Matlab function is accessible [[file:../src/describeStewartPlatform.m][here]]. + +*** Function description +:PROPERTIES: +:UNNUMBERED: t +:END: +#+begin_src matlab + function [] = describeStewartPlatform(stewart) + % describeStewartPlatform - Display some text describing the current defined Stewart Platform + % + % Syntax: [] = describeStewartPlatform(args) + % + % Inputs: + % - stewart + % + % Outputs: +#+end_src + +*** Optional Parameters +:PROPERTIES: +:UNNUMBERED: t +:END: +#+begin_src matlab + arguments + stewart + end +#+end_src + +*** Geometry +#+begin_src matlab + fprintf('GEOMETRY:\n') + fprintf('- The height between the fixed based and the top platform is %.3g [mm].\n', 1e3*stewart.geometry.H) + + if stewart.platform_M.MO_B(3) > 0 + fprintf('- Frame {A} is located %.3g [mm] above the top platform.\n', 1e3*stewart.platform_M.MO_B(3)) + else + fprintf('- Frame {A} is located %.3g [mm] below the top platform.\n', - 1e3*stewart.platform_M.MO_B(3)) + end + + fprintf('- The initial length of the struts are:\n') + fprintf('\t %.3g, %.3g, %.3g, %.3g, %.3g, %.3g [mm]\n', 1e3*stewart.geometry.l) + fprintf('\n') +#+end_src + +*** Actuators +#+begin_src matlab + fprintf('ACTUATORS:\n') + if stewart.actuators.type == 1 + fprintf('- The actuators are classical.\n') + fprintf('- The Stiffness and Damping of each actuators is:\n') + fprintf('\t k = %.0e [N/m] \t c = %.0e [N/(m/s)]\n', stewart.actuators.K(1), stewart.actuators.C(1)) + elseif stewart.actuators.type == 2 + fprintf('- The actuators are mechanicaly amplified.\n') + fprintf('- The vertical stiffness and damping contribution of the piezoelectric stack is:\n') + fprintf('\t ka = %.0e [N/m] \t ca = %.0e [N/(m/s)]\n', stewart.actuators.Ka(1), stewart.actuators.Ca(1)) + fprintf('- Vertical stiffness when the piezoelectric stack is removed is:\n') + fprintf('\t kr = %.0e [N/m] \t cr = %.0e [N/(m/s)]\n', stewart.actuators.Kr(1), stewart.actuators.Cr(1)) + end + fprintf('\n') +#+end_src + +*** Joints +#+begin_src matlab + fprintf('JOINTS:\n') +#+end_src + +Type of the joints on the fixed base. +#+begin_src matlab + switch stewart.joints_F.type + case 1 + fprintf('- The joints on the fixed based are universal joints\n') + case 2 + fprintf('- The joints on the fixed based are spherical joints\n') + case 3 + fprintf('- The joints on the fixed based are perfect universal joints\n') + case 4 + fprintf('- The joints on the fixed based are perfect spherical joints\n') + end +#+end_src + +Type of the joints on the mobile platform. +#+begin_src matlab + switch stewart.joints_M.type + case 1 + fprintf('- The joints on the mobile based are universal joints\n') + case 2 + fprintf('- The joints on the mobile based are spherical joints\n') + case 3 + fprintf('- The joints on the mobile based are perfect universal joints\n') + case 4 + fprintf('- The joints on the mobile based are perfect spherical joints\n') + end +#+end_src + +Position of the fixed joints +#+begin_src matlab + fprintf('- The position of the joints on the fixed based with respect to {F} are (in [mm]):\n') + fprintf('\t % .3g \t % .3g \t % .3g\n', 1e3*stewart.platform_F.Fa) +#+end_src + +Position of the mobile joints +#+begin_src matlab + fprintf('- The position of the joints on the mobile based with respect to {M} are (in [mm]):\n') + fprintf('\t % .3g \t % .3g \t % .3g\n', 1e3*stewart.platform_M.Mb) + fprintf('\n') +#+end_src + +*** Kinematics +#+begin_src matlab + fprintf('KINEMATICS:\n') + + if isfield(stewart.kinematics, 'K') + fprintf('- The Stiffness matrix K is (in [N/m]):\n') + fprintf('\t % .0e \t % .0e \t % .0e \t % .0e \t % .0e \t % .0e\n', stewart.kinematics.K) + end + + if isfield(stewart.kinematics, 'C') + fprintf('- The Damping matrix C is (in [m/N]):\n') + fprintf('\t % .0e \t % .0e \t % .0e \t % .0e \t % .0e \t % .0e\n', stewart.kinematics.C) + end +#+end_src + * Bibliography :ignore: bibliographystyle:unsrt bibliography:ref.bib diff --git a/src/describeStewartPlatform.m b/src/describeStewartPlatform.m new file mode 100644 index 0000000..256fc60 --- /dev/null +++ b/src/describeStewartPlatform.m @@ -0,0 +1,83 @@ +function [] = describeStewartPlatform(stewart) +% describeStewartPlatform - Display some text describing the current defined Stewart Platform +% +% Syntax: [] = describeStewartPlatform(args) +% +% Inputs: +% - stewart +% +% Outputs: + +arguments + stewart +end + +fprintf('GEOMETRY:\n') +fprintf('- The height between the fixed based and the top platform is %.3g [mm].\n', 1e3*stewart.geometry.H) + +if stewart.platform_M.MO_B(3) > 0 + fprintf('- Frame {A} is located %.3g [mm] above the top platform.\n', 1e3*stewart.platform_M.MO_B(3)) +else + fprintf('- Frame {A} is located %.3g [mm] below the top platform.\n', - 1e3*stewart.platform_M.MO_B(3)) +end + +fprintf('- The initial length of the struts are:\n') +fprintf('\t %.3g, %.3g, %.3g, %.3g, %.3g, %.3g [mm]\n', 1e3*stewart.geometry.l) +fprintf('\n') + +fprintf('ACTUATORS:\n') +if stewart.actuators.type == 1 + fprintf('- The actuators are classical.\n') + fprintf('- The Stiffness and Damping of each actuators is:\n') + fprintf('\t k = %.0e [N/m] \t c = %.0e [N/(m/s)]\n', stewart.actuators.K(1), stewart.actuators.C(1)) +elseif stewart.actuators.type == 2 + fprintf('- The actuators are mechanicaly amplified.\n') + fprintf('- The vertical stiffness and damping contribution of the piezoelectric stack is:\n') + fprintf('\t ka = %.0e [N/m] \t ca = %.0e [N/(m/s)]\n', stewart.actuators.Ka(1), stewart.actuators.Ca(1)) + fprintf('- Vertical stiffness when the piezoelectric stack is removed is:\n') + fprintf('\t kr = %.0e [N/m] \t cr = %.0e [N/(m/s)]\n', stewart.actuators.Kr(1), stewart.actuators.Cr(1)) +end +fprintf('\n') + +fprintf('JOINTS:\n') + +switch stewart.joints_F.type + case 1 + fprintf('- The joints on the fixed based are universal joints\n') + case 2 + fprintf('- The joints on the fixed based are spherical joints\n') + case 3 + fprintf('- The joints on the fixed based are perfect universal joints\n') + case 4 + fprintf('- The joints on the fixed based are perfect spherical joints\n') +end + +switch stewart.joints_M.type + case 1 + fprintf('- The joints on the mobile based are universal joints\n') + case 2 + fprintf('- The joints on the mobile based are spherical joints\n') + case 3 + fprintf('- The joints on the mobile based are perfect universal joints\n') + case 4 + fprintf('- The joints on the mobile based are perfect spherical joints\n') +end + +fprintf('- The position of the joints on the fixed based with respect to {F} are (in [mm]):\n') +fprintf('\t % .3g \t % .3g \t % .3g\n', 1e3*stewart.platform_F.Fa) + +fprintf('- The position of the joints on the mobile based with respect to {M} are (in [mm]):\n') +fprintf('\t % .3g \t % .3g \t % .3g\n', 1e3*stewart.platform_M.Mb) +fprintf('\n') + +fprintf('KINEMATICS:\n') + +if isfield(stewart.kinematics, 'K') + fprintf('- The Stiffness matrix K is (in [N/m]):\n') + fprintf('\t % .0e \t % .0e \t % .0e \t % .0e \t % .0e \t % .0e\n', stewart.kinematics.K) +end + +if isfield(stewart.kinematics, 'C') + fprintf('- The Damping matrix C is (in [m/N]):\n') + fprintf('\t % .0e \t % .0e \t % .0e \t % .0e \t % .0e \t % .0e\n', stewart.kinematics.C) +end diff --git a/src/initializeFramesPositions.m b/src/initializeFramesPositions.m index 0a136ef..f68b97d 100644 --- a/src/initializeFramesPositions.m +++ b/src/initializeFramesPositions.m @@ -1,7 +1,7 @@ function [stewart] = initializeFramesPositions(stewart, args) % initializeFramesPositions - Initialize the positions of frames {A}, {B}, {F} and {M} % -% Syntax: [stewart] = initializeFramesPositions(args) +% Syntax: [stewart] = initializeFramesPositions(stewart, args) % % Inputs: % - args - Can have the following fields: