\documentclass[10pt]{article}

\usepackage{style_perso}
\usepackage{multicol}
\usepackage{pdfpages}
\usepackage{hyperref}


\renewcommand{\module}{CI 2}
\renewcommand{\titredoc}{Modélisation de la géométrie des systèmes}
\begin{document}
	
\premierepage	
	
	
\section{Présentation du système}

Le MobyCrea est un système permettant de bercer automatiquement un enfant et de diffuser de la musique pour lui permettre de s'endormir paisiblement. Les mouvements du berceau sont décomposés suivant les deux axes, chacun des axes est mis en mouvement par un système bielle manivelle indépendant.

%\begin{figure}[h!]
%	\centering
%	\includegraphics[width=10cm]{images/Presentation.jpg}
%\end{figure}
	
	\section{Problématique}
Pour maitriser la trajectoire du berceau il est nécessaire de connaitre le déplacement du berceau en fonction de la rotation du moteur. Le travail de ce TP sera donc de réaliser une fermeture géométrique théorique et de la comparer avec la simulation du système disponible.

\section{Modélisation du système}

On trouvera en annexe deux pages issues de la documentation technique du système. Ces pages décrivent les mécanismes de transformation du mouvement.

\begin{figure}[h!]
	\begin{center}
		\includegraphics[width=8cm]{images/Lettre.png}
		\caption{Transformation de mouvement horizontal annotée}
	\end{center}
\end{figure}
-

Les deux systèmes sont presque identiques et on se limitera à l'étude du mouvement horizontal et plus particulièrement le mouvement des pièces 0, 7, 8 et 9. Le mouvement de la pièce 9 est assuré par deux galets roulants qu'on ne représentera pas ici, on considèrera que la liaison entre l'ensemble \{ Groupe mobile à entrainer\} et le bâti est une liaison glissière dont l'axe est à définir.



\cadre{pink}{Travail à réaliser}{En regardant les mouvements possibles des différentes pièces, réalisez un schéma cinématique de la transformation de mouvement horizontale du système.}

\section{Calcul de la loi entrée-sortie}

Le but de cette partie est de créer la relation entre le déplacement horizontal du chariot et l'angle de rotation de la roue en sortie de réducteur.

On propose le paramétrage suivant:

\begin{multicols}{2}
	\begin{itemize}
		\item $\ve{OA} = e.\ve{x_7}$
		\item $\ve{AB} = l.\ve{x_8}$
		\item $\lambda$ est la distance entre O et B
		\item $ \theta_7 = (\ve{x},\ve{x_7}) = (\ve{y},\ve{y_7})$
		\item $ \theta_8 = (\ve{x},\ve{x_8}) = (\ve{y},\ve{y_8})$
	\end{itemize}
\end{multicols}

	\cadre{pink}{Travail à réaliser}{Réalisez les figures géométrales permettant de définir les angles $\theta_7$ et $\theta_8 $. Identifier les grandeurs d'entrée, les grandeurs de sorties et les grandeurs internes au système.}

Afin de pouvoir trouver une relation entre l'angle de la roue en sortie du réducteur et le chariot mobile, il est nécessaire de réaliser une fermeture géométrique

\cadre{pink}{Travail théorique à réaliser}{Exprimez la fermeture géométrique de la partie de transformation de mouvement. En résolvant, trouvez une relation entre l'entrée et la sortie.}

{\color{red}
La relation de Chasles donne: 
$$ \ve{OA} + \ve{AB} = \ve{OB} $$

$$ e.\ve{x_7} + l.\ve{x_8} = \lambda.\ve{y} $$

Pour trouver les équations utile on projette sur \ve{x} et \ve{y}.

Projection sur \ve{x}:
$$ e.\ve{x_7}.\ve{x} + l.\ve{x_8}.\ve{x} = \lambda.\ve{y}.\ve{x} $$
$$ e.cos(\theta_7) + l.cos(\theta_8) = 0 $$

Projection sur \ve{y}:
$$ e.\ve{x_7}.\ve{y} + l.\ve{x_8}.\ve{y} = \lambda.\ve{y}.\ve{y} $$
$$ e.sin(\theta_7) + l.sin(\theta_8) = \lambda $$

L'angle $\theta_8$ est un paramètre interne du système et inutile, on veut le supprimer de nos équations, pour cela on utilise l'équation:

$$ cos^2(\theta_8) + sin^2(\theta_8) = 1$$

Qui équivaut à:

$$ (l.cos(\theta_8))^2 + (l.sin(\theta_8))^2 = l^2$$

En isolant dans les équations projetée on obtient:

$$ l.cos(\theta_8) = -e.cos(\theta_7) $$
$$ l.sin(\theta_8) = \lambda - e.sin(\theta_7) $$

On obtient alors:

$$ (e.cos(\theta_7))^2 + (\lambda - e.sin(\theta_7))^2 = l^2 $$

On isole maintenant $\lambda$:

$$  (\lambda - e.sin(\theta_7))^2 = l^2 - (e.cos(\theta_7))^2 $$

En passant a la racine et en ne conservant que la solution positive:

$$  (\lambda - e.sin(\theta_7)) = \sqrt{l^2 - (e.cos(\theta_7))^2}$$

Et finalement: 
$$ \lambda = e.sin(\theta_7) + \sqrt{l^2 - (e.cos(\theta_7))^2} $$

}

Ce calcul n'étant que théorique, il est important de le comparer au réel ou ici, à une simulation.

Vous trouverez en complément de ce TP 3 fichiers python:

\begin{itemize}
	\item \textbf{Geometrie\_2D.py} permettant la simulation de la cinématique de système en 2D (la théorie et l'implémentation sont inspirées du travail de Frédérique Legrand, on retrouvera la théorie {\color{blue}\underline{\href{www.f-legrand.fr/scidoc/docmml/sciphys/meca/cinemasolides/cinemasolides.html}{ici}}} )
	\item \textbf{bielle\_manivelle.py} simulant un seul système de transformation de mouvement. Une animation se lance montrant les mouvement du système, la fonction afficher\_graphe() permet d'afficher la loi entrée-sortie simulée et la loi théorique quand renseigné dans la fonction theorie()
	\item \textbf{MobyCrea.py} simulant (sans afficher) les deux systèmes de transmission de mouvement et affichant les mouvements réalisés par le chariot.
\end{itemize}

Pour réaliser la simulation, il est nécessaire de la paramétrer, pour cela il faut lui renseigner les longueurs l et e correspondant au système. 

\cadre{pink}{Travail expérimental à réaliser}{ \begin{itemize}
		\item Ouvrez les fichiers "Geometrie\_2D.py" et "bielle\_manivelle.py".
		\item Exécutez le code "Geometrie\_2D.py", rien ne se produit mais cela permet de simuler des systèmes. Il n'est pas nécessaire de le relancer à chaque modification du système (mais il faudrat le relancer si vous fermer l'éditeur python).
		\item Complétez les lignes 8 et 9 du fichier "bielle\_manivelle.py" avec des longueurs (vous pouvez expérimentez avec les longueurs de la bielle et de la manivelle).
		\item Lancez le code, une simulation se lance. Vérifiez que les mouvements sont conformes aux mouvements du système (la pièce rouge représente le berceau).
		\item Utilisez la fonction "afficher\_graphe()" pour afficher la loi entrée-sortie calculée par la simulation.
\end{itemize}}

\section{Comparaison simulation et théorie}

L'objectif de cette partie est de comparer les résultats obtenus précédemment pour valider la simulation. Le fichier "bielle\_manivelle.py" permet déja cette comparaison en affichant sur le même graphe les courbes de loi entrée-sortie théorique et simulée.

\cadre{pink}{Travail à réaliser}{
\begin{itemize}
	\item Ouvrez le fichier "bielle\_manivelle.py" et si besoin ré-exécutez le code "Geometrie\_2D.py"
	\item Complétez la fonction "theorie" à la ligne 53 permettant de calculer $\lambda = f(\theta_7)$.
	\item Décommmentez la ligne 88 (il faut enlever le "\#").
	\item Lancer le code, un graphe avec les deux courbes doit s'afficher (si elle sont trop superposée pour bien voir, ne pas hésiter à ajouter +1 à la fonction f pour décaler $\lambda$).
	\item On propose l'approximation $\lambda = e.sin(\theta_7) + l$, comparez l'approximation et la courbe de simulation.
	\item Conclure sur les études réalisées.
\end{itemize}
}




\section{Détermination des lois de commandes}



Le fichier "MobyCrea.py" reprend le même genre de simulation mais simule les deux mouvements du berceau.

\cadre{pink}{Travail expérimental à réaliser}{
\begin{itemize}
	\item Ouvrez le code "MobyCrea.py" et si besoin ré-exécutez le code "Geometrie\_2D.py"
	\item Complétez les lignes 7 à 17 avec les paramètres voulus :
	\subitem\textbf{-} e1, e2, l1 et l2 sont les dimensions géométriques des deux systèmes bielle-manivelles. Le système 1 permet de gérer le déplacement horizontal et le système 2 le déplacement vertical du berceau.
	\subitem\textbf{-} omega\_1 et omega\_2 sont les vitesses de rotation des systèmes 1 et 2. Pour plus de simplicité il est conseillé de laisser à 1 rad/s la vitesse de rotation du système 1 et de ne modifier que la vitesse de rotation du système 2.
	\subitem\textbf{-} phi\_1 et phi\_2 sont les déphasages des deux systèmes. Chacune des positions angulaires est piloté suivant la loi $\theta_i =\omega_i.t+\phi_i $. Il est donc conseillé de laisser à 0 rad le paramètre phi\_1 et de ne toucher qu'à phi\_2. (On rappelle aussi que $\pi$ s'obtient en python avec np.pi).
	\item Lancez le code, une fenêtre montrant la trajectoire du berceau.
	\item Complétez le tableau suivant en indiquant dans chaque case le mode de fonctionnement correspondant si il existe:
	
	$$  \begin{array}{|c|c|c|c|}
	\hline
	& \omega_2 = 1\ rad/s& \omega_2 = 2\ rad/s & \omega_2 = 4\ rad/s \\
	\hline
	\phi_2 = 0 rad &  &  & \\ 
	\hline
	\phi_2 = \frac{\pi}{2} rad &  &  & \\ 
	\hline
	\phi_2 = -\frac{\pi}{2} rad &  &  & \\ 
	\hline
	
\end{array} $$ 

	 
\end{itemize}
}



\includepdf[pages=-]{doc_techno.pdf}

\end{document}