From 9b27b82135c3fc16d4cc781f575fea906c0d8a47 Mon Sep 17 00:00:00 2001
From: nico
Date: Sat, 9 Jun 2007 08:46:49 +0000
Subject: Ajout du CD d'homologation 2004.

---
 b/cd/src/rapport.tex | 238 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 238 insertions(+)
 create mode 100644 b/cd/src/rapport.tex

(limited to 'b/cd/src/rapport.tex')

diff --git a/b/cd/src/rapport.tex b/b/cd/src/rapport.tex
new file mode 100644
index 0000000..f47a3e2
--- /dev/null
+++ b/b/cd/src/rapport.tex
@@ -0,0 +1,238 @@
+\documentclass[a4paper,dvips,pdftex,titlepage]{article} 
+\title{Présentation du robot}
+\author{équipe du robot \\ APB Team}
+
+
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+\usepackage[french]{babel}
+\usepackage{fancyhdr}
+\usepackage[dvips]{graphicx}
+\usepackage{verbatim}
+\usepackage{times}
+\usepackage{vmargin}
+
+
+\pagestyle{fancy}
+\parskip=10pt
+\baselineskip=12pt
+\parindent=20pt		% alinéa
+\lhead{\small{APB Team}}
+\rhead{description du robot  }
+
+\newcommand{\graphtt}[1]{
+\begin{center}
+\includegraphics[width=.5\textwidth]{#1}
+\end{center}
+}
+
+
+\newcommand{\grapht}[1]{
+\begin{center}
+\includegraphics[width=\textwidth]{#1}
+\end{center}
+}
+
+
+\newcommand{\graph}[1]{
+\begin{center}
+\includegraphics{#1}
+\end{center}
+}
+
+
+\begin{document}
+
+	\maketitle
+	\tableofcontents
+	\pagebreak
+
+
+
+
+Cette description du robot comporte trois parties:\newline
+
+\begin{itemize}
+\item une partie mécanique,
+\item une partie électronique et
+\item une partie informatique.
+\end{itemize}
+
+\section{Partie mécanique}
+
+\subsection{Description générale}
+
+Le robot est composé de deux parties indpendantes : une partie haute avec les cartes électronique et une 
+partie basse avec les moteurs et le système de chargement/déchargement des balles. La coque est ralisé en 
+plexiglass ce qui permet de monter et démonter ce robot très rapidement et de manière très simple. voir schéma.
+le chassis est en aluminium alors que la coque est en plexi.
+
+
+\subsection{Partie Moteur}
+
+le moteur est géré par un renvoi d'angle en T avec un rapport de réduction de 10. Il est alimenté en 12V sous environ 1 Ampère. Sa puissance
+ maximale est de 20 W pour un couple de 244 mNm
+
+Nous avons décidé de choisir ce moteur car il correspondait parfaitement à nos attentes qui étaient un moteur puissant, fiable et rapide.
+
+\subsection{Partie Benne}
+
+
+La benne a été créé à l'aide d'une plaque d'aluminium plié. Sur cette plaque,
+sont installés un moteur et un rouleau permettant aux balles d'être avalées 
+ou rejetées selon le sens dans lequel le rouleau tourne. La benne est soulevé par un servo pour
+permettre aux balles de passer le petit muret lors du déchargement. Pour les dimensions de la 
+benne, se référer au plan ci joint.
+
+
+\grapht{remontage_4.jpg}
+
+\subsection{Partie rangement des cartes}
+
+La partie supérieure du robot est constituée de deux modules indépendants : le
+premier est un bac conteneur de cartes qui permet de retirer et d'installer toutes
+les cartes de façon simple et rapide.
+
+
+\subsection{Partie console de puissance}
+
+Nous avons créé un module d'alimentation externe appelé NESTOR(V0.2). Pour selectionner la 
+source d'alimentation du robot, se trouve ce module constitué de switch pour les différentes 
+cartes électronique et les moteurs. Un accès pour intégrer un écran sur la carte PC104 a été installé 
+ainsi qu'un accès au reset et à l'arrêt de la carte mère. Le bouton rouge obligatoire coupe l'arrivé en
+courant de toutes les parties mécaniques.
+
+
+\grapht{control.jpg}
+
+\pagebreak
+
+
+\section{Partie électronique}
+
+L'électronique a une présence forte dans notre robot. Elle est représenté par un total de 
+5 cartes électronique en plus de la carte mère (PC104).
+
+
+\subsection{carte de puissance}
+
+La carte de puissance a pour objectif de de transmettre la puissance depuis
+les batteries aux moteurs. Elle est contrôlée par la carte d'asservissement qui
+lui fournie les instructions necessaire quant à la puissance à délivrer.
+
+\grapht{puissance.jpg}
+
+\subsection{carte d'alimentation}
+
+Cette carte à pour rôle de proposer une connectique unique pour toutes les
+alimentations. Elle propose du 5V non régulé, du 5V régulé, du 12V non régulé
+et du 12V régulé. Ces alimentations sont utilisées autant par les cartes que
+les servo-moteurs. Par contre les moteurs de déplacement sont alimentés par une
+baterie différente afin d'éviter les chutes de tension et les parasites.
+
+
+\subsection{carte de d'asservissement}
+
+La carte d'asservissement a un rôle très important, c'est elle qui contrôle que
+les moteurs ont bien suivi les instructions de la carte mère.
+
+La carte mère peux donner un ordre en vitesse pour chaque moteur. Toutes les 32
+ms, la carte d'asservissement va rapporter à la carte mère l'avancement réel à
+gauche et à droite afin de calculer la position du robot. Comme c'est la carte
+mère qui contrôle la position et la carte d'asservissement qui contrôle la
+vitesse, on peut faire toute sorte de trajectoires fantaisistes.
+
+
+\subsection{carte capteurs}
+
+La carte capteur est simple, elle est chargé de retransmettre à la carte mère
+via le port serie l'état du capteur demandé. Elle est aussi chargée de
+commander deux servos-moteur. Elle est constituée d'entrées capteurs contact et
+d'entrés comparées ainsi que 4 entrées capteurs qui sont transformées en
+numérique via le PIC et ses convertisseurs analogiques/numérique
+(malheureusement la conversion numérique n'est aparement pas trés heureuse...).
+
+\grapht{capteur.jpg}
+
+\subsection{carte mère}
+
+La carte mère est le module qui va prendre toutes les décisions. La carte mère
+que nous avons utilisée est une PC104. Elle est simple d'utilisation et elle
+est conçue pour être embarquée. Elle comprend 10 ports séries grâce à une carte
+d'extension qui rajoute 8 port series.
+
+\graph{pc104.jpg}
+
+\pagebreak
+
+\section{Partie informatique}
+
+\subsection{Module camera}
+
+
+Le robot est équipé d'une camera. Elle nous permet de détecter les balles et
+les palmiers. La detection se fait en plusieurs étapes:
+
+\begin{itemize}
+
+\item Aquisition;
+
+\item Traitement de l'image;
+
+\item Detection et filtrage des groupes de pixels;
+
+\item Conversion dans le repère du robot.
+
+\end{itemize}
+
+L'aquisition se fait grâce à l'interface Video4linux et la camera attachée au
+port USB.
+
+Le traitement de l'image permet pour chaque pixel de déterminer à quel objet
+il appartient. Cela se fait avec un réseau neuronal sur chaque pixel en
+fonction de la couleur. La calibration se fait automatiquement par
+aprentissage du réseau.
+
+\graph{camera.jpg}
+
+Pour les groupes, dès qu'un pixel correspondant à une balle est trouvé, le
+programme cherche autour de ce pixel afin de trouver des pixels de balles et
+en déduire la taille de la balle.
+
+La conversion dans le repere du robot se fait par des équations du second
+degrés que l'on doit calibrer avec des points pris sur une image.
+
+\subsection{Module asservissement en position}
+
+Ce module est directement connecté à la carte d'asservissement. C'est lui qui
+permet de faire les trajectoires que l'on veut.
+
+Le principe de base est la ``carotte''. Selon la trajectoire que l'on veut
+obtenir, on place un point devant le robot. Par projection dans le repère du
+robot, on trouve une erreur linéaire et angulaire. Ces erreurs sont multipliées
+par des coefficients puis appliquées sur la vitesse des roues.
+
+\subsection{Détermination du chemin}
+
+Afin d'eviter les obstacles, le robot intègre un algorithme de détermination
+du plus court chemin. Nous utilisons un algorithme de Dijkstra. Le plus
+compliqué est de générer le graph que l'on donne à l'algorithme. Pour cela on
+place des points tout autour des obstacles et on relie les points qui ne
+traversent pas d'obstacle (ou pour être plus précis, les segments qui ne se
+raprochent pas trop des obstacles).
+
+\graphtt{g.png}
+
+\graphtt{g1.png}
+
+\subsection{Intelligente artificielle}
+
+L'intelligence du robot est programmée dans un automate directement dans le
+programme de la carte mêre. Ce n'est pas trés flexible, mais c'est plus
+simple. On change d'état dans l'automate en fonction de l'état des capteurs,
+des tempos, des déplacements, etc...
+
+
+
+
+\end{document}
-- 
cgit v1.2.3

