Add a function to output the state of the platform
This commit is contained in:
@@ -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 | | | | | | | | | | |
|
||||
|
||||
|
@@ -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
|
||||
<<sec: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:
|
||||
<<sec:describeStewartPlatform>>
|
||||
|
||||
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
|
||||
|
Reference in New Issue
Block a user