Add some analysis
This commit is contained in:
parent
7447225dbe
commit
5afaf494f6
Binary file not shown.
@ -109,7 +109,7 @@ We obtain:
|
|||||||
+ \ddot{d_v} \cos{\theta} - 2\dot{d_v}\dot{\theta}\sin{\theta} - d_v\ddot{\theta}\sin{\theta} - d_v\dot{\theta}^2 \cos{\theta} \\
|
+ \ddot{d_v} \cos{\theta} - 2\dot{d_v}\dot{\theta}\sin{\theta} - d_v\ddot{\theta}\sin{\theta} - d_v\dot{\theta}^2 \cos{\theta} \\
|
||||||
\end{align*}
|
\end{align*}
|
||||||
|
|
||||||
By injecting the previous result into the Lagrangian equation [[eq:lagrangian_eq_inertial]], we obtain:
|
By injecting the previous result into the Lagrangian equation, we obtain:
|
||||||
\begin{align*}
|
\begin{align*}
|
||||||
m \ddot{d_u} \cos{\theta} - 2m\dot{d_u}\dot{\theta}\sin{\theta} - m d_u\ddot{\theta}\sin{\theta} - m d_u\dot{\theta}^2 \cos{\theta}
|
m \ddot{d_u} \cos{\theta} - 2m\dot{d_u}\dot{\theta}\sin{\theta} - m d_u\ddot{\theta}\sin{\theta} - m d_u\dot{\theta}^2 \cos{\theta}
|
||||||
-m \ddot{d_v} \sin{\theta} - 2m\dot{d_v}\dot{\theta}\cos{\theta} - m d_v\ddot{\theta}\cos{\theta} + m d_v\dot{\theta}^2 \sin{\theta}
|
-m \ddot{d_v} \sin{\theta} - 2m\dot{d_v}\dot{\theta}\cos{\theta} - m d_v\ddot{\theta}\cos{\theta} + m d_v\dot{\theta}^2 \sin{\theta}
|
||||||
@ -137,7 +137,7 @@ We can then subtract and add the previous equations to obtain the following equa
|
|||||||
\end{align*}
|
\end{align*}
|
||||||
#+end_important
|
#+end_important
|
||||||
|
|
||||||
** Analysis
|
** TODO Analysis
|
||||||
We obtain two differential equations that are coupled through:
|
We obtain two differential equations that are coupled through:
|
||||||
- *Euler forces*: $m d_v \ddot{\theta}$
|
- *Euler forces*: $m d_v \ddot{\theta}$
|
||||||
- *Coriolis forces*: $2 m \dot{d_v} \dot{\theta}$
|
- *Coriolis forces*: $2 m \dot{d_v} \dot{\theta}$
|
||||||
@ -145,12 +145,24 @@ We obtain two differential equations that are coupled through:
|
|||||||
Without the coupling terms, each equation is the equation of a one degree of freedom mass-spring system with mass $m$ and stiffness $k-d_u m\dot{\theta}^2$.
|
Without the coupling terms, each equation is the equation of a one degree of freedom mass-spring system with mass $m$ and stiffness $k-d_u m\dot{\theta}^2$.
|
||||||
Thus, the term $-d_u m\dot{\theta}^2$ acts like a negative stiffness (due to *centrifugal forces*).
|
Thus, the term $-d_u m\dot{\theta}^2$ acts like a negative stiffness (due to *centrifugal forces*).
|
||||||
|
|
||||||
|
*** Stiff actuators
|
||||||
|
Let's say we use stiff actuators such that $m \ddot{d_u} + (k - m\dot{\theta}^2) d_u \approx k d_u$.
|
||||||
|
|
||||||
|
Let's suppose that $F_u + 2 m\dot{d_v}\dot{\theta} + m d_v\ddot{\theta} \approx F_u$.
|
||||||
|
|
||||||
|
Then we obtain $d_u = \frac{F_u}{k}$ that we can re inject in the other equation to obtain:
|
||||||
|
\[ m \ddot{d_v} + (k - m\dot{\theta}^2) d_v &= F_v - 2 m\frac{\dot{F_u}}{k}\dot{\theta} - m \frac{F_u}{k}\ddot{\theta} \]
|
||||||
|
|
||||||
|
*** Negative Stiffness
|
||||||
|
If $\max{\dot{\theta}} \ll \sqrt{\frac{k}{m}}$, then the negative spring effect is negligible and $k - m\dot{\theta}^2 \approx k$.
|
||||||
|
|
||||||
* Analytical Computation of forces for the NASS
|
* Analytical Computation of forces for the NASS
|
||||||
For the NASS, the Euler forces should be less of a problem as $\ddot{\theta}$ should be very small when conducting an experiment.
|
For the NASS, the Euler forces should be less of a problem as $\ddot{\theta}$ should be very small when conducting an experiment.
|
||||||
|
|
||||||
First we will determine the value for Euler and Coriolis forces during regular experiment.
|
** Parameters
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
** Euler and Coriolis forces
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
Let's define the parameters for the NASS.
|
Let's define the parameters for the NASS.
|
||||||
#+begin_src matlab :exports code :results silent
|
#+begin_src matlab :exports code :results silent
|
||||||
@ -166,6 +178,9 @@ Let's define the parameters for the NASS.
|
|||||||
ddot = 0.2; % [m/s]
|
ddot = 0.2; % [m/s]
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Euler and Coriolis forces
|
||||||
|
First we will determine the value for Euler and Coriolis forces during regular experiment.
|
||||||
|
|
||||||
#+begin_src matlab :exports none :results silent
|
#+begin_src matlab :exports none :results silent
|
||||||
Felight = mlight*d*wdot;
|
Felight = mlight*d*wdot;
|
||||||
Feheavy = mheavy*d*wdot;
|
Feheavy = mheavy*d*wdot;
|
||||||
@ -188,25 +203,25 @@ We then compute the corresponding values of the Coriolis and Euler forces, and t
|
|||||||
| Coriolis | 44.0 N | 1.8 N |
|
| Coriolis | 44.0 N | 1.8 N |
|
||||||
| Euler | 3.5 N | 8.5 N |
|
| Euler | 3.5 N | 8.5 N |
|
||||||
|
|
||||||
** Spring Softening Effect
|
** Negative Spring Effect
|
||||||
#+begin_src matlab :exports none :results silent
|
#+begin_src matlab :exports none :results silent
|
||||||
Klight = mlight*d*wdot^2;
|
Klight = mlight*d*wdot^2;
|
||||||
Kheavy = mheavy*d*wdot^2;
|
Kheavy = mheavy*d*wdot^2;
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The values for the spring softening effect are displayed in table [[tab:spring_softening]].
|
The values for the negative spring effect are displayed in table [[tab:negative_spring]].
|
||||||
This is definitely negligible when using piezoelectric actuators. It may not be the case when using voice coil actuators.
|
This is definitely negligible when using piezoelectric actuators. It may not be the case when using voice coil actuators.
|
||||||
|
|
||||||
#+begin_src matlab :results value table :exports results :post addhdr(*this*)
|
#+begin_src matlab :results value table :exports results :post addhdr(*this*)
|
||||||
ans = sprintf(' | Light | Heavy | \n Spring Soft. | %.1f N/m | %.1f N/m', Klight, Kheavy)
|
ans = sprintf(' | Light | Heavy | \n Neg. Spring | %.1f N/m | %.1f N/m', Klight, Kheavy)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+NAME: tab:spring_softening
|
#+NAME: tab:negative_spring
|
||||||
#+CAPTION: Spring Softening effect
|
#+CAPTION: Negative Spring effect
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
| | Light | Heavy |
|
| | Light | Heavy |
|
||||||
|--------------+---------+---------|
|
|-------------+---------+---------|
|
||||||
| Spring Soft. | 3.5 N/m | 8.5 N/m |
|
| Neg. Spring | 3.5 N/m | 8.5 N/m |
|
||||||
|
|
||||||
* Control Strategies
|
* Control Strategies
|
||||||
<<sec:control_strategies>>
|
<<sec:control_strategies>>
|
||||||
@ -229,11 +244,10 @@ The block diagram is shown on figure [[fig:control_measure_fixed_2dof]].
|
|||||||
|
|
||||||
The loop gain is then $L = G(\theta) K J(\theta)$.
|
The loop gain is then $L = G(\theta) K J(\theta)$.
|
||||||
|
|
||||||
*** QUESTION Is the loop gain is changing with the angle ?
|
One question we wish to answer is: is $G(\theta) J(\theta) = G(\theta_0) J(\theta_0)$?
|
||||||
Is \[ G(\theta) J(\theta) = G(\theta_0) J(\theta_0) \] ?
|
|
||||||
|
|
||||||
** Measurement in the rotating frame
|
** Measurement in the rotating frame
|
||||||
Let's consider that the measurement is in the rotating reference frame.
|
Let's consider that the measurement is made in the rotating reference frame.
|
||||||
|
|
||||||
The corresponding block diagram is shown figure [[fig:control_measure_rotating_2dof]]
|
The corresponding block diagram is shown figure [[fig:control_measure_rotating_2dof]]
|
||||||
|
|
||||||
@ -245,6 +259,11 @@ The loop gain is $L = G K$.
|
|||||||
|
|
||||||
* Effect of the rotating Speed
|
* Effect of the rotating Speed
|
||||||
<<sec:effect_rot_speed>>
|
<<sec:effect_rot_speed>>
|
||||||
|
|
||||||
|
#+begin_src matlab :exports none :results silent :noweb yes
|
||||||
|
<<matlab-init>>
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** TODO Use realistic parameters for the mass of the sample and stiffness of the X-Y stage
|
** TODO Use realistic parameters for the mass of the sample and stiffness of the X-Y stage
|
||||||
|
|
||||||
** TODO Check if the plant is changing a lot when we are not turning to when we are turning at the maximum speed (60rpm)
|
** TODO Check if the plant is changing a lot when we are not turning to when we are turning at the maximum speed (60rpm)
|
||||||
@ -262,7 +281,14 @@ The loop gain is $L = G K$.
|
|||||||
#+NAME: matlab-init
|
#+NAME: matlab-init
|
||||||
#+BEGIN_SRC matlab :results none :exports none
|
#+BEGIN_SRC matlab :results none :exports none
|
||||||
clear; close all; clc;
|
clear; close all; clc;
|
||||||
|
|
||||||
|
%% Add path with some functions
|
||||||
addpath('./src/');
|
addpath('./src/');
|
||||||
|
|
||||||
|
%% Intialize Laplace variable
|
||||||
|
s = tf('s');
|
||||||
|
|
||||||
|
%% Initialize ans with org-babel
|
||||||
ans = 0;
|
ans = 0;
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user