summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--b/cd/index.html38
-rw-r--r--b/cd/navigation/bouton.gifbin0 -> 64 bytes
-rw-r--r--b/cd/navigation/robot2004.jpgbin0 -> 97433 bytes
-rw-r--r--b/cd/navigation/titre_bienvenue.gifbin0 -> 2574 bytes
-rw-r--r--b/cd/src/poster.jpgbin0 -> 1463804 bytes
-rw-r--r--b/cd/src/rapport.pdfbin0 -> 261038 bytes
-rw-r--r--b/cd/src/rapport.tex238
7 files changed, 276 insertions, 0 deletions
diff --git a/b/cd/index.html b/b/cd/index.html
new file mode 100644
index 0000000..8d20239
--- /dev/null
+++ b/b/cd/index.html
@@ -0,0 +1,38 @@
+<html>
+<head>
+<title>CD d'EFREI Robotique - Accueil</title>
+</head>
+
+<body bgcolor="#FFFFFF" text="#000000">
+<p><img src="navigation/titre_bienvenue.gif" width="488" height="35"><br>
+</p>
+
+<p><font face="Arial, Helvetica, sans-serif" size="2">Nous vous souhaitons la bienvenue sur le CD des sources d'EFREI Robotique, l'association de robotique de l'Ecole Fran&ccedil;aise d'Electronique et d'Informatique, situ&eacute;e &agrave; la p&eacute;riph&eacute;rie de Paris.</font>
+</p>
+
+<table width="850">
+ <tr>
+ <td width="68%" height="205">
+ <p><b><font color="#FF6600" size="5" face="Arial, Helvetica, sans-serif">Source
+ du projet :</font></b> </p>
+ <p> <font face="Verdana, Arial, Helvetica, sans-serif" color="#FF9966"><img src="navigation/bouton.gif" width="10" height="10">
+ Fiche technique du robot en pdf :</font> <a href="src/rapport.pdf" target="_blank"><font color="#FF0000"><b>rapport.pdf</b></font></a></p>
+ <p><font face="Verdana, Arial, Helvetica, sans-serif" color="#FF9966"><img src="navigation/bouton.gif" width="10" height="10">
+ Fiche technique du robot en LateX :</font> <a href="src/rapport.tex" target="_blank"><font color="#FF0000"><b>rapport.tex</b></font></a></p>
+ <p><font face="Verdana, Arial, Helvetica, sans-serif" color="#FF9966"><img src="navigation/bouton.gif" width="10" height="10">
+ Fiche technique du robot Format A1 en jpg :</font> <a href="src/poster.jpg" target="_blank"><font color="#FF0000"><b>poster.jpg</b></font></a></p>
+ </td>
+ <td rowspan="2" width="32%"><img src="navigation/robot2004.jpg" width="266" height="278"></td>
+ </tr>
+ <td width="68%" height="69">
+ <div align="left"><font face="Arial, Helvetica, sans-serif" size="2"><b>EFREI
+ Robotique<br>
+ 30-32, avenue de la R&eacute;publique - 94815 Villejuif Cedex - France<br>
+ Tel : +33.(0)1.46.78.38.00 - Fax : +33.(0)1.46.78.38.00</b></font></div>
+ </td>
+ </tr>
+</table>
+<p align="center"><font face="Arial, Helvetica, sans-serif" size="2">&copy; Mai
+ 2004 - EFREI Robotique</font></p>
+</body>
+</html>
diff --git a/b/cd/navigation/bouton.gif b/b/cd/navigation/bouton.gif
new file mode 100644
index 0000000..902151b
--- /dev/null
+++ b/b/cd/navigation/bouton.gif
Binary files differ
diff --git a/b/cd/navigation/robot2004.jpg b/b/cd/navigation/robot2004.jpg
new file mode 100644
index 0000000..f78b48d
--- /dev/null
+++ b/b/cd/navigation/robot2004.jpg
Binary files differ
diff --git a/b/cd/navigation/titre_bienvenue.gif b/b/cd/navigation/titre_bienvenue.gif
new file mode 100644
index 0000000..870bd39
--- /dev/null
+++ b/b/cd/navigation/titre_bienvenue.gif
Binary files differ
diff --git a/b/cd/src/poster.jpg b/b/cd/src/poster.jpg
new file mode 100644
index 0000000..f3623f6
--- /dev/null
+++ b/b/cd/src/poster.jpg
Binary files differ
diff --git a/b/cd/src/rapport.pdf b/b/cd/src/rapport.pdf
new file mode 100644
index 0000000..857a7bc
--- /dev/null
+++ b/b/cd/src/rapport.pdf
Binary files differ
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}