Update initialization
This commit is contained in:
parent
e1cd9b0aa8
commit
2082bbd580
@ -21,7 +21,6 @@
|
||||
:END:
|
||||
|
||||
* Introduction :ignore:
|
||||
|
||||
The following decentralized active damping techniques are briefly studied:
|
||||
- Inertial Control (proportional feedback of the absolute velocity): Section [[sec:active_damping_inertial]]
|
||||
- Integral Force Feedback: Section [[sec:active_damping_iff]]
|
||||
@ -54,7 +53,8 @@ The following decentralized active damping techniques are briefly studied:
|
||||
|
||||
** Identification of the Dynamics
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
@ -283,10 +283,12 @@ The root locus is shown in figure [[fig:root_locus_inertial_rot_stiffness]] and
|
||||
** Identification of the Dynamics with perfect Joints
|
||||
We first initialize the Stewart platform without joint stiffness.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
stewart = initializeAmplifiedStrutDynamics(stewart);
|
||||
stewart = initializeJointDynamics(stewart, 'disable', true);
|
||||
stewart = initializeCylindricalPlatforms(stewart);
|
||||
stewart = initializeCylindricalStruts(stewart);
|
||||
@ -316,7 +318,7 @@ And we identify the dynamics from force actuators to force sensors.
|
||||
|
||||
The transfer function from actuator forces to force sensors is shown in Figure [[fig:iff_plant_coupling]].
|
||||
#+begin_src matlab :exports none
|
||||
freqs = logspace(1, 3, 1000);
|
||||
freqs = logspace(1, 4, 1000);
|
||||
|
||||
figure;
|
||||
|
||||
@ -514,7 +516,8 @@ The root locus is shown in figure [[fig:root_locus_iff_rot_stiffness]] and the o
|
||||
** Identification of the Dynamics with perfect Joints
|
||||
We first initialize the Stewart platform without joint stiffness.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
|
@ -69,7 +69,8 @@
|
||||
|
||||
** Initialize the Stewart platform
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
|
@ -56,7 +56,8 @@ We create a cubic Stewart platform (figure [[fig:3d-cubic-stewart-aligned]]) in
|
||||
The Jacobian matrix is estimated at the location of the center of the cube.
|
||||
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 100e-3, 'MO_B', -50e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 100e-3, 'MO_B', -50e-3);
|
||||
stewart = generateCubicConfiguration(stewart, 'Hc', 100e-3, 'FOc', 50e-3, 'FHa', 0, 'MHb', 0);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart, 'Ki', ones(6,1));
|
||||
@ -99,7 +100,8 @@ We create a cubic Stewart platform with center of the cube located at the center
|
||||
The Jacobian matrix is not estimated at the location of the center of the cube.
|
||||
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 100e-3, 'MO_B', 0);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 100e-3, 'MO_B', 0);
|
||||
stewart = generateCubicConfiguration(stewart, 'Hc', 100e-3, 'FOc', 50e-3, 'FHa', 0, 'MHb', 0);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart, 'Ki', ones(6,1));
|
||||
@ -142,7 +144,8 @@ The Jacobian is estimated at the cube center.
|
||||
[[file:./figs/3d-cubic-stewart-misaligned.png]]
|
||||
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 80e-3, 'MO_B', -40e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 80e-3, 'MO_B', -40e-3);
|
||||
stewart = generateCubicConfiguration(stewart, 'Hc', 100e-3, 'FOc', 50e-3, 'FHa', 0, 'MHb', 0);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart, 'Ki', ones(6,1));
|
||||
@ -188,7 +191,8 @@ The center height of the Stewart platform is then at $z = \frac{175-75}{2} = 50$
|
||||
The center of the cube from the top platform is at $z = 110 - 175 = -65$.
|
||||
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 80e-3, 'MO_B', -40e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 80e-3, 'MO_B', -40e-3);
|
||||
stewart = generateCubicConfiguration(stewart, 'Hc', 100e-3, 'FOc', 50e-3, 'FHa', 0, 'MHb', 0);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart, 'Ki', ones(6,1));
|
||||
@ -237,7 +241,8 @@ This is possible, to do so:
|
||||
It is possible to have small cube, but then to configuration is a little bit strange.
|
||||
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 100e-3, 'MO_B', 50e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 100e-3, 'MO_B', 50e-3);
|
||||
FOc = stewart.H + stewart.MO_B(3);
|
||||
Hc = 2*(stewart.H + stewart.MO_B(3));
|
||||
stewart = generateCubicConfiguration(stewart, 'Hc', Hc, 'FOc', FOc, 'FHa', 10e-3, 'MHb', 10e-3);
|
||||
@ -368,7 +373,7 @@ This Matlab function is accessible [[file:src/generateCubicConfiguration.m][here
|
||||
%
|
||||
% Inputs:
|
||||
% - stewart - A structure with the following fields
|
||||
% - H [1x1] - Total height of the platform [m]
|
||||
% - geometry.H [1x1] - Total height of the platform [m]
|
||||
% - args - Can have the following fields:
|
||||
% - Hc [1x1] - Height of the "useful" part of the cube [m]
|
||||
% - FOc [1x1] - Height of the center of the cube with respect to {F} [m]
|
||||
@ -377,8 +382,8 @@ This Matlab function is accessible [[file:src/generateCubicConfiguration.m][here
|
||||
%
|
||||
% Outputs:
|
||||
% - stewart - updated Stewart structure with the added fields:
|
||||
% - Fa [3x6] - Its i'th column is the position vector of joint ai with respect to {F}
|
||||
% - Mb [3x6] - Its i'th column is the position vector of joint bi with respect to {M}
|
||||
% - platform_F.Fa [3x6] - Its i'th column is the position vector of joint ai with respect to {F}
|
||||
% - platform_M.Mb [3x6] - Its i'th column is the position vector of joint bi with respect to {M}
|
||||
#+end_src
|
||||
|
||||
*** Documentation
|
||||
@ -403,6 +408,15 @@ This Matlab function is accessible [[file:src/generateCubicConfiguration.m][here
|
||||
end
|
||||
#+end_src
|
||||
|
||||
*** Check the =stewart= structure elements
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
assert(isfield(stewart.geometry, 'H'), 'stewart.geometry should have attribute H')
|
||||
H = stewart.geometry.H;
|
||||
#+end_src
|
||||
|
||||
*** Position of the Cube
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
@ -437,8 +451,17 @@ We can compute the vector of each leg ${}^{C}\hat{\bm{s}}_{i}$ (unit vector from
|
||||
|
||||
We now which to compute the position of the joints $a_{i}$ and $b_{i}$.
|
||||
#+begin_src matlab
|
||||
stewart.Fa = CCf + [0; 0; args.FOc] + ((args.FHa-(args.FOc-args.Hc/2))./CSi(3,:)).*CSi;
|
||||
stewart.Mb = CCf + [0; 0; args.FOc-stewart.H] + ((stewart.H-args.MHb-(args.FOc-args.Hc/2))./CSi(3,:)).*CSi;
|
||||
Fa = CCf + [0; 0; args.FOc] + ((args.FHa-(args.FOc-args.Hc/2))./CSi(3,:)).*CSi;
|
||||
Mb = CCf + [0; 0; args.FOc-H] + ((H-args.MHb-(args.FOc-args.Hc/2))./CSi(3,:)).*CSi;
|
||||
#+end_src
|
||||
|
||||
*** Populate the =stewart= structure
|
||||
:PROPERTIES:
|
||||
:UNNUMBERED: t
|
||||
:END:
|
||||
#+begin_src matlab
|
||||
stewart.platform_F.Fa = Fa;
|
||||
stewart.platform_M.Mb = Mb;
|
||||
#+end_src
|
||||
|
||||
* Bibliography :ignore:
|
||||
|
@ -41,7 +41,8 @@
|
||||
|
||||
** test
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
@ -129,7 +130,8 @@ Estimation of the transfer function from $\mathcal{\bm{F}}$ to $\mathcal{\bm{X}}
|
||||
** Compare external forces and forces applied by the actuators
|
||||
Initialization of the Stewart platform.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
@ -194,7 +196,8 @@ Seems quite similar.
|
||||
** Comparison of the static transfer function and the Compliance matrix
|
||||
Initialization of the Stewart platform.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
@ -257,7 +260,8 @@ The low frequency transfer function matrix from $\mathcal{\bm{F}}$ to $\mathcal{
|
||||
** Transfer function from forces applied in the legs to the displacement of the legs
|
||||
Initialization of the Stewart platform.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
|
@ -65,7 +65,8 @@ An important difference from basic Simulink models is that the states in a physi
|
||||
|
||||
** Initialize the Stewart Platform
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
@ -120,7 +121,8 @@ An important difference from basic Simulink models is that the states in a physi
|
||||
|
||||
** Initialize the Stewart Platform
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
@ -354,7 +356,8 @@ Save the movie of the mode shape.
|
||||
|
||||
** Initialize the Stewart Platform
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions();
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStrutDynamics(stewart);
|
||||
|
@ -226,7 +226,8 @@ This will also gives us the range for which the approximate forward kinematic is
|
||||
*** Stewart architecture definition
|
||||
We first define some general Stewart architecture.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStewartPose(stewart);
|
||||
@ -331,7 +332,8 @@ This is what is analyzed in this section.
|
||||
** Stewart architecture definition
|
||||
Let's first define the Stewart platform architecture that we want to study.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStewartPose(stewart);
|
||||
@ -487,7 +489,8 @@ However, for small displacements, we can use the Jacobian as an approximate solu
|
||||
** Stewart architecture definition
|
||||
Let's first define the Stewart platform architecture that we want to study.
|
||||
#+begin_src matlab
|
||||
stewart = initializeFramesPositions('H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = initializeStewartPlatform();
|
||||
stewart = initializeFramesPositions(stewart, 'H', 90e-3, 'MO_B', 45e-3);
|
||||
stewart = generateGeneralConfiguration(stewart);
|
||||
stewart = computeJointsPose(stewart);
|
||||
stewart = initializeStewartPose(stewart);
|
||||
|
@ -131,6 +131,7 @@ There is two main types of inertial sensor that can be used to measure the absol
|
||||
|
||||
Both inertial sensors are described bellow.
|
||||
|
||||
* Other Elements
|
||||
** Z-Axis Geophone
|
||||
*** Working Principle
|
||||
From the schematic of the Z-axis geophone shown in Figure [[fig:z_axis_geophone]], we can write the transfer function from the support velocity $\dot{w}$ to the relative velocity of the inertial mass $\dot{d}$:
|
||||
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user