%%Faut ecrire pour compiler: texi2pdf main.tex -o main.pdf --shell-escape


\psection{Introduction}

\vspace{0.25cm}
Le bille sur rail est une manipulation où le but est de stabiliser une bille sur un rail. Le rail est commandé par une tension, et les données lues sont l'angle du rail et la position de la bille. La position est achevé à l'aide d'un lecture d'impedance.
\vspace{0.5cm}
\textbf{schèma de forces de la bille sur rail:}

\begin{center}
\includegraphics{./Illustrations/Schema_Forces.png}
\end{center}

\newpage 
\section{Identification du système: Rail}
\subsection{Analyse du schèma bloc et setup}
Nous avons remarqué que l'identification du système se fait en bouclé fermé. Voici le schèma bloc désignant le système que nous pouvons manipuler: \{Sett inn bilde av schèma bloc, système rail\}

\subsection{Mise en oeuvre de N4SID}
On a utilisé la fonction n4sid() que pouvons retrouver sur matlab. Nous avons fait une experiènce temporel, frequentiel et avec Loewner. 
\vspace{0.5cm}
\textbf{Un signal multisine a été utilisé pour ballader sur les differents frequences du système, et retrouver les frequences resonantes du système.}
Nous l'avons mis entre 0.1Hz à 4Hz.

\hfill
\begin{center}

\includesvg[inkscapelatex=false]{./Illustrations/multisine1}
\end{center}
\vspace{3cm}

Voici le comportement des differents modèles obtenu: 
\begin{center}

\includegraphics{./Illustrations/fig2.png}

\end{center}


Après avoir comparé les differents modèles avec le vrai système, 
Cela nous avait mené à résumer le systeme du rail à la fonction de transfert suivante :
$$G(s) = \frac{NUM}{DEN}$$

Nous avons choisi le modèle obtenu à l'aide du n4sid() temporel, ordre 2. 


\subsection{Fonction transfert du système: Rail}

Après avoir trouvé un modèle qui nous va, nous avons ensuite retrouvé la vraie fonction de transfert du rail. Avec la relation qui suit: 

Après avoir trouvé le modèle souhaité, nous avons ensuite retrouvé la vraie fonction transferte du rail. Avec la relation qui suit: 



%%Lånt av disse her, smarte folk!
% Source - https://tex.stackexchange.com/q/175969
% Posted by student1, modified by community. See post 'Timeline' for change history
% Retrieved 2026-04-02, License - CC BY-SA 3.0


% Source - https://tex.stackexchange.com/a/175970
% Posted by Peter Grill, modified by community. See post 'Timeline' for change history
% Retrieved 2026-04-02, License - CC BY-SA 3.0



\tikzstyle{block} = [draw, fill=white, rectangle, 
    minimum height=3em, minimum width=6em]
\tikzstyle{sum} = [draw, fill=white, circle, node distance=1cm]
\tikzstyle{input} = [coordinate]
\tikzstyle{output} = [coordinate]
\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]

\begin{tikzpicture}[auto, node distance=2cm,>=latex]

    \node [input, name=input] {};
    \node [sum, right of=input] (sum) {};
    %%\node [block, right of=sum] (controller) {};
    \node [block, right of=sum,
            node distance=3cm] (system) {$G_{Rail}(s)$};

    \draw [->] (sum) -- node[name=u] {$u$} (system);
    \node [output, right of=system] (output) {};
    %\node [block, below of=u] (measurements) {Measurements};
    \coordinate [below of=u] (measurements) {};

    \draw [draw,->] (input) -- node {$r$} (sum);
    %\draw [->] (sum) -- node {$e$} (system);
    \draw [->] (system) -- node [name=y] {$y$}(output);
    %\draw [->] (y) |- (measurements);
    \draw [-] (y) |- (measurements);
    %\draw [->] (measurements) -| node[pos=0.99] {$-$} 
    \draw [->] (measurements) -| %node[pos=1.00] {$-$} 
        node [near end] {$y_m$} (sum);

\coordinate [below=1.7cm of sum] (u1) {};
\coordinate [below=1.88cm of y] (u2) {};
\draw[
decorate,
decoration={brace, mirror, amplitude=8pt}
]
(u1.south west) -- (u2.south east)
node[midway, below=10pt] {$H(s)$};
        
        
    %\draw [->] 
\end{tikzpicture}
\bigskip


\begin{equation}
    H(s)=\frac{G(s)}{1+G(s)}\Rightarrow G(s)=\frac{H(s)}{1+H(s)}
\end{equation}

    
\subsection{Calcul du correcteur du système: P}
Nous avons conçu un retour PID pour le système du rail. Après avoir parlé avec le professeur, il nous a dit que le système est déjà equipé avec un integrateur. Donc nous avons choisi un système bouclé avec un simple correcteur P. Comme nous pouvons voir ci-dessous:


\begin{tikzpicture}[auto, node distance=2cm,>=latex]

    \node [input, name=input] {};
    \node [sum, right of=input] (sum) {};
    \node [block, right of=sum] (controller) {Controleur: P};
    \node [block, right of=controller,
            node distance=3cm] (system) {$G_{Rail}(s)$};

    \draw [->] (controller) -- node[name=u] {$u$} (system);
    \node [output, right of=system] (output) {};
    %\node [block, below of=u] (measurements) {Measurements};
    \coordinate [below of=u] (measurements) {};

    \draw [draw,->] (input) -- node {$r$} (sum);
    \draw [->] (sum) -- node {$e$} (controller);
    \draw [->] (system) -- node [name=y] {$y$}(output);
    %\draw [->] (y) |- (measurements);
    \draw [-] (y) |- (measurements);
    %\draw [->] (measurements) -| node[pos=0.99] {$-$} 
    \draw [->] (measurements) -| %node[pos=1.00] {$-$} 
        node [near end] {$y_m$} (sum);

\coordinate [below=1.7cm of sum] (u1) {};
\coordinate [below=1.88cm of y] (u2) {};
\draw[
decorate,
decoration={brace, mirror, amplitude=8pt}
]
(u1.south west) -- (u2.south east)
node[midway, below=10pt] {$H_C(s)$};
        
        
    %\draw [->] 
\end{tikzpicture}

Après avoir conçu le système avec n4sid(), nous avons retrouvé la fonction de transfert : 

À l'aide de la fonction transferte du système rail, nous avons recalculé la nouvelle fonction transferte avec le gain proportionnel en boucle fermé: 

\begin{equation}
    G(s)=\frac{H(s)}{1+H(s)}
\end{equation}

\begin{equation}
   G_{BF}(s)=\frac{P G(s)}{1+P G(s}
\end{equation}


Finalement, on essaie des différents valeurs de P pour observer le temps de réponse dans la boucle fermée. Nous tracons les différents valeurs dans un seul schèma pour voir l'impact d'un échelon sur le système.
\begin{center}
\includesvg{./Illustrations/StepRespnseRail}
\end{center}
Le choix de P restait sur plusieurs tests du système bouclé avec un P de differentes valeurs. Voici les differents reponses du système d'un simple step. Nous avons choisi:
 \begin{equation}
   P=1
\end{equation}
Cela nous a donné un temps de reponse respectif aux attentes que nous avions.



\section{Loi de commande du bille sur rail}


\subsection{Système bouclé avec la bille}
Ajouter un gros système bouclé. Il faut savoir où mettre le correcteur avance de phase.

\subsection{Analyse des frequences importantes au système}

Pour cette deuxième boucle du système, on commence avec la boucle déjà existante. On trace le diagramme de Bode pour cet système pour mieux ananlyser les besoin du système. Cet diagramme est comme suit :
%\newpage
\hfill


\includesvg{./Illustrations/bodeRail1}
\\
Nous verrons que le point critique où il faut ajouter de la phase est à 1,4 rad/s. Donc on concoit le correcteur pour cela. Pour qu'on puisse augmenter les marges de phase, on utilise un correcteur d'avance de phase.
Le correcteur d'avance de phase a une fonction de transfert sur la forme canonique\footnote{https://homepages.laas.fr/fgouaisb/donnees/M1ICM/slidesM1ICMp8.pdf}  : $$G(p) = K_p \frac{1 + \alpha T p}{1 + T p}, avec \  \alpha \ > \ 1$$ 

\includesvg{./Illustrations/bodeCorrecteur}

$$a = \frac {1 + \sin(\Phi)}{1 - \sin(\phi)} = \frac {1 + \sin(55°)}{1 - \sin(55°)} \approx 10$$
$$\omega_m = \frac{1}{T*\sqrt{a}} = \frac{1}{1.4*\sqrt 10} \approx 0,22$$

\newpage
\section{Vérification}
\subsection{Expérimental}
\begin{center}
{\Huge ** Démonstration **}
\end{center}
\subsection{MATLAB - marge de phase}
En utilisant la fonction de allmargin nous trouvons le marge de phase pour le système entier en boucle fermé. Traçons le diagramme de Bode du système pour analyser le systeme même sans négliger la fonction de transfert du moteur : \hfill

%%\includesvg{./Illustrations/StepRespnseRail}

\newpage
\psection{Conclusion}
La boucle est bouclée et la balle est en equilibre. 
\psection{images}
\begin{center}
\includegraphics{./Illustrations/fig2.png}
\includegraphics{./Illustrations/Schema_Forces.png}
\includegraphics{./Illustrations/StepRespnseRail.png}
\includesvg{./Illustrations/bodeCorrecteur}
\includesvg{./Illustrations/bodeRail1}
\includesvg{./Illustrations/bodeRail}
\includesvg{./Illustrations/fig1}
\includesvg{./Illustrations/fig2}
\includesvg{./Illustrations/multisine1}
\includesvg{./Illustrations/multisine2}
\includesvg{./Illustrations/StepRespnseRail}
\end{center}
