Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
- KENITRA
Réalisé par
HAITHAM MESRAR
ZAKARIAE TAIDI
Sous le thème
Nous tenons à remercier au premier lieu le Dieu tout puissant de nous avoir
accordé la force et le courage de mener ce travail à terme
Nous remercions aussi nos amis, nos camarades de classe, qui nous ont
encouragés tout au long du projet et qui nous ont été très utiles.
Enfin, nos remerciements aux membres de jury qui ont fait l’honneur d’accepter
de juger ce modeste travail.
Page | 1
TABLE DES MATIERES
TABLE DES MÉTIERS............................................................................................... 2
TABLE DES FIGURES ............................................................................................... 5
CHAPITRE 1: INTRODUCTION ................................................................................ 6
GENERALE .............................................................................................................. 6
1. Généralités Sur Les Robotiques: ..................................................................... 6
2. Généralités Sur Les Systèmes Embarqués: ..................................................... 8
3. Utilisation Des Systèmes Embarquées Dans le secteur automobile: ............ 10
CHAPITRE 2: ......................................................................................................... 13
ETUDE FONCTIONNEL DU PROJET ....................................................................... 13
4. Introduction: ................................................................................................. 13
5. Description Du Système: ............................................................................... 13
6. Faisabilite: ..................................................................................................... 14
7. Graphe Des Interacteurs: .............................................................................. 14
8. Cahier De Charge: ......................................................................................... 16
9. Grafcet Fonctionnel Du Projet: ..................................................................... 16
10. Schema Synoptique Du Projet: ..................................................................... 18
11. Devis: ............................................................................................................. 19
CHAPITRE 3: ......................................................................................................... 20
PARTIE HARDWARE ............................................................................................. 20
12. Introduction: ................................................................................................. 20
13. La Carte Arduino: .......................................................................................... 20
13.1. Comparaison Entre Arduino Et Raspberry Pi ....................................... 21
13.2. Choix Du Type De La Carte :................................................................. 24
13.3. Composants De La Carte Arduino UNO : ............................................. 25
14. Moteur DC:.................................................................................................... 26
14.1. Généralité Sur Les Machines A Courant Continue : ............................ 26
14.2. La différence entre un Moteur DC et AC : ........................................... 27
Page | 2
14.3. La constitution d’un Moteur DC : ........................................................ 28
14.4. Fonctionnement D’un Moteur DC ....................................................... 28
15. Capteur Ultra-son:......................................................................................... 31
15.1. Choix Du Capteur Ultra-son : ............................................................... 31
15.2. Principe De Fonctionnement Du Capteur Ultra-son : .......................... 32
16. Servo-Moteur: ............................................................................................... 34
16.1. Composition D’un Servomoteur : ........................................................ 34
16.2. Principe de fonctionnement d’un servomoteur : ................................ 35
17. Capteur Infrarouge:....................................................................................... 36
17.1. Caractéristiques : ................................................................................. 36
17.2. Composition d’un Capteur Infrarouge : ............................................... 37
18. Module Bluetooth: ........................................................................................ 38
18.1. Composition D’un Module Bluetooth:................................................. 38
19. Moteur Driver: .............................................................................................. 39
19.1. Principe De Fonctionnement : ............................................................. 39
20. Module Chargeur De Batterie Lithium-Ion: .................................................. 40
21. Batterie Lithium-Ion : .................................................................................... 41
CHAPITRE 4: ......................................................................................................... 42
ETAPES DE REALISATION DU MONTAGE ............................................................. 42
22. Schéma Du Montage: .................................................................................... 42
23. Etapes De Réalisation Du Montage : ............................................................. 43
CHAPITRE 5: ......................................................................................................... 47
PARTIE SOFTWARE: ............................................................................................. 47
24. Introduction : ................................................................................................ 47
25. Langage C / Embedded C: ............................................................................. 48
26. Arduino IDE : ................................................................................................. 49
27. Libraires : ....................................................................................................... 50
28. Organigramme algorithmique:...................................................................... 51
29. Programmation : ........................................................................................... 52
Chapitre 6 : .......................................................................................................... 57
Page | 3
Résultat Et Amélioration...................................................................................... 57
30. Planning suivit : ....................................................................................... 57
31...................................................................................................................... 59
32. Future Améliorations : .................................................................................. 60
32.1. Reinforcement Learning : .................................................................... 60
32.2. Q-learning : .......................................................................................... 61
Conclusion Générale............................................................................................ 69
Page | 4
TABLE DES FIGURES
Page | 5
CHAPITRE 1: INTRODUCTION
GENERALE
Page | 6
(l'automobile par exemple), que leur emploi conditionne la survie
économique des entreprises. Il devient donc important de maîtriser leur
technologie.
Le terme robot peut désigner une large variété de réalisations
technologiques, allant du simple dispositif mécanique exécutant des
mouvements répétés, aux machines analogues morphologiquement aux bras
humains et possédant une certaine intelligence.
A titre d'anecdote, la firme Unimation qui construisit le premier robot vers
1960, était pratiquement la seule sur le marché américain quinze ans après,
et n'avait commercialisé que 1000 robots. Alors que le JIRA (association
japonaise de robotique industrielle) annonçait en 1975 65000 robots ?! Il
s'est avéré par la suite que ce que les uns désignaient par simple
automatisme, les autres l'appelaient robot!
Aujourd’hui il existe au Japon plus de 15000 robots industriels, soit environ
près du tiers du parc mondial.
Page | 7
Figure 2: Photo De George Devol
Avec Le Premier Robot Industriel.
Les systèmes de contrôle par exemple les jeux vidéo set- top box, et TV
box, contrôle de systèmes en temps Réel et les moteur d'automobile,
traitement chimique, traitement nucléaire, système de navigation
aérienne.
Page | 9
Traitement du signal qui calcule de grandes quantités de données,
radar et sonar, l'appareil de compression vidéo.
Page | 10
Les capteurs Dans une voiture, on retrouve à peu près tous les types
de capteurs que l’on puisse imaginer, cela va du simple capteur de
température au tachymètre (compte-tours) en passant par le capteur
de luminosité, de pluie etc.
Le transport de l’information : depuis longtemps, les longueurs de fils
déroulées dans les voitures sont impressionnant et forcément coûteux
(environ 800 mètres de câble). Depuis la fin des années 90, des
réseaux ont fait leur apparition dans nos voitures. On retrouve
principalement les réseau CAN et LIN. Le but est d’interconnecter tous
les calculateurs sur une seule boucle et de les faire communiquer
ensemble. Pour information, les réseaux sont dimensionnés de sorte à
être occupé que 20% du temps.
Pour l'Informatique il y a :
Page | 12
CHAPITRE 2:
ETUDE FONCTIONNEL DU PROJET
4. Introduction:
Dans ce chapitre on va faire une étude fonctionnelle qui va nous aider à réaliser
notre projet. On va parler sur notre idée de base qui est un robot qui évite les
obstacles et au cours de notre rapport on va vous montrer tous amélioration
quand on a fait pour enrichir notre projet.
Le robot évité d’obstacle, dans n’importe quel domaine où il est utilisé, doit
nécessairement être accompagné d’une fiche technique qui décrira la totalité
de ses fonctions et qui reflètera une image sur la qualité et la prestation de ses
services. Ceci dit, une étude fonctionnelle devait être mise en place pour
exprimer le besoin de la construction du robot, définir les liens entre ses
composants et rappeler les principales fonctions qu’il doit satisfaire. Les outils
utilisés pour cette analyse fonctionnelle sont le diagramme pieuvre, le
diagramme FAST et le GRAFCET.
5. Description Du Système:
Notre robot évité d’obstacles utilise un capteur qui mesure la distance qui le
sépare avec les déférents objets qui l’entoure. L’information est traitée par
Page | 13
un microcontrôleur. Le robot avance et lorsqu’il rencontre un obstacle
frontal, il s’arrête quelques instants, et il fait tourner le capteur
respectivement vers la droite puis vers la gauche puis se tourne vers la
direction la plus sûre et il continue en mouvement rectiligne. On a aussi deux
capteurs infrarouge installé au départ du robot pour suivre les lignes traces
dans son chemin son principe de fonctionnement est simple, Le robot suit
une ligne tracée au sol qui représente le chemin à suivre, Tant que les deux
capteurs ne détectent pas la ligne, le robot avance. Lorsqu’un des deux
capteurs détecte la ligne, le robot doit tourner dans la direction de ce
dernier pour se mettre au milieu de la ligne.
6. Faisabilite:
La mise en œuvre de ce projet exige plusieurs connaissances et équipements :
Pour réaliser notre idée de base qui est d'éviter les obstacles on a installé un
capteur ultra son qui aide à mesurer la distance entre le robot et un obstacle et
qui sert de le guider vers le chemin le plus sûr, et pour notre future
amélioration qui est le stationnement automatique on a premièrement installé
deux capteurs infrarouges pour suivre les lignes traces dans son chemin pour
savoir où la véhicule doit stationner, on a aussi ajouté une caractéristique qui va
nous aide à commander notre robot via une application à l'aide d'un module
Bluetooth HC-05 qui permet de faire de la communication sans fil avec notre
téléphone.
Page | 14
Vu qu’on a étudié la programmation et les principes de l'électronique
numérique et analogique dans la première année, et les systèmes embarqués
dans le troisième semestre, les composants nécessaires sont valables et
disponibles chez les fournisseurs. Ce projet est possible d'être réalisé.
Fonction Description
FP1 Eviter les obstacles pour servir l’utilisateur
FP2 Capter l’existence d’un obstacle
FP3 Analyser les données fournies par le capteur
FC1 Utiliser une source d’énergie pour alimenter les
composants de robot
FC2 Contrôler le déplacement du robot
FC3 Indiquer l’existence d’un obstacle
Page | 15
FP : fonction principale.
2. Cahier De Charge:
Le cahier de charge d’un projet est une description complète du projet dans
le langage naturel (non technique) compréhensible par toute personne
ingénieur ou non ingénieur. Dans ce cahier, le client fait ressortir l’ensemble
des contraintes que doit respecter son produit : l’encombrement, le temps
réel, la consommation, le coût, etc....
Page | 16
P : présence de l'obstacle
L : chemin trace
Page | 17
4. Schema Synoptique Du Projet:
Un synoptique désigne une présentation, en général graphique, qui permet
de saisir d'un simple coup d'œil un ensemble d'informations liées ou un
système complexe.
Page | 18
5. Devis:
Page | 19
CHAPITRE 3:
PARTIE HARDWARE
6. Introduction:
Le hardware est la partie physique de l'ordinateur, c'est-à-dire les pièces et
les équipements qui le font fonctionner. Le terme désigne également
l'ensemble des équipements attachés aux ordinateurs (ou autre produit) qui
nécessitent une gestion informatique. Les processeurs sont l'un des
hardwares les plus populaires.
7. La Carte Arduino:
Une carte Arduino est une petite carte électronique équipée d’un
microcontrôleur. Le microcontrôleur permet, à partir d’événements détectés
par des capteurs, de programmer et commander des actionneurs ; la carte
Arduino est donc une interface programmable. Elle peut être programmé
pour analyser et produire des signaux électriques, de manière à effectuer
des tâches très diverses comme le contrôle des appareils domestiques,
éclairage, chauffage, le pilotage d’un robot, de l’informatique embarquée,
etc.
Page | 20
Figure 7: Carte Arduino Uno
Page | 21
Figure 8: Carte Raspberry Pi 4
Arduino Raspberry Pi
Page | 22
Vitesse de traitement
Espace d'adressage
Mémoire
système d'exploitation
Page | 23
7.2. Choix Du Type De La Carte :
Page | 24
7.3. Composants De La Carte Arduino UNO :
Une carte Arduino UNO se compose essentiellement de :
Page | 25
8. Moteur DC:
8.1. Généralité Sur Les Machines A Courant Continue :
Une machine à courant continu est une machine électrique Inventée par
Zénobe Gramme et présentée à l’Académie des Sciences, à Paris, en 1871,
c’était au départ un simple générateur de courant continu (pour applications
galvanoplastiques : une technique électrolytique d’orfèvrerie).
Il s’agit d’un convertisseur électromécanique permettant la conversion
bidirectionnelle d’énergie entre une installation électrique parcourue par un
courant continu et un dispositif mécanique ; selon la source d’énergie.
• En fonctionnement moteur, l’énergie électrique est transformée en
énergie mécanique.
• En fonctionnement générateur, l’énergie mécanique est transformée en
énergie électrique (elle peut se comporter comme un frein). Dans ce cas elle
est aussi appelée dynamo.
Cependant, la machine à courant continu étant réversible et susceptible de
se comporter soit en « moteur » soit en « générateur » dans les quatre
quadrants du plan couple-vitesse, la distinction moteur/générateur se fait «
communément » par rapport à l’usage final de la machine.
Page | 26
Figure 10: Moteur DC
Page | 27
moteur à courant continu est contrôlée en faisant varier le courant de
l’enroulement de l’induit tandis que la vitesse d’un moteur à courant
alternatif est contrôlée en faisant varier la fréquence, ce qui n’est pas
évident, généralement effectué avec une commande de commande de
fréquence réglable.
c) Partie Théorique :
Les moteurs DC avec des aimants permanents sont très courants dans
différentes applications, avec de petites dimensions, lorsqu’on recherche
beaucoup de puissance à bas prix. A cause de leur vitesse assez importante,
ils sont utilisés dans plusieurs sortes de transmission (pour obtenir beaucoup
de couple avec peu de vitesse).
Page | 28
Les moteurs DC à aimant permanent sont d’une fabrication assez simple et
les commander est assez élémentaire. Bien que les contrôler soit assez
simple, leur vitesse n’est pas déterminée précisément par le signal de
contrôle parce qu’il dépend de nombreux autres facteurs. La relation entre
le couple et la vitesse d’un moteur DC parfait est linéaire, ce qui signifie que :
plus grand est l’effort sur l’arbre, plus petite est la vitesse de l’arbre et plus
grand est le courant dans la bobine.
Page | 29
freiner. Mieux encore, il est possible avec un peu d’électronique et un
contrôleur perfectionné d’effectuer un freinage.
d) Partie pratique :
Page | 30
9. Capteur Ultra-son:
9.1. Choix Du Capteur Ultra-son :
L’utilisation d’un capteur est indispensable dans notre projet. En effet, c’est
un outil qui permet la détection et par conséquent l’évitement d’obstacles
qui est la cible de notre étude. Ceci dit, le problème auxquelles on devait
s’imposer était le choix du meilleur capteur à utiliser dans les mesures de
concilier le temps de réponse et le coût de production. Après plusieurs
comparaisons et distinctions des capteurs, on était convaincus que celui
dont on avait besoin était le capteur ultra-son HC-SR04.
Le capteur ultra-son HC-SR04 est un dispositif chinois qui comme les autres
capteurs ultra-son émet à intervalles réguliers de courtes impulsions sonores
à haute fréquence, qui à leurs tours se propagent dans l’air à la vitesse du
son, et se réfléchissent et reviennent sous forme d’écho lorsqu’elles
rencontrent un objet. Puis, ce dernier calcule la distance le séparant de la
cible sur la base du temps écoulé entre l’émission du signal et la réception
de l’écho.
Page | 32
doit effectuer un aller (en partant du capteur) pour ensuite rebondir sur
l’obstacle et revenir à ce point de départ. Nous diviserons donc son temps
par deux. Le HC-SR04 donne une durée d’impulsion en dizaines de µs. Il faut
donc multiplier la valeur obtenue par 10µs pour obtenir le temps t. La
vitesse du son est égale à environ 340m/s ce qui nous donnes :
Donc
Page | 33
10. Servo-Moteur:
10.1. Composition D’un Servomoteur :
Page | 35
11. Capteur Infrarouge:
11.1. Caractéristiques :
Le circuit de détection basé sur le comparateur LM393 est très stable
et précis.
Page | 36
Le potentiomètre embarqué définit la plage de détection d'obstacles.
Indicateur LED d'alimentation à bord.
Indicateur LED de détection d'obstacles intégré.
Trou de montage de 3,0 mm pour un montage facile du capteur.
Embase mâle pour une connexion facile.
Bonne précision : grâce à l'utilisation d'un émetteur LED infrarouge, le
module fonctionne bien dans la lumière ambiante.
Page | 37
12. Module Bluetooth:
Page | 38
Key ou EN doit être alimentée pour entrer dans le mode de configuration et
ne doit pas être connecté pour être en mode communication.
Le module L298N est une carte de développement basé sur le circuit intégré
L298N permettant le pilotage de moteur à courant continu ou d’un moteur
pas-à-pas. Nous avons déjà vu l’utilisation du pont en H. Il peut être trouvé
sous forme de module pratique à utiliser avec des performances différentes
selon les composants utilisés. Nous allons voir dans ce tutoriel l’utilisation du
module L298N avec un microcontrôleur Arduino.
Le module L298N est basé sur le circuit intégré du même nom. Le circuit
L298N est un double pont en H permettant de modifier la direction et
l’intensité de la tension au borne de deux charges électriques.
Les caractéristiques du module L298N sont:
Pilotage de moteur de tension nominale de 5 à 35V
2A courant maximum (peak)
Tension 5V acceptées sur les broches Input
Une fois la batterie chargée, le circuit n'enverra plus qu'un infime courant
(environ 4uA) et ne redémarrera vraiment que si la tension de la batterie
redescend en dessous de 4,0V.
Page | 40
15. Batterie Lithium-Ion :
Une batterie 18650 est une batterie lithium-ion. Le nom dérive des
dimensions spécifiques de la batterie : 18 mm x 65 mm. Pour l'échelle, c'est
plus grand qu'une pile AA. La batterie 18650 a une tension de 3,6 V et a
entre 2600 mAh et 3500 mAh (mili-ampères-heures). Ces batteries sont
utilisées dans les lampes de poche, les ordinateurs portables, les appareils
électroniques et même certaines voitures électriques en raison de leur
fiabilité, de leur longue durée de vie et de leur capacité à être rechargées
des centaines de fois. Les batteries 18650 sont ce qui serait considéré
comme une "batterie à forte consommation". Cela signifie que la batterie est
conçue pour générer une tension et un courant de sortie élevés pour
répondre aux besoins en énergie de l'appareil portable dans lequel elle est
utilisée. C'est pourquoi ces petites batteries puissantes sont utilisées dans
des appareils électroniques plus complexes et gourmands en énergie qui
nécessitent un niveau de puissance constant et élevé pour fonctionner. Il a
également une profondeur de décharge élevée, ce qui signifie que la
batterie peut être déchargée jusqu'à 0 % tout en ayant la capacité de
recharger complètement la batterie. Cependant, cette pratique n'est pas
recommandée, car au fil du temps, cela endommagera la batterie à long
terme et affectera ses performances globales.
Page | 42
Les pines IN1, IN2, IN3 et IN4 du driver moteur sont brochées
respectivement avec les pines 4, 5, 6 et 7 de la carte Arduino.
Les pines OUT des deux capteurs infrarouge sont brochés avec les
pines 12 et 13 de notre carte Arduino.
Pour le capteur ultrason, Trig et Echo sont brochées respectivement
avec les pines analogiques A0 et A1.
Les deux pines RXD et TXD du module Bluetooth sont brochées avec
TX et RX de la carte Arduino.
Pour les 4 moteur DC du robot, les deux à droites sont connecter
avec OUT1 et OUT2 du driver moteur, et les deux à gauches avec
OUT3 et OUT4, et ils sont alimentées par les deux piles Li/Ion et par
le driver moteur comme intermédiaire.
La carte Arduino est alimentée par les deux piles Li/Ion via la pine Vin
On a soudé les files avec les 4 moteur DC de notre robot, puis on a fixé les roues
et les moteurs sur le châssis.
Page | 43
Page | 44
Etape 2 : Fixage Des Composants Sur Le Châssis :
Page | 45
Etape 3 : Montage Des Composants :
Dans cette étape on a monté et brochée les composants
électroniques de notre robot selon le schéma et la description
indiquée ci-dessus.
Page | 46
CHAPITRE 5:
PARTIE SOFTWARE:
18. Introduction :
Page | 47
applications et un logiciel pilote, qui fait fonctionner des appareils
informatiques et des périphériques.
Page | 48
3. C embarqué comprend des fonctionnalités supplémentaires sur C, tels
que les types de points de, plusieurs zones de mémoire et d'e/S
registre de mappage.
4. Compilateurs de C (ANSI C) génèrent habituellement des OS charge les
fichiers exécutables. C embarqué nécessite des compilateurs de créer
des fichiers à télécharger pour les microcontrôleurs/microprocesseurs
où il a besoin pour fonctionner.
Page | 49
l’Arduino, il peut communiquer avec l’ordinateur tant que la
connexion est active (câble USB, …)
21. Libraires :
Page | 50
principale et par conséquent ne peuvent pas être exécutées directement.
Les bibliothèques peuvent regrouper des fonctions simples (par exemple le
calcul d'un cosinus, ou l'inversion d'une matrice) comme des fonctions
complexes avec de nombreuses fonctions internes non accessibles
directement. L'intérêt des bibliothèques réside dans le fait qu'elles
contiennent du code utile que l'on ne désire pas avoir à réécrire à chaque
fois.
Page | 51
Figure 24: Diagramme Algorithmique Du Robot Evitant Les
Obstacles
23. Programmation :
Capteur Ultrason :
Page | 52
Servomoteur :
o A droite :
Capteur infrarouge :
Page | 53
Ce module détecte la présence d’une couleur donnée. Dans notre cas, on a
besoins de ce capteur pour détecter la couleur noire de la ligne qui va suivre
notre robot, pour cette raison on utilise le code suivant :
Les Moteurs :
Selon le type du moteur driver utiliser on peut commander les DC moteur en
utilisant un des codes suivants :
Page | 54
Page | 55
o Moteur driver L298n :
Page | 56
Chapitre 6 :
Résultat Et Amélioration
30 1er Fev 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 1er Mars 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1er Avr 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 1er Mai
2 3 4 5 6 7 8
Page | 57
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1er Juin 2 3 4 5
6 7 8 9 10 11 12
Page | 58
25. Amélioration De Notre Projet :
ALPHA-PARKLY 1.0 est un système qui va aider les conducteurs pour gagner du
temps et de stationner leur véhicule sans intervention de l’être humain. Notre
projet est un système qui va être installé dans le véhicule, et à travers un seul
click sur une application mobile, on peut démarrer le stationnement
automatique.
Réalisation du robot.
Page | 59
Montez les dispositifs restant pour réaliser les améliorations .
27.2. Q-learning :
Page | 61
D'autre part, un apprenant sur la politique apprend la valeur de la politique
menée par l'agent, y compris les étapes d'exploration et il trouvera une
politique optimale, en tenant compte de l'exploration inhérente à la
politique.
STATE :
C'est la situation dans laquelle se trouve le Robot. Ici, pour un robot évitant
les obstacles de base, il y a au total 2 états :
Le premier état est lorsqu'il n'y a pas d'obstacle à proximité et le deuxième
état dans lequel il y a un obstacle devant lui.
ACTION :
Dans un état particulier, le robot effectue une action particulière. Il y a 4
actions que notre robot peut effectuer dans le 2ème état :
« AVANT », « ARRIÈRE », « GAUCHE », « ARRÊT ».
NEXT STATE :
C'est l'état dans lequel le robot entre lorsqu'il exécute une
« ACTION » particulière dans son « ÉTAT » actuel. Dans notre cas, l'ÉTAT
SUIVANT peut-être soit un état "CRASHED" ou un état "SURVIVED". (Ici, l'état
de SURVIE est le même que l'état de départ dans lequel se trouve le robot au
début de son épisode.)
Q-TABLE/Q-MATRIX :
Page | 62
Q-Table une structure de données utilisée pour calculer les récompenses
futures maximales attendues pour l'action à chaque état.
Fondamentalement, ce tableau nous guidera vers la meilleure action à
chaque état. Pour apprendre chaque valeur de la Q-table, l'algorithme Q-
Learning est utilisé.
Ce tableau est formé par le Nombre d'"ÉTATS" et le nombre d'"ACTIONS".
TERMINAL STATE :
C'est le dernier état dans lequel le robot peut être. Pour le robot évitant des
obstacles, cet état n'existe pas car on a pas d'état terminal et on veut que
notre robot continue d'apprendre pour toujours.
REWARD MATRIX :
Cette table ou matrice sert à donner des récompenses au robot pour
certaines actions. La récompense est positive ou négative selon la qualité de
l'action.
Page | 63
ENVIRENMENT :
Cela peut également être supposé ou considéré comme le monde du Robot.
Par exemple, nous, les humains, vivons sur terre, donc la terre est notre
environnement.
LEARNING RATE :
Le taux d'apprentissage ou la taille de l'étape détermine dans quelle mesure
les informations nouvellement acquises remplacent les anciennes
informations. Un facteur de 0 signifie que l'agent n'apprend rien (exploitant
exclusivement les connaissances antérieures), tandis qu'un facteur de 1
signifie que l'agent ne considère que les informations les plus récentes
(ignorant les connaissances antérieures pour explorer les possibilités). Dans
des environnements entièrement déterministes, un taux d'apprentissage de
ALPHA = 1,0 est optimal. Lorsque le problème est stochastique, l'algorithme
converge sous certaines conditions techniques sur le taux d'apprentissage
qui l'oblige à décroître jusqu'à zéro. En pratique, on utilise souvent un taux
d'apprentissage constant, tel que ALPHA = 0,1 pour tous les scénarios.
DISCOUNT FACTOR :
Le facteur de remise de 0 détermine l'importance des récompenses futures.
Un facteur de 0 rendra l'agent myope en ne considérant que les
Page | 64
récompenses actuelles, tandis qu'un facteur proche de 1 le fera rechercher
une récompense élevée à long terme. Si le facteur d'actualisation atteint ou
dépasse 1, les valeurs d'action peuvent diverger. Pour GAMMA = 1,0, sans
état terminal, ou si l'agent n'en atteint jamais un, tous les historiques
d'environnement deviennent infiniment longs, et les utilités avec des
récompenses additives non actualisées deviennent généralement infinies.
Même avec un facteur d'actualisation légèrement inférieur à 1,
l'apprentissage de la fonction Q conduit à la propagation d'erreurs et
d'instabilités lorsque la fonction de valeur est approchée avec un réseau de
neurones artificiels. Dans ce cas, commencer avec un facteur d'actualisation
inférieur et l'augmenter vers sa valeur finale accélère l'apprentissage.
EXPLORATION RATE (TAUX D’EXPLORATION) :
Ce paramètre décide dans quelle mesure le robot doit explorer
l'environnement. Explorer l'environnement signifie effectuer des actions
aléatoires et analyser les résultats à l'aide de valeurs Q. Habituellement,
dans Q Learning (contrairement à SARSA), nous nous débarrassons de ce
paramètre au fur et à mesure que Robot apprend de plus en plus. Mais dans
ce projet, nous n'allons pas nous débarrasser d'Epsilon car nous n'avons
aucun état terminal. Dans ce cas, Epsilon réduira dans une certaine mesure,
puis sera à nouveau réinitialisé lorsqu'il descendra en dessous d'une valeur
seuil. Cela garantira que le robot continue d'explorer jusqu'à sa fin de vie,
tout comme nous, les humains, le faisons.
o Q-fonction :
Page | 65
Figure 25: Equation De BELLMAN
La
fonction Q utilise l'équation de Bellman et prend deux entrées : état (s) et
action (a).
Q*(s,a) est la valeur attendue (récompense actualisée cumulée) de
faire a dans l'état s puis de suivre la politique optimale.
Q-learning utilise les Différences Temporelles (TD) pour estimer la
valeur de Q*(s,a). La différence temporelle est un agent apprenant
d'un environnement à travers des épisodes sans connaissance
préalable de l'environnement.
L'agent maintient une table de Q[S, A], où S est l'ensemble des états
et A est l'ensemble des actions.
Q[s, a] représente son estimation actuelle de Q*(s,a).
o Algorithme De Q-learning :
Page | 66
Figure 26: Algorithme De Q-Learning
Page | 67
f. Définir l'état sur le nouvel état et répétez le processus jusqu'à ce
qu'un état terminal soit atteint.
Page | 68
Conclusion Générale
Le présent rapport est réalisé dans le cadre de notre projet de fin d'études en
vue de l'obtention du Diplôme Universitaire de Technologie en électronique
embarqué pour l’automobile. Ce travail a pour objectif de concevoir et
développer un robot évitant les obstacles.
Pour pouvoir compléter notre mission, nous avons détaillé les différentes
étapes d'analyse, de conception et de réalisation de notre projet.
Enfin on est terminé par le chapitre cinq qui est dédié à la partie software, c’est-
à-dire le code qu’on a écrit pour notre robot.
Notre projet était à la base un robot évitant les obstacles et on a fait des
améliorations pour que notre robot devenir un système Auto parking, et ce
système on peut le développer pour faire plusieurs fonctions comme auto
pilote sans une intervention du conducteur a base de la même technologie ou
Page | 69
on peut utiliser d’autres composant comme une caméra 360 qui va aider notre
système à se développer, et aussi de faire des changements dans le programme
pour être convenable avec la caméra.
Ce projet était bénéfique pour nous dans plusieurs sens. Il nous ouvrir sur le
monde professionnel qui implique de la responsabilité et de la discipline ainsi
que du travail collaboratif d'équipe, il a été une occasion pour améliorer nos
connaissances dans les environnements de travail et de maitriser les langages
de programmation pour qui seront certes utiles au niveau professionnel.
Page | 70