\documentclass{beamer}

\mode<presentation>
{
  \usetheme{JuanLesPins}       % or try default, Madrid, Darmstadt, Warsaw, JuanLesPins, ...
  
%  \AtBeginSection[]{ % Uncomment to add section pages automatically
%  	\begin{frame}
%  		\vfill
%  		\centering
%  		\begin{beamercolorbox}[sep=8pt,center,shadow=true,rounded=true]{title}
%  			\usebeamerfont{title}\insertsectionhead\par%
%  		\end{beamercolorbox}
%  		\vfill
%  	\end{frame}
%   }
  
  \usecolortheme{default} % or try albatross, beaver, crane, ...
  \usefonttheme{serif}    % or try default, structurebold, ...
  \setbeamertemplate{navigation symbols}{}
  \setbeamertemplate{caption}[numbered]
} 

\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{chemfig}
\usepackage[version=3]{mhchem}

%%Bibliotek for blokksjema
\usepackage{tikz}
\usetikzlibrary{shapes, arrows.meta, positioning}
\usetikzlibrary{decorations.pathreplacing}

\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}]

% On Overleaf, these lines give you sharper preview images.
% You might want to `comment them out before you export, though.
%\usepackage{pgfpages}
%\pgfpagesuselayout{resize to}[%physical paper width=33.87cm, physical paper height=19.05cm]

% Here's where the presentation starts, with the info for the title slide
\title[Miniprojet automation]{Miniprojet automation - bille sur rail}
\author[ORVIK, TABAN et JOHNSEN]{ORVIK Oskar, TABAN Aleksander \& JOHNSEN Brage}
\institute{INSA Toulouse - DGEI - 4AE-SE}
\date{\today}


\begin{document}


\begin{frame}
  \titlepage
\end{frame}


\begin{frame}{Sommaire}
  \tableofcontents
\end{frame}


\section{Introduction}
\begin{frame}[fragile]
	\frametitle{Introduction}
	
	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.
	
	\begin{figure}[H]
		\centering
		\includegraphics[scale=0.4]{./Illustrations/Schema_Forces.png} 
		\caption{Schèma de forces de la bille sur rail}
		\label{fig:forces}
	\end{figure}
\end{frame}


\section{Identification du système rail}
\subsection{Analyse du schèma bloc du système rail}
\begin{frame}[fragile]
	\frametitle{Analyse du schèma bloc du système rail}
	
	L'identification du système se fait en bouclé fermé.
	
	\begin{figure}[H]
		\centering
		\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)$};
		\end{tikzpicture}
		\caption{Schèma bloc décrivant le système rail}
		\label{fig:rail}
	\end{figure}
\end{frame}


\subsection{Mise en œuvre de N4SID}
\begin{frame}[fragile]
	\frametitle{Mise en œuvre de N4SID}
	On a utilisé la fonction MATLAB n4sid() de plusieurs manières; en temporel, frequentiel et Loewner.
	
	\begin{figure}[H]
		\centering
		\includegraphics[scale=0.2]{./Illustrations/multisine1.png}
		\caption{Le signal d'entrée, de type "multisine" entre 0.1Hz et 4Hz}
		\label{fig:multisine}
	\end{figure}
\end{frame}


\subsection{Test du modèle obtenu avec N4SID}
\begin{frame}[fragile]
	\frametitle{Test du modèle obtenu avec N4SID}
	\begin{figure}[H]
		\centering
		\includegraphics[scale=0.45]{./Illustrations/fig2.png}
		\caption{Comportement des differents modèles obtenus}
		\label{fig:modeles}
	\end{figure}
	
	\vspace{-1em}
	Après avoir comparé les modèles avec le vrai système, nous avons choisi le modèle n4sid() temporel d'ordre 2. 
	
\end{frame}


\subsection{Fonction transfert du système: Rail}
\begin{frame}
	\frametitle{Fonction transfert du système: Rail}
	Cela nous avait mené à résumer le systeme du rail à la fonction de transfert suivante :

	\begin{equation*}
		G(z) = \frac{0,2977 z^{-1} - 0,2962 z^{-2}}{1 - 1,825 z^{-1} + 0,8496 z^{-2}}
	\end{equation*}
	
	\vspace{1em}
	Après avoir trouvé le modèle souhaité, nous avons ensuite retrouvé la vraie fonction transferte du rail : 
	
	\begin{equation*}
		H(s)=\frac{G(s)}{1+G(s)}\Rightarrow G(s)=\frac{H(s)}{1+H(s)}
	\end{equation*}
\end{frame}


\subsection{Calcul du correcteur du système: P}
\begin{frame}
	\frametitle{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{figure}
		\centering
		\begin{tikzpicture}[auto, node distance=2cm,>=latex]
			\node [input, name=input] {};
			\node [sum, right of=input] (sum) {};
			\node [block, right of=sum] (controller) {Correcteur : 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)$};
		\end{tikzpicture}
		\caption{Schèma bloc décrivant le système rail avec correcteur}
		\label{fig:rail_correcteur}
	\end{figure}
\end{frame}

\begin{frame}
	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}
\end{frame}


\begin{frame}
	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}
		\includegraphics[scale=0.4]{./Illustrations/StepRespnseRail.png}
	\end{center}
\end{frame}


\begin{frame}
	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.
\end{frame}


\section{Loi de commande du bille sur rail}
\subsection{Système bouclé avec la bille}
\begin{frame}
	\frametitle{Système bouclé avec la bille}
	Ajouter un gros système bouclé. Il faut savoir où mettre le correcteur avance de phase.
\end{frame}


\subsection{Analyse des frequences importantes au système}
\begin{frame}
	\frametitle{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 :
	
	\includegraphics[scale=0.5]{./Illustrations/bodeRail1.png}
\end{frame}


\begin{frame}
	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$$ 
	
\end{frame}


\begin{frame}
	%\includesvg{./Illustrations/bodeCorrecteur}
\end{frame}


\begin{frame}
	$$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$$
\end{frame}


\section{Vérification}
\subsection{Expérimental}
\begin{frame}
	\frametitle{Vérfication expérimentale}
	\begin{center}
		{\Huge ** Démonstration **}
	\end{center}
\end{frame}


\subsection{MATLAB - marge de phase}
\begin{frame}
	\frametitle{Vérfication de la 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}
\end{frame}


\section{Conclusion}
\begin{frame}
	\frametitle{Conclusion}
	La boucle est bouclée et la balle est en equilibre. 
\end{frame}


%\section{Introduction}
%
%\begin{frame}{Introduction}
%
%\begin{itemize}
%  \item But: Balancer une bille sur un rail.
%  \item Identification du système
%  \item Loi de commande
%\end{itemize}
%
%\end{frame}
%
%\subsection{The chemistry packages}
%\begin{frame}{The chemistry packages}
%
%We focus on two \LaTeX{} chemistry packages:
%\begin{block}{The \texttt{chemfig} package}
%This package provides the command which draws molecules. Created by Christian Tellechea, a detailed user guide can be found here:\\[0.4cm]
%\small{\url{https://mirror.ox.ac.uk/sites/ctan.org/macros/generic/chemfig/chemfig-en.pdf}}
%\end{block}
%\begin{block}{The \texttt{mhchem} package}
%The \texttt{mhchem} package provides simple commands for typesetting chemical molecular formulae and equations. Created by Martin Hensel, a detailed user guide can be found here:\\[0.4cm]
%\small{\url{https://anorien.csc.warwick.ac.uk/mirrors/CTAN/macros/latex/contrib/mhchem/mhchem.pdf}}
%\end{block}
%% The LaTeX wikibook is also a good source of info, e.g.
%% http://en.wikibooks.org/wiki/LaTeX/Chemical_Graphics
%
%\end{frame}
%
%\section{Using chemistry packages with \LaTeX{}}
%
%\subsection{Chemical equations with \texttt{mhchem}}
%
%\begin{frame}[fragile]
%\frametitle{Chemical equations with \texttt{mhchem}}
%
%\begin{itemize}
%\item The \texttt{mhchem} package lets you write chemical equations in \LaTeX{} with the minimum of effort. 
%\item The example below shows how the standard representation of a reaction (on the left) is created from the simple code on the right:
%\end{itemize}
%
%\begin{center}
%\ce{CO2 + C -> 2CO} is created with \verb|\ce{CO2 + C -> 2CO}|
%\end{center}
%
%\begin{itemize}
%\item More complicated reactions are still easy to write:
%\end{itemize}
%
%\begin{center}
%\ce{SO4^2- + Ba^2+ -> BaSO4 v}\\[0.1cm]
%is created with\\[0.1cm]
%\verb|\ce{SO4^2- + Ba^2+ -> BaSO4 v}|
%\end{center}
%
%\end{frame}
%
%\subsection{Getting started with some \texttt{chemfig} coffee}
%
%\begin{frame}[fragile]
%\frametitle{Getting started with some \texttt{chemfig} coffee}
%
%It's easy to use the \texttt{chemfig} package for drawing complex molecules:
%
%\vskip 0.5cm
%
%\begin{center}\small\setchemfig{atom sep=2.0em}
%\schemestart  
%\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-=)--(=O)-N(-H_3C)-)}
%\schemestop
%\end{center}
%
%This is the caffeine molecule, represented clearly and neatly, and built from a single line of text: \small{\verb|\chemfig{*6((=O)-N(-CH_3)-*5(-N=-N(-CH_3)-=)--(=O)-N(-H_3C)-)}|}\\[0.3cm]
%
%If that looks quite daunting, we can learn from simpler molecules\dots{}how about a single water molecule?
%
%\end{frame}
%
%\subsection{Experiments with water and rings}
%
%\begin{frame}[fragile]
%\frametitle{Experiments with water and rings}
%
%To see how the \texttt{chemfig} package creates the drawings from your code, let us look at the simple water molecule:
%
%\vskip 0.3cm
%\begin{center} 
%\chemfig{H_2O} is created with \verb|\chemfig{H_2O}|
%\end{center}
%
%The simple \LaTeX{} code on the right is automatically converted into the molecular formula for water on the left. 
%\vskip 0.3cm
%Rings are similarly easy to code - consider the examples below:
%
%\vskip 0.3cm
%
%\chemfig[atom style={scale=0.5}]{A*5(-B-C-D-E-)} = 
%\verb|\chemfig{A*5(-B-C-D-E-)}|
%
%\vskip 0.3cm
%
%\chemfig[atom style={scale=0.5}]{*6(=-=-=-)} = \verb|\chemfig{*6(=-=-=-)}|
%
%
%\end{frame}
%
%\section{Where to go next\dots{}}
%
%\begin{frame}{Where to go next\dots{}}
%
%\begin{itemize}
%\item This short example was designed to introduce you to using Overleaf for scientific presentations.
%\item This is made possible by the many great packages that have been developed for \LaTeX{}, including the two we focused on here (plus the \texttt{Beamer} package used for the overall presentation style). 
%\item For more help on using \LaTeX{}, see the links on the Overleaf help page: \url{www.overleaf.com/help} or check out our free introductory webinars: \url{www.overleaf.com/events/webinars}.
%\end{itemize}
%
%\begin{center}
%Follow @overleaf on Twitter for all the latest news and updates.\\[0.3cm]
%Happy \LaTeX ing!
%\end{center}
%
%\end{frame}

\end{document}
