0% ont trouvé ce document utile (0 vote)
13 vues96 pages

Rapport

Le rapport présente un projet de fin d'année sur la gestion autonome d'un véhicule robotisé connecté, réalisé par des étudiants de l'Ecole Nationale des Sciences Appliquées d'Oujda. Il aborde les systèmes ADAS (Advanced Driver Assistance Systems), leur fonctionnement, ainsi que des sous-systèmes tels que la détection des obstacles et la reconnaissance des panneaux de signalisation. Le projet met en avant l'importance de l'assistance au conducteur pour réduire les erreurs humaines et améliorer la sécurité routière.

Transféré par

Hajar ARCHICH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
13 vues96 pages

Rapport

Le rapport présente un projet de fin d'année sur la gestion autonome d'un véhicule robotisé connecté, réalisé par des étudiants de l'Ecole Nationale des Sciences Appliquées d'Oujda. Il aborde les systèmes ADAS (Advanced Driver Assistance Systems), leur fonctionnement, ainsi que des sous-systèmes tels que la détection des obstacles et la reconnaissance des panneaux de signalisation. Le projet met en avant l'importance de l'assistance au conducteur pour réduire les erreurs humaines et améliorer la sécurité routière.

Transféré par

Hajar ARCHICH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Royaume du Maroc Université Mohammed Premier

Ecole Nationale des Sciences Appliquées, Oujda

Filière Génie Electrique : Energie et Systèmes Electriques

Rapport de Projet de Fin D’année


Intitulé :

Gestion autonome d’un véhicule robotisé


connecté

Réalisée par : Encadré par :

• Archich Hajar • Mr El Magroud Bachir


• Naddouri Nada
• Lahgazi Hanae

Présenté devant les jurys :

• Mr Yousfi Driss
• Mr El Magroud Bachir

Année Universitaire : 2024-2025

1
Remerciements :
Nous tenons, par la présente, à exprimer notre profonde gratitude envers toutes les
personnes qui ont contribué, de près ou de loin, à la réussite de ce projet.

Avant tout, nous adressons nos remerciements les plus sincères à Mr Magroud Bachir ,
notre encadrant de projet, pour sa disponibilité, son engagement et son suivi attentif
tout au long de cette aventure. Son expertise, ses orientations techniques, ainsi que ses
conseils judicieux ont été d'une aide précieuse et ont joué un rôle central dans
l'avancement et la qualité de notre travail. Grâce à son accompagnement, nous avons
pu surmonter les différentes difficultés rencontrées et enrichir nos compétences dans
des domaines aussi variés que l'électronique, la programmation embarquée et la
gestion de projet.

Nous tenons également à remercier l’ensemble des membres du jury qui nous ont fait
l'honneur d'évaluer notre projet. Leur regard critique, leurs remarques constructives et
leur intérêt pour notre travail sont pour nous une réelle source de motivation et
d’amélioration. Leur implication contribue à faire de cette soutenance un moment
formateur et enrichissant.

Nous exprimons aussi notre reconnaissance envers les enseignants de


l’établissement, qui, à travers les différentes unités d’enseignement, nous ont transmis
les connaissances nécessaires pour mener à bien ce projet. Leur encadrement tout au
long de notre formation a été déterminant dans notre progression

Enfin, nous souhaitons souligner l’esprit de collaboration et de solidarité qui a régné


au sein de notre groupe. Chacun de nous a su apporter ses compétences, ses idées et
son énergie pour contribuer pleinement à la réussite de ce travail collectif. Cette
expérience nous a permis de développer notre sens de l’organisation, du travail en
équipe et de la responsabilité.

Ce projet restera pour nous une étape marquante dans notre parcours, tant sur le plan
humain que professionnel.

2
Table de Matières :
Chapitre I : Système ADAS
1. Présentation générale ........................................................................................................ 10
1.1 Advanced Driver Assistance Systems (ADAS) ............................................................... 10
1.2 Histoire et inventions des systèmes avancés d'assistance à la conduite (ADAS) ...... 11
1.3 Comment fonctionne l’ADAS ........................................................................................... 13
1.4 Structure générale d’un système ADAS.......................................................................... 14
1.5 Systèmes ADAS actifs vs. Passifs..................................................................................... 14
1.5.1 Les systèmes ADAS passifs .......................................................................................... 15

1.5.2 Les systèmes ADAS actifs ......................................................................................... 19

1.6 Les six niveaux d'autonomie des véhicules ..................................................................... 19


1.6.1 Le niveau 0 : pas d’autonomie, aucune assistance..................................................... 20

1.6.2 Le niveau 1 : assistance à la conduite, eyes on-hands on ........................................ 20

1.6.3 Le niveau 2 : automatisation partielle, eyes on-hands off ......................................... 21

1.6.4 Le niveau 3 : autonomie conditionnelle, eyes off-hands off ...................................... 21

1.6.5 Le niveau 4 : autonomie élevée, eyes off-hands off-mind off .................................... 22

1.6.6 Le niveau 5 : autonomie élevée complète, driverless................................................. 22

2. Conclusion ........................................................................................................................... 23

Chapitre II : Présentation du LDW, de l'ACC et du TSR pour les systèmes ADAS


1. Introduction ........................................................................................................................ 25

2. Présentation de LDW .......................................................................................................... 25

2.1 Définition .......................................................................................................................... 25

2.2 Principe de fonctionnement ........................................................................................... 26

3 Présentation de TSR ............................................................................................................ 27

3.1 Définition ........................................................................................................................... 27

3
3.2 Principe de fonctionnement ....................................................................................... 27,28

4. Présentation de ACC ........................................................................................................... 29

4.1
Définition ........................................................................................................................... 29,30

4.2 Principe de fonctionnement ................................................................................. 30,31,32

5. CONCLUSION ...................................................................................................................... 32

Chapitre III : Détection des obstacles


1. Introduction ......................................................................................................................... 34

2. Description du système....................................................................................................... 34

3. Analyse fonctionnelle .......................................................................................................... 34

4. Description de la partie matérielle ..................................................................................... 35

4.1 Carte ARDUINO UNO ................................................................................................... 35,36

4.2
L298N ............................................................................................................................ 37,38,39
4.3 Moteur DC 3-6V ................................................................................................................ 40

4.4 HC-SR04 ...................................................................................................................... 41,42

4.5 Servomoteur ............................................................................................................... 43,44

5. Partie SOFTWARE ................................................................................................................ 45

5.1 Arduino IDE ....................................................................................................................... 45

5.2 ARDUINO POUR LA DETECTION D’OBSTACLE .............................................................. 45

6. Partie Expérimentale ........................................................................................................... 46

Chapitre IV : Suiveur de ligne


1. Introduction ......................................................................................................................... 54

1.1 Définition ........................................................................................................................... 54


1.2 Avantages et inconvénients .............................................................................................. 54
1.3 Principe de fonctionnement d’un RSL ............................................................................. 55
1.4 Domaines d’application.................................................................................................... 55
1.5 Organisation générale d’un robot suiveur ................................................................. 56,57
2. fonctionnement.................................................................................................................... 58

2.1 partie matériel ............................................................................................................. 58-61

4
2.2 Types de Capteurs Infrarouges (IR) ................................................................................ 62
3. Simulation du suiveur de ligne ............................................................................................ 63

3.1 La connexion entre l’Arduino et suiveur de ligne (capteurs de couleurs)..................... 64


3.2 Simulation sur PROTEUS ................................................................................................. 65
3.3 Partie logiciel ............................................................................................................... 66-68
3.4 Le code du suiveur de ligne........................................................................................ 69-71
4. Conclusion ........................................................................................................................... 72

Chapitre V : Détection et reconnaissance des panneaux de


signalisation
1. Introduction ......................................................................................................................... 74

1.1 Architecture générale de système.................................................................................... 74

1.1.1 Acquisition ...................................................................................................................... 75

1.1.2 Détection ........................................................................................................................ 75

1.1.3 Reconnaissance ............................................................................................................. 75

1.1.4 Suivi temporel ................................................................................................................ 75

1.1.5 Affichage ........................................................................................................................ 75

1.2 Les panneaux de signalisation ......................................................................................... 75

1.2.1 Panneaux d’interdiction ou de restriction .................................................................... 76

1.2.2 Panneaux d’avertissement de danger ......................................................................... 77

1.2.3 Panneaux des obligations ............................................................................................. 77

1.2.4 Panneaux de priorité .................................................................................................... 78

1.2.5 Panneaux de fin d’interdiction ou de restriction ......................................................... 78

2. Les difficultés pour la détection et la reconnaissance des panneaux ............................ 79

3. Méthodes de détection et de classification des panneaux ............................................. 79

3.1 Introduction ...................................................................................................................... 79

3.2 Le classificateur en cascade de Haar ............................................................................. 80

3.3 Les méthodes d’apprentissage profond pour la classification des panneaux ............ 82

3.3.1 Réseaux de neurones convolutifs (CNN)..................................................................... 83

3.3.2 Architectures CNN ......................................................................................................... 85

5
4. Expérimentation et Évaluation........................................................................................... 87

4.1 Introduction………………………………………………………………………………,,,,,,,,,,,,,, ..... 87

4.2 Présentation des outils ..................................................................................................... 88

4.2.1 Matériel........................................................................................................................... 88

4.2.2 Logiciel et environnement ............................................................................................ 88

4.3 Base de données .............................................................................................................. 89

4.3.1 Phase de reconnaissance ............................................................................................. 89

4.3.2 Importation des bibliothèques ...................................................................................... 89

4.4 Structure Complète du Module de Classification des Panneaux de Signalisation ..... 89

4.4.1 Importation des bibliothèques ...................................................................................... 89

4.4.2 Configuration des chemins et paramètres .................................................................. 90

4.4.3 Chargement et prétraitement des données .......................................................... 90-97

5. Conclusion ............................................................................................................................ 97

6
Liste des figures
Chapitre I : Système ADAS
Figure 1 : voiture autonome ................................................................................................... 10

Figure 2 : Premier ECU "Bosch" .............................................................................................. 11

Figure 3 : détection du l’entourage ........................................................................................ 12

Figure 4 : Voiture Autonome ................................................................................................... 12

Figure 5 : Différents types de capteurs ADAS utilisés dans les véhicules autonomes ...... 14

Figure 6 : Architecture du véhicule avec contrôleur ADAS .................................................. 14

Figure 7 : Freinage avec ABS .................................................................................................. 15

Figure 8 : Freinage sans ABS.................................................................................................. 15

Figure 9 : ESC on VS ESC off.................................................................................................. 16

Figure 10 : Le système antipatinage ...................................................................................... 16

Figure 11 : Camera de recule................................................................................................. 17

Figure 12 : Suivi la voie ............................................................................................................ 17

Figure 13 : Avertissement en cas de dépassement (vibration) ........................................... 17

Figure 14 : Système d'avertissement de collision avant ...................................................... 18

Figure 15 : Une action d'aide stationnement........................................................................ 18

Figure 16 : eyes On, hands Off ............................................................................................... 21

Figure 17 : Résume les 6 niveaux d'autonomie ..................................................................... 23

Chapitre II : Présentation du LDW, de l'ACC et du TSR pour les systèmes ADAS


Figure 18 : lane Départeur warning ...................................................................................... 25

Figure 19 : Champ de Vision de la Caméra Frontale ............................................................ 26

Figure 20 : types de signaux ................................................................................................... 26

Figure 21: block diagramme LDW ......................................................................................... 27

Figure 22 : Traffic Sign Recognition ........................................................................................ 27

Figure 23 : Détection de panneaux……………………………………………………, ....................... 28

Figure 24 : affichage de vitesse limite .................................................................................... 29

7
Figure 25 : block diagramme STR .......................................................................................... 29

Figure 26 : régulateur de vitesse............................................................................................. 30

Figure 27 : FoV of ACC ............................................................................................................. 31

Figure 28 : Long Range Radar ................................................................................................. 31

Figure 29 : Bosch - Long Range Radar .................................................................................. 31

Figure 30 : principe de ACC..................................................................................................... 32

Chapitre III : Détection des obstacles


Figure 32 : Arduino UNO......................................................................................................... 36

Figure 33 : L298N .................................................................................................................... 38

Figure 34 : Pont en H ............................................................................................................... 38

Figure 35 : contrôle .................................................................................................................. 39

Figure 36 : obtenir des sens et l'arrêt des moteurs .............................................................. 39

Figure 37 : Schéma du câblage d'un seul moteur ................................................................ 39

Figure 38 : Description du capteur ultra-son HC-SR04 ........................................................ 42

Figure 39 : Signal HC-SR04..................................................................................................... 42

Figure 40 : Le champ de fonctionnement du capteur .......................................................... 43

Figure 41 : Vue interne d’un servomoteur............................................................................. 44

Figure 43 : Interface ARDUINO .............................................................................................. 46

Figure 44 : Interface Arduino expliquée ................................................................................ 47

Figure 45 : schéma en utilisant le logiciel fritzing ............................................................... 50

Chapitre IV : Suiveur de ligne


Figure 46 :Représentation schématique d’une organisation générale d’un suiveur de
ligne.......................................................................................................................................... 57

Figure 47 : Exemple de cartes de développements électroniques à base de


microcontrôleurs ..................................................................................................................... 57

Figure 48 :Liste de quelques circuits de sorties .................................................................. 58

figure 49 : symbole du photo transistor ................................................................................. 59

Figure 50 : schéma fonctionnement de base ........................................................................ 60

8
Figure 51 : Capteur optique suiveur de ligne ....................................................................... 61

Figure 52 : Capteur des obstacles infrarouge suiveur de ligne 4 canaux ........................... 62

Figure 53 : Emetteur/Récepteur .............................................................................................. 63

Figure 54 : Détection du champs ( noir/blanc).................................................................... 64

Figure 55 : Les capteurs de couleur ....................................................................................... 64

Figure 56 : Tableau de Fonctionnement de suiveur de ligne.............................................. 64

Figure 57 : La connexion entre l’Arduino et suiveur de ligne............................................... 65

Figure 58 : Détection de la ligne noire selon l’état logique ................................................. 66

Figure 59 :Paramétrage de la carte étape1 ........................................................................... 67

Figure 60 : Paramétrage de la carte étape2 ......................................................................... 68

Figure 61 : Paramétrage de la carte étape3 ........................................................................ 68

Chapitre V : Détection et reconnaissance des panneaux de


signalisation
Figure 62 : Fonctionnement d’un système TSDR dans une voiture.................................... 74
Figure 63 : Panneaux d’interdiction ou de restriction .......................................................... 76
Figure 64 :Exemples de panneaux d’avertissement de danger .......................................... 77
Figure 65 :Exemples de panneaux des obligations ............................................................... 77

Figure 66 : Exemples de panneaux de priorité ...................................................................... 78

Figure 67 :Exemples de panneaux de fin d’interdiction ou de restriction .......................... 78

Figure 68 : Exemples de difficultés de détection : (a) Flou, (b) Éclairage, (c) Décoloration,
(d-e) Intempéries, (f) Occlusion .............................................................................................. 79

Figure 69 : Les étapes de la méthode du classificateur en cascade Haar ....................... 81

Figure 70 :Une vue générale de CNN...............................................................................83

Figure 71 : La différence entre Average Pooling et Max Pooling ....................................84

Figure 72 : Architecture LeNet.........................................................................................85

Figure 73 :Module d’Inception Naïf ................................................................................. 85

Figure 74 :Module d’Inception avec réduction de dimension ...................................... 86

Figure 75 : Architecture complète de GoogleNet……………………………………………

9
Chapitre I : Système ADAS

1. Introduction :

Ce présent chapitre introduit une présentation globale de l'ADAS (Advanced Driver


Assistance System), qui a constitué la base de notre projet de fin d'année. Nous
identifierons les sous-systèmes qui forment la base de ce système.

1. Présentation générale :

1.1 Advanced Driver Assistance Systems (ADAS) :


Les systèmes ADAS (Advanced Driver Assistance System) sont des systèmes de sécurité
passifs et actifs conçus pour éliminer la part d'erreur humaine dans la conduite de
véhicules de tous types. Les systèmes ADAS utilisent des technologies avancées pour
assister le conducteur pendant la conduite et améliorer ainsi ses performances. Les
ADAS utilisent une combinaison de technologies de capteurs pour percevoir le monde
autour du véhicule, puis fournissent des informations au conducteur ou prennent des
mesures si nécessaire.

Figure 1 : voiture autonome

Les systèmes ADAS sont aujourd'hui appliqués aux voitures, camions et bus, ainsi
qu'aux véhicules agricoles, de construction et militaires. Selon la NHTSA (The National

10
Highway Traffic Safety Administration ; l'administration nationale de la sécurité routière),
plus de 36 000 Américains ont été tués dans des accidents automobiles rien qu'en
2019. La note de recherche sur les faits de sécurité routière d'août 2016 de la NHTSA a
indiqué que 94 % de ces accidents étaient causés par une erreur humaine, c'est à-dire
des erreurs commises par le [Link]

Compte tenu de cette réalité, il est facile d'imaginer le nombre de vies qui pourraient
être sauvées par des systèmes ADAS efficaces permettant de prévenir un grand nombre
de ces erreurs.

1.2 Histoire et inventions des systèmes avancés d'assistance à la conduite


(ADAS) :

Les systèmes avancés d'assistance à la conduite (ADAS) ont une histoire relativement
récente par rapport à d'autres technologies automobiles, mais leur développement et
leur adoption ont connu une croissance rapide ces dernières années. Voici quelques-
unes des inventions et des jalons clés de l'histoire de l'ADAS :

• 1G61 - Premier régulateur de vitesse adaptatif : Le premier système de


régulateur de vitesse adaptatif a été développé par General Motors en
1961. Ce système utilisait un radar pour maintenir une distance de
sécurité par rapport aux autres véhicules sur la route.
• 1GG5 - Premier contrôle électronique de la stabilité : Le premier
système de contrôle électronique de la stabilité (ESC) a été développé par
Bosch en 1995. Ce système utilisait des capteurs pour détecter les
dérapages ou les pertes de contrôle d'un véhicule et appliquait les freins
sur des roues individuelles pour le stabiliser.

Figure 2 : Premier ECU "Bosch"

11
• Années 2000 - Développement rapide de l'ADAS : Au début des années
2000, les progrès des technologies des capteurs, des caméras et des
logiciels ont conduit au développement rapide des systèmes ADAS,
notamment l'avertisseur de franchissement de ligne, la surveillance des
angles morts et l'avertissement de collision frontale.

Figure 3 : détection du l’entourage

• Années 2010 - Conduite autonome : Dans les années 2010, le


développement de la technologie de conduite autonome s'est accéléré,
des entreprises comme Google, Tesla et Uber investissant massivement
dans les voitures autonomes. Les technologies ADAS telles que le
régulateur de vitesse adaptatif et l'assistance au maintien de la voie sont
des éléments clés de la conduite autonome.

Figure 4 : Voiture Autonome

• 2016 - Accident mortel avec Tesla Autopilote : En 2016, un conducteur


Tesla a été tué en utilisant le système Autopilote. Cet incident a mis en

12
évidence la nécessité de poursuivre le développement et les tests des
systèmes ADAS pour garantir leur sécurité et leur efficacité.
• Années 2020 - Croissance et innovation continues : Les technologies
ADAS
continuent d'évoluer rapidement, avec de nouvelles fonctionnalités telles que le
stationnement automatique, l'assistance aux embouteillages et le freinage d'urgence
devenant plus courantes. L'adoption de l'ADAS devrait continuer à croître dans les
années à venir, car de plus en plus de véhicules seront équipés de ces technologies de
série.

L'histoire des systèmes ADAS est une histoire d'innovation rapide et de progrès
constants. Ces systèmes ont le potentiel de rendre la conduite plus sûre et plus
agréable pour tout le monde. Alors que la technologie continue de se développer, nous
pouvons nous attendre à voir apparaître des systèmes ADAS encore plus sophistiqués
dans les années à venir.

1.3 Comment fonctionne l’ADAS :

L'ADAS fonctionne en alertant le conducteur d'un danger ou même en prenant des


mesures pour éviter un accident. Les véhicules équipés de systèmes d'aide à la
conduite peuvent détecter l'environnement qui les entoure, traiter ces informations
rapidement et avec précision dans un système informatique, et fournir les informations
correctes au conducteur. Les véhicules équipés de systèmes d'aide à la conduite
disposent d'un ensemble de capteurs avancés qui renforcent les yeux, les oreilles et la
prise de décision du conducteur humain. Pouvez-vous voir dans l'obscurité ? Pas très
bien, mais le RADAR le peut. Pouvez-vous écholocaliser comme une chauve-souris ou
un dauphin pour déterminer s'il y a un enfant derrière votre voiture avant de passer la
marche arrière ? Non, mais les capteurs SONAR le peuvent. Pouvez-vous voir dans
toutes les directions à la fois ? Non, mais les caméras et les capteurs LiDAR le peuvent.
Connaissez-vous à tout moment votre latitude et votre longitude exactes ? Non, mais
plusieurs constellations de satellites de positionnement global dans l'espace peuvent
envoyer ces informations à votre voiture, et plus encore.

13
Figure 5 : Différents types de capteurs ADAS utilisés dans les véhicules autonomes

1.4 Structure générale d’un système ADAS :


L’architecture du système ADAS se compose d’une série de capteurs, d’interfaces et
d’un puissant processeur informatique qui intègre toutes les données et prend des
décisions en temps réel. Ces capteurs examinent en permanence l’environnement du
véhicule et fournissent ces informations aux ordinateurs embarqués du système ADAS
pour qu’ils établissent des priorités et prennent des mesures. Aujourd’hui, ils sauvent
des vies en prévenant des accidents qui se seraient produits sans les systèmes ADAS.
Un jour, ces technologies conduiront à des véhicules entièrement autonomes.

Figure 6 : Architecture du véhicule avec contrôleur ADAS

1.5 Systèmes ADAS actifs vs. Passifs :

1.5.1 Les systèmes ADAS passifs :

14
Quel que soit le nombre ou le type de capteurs installés, dans un système ADAS PASSIF,
l'ordinateur ne fait qu'informer le conducteur d'une situation dangereuse. Le conducteur
doit prendre des mesures pour éviter que cette situation ne provoque un accident. Les
méthodes d'avertissement typiques comprennent des sons et des lumières
clignotantes, et parfois même un retour d'information physique, par exemple, un volant
qui tremble pour avertir le conducteur que la voie dans laquelle il s'engage est occupée
par un autre véhicule (détection de l'angle mort).

Les fonctions ADAS passives courantes comprennent :

ABS - Anti-lock Breaking Systems (système antiblocage des roues) : empêche la


voiture de déraper et de tourner lorsque le freinage d'urgence est utilisé.

▪ Fonctionnement :
- Lorsque le conducteur freine, le système hydraulique applique une pression sur les
plaquettes de frein pour ralentir la voiture.

- Si l'ABS détecte qu'une roue ralentit plus vite que les autres (risque de blocage), il
réduit la pression de freinage sur cette roue.

- Cela permet à la roue de continuer à tourner et d'éviter le blocage.

- L'ABS peut agir sur toutes les roues ou uniquement sur les roues avant, selon le
modèle de véhicule.

Figure7 : freinage avec abs figure 8 : freinage sans abs

ESC - Electronic Stability Control (correcteur électronique de trajectoire) : aide le


conducteur à éviter le sous-virage ou le survirage, en particulier dans des conditions de
conduite inattendues.

15
Figure 9 : ESC on VS ESC off
TCS - Traction Control System (système antipatinage) : incorpore des aspects de
l'ABS et de l'ESC ci-dessus, afin d'aider le conducteur à maintenir une traction adéquate
dans les virages et les courbes.

Figure 10 : Le système antipatinage

Fonctionnement : Le TCS reçoit des données transmises par les capteurs de vitesse des
roues du système de freinage antiblocage en cas d'augmentation soudaine de la vitesse
de rotation des roues. En agissant sur le boîtier de gestion du moteur, le système
antipatinage réduit la puissance. Plus l'adhérence à la route est mauvaise ou plus le
couple du moteur est élevé, plus il est important de bénéficier d'une bonne tenue de
route quelle que soit la vitesse sélectionnée. Le TCS assure une bonne tenue de route et
de trajectoire et, par-dessus tout, renforce la sécurité et le confort au volant. De plus, il
permet d'éviter une usure inutile des pneus. La fonction TCS peut être désactivée en
actionnant l'interrupteur prévu à cet effet.

Caméra de recul : permet au conducteur de voir ce qui se passe derrière la voiture,


lorsqu'il se gare ou fait marche arrière.

16
Figure 11 : Camera de recule

LDW - Lane Departure Warning (système d’avertissement de franchissement de


ligne) : Alerte le conducteur lors d'un franchissement involontaire d'une ligne continue
ou discontinue

Figure 12 : Suivi la voie

L’alerte de franchissement involontaire de ligne (ou AFIL) est un dispositif qui avertit le
conducteur d'une automobile quand il franchit involontairement (sans actionner ses
clignotants) une ligne continue ou discontinue. L'avertissement se manifeste par une
vibration dans le siège du conducteur du côté où le franchissement a lieu. Cette alerte
intuitive qui simule le roulement sur une bande rugueuse sonore a été préférée à une
alerte sonore moins facilement interprétable.

Figure 13 : Avertissement en cas de dépassement (vibration)

17
FCW - Forward Collision Warning (alerte d'anticollision frontale) : indique au
conducteur qu'il doit freiner afin d'éviter une collision.

Un appareil qui utilise un radar ou un laser ou un lidar pour mesurer la distance ou la


vitesse d'approche d'un véhicule précédant l'utilisateur, peut selon les mêmes principes
que dans la phase de freinage d’urgence du freinage automatique d'urgence détecter le
besoin de freiner. Le système alerte le conducteur du danger dans une logique de freiner
le véhicule pour éviter la collision.

Figure 14 : Système d'avertissement de collision avant

Le Park Assist : est un système d'aide active au stationnement. Il s'agit d'un système
qui utilise des capteurs et radars de recul pour déterminer si une place de parking
convient à votre voiture et vous aider à l'y garer. Le Park Assist prend en charge la
direction, laissant au conducteur les pédales et la boîte de vitesses.

Figure 15 : Une action d'aide stationnement

18
Fonctionnement : Comme le radar de recul, le fonctionnement du Park Assist s'appuie
sur des capteurs situés aux quatre coins de la voiture. Il combine d'ailleurs ceux-ci avec
des radars situés à l'avant et à l'arrière du véhicule. Ainsi, le Park Assist bénéficie d'une
reconnaissance à 360° de l'environnement.

C'est grâce à cette reconnaissance que le système peut analyser une place de
stationnement et déterminer si elle convient aux dimensions du véhicule. Si c'est le cas,
le Park Assist se charge de la direction, laissant au conducteur la charge de la boîte de
vitesses et du pédalier pour manœuvrer.

2.5.2 Les systèmes ADAS actifs

Dans un système ADAS ACTIF, le véhicule prend des mesures directes. Les fonctions
ADAS passives courantes comprennent :

Voici quelques exemples de fonctions ADAS actives :

Le freinage automatique d'urgence : freine automatiquement si nécessaire pour éviter


de heurter un véhicule précédent ou un autre objet, y compris les piétons, les animaux
ou tout autre objet se trouvant sur la voie de circulation.

Direction d'urgence : dirige la voiture pour éviter de heurter un objet sur la voie de
circulation.

Régulateur de vitesse adaptatif : ajustement de la vitesse du régulateur de vitesse


pour s'adapter aux véhicules qui le précèdent.

Assistance au maintien dans la voie et centrage sur la voie : dirige la voiture pour
qu'elle reste centrée sur sa voie.

Assistance embouteillage : combine le régulateur de vitesse adaptatif et l'assistance


au maintien dans la voie pour fournir une aide semi-automatique au conducteur en cas
de circulation dense, c'est-à-dire en cas d'embouteillages dus à la fermeture de voies, à
la construction de routes, etc.

Stationnement automatique : l'auto manipulation dans les espaces de stationnement.

1.6 Les six niveaux d'autonomie des véhicules :


Le terme autonomie vient des racines grecs « Auto », soi-même, et « Nomos », les règles.
Ainsi, un véhicule autonome doit être capable de réagir par soi-même suivant des règles
définies. Afin de réaliser les missions qui lui seront données, un tel véhicule doit
percevoir l’environnement et le comprendre, décider d’une manœuvre et en planifier sa

19
réalisation. Une voiture autonome, également connue sous le nom de véhicule
autonome ou véhicule auto conduit, est un type de véhicule capable de se déplacer et
de naviguer sans intervention humaine directe. Ce type de voiture utilise une
combinaison de capteurs, de caméras, de radars et de systèmes d'intelligence
artificielle pour percevoir son environnement et prendre des décisions de conduite.

1.6.1 Le niveau 0 : pas d’autonomie, aucune assistance :


Comme son nom l’indique, c’est le niveau zéro de l’autonomie et de l’assistance.
Comprenez par-là que l’entièreté de la partie conduite est réalisée par le conducteur,
sans aucune aide de la voiture. Ici, pas de régulateur de vitesse, pas de freinage
automatique d’urgence ou bien même d’aide au maintien dans la voie. Le niveau 0
intègre toutefois des fonctionnalités de conduite autonome : le freinage automatique
d’urgence, l’avertisseur d’angle mort et l’avertissement de franchissement de voie. Il
s’agit d’avertissement, via différents signaux visuels et sonores, mais la voiture ne va
pas modifier sa vitesse ou sa trajectoire.

Description : À ce niveau, le conducteur humain est entièrement responsable de toutes


les tâches de conduite : accélérer, freiner, diriger et surveiller l'environnement.

Exemples : La plupart des véhicules sur la route aujourd'hui, sans aucune assistance
automatisée.
1.6.2 Le niveau 1 : assistance à la conduite, eyes on-hands on :
C’est globalement ce que nous retrouvions sur les voitures neuves des années 2010. Le
conducteur est évidemment présent 100 % du temps et la voiture n’est supposée
prendre aucune décision « seule ». Mais elle propose différentes fonctionnalités d’aide à
la conduite au conducteur.

Parmi ces assistances, nous pouvons citer le régulateur de vitesse adaptatif (la voiture
accélère et ralentit d’elle-même) et l’aide au maintien dans la voie (pour rester au centre
de celle-ci).

Le niveau 1 permet à une seule de ces deux fonctionnalités de fonctionner en même


temps. Si elles fonctionnent en parallèle, on passe alors au niveau 2.

Description : Le véhicule peut fournir une assistance au conducteur pour une seule
tâche de conduite à la fois, comme la direction ou l'accélération/freinage. Le
conducteur doit rester engagé et superviser activement la conduite.

20
Exemples : Régulateur de vitesse adaptatif (ACC) qui ajuste automatiquement la vitesse
pour maintenir une distance de sécurité avec le véhicule devant, ou système de
maintien de voie qui aide à garder la voiture centrée dans sa voie.

1.6.3 Le niveau 2 : automatisation partielle, eyes on-hands off


Comme pour le niveau 1, le conducteur doit garder un œil sur son environnement pour
pouvoir reprendre rapidement le contrôle du véhicule si besoin. Le niveau 2 permet à la
voiture d’accélérer, ralentir et conserver sa place dans la voie d’elle-même. Le
conducteur est toujours responsable de la conduite.

C’est pour cette raison qu’il faut (selon les voitures) soit maintenir le volant dans entre
ses mains, soit continuer à regarder la route. C’est cette dernière voie qu’a choisie
Cadillac avec son Super Cruise, grâce à une caméra dans l’habitacle qui surveille le
conducteur et le rappelle à l’ordre s’il ne regarde plus la route.

Figure 16 : eyes On, hands Off


Description : Le véhicule peut contrôler simultanément la direction et
l'accélération/freinage, mais le conducteur doit rester vigilant et prêt à reprendre le
contrôle à tout moment. Le conducteur doit également surveiller l'environnement et la
situation de conduite.

Exemples : Systèmes comme Tesla Autopilote ou Cadillac Super Cruise, qui peuvent
gérer la direction et la vitesse sur l'autoroute, mais nécessitent que le conducteur garde
les mains sur le volant et les yeux sur la route.

1.6.4 Le niveau 3 : autonomie conditionnelle, eyes off-hands off


La voiture va utiliser des fonctionnalités similaires au niveau 2, mais avec une différence
de taille : le conducteur n’est plus responsable de la conduite. C’est la voiture qui «

21
conduit » et le conducteur devient alors un simple passager. Attention toutefois puisque
la voiture peut demander au conducteur de reprendre le volant, si celle-ci ne rencontre
plus les conditions nécessaires à la conduite autonome de niveau 3. Ainsi, en Europe, la
conduite autonome de niveau 3 n’est pas accessible partout et tout le temps. Le niveau
3 indique que le conducteur doit pouvoir être capable de reprendre le contrôle du
véhicule à tout moment, mais que la voiture est parfaitement autonome dans certaines
conditions.

Description : Le véhicule peut gérer toutes les tâches de conduite dans certaines
conditions environnementales ou sur des routes spécifiques. Le conducteur peut
déléguer la conduite au système, mais doit être prêt à intervenir lorsque le véhicule le
demande.

Exemples : Systèmes en développement comme le système Traffic Jam Pilot de Audi,


qui peut gérer la conduite dans des embouteillages à faible vitesse sur des autoroutes.

1.6.5 Le niveau 4 : autonomie élevée, eyes off-hands off-mind off


Avec le niveau 4, le conducteur n’est plus nécessaire. C’est la voiture qui porte la
responsabilité de la conduite. Mais uniquement dans certaines circonstances et sur
certaines routes. Le véhicule assure l’ensemble de la conduite de manière
complètement autonome, c’est-à dire sans même la présence nécessaire d’un
conducteur à bord. Le système porte sa responsabilité sur toutes les actions qu’il va
effectuer, notamment concernant les manœuvres ou encore ses décisions en fonction
de l’évolution de l’environnement. Il est ainsi possible de retirer le volant et les pédales.

Description : Le véhicule peut accomplir toutes les tâches de conduite et surveiller


l'environnement dans des conditions définies (comme la conduite urbaine dans
certaines zones ou la conduite sur des autoroutes). Aucune intervention humaine n'est
nécessaire dans ces conditions, mais le véhicule peut ne pas être capable de
fonctionner dans toutes les situations (par exemple, routes rurales ou par mauvais
temps).

Exemples : Véhicules de navette autonome opérant dans des zones géographiquement


limitées, comme Waymo One à Phoenix, qui peut conduire de manière autonome dans
certaines zones prédéfinies.

1.6.6 Le niveau 5 : autonomie élevée complète, driverless :


Le véhicule cumule absolument toutes les tâches de conduite et n’est soumis à aucune
intervention humaine. Qu’il soit sur autoroute ou bien en plein centre-ville, de nuit
comme de jour, il est capable d’évoluer en totale autonomie. La conduite humaine
devient alors une option de plaisir, l’autonomie du véhicule est la norme. Les éléments
de contrôle comme le volant ou les pédales ne sont plus nécessaires.

22
Description : Le véhicule est entièrement autonome et capable de gérer toutes les
tâches de conduite dans toutes les conditions environnementales et sur toutes les
routes. Aucun conducteur humain n'est nécessaire, et le véhicule peut fonctionner sans
volant ou pédales.

Exemples : Ce niveau d'automatisation n'est pas encore commercialement disponible,


mais des entreprises comme Waymo, Tesla, et d'autres y travaillent activement

Figure 17 : Résume les 6 niveaux d'autonomie

2. CONCLUSION
En résumé, ce chapitre nous a permis d'explorer les multiples facettes des systèmes
avancés d'aide à la conduite (ADAS) et de l'autonomie des véhicules. Nous avons
abordé des sujets essentiels tels que les définitions clés des ADAS, l'évolution
historique de ces technologies, la structure fondamentale des sous-systèmes utilisés
dans les ADAS. De plus, nous avons identifié les différents niveaux d'autonomie des
véhicules, allant du niveau 0 (aucune automatisation) au niveau 5 (automatisation
complète).

23
Chapitre II : Présentation du LDW, de l'ACC et du TSR pour les systèmes ADAS

1. INTRODUCTION :

Ce chapitre introduit trois systèmes ADAS qui constituent les objectifs principaux de
notre étude : la détection de franchissement de ligne (LDW), la reconnaissance de
panneaux de signalisation (STR) et le régulateur de vitesse adaptatif (ACC).

1. Présentation de LDW :

1.1 Définition :
Le système de Détection de Déviation de Voie (LDW, Lane Departure Warning) est un
composant avancé des systèmes avancés d'aide à la conduite (ADAS) conçu pour
alerter le conducteur lorsqu'un véhicule commence à quitter involontairement sa voie
de circulation. En utilisant des caméras montées sur le véhicule, ce système surveille
activement la position du véhicule par rapport aux marquages de la route. Lorsqu'une
déviation non intentionnelle est détectée, le conducteur est averti par des moyens
tactiles tels qu'une vibration du volant ou des signaux sonores. Sur certains modèles de
véhicules équipés d'une fonctionnalité avancée, le système peut également corriger
automatiquement la trajectoire du véhicule pour le maintenir entre les lignes de voie.
Cette fonctionnalité, connue sous le nom d'Assistance au Maintien sur la Voie,
intervient lorsque le véhicule franchit les lignes de démarcation, continues ou
discontinues, sans activation préalable du clignotant. En conséquence, le conducteur
est promptement alerté et guidé vers une correction de trajectoire, réduisant ainsi les
risques associés à l'erreur humaine, aux distractions et à la fatigue.

Figure 18 : lane Départeur warning

24
1.2 Principe de fonctionnement :
Le système d'Avertisseur de Déviation de Voie et de Prévention (Lane Departure Warning
and Prevention System - LDW) utilise une série de capteurs et de technologies avancées
pour assurer la sécurité des conducteurs en les avertissant lorsqu'ils dévient
involontairement de leur voie. Le processus commence par la surveillance de
l'environnement routier à l'avant du véhicule grâce à une caméra frontale et à d'autres
capteurs de position et de vitesse.

Ces capteurs capturent continuellement des données sur les marquages de voie et la
position du véhicule par rapport à ces marquages.

Figure 19 : Champ de Vision de la Caméra Frontale

Les données capturées sont ensuite analysées par le système pour détecter les
marquages de voie et déterminer la position du véhicule dans sa voie. Si le système
détecte que le véhicule commence à quitter sa voie sans que le clignotant
correspondant ne soit activé, cela est interprété comme une déviation involontaire. Le
système décide alors s'il doit alerter le conducteur ou prendre des mesures correctives.
Pour alerter le conducteur, le système utilise plusieurs types de signaux : visuels
(clignotement LED), sonores (signal audio) et haptiques (vibration du volant). Ces
alertes sont conçues pour attirer immédiatement l'attention du conducteur sur la
déviation de la trajectoire, l'incitant ainsi à reprendre le contrôle du véhicule et à corriger
sa trajectoire.

25
Figure 20 : types de signaux

Si le conducteur ne réagit pas aux alertes, certains systèmes LDW avancés peuvent
intervenir activement en appliquant une légère correction au volant. Cette intervention
aide à ramener le véhicule au centre de sa voie, évitant ainsi une sortie de voie
potentiellement dangereuse. En combinant ces éléments, le LDW joue un rôle crucial
en améliorant la sécurité routière, en réduisant les risques d'accidents dus à la
distraction, à la somnolence ou à d'autres formes d'inattention du conducteur.

Figure 20 : block diagramme LDW

2. Présentation de TSR :
2.1 Définition :
La Reconnaissance des Panneaux de Signalisation (TSR - Traffic Sign Recognition) est
une technologie avancée d'aide à la conduite (ADAS) qui améliore la sécurité routière en
identifiant et en affichant les panneaux de signalisation, tels que les limitations de
vitesse et les interdictions, sur le tableau de bord ou l'affichage tête haute du véhicule.
Cette technologie aide les conducteurs à rester informés des règles de la route même
s'ils ont manqué de voir un panneau et peut émettre des avertissements pour attirer leur
attention. Intégré avec d'autres systèmes ADAS, le TSR peut ajuster automatiquement la
vitesse du véhicule en fonction des limitations détectées. Bien que limité par certaines
conditions comme le mauvais temps ou les panneaux endommagés, le TSR est un atout
majeur pour la sécurité routière et se généralise de plus en plus chez les constructeurs
automobiles.

Figure 22 : Traffic Sign Recognition


26
2.2 Principe de fonctionnement :
Le système de reconnaissance des panneaux de signalisation (TSR) repose sur
l'utilisation avancée de caméras et de logiciels pour améliorer la sécurité et l'efficacité
de la conduite. Les caméras installées sur le véhicule captent en temps réel les images
de la route et des panneaux de signalisation qui s'y trouvent. Ces images sont traitées
par des algorithmes sophistiqués de traitement d'image, qui effectuent plusieurs tâches
critiques : localisation des panneaux dans le champ de vision, extraction des
caractéristiques visuelles des panneaux (comme les formes, les couleurs et les
symboles), et reconnaissance des informations textuelles lorsque cela est nécessaire.

Figure 23 : Détection de panneaux

Une fois que les panneaux sont identifiés et classifiés, le système compare les données
extraites avec une base de données intégrée contenant des informations sur divers
types de panneaux de signalisation. Cela permet au TSR de déterminer la signification
exacte du panneau détecté, telle que la limitation de vitesse actuelle, les indications sur
les voies, les arrêts obligatoires, ou d'autres informations pertinentes pour la sécurité
routière.

Les résultats de cette analyse sont ensuite communiqués au conducteur par le biais
d'une interface utilisateur intuitive, souvent intégrée au tableau de bord du véhicule.
Cela peut se faire via des affichages visuels directs des panneaux et de leurs
significations associées, des alertes visuelles ou des alertes sonores pour attirer
l'attention du conducteur sur des panneaux critiques. Ces notifications en temps réel
aident les conducteurs à respecter plus facilement la signalisation routière, à prendre
des décisions plus informées et à réduire les risques d'accidents.

27
Figure 24 : affichage de vitesse limite

Pour fonctionner efficacement, le TSR doit surmonter plusieurs défis, tels que la
variation des conditions météorologiques (comme la pluie, la neige, ou le brouillard), les
variations de luminosité, ainsi que les obstacles physiques comme les véhicules ou les
panneaux partiellement cachés. Les systèmes modernes utilisent des techniques
avancées comme l'apprentissage profond (Deep Learning) pour améliorer la robustesse
et la précision de la reconnaissance, réduisant ainsi les erreurs et les faux positifs.

Malgré ses avantages indéniables, le TSR présente encore des limites. Il peut rencontrer
des difficultés à détecter les panneaux partiellement endommagés ou mal entretenus,
ainsi que ceux qui sont partiellement obstrués ou très éloignés. De plus, sa
performance peut être affectée dans des environnements urbains denses ou dans des
zones où la signalisation est complexe et dense.

Figure 25 : block diagramme STR

3. Présentation de ACC :
3.1 Définition :
L'Adaptive Cruise Control (ACC) est un système sophistiqué intégré aux véhicules
modernes pour améliorer la sécurité et le confort des trajets sur route. Utilisant des
technologies avancées telles que des capteurs radar ou des caméras, l'ACC surveille en

28
temps réel la distance entre votre véhicule et celui qui le précède. Cette surveillance
permet à l'ACC d'ajuster automatiquement la vitesse de votre véhicule afin de maintenir
une distance sécuritaire prédéterminée, évitant ainsi les risques d'accidents dus à un
suivi inapproprié.

L'ACC fonctionne de manière autonome pour gérer la vitesse, réagissant de manière


anticipée aux variations de vitesse du véhicule devant vous. En cas de ralentissement
ou d'arrêt soudain du véhicule précédent, l'ACC peut décélérer votre véhicule de
manière progressive, voire appliquer les freins si nécessaire, pour maintenir une
distance sécuritaire. De même, lorsque le véhicule précédent accélère ou s'éloigne,
l'ACC ajuste la vitesse de votre véhicule pour suivre de manière fluide, garantissant ainsi
une conduite confortable et sans stress.

Ce système contribue significativement à la sécurité routière en réduisant les risques


de collision arrière, l'une des principales causes d'accidents sur autoroute. De plus, en
déchargeant le conducteur de la gestion constante de la vitesse et de la distance, l'ACC
permet à celui-ci de se concentrer davantage sur d'autres aspects critiques de la
conduite, comme l'observation de la circulation et la prise de décisions stratégiques.

Figure 26 : régulateur de vitesse

3.2 Principe de fonctionnement :


Le fonctionnement du régulateur de vitesse adaptatif (ACC) repose sur une série
d'étapes complexes qui garantissent une conduite automatisée mais sécuritaire.
Initialement, des capteurs, souvent des radars situés à l'avant du véhicule, scannent en
continu la voie de circulation pour repérer les véhicules qui s'y trouvent.

29
Figure 27 : FoV of ACC

Ces capteurs émettent des ondes radar et analysent les échos pour déterminer la
distance, la vitesse relative et la direction des véhicules environnants. Ces informations
sont essentielles pour évaluer la position du véhicule par rapport aux autres et calculer
une distance de sécurité optimal

Figure 28 : Long Range Radar Figure 29 : Bosch - Long Range Radar

Une fois que les données brutes sont collectées, elles sont traitées par des algorithmes
avancés à bord du véhicule. Ces algorithmes prennent en compte la vitesse définie par
le conducteur, ainsi que les informations sur la vitesse et la direction du véhicule qui
précède, pour décider de la meilleure façon de maintenir une distance sécuritaire. Ce
processus de traitement des données est crucial car il permet au système ACC de réagir
rapidement et précisément aux changements de situation sur la route, comme les
ralentissements soudains du trafic ou les véhicules qui changent de voie.

30
Figure 30 : principe de ACC

Une fois que le module de traitement a pris une décision sur la vitesse à adopter, des
actionneurs situés dans le système de freinage et d'accélération du véhicule sont
activés. Ces actionneurs ajustent automatiquement la vitesse du véhicule en fonction
des instructions du système ACC. Si nécessaire, le système peut également prévenir le
conducteur de manière proactive en cas de danger imminent, par exemple en activant
des alertes visuelles sur le tableau de bord ou en émettant des avertissements sonores
pour inciter une réaction rapide.

Figure 31 : block

Malgré ses avantages évidents en termes de sécurité et de confort, le régulateur de


vitesse adaptatif présente également des limites importantes. Par exemple, il peut avoir
des difficultés à détecter des objets non conventionnels sur la route, tels que des motos
ou des cyclistes, en raison de leur petite taille et de leur profil radar différent. De plus,
des conditions météorologiques extrêmes comme le brouillard dense ou la neige
peuvent affecter la précision des capteurs radar, réduisant ainsi l'efficacité du système
ACC.

4. CONCLUSION :
En conclusion, ce chapitre a présenté trois systèmes avancés d'aide à la conduite
(ADAS) qui seront les principaux sujets d'étude de notre recherche : la détection de

31
franchissement de ligne (LDW), la reconnaissance de panneaux de signalisation (STR) et
le régulateur de vitesse adaptatif (ACC). Ces technologies jouent un rôle crucial dans
l'amélioration de la sécurité routière et dans l'optimisation de l'expérience de conduite
en intégrant des fonctionnalités avancées pour assister les conducteurs dans
différentes conditions de circulation.

32
Chapitre III : Détection des obstacles

1. INTRODUCTION :
L'idée principale de ce projet été de réaliser un robot mobile type voiture puis de le
guider automatiquement en l'obligeant à suivre une trajectoire. Ce qui fait que ce travail
a été divisé en trois parties, une partie commande et l'autre mécanique et informatique.
La réalisation de ce véhicule requiert diverses notions dans plusieurs domaines :
électronique, informatique, électrotechnique et mécanique, ce qu'on appelle
brièvement Robotique. La commande de ce véhicule sera assurée principalement par
carte de commande à base de microcontrôleur.

Mon robot embarque des fonctionnalités inspirées des systèmes ADAS. Le suivi de ligne
simule la fonction LDW. De plus, le robot adapte sa vitesse selon la distance à un
obstacle, reproduisant le comportement d’un ACC simplifié.

Le robot éviteur 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 analyse 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
le GRAFCET.

2. Description du système :
Notre robot éviteur 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 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ûr et il continue en mouvement rectiligne.

3. Analyse fonctionnelle :

- Grafcet :
On a réalisé le grafcet de niveau 1 suivant :

On définit les actionneurs suivants :

▪ m : mis en marche du robot


▪ o : présence d’un obstacle
▪ d : la probabilité de trouver un obstacle à droite plus sûr que le trouver à
gauche

33
▪ g : la probabilité de trouver un obstacle à gauche plus sûr que le trouver à
droite.
Donc :

4. Description de la partie matérielle :


4.1 Carte ARDUINO UNO :
La carte Arduino Uno est une plateforme de prototypage électronique open-source
basée sur un microcontrôleur ATmega328P. Elle est largement utilisée dans le domaine
de l'électronique et de la robotique pour créer des prototypes interactifs et des
systèmes automatisés. La carte Uno offre une interface conviviale avec ses nombreux
ports d'entrée/sortie numériques et analogiques, facilitant ainsi le développement de
projets variés. L'intérêt principal des cartes Arduino est leur facilité de mise en œuvre,
vu que Arduino fournit un environnement de développement qui s'appuyé sur des outils
open source disponibles pour tout le monde.

Parmi toutes ces fonctionnalités, on peut citer les avantages suivants :

▪ Peu coûteux : Les cartes Arduino sont relativement peu coûteuses par
rapport aux autres plates-formes de microcontrôleurs, la version la moins
chère du module Arduino peut être assemblée à la main pour diminuer le
coût, et même les modules Arduino pré assemblés coûtent peu cher.
▪ Multiplateforme le logiciel Arduino (IDE) fonctionne sur la plupart des
systèmes d'exploitation pour ordinateur : Windows, Macintosh OSX et
Linux, contrairement à la plupart des autres systèmes de
microcontrôleurs, qui sont souvent limités à Windows uniquement.

34
Figure 32 : Arduino UNO

➢ Caractéristiques techniques de la carte Arduino Uno :

- Microcontrôleur : ATmega328P
- Fréquence d'horloge : 16 MHz

- Mémoire Flash : 32 KB
- SRAM : 2 KB

- EEPROM : 1 KB

- Tension d'alimentation : 5V via USB ou 7-12V via adaptateur externe


- Ports d'entrée/sortie numériques : 14 (dont 6 PWM)

- Ports d'entrée analogiques : 6

- Interface USB : Type B

➢ L’utilisation :
Le Raspberry Pi se charge du traitement d'images et de la reconnaissance d'objets,
tandis que la carte Arduino Uno contrôle la voiture à 4 roues en fonction des
instructions reçues du Raspberry Pi. Cette approche permet une séparation claire des

35
tâches et une coordination efficace entre le traitement d'images et le contrôle des
actionneurs dans notre système.

4.2 L2G8n :
Le L298N est un pont en H double intégré utilisé pour le contrôle des moteurs à courant
continu (DC). Il est très populaire dans les projets électroniques, notamment dans ceux
impliquant des robots et des véhicules motorisés, en raison de sa facilité d'utilisation et
de sa capacité à contrôler la direction et la vitesse des moteurs DC.

➢ Caractéristiques techniques du L298N :

- Tension d'alimentation : 5V à 35V

- Courant de sortie : Jusqu'à 2A par canal (avec un dissipateur de chaleur


approprié)
- Nombre de canaux : 2 canaux (pour contrôler deux moteurs indépendamment)

- Type de charge : Moteurs à courant continu (DC) ou moteurs pas à pas bipolaires

- Interface de contrôle : Commande en PWM (Pulse Width Modulation) pour


contrôler la vitesse, et signaux de direction pour contrôler la rotation du moteur

- Protection intégrée : Diodes de protection contre les pics de tension générés par
le moteur

- Compatibilité : Compatible avec une variété de microcontrôleurs, y compris


Arduino et Raspberry Pi, pour le contrôle des moteurs 44

36
Figure 33 : L298N

➢ Fonctionnement :

- Les ponts en H :
Les Ponts en H ne sont en fait qu’un nom donné à une configuration particulière, de
composants électroniques. Classiquement, ceux-ci sont composés de 4 transistors,
disposés d’une certaine manière, formant visuellement la lettre « H » (ou presque !).

Figure 34 : Pont en H

➢ Commande :
Les ports ENA et ENB permettent de gérer l’amplitude de la tension délivrée au moteur,
grâce à un signal PWM. Les ports In1, In2 pour le moteur A et In3, In4 pour le moteur B,
permettent de contrôler le pont en H et par conséquent le sens de rotation des moteurs.

37
Figure 35 : contrôle

Figure 36 : obtenir des sens et l'arrêt des moteurs

➢ Câblage :
Le schéma de câblage suivant utilise le pont B.

Figure 37 : Schéma du câblage d'un seul moteur

4.3 Moteur DC 3-6V :

38
Un moteur à courant continu (DC) est un type de moteur électrique largement utilisé
dans de nombreuses applications, notamment dans les projets électroniques, les
robots, les véhicules électriques, etc. Il fonctionne en convertissant l'énergie électrique
en mouvement mécanique rotatif.

➢ Caractéristiques techniques d'un moteur DC :

- Tension nominale : La tension nominale est la tension à laquelle le


moteur est conçu pour fonctionner de manière optimale. Elle peut
varier en fonction du modèle du moteur, par exemple 5V, 12V, 24V, etc.

- Courant nominal : Le courant nominal est le courant maximal que le


moteur peut consommer lorsqu'il fonctionne à sa tension nominale. Il
est important de choisir une alimentation adaptée au courant nominal
du moteur pour éviter les surcharges.

- Vitesse de rotation : La vitesse de rotation du moteur est généralement


mesurée en tours par minute (RPM). Elle peut varier en fonction de la
tension appliquée et de la charge mécanique.

- Couple : Le couple du moteur représente sa capacité à produire un


effort rotatif. Il est mesuré en unités de force multipliées par une
distance, par exemple en Newton-mètre (Nm).

- Type de connexion : Les moteurs DC peut avoir différentes


configurations de connexion, telles que deux fils pour un sens de
rotation ou trois fils pour un contrôle bidirectionnel avec inversion de
polarité.

- Contrôle de vitesse : Certains moteurs DC peut être contrôlés en


vitesse en utilisant des techniques telles que la modulation de largeur
d'impulsion (PWM) pour varier la tension moyenne appliquée au
moteur.
- Protection contre les surcharges : Certains moteurs DC intègre des
dispositifs de protection contre les surcharges, tels que des fusibles
ou des limites de courant, pour éviter les dommages en cas de
surcharge.

4.4 HC-SR04 :

39
Les capteurs ultrasons fonctionnent en mesurant le temps de retour d'une onde sonore
inaudible par l'homme émise par le capteur. La vitesse du son étant à peu près stable,
on en déduit la distance à l'obstacle. on utilise ces capteurs pour localiser le robot par
rapport à des obstacles statiques ou dynamiques, ce capteur repose sur l'idée de
calculer le temps de vol d'un signal ultrasonique depuis son point de départ. Alors si la
distance entre le transducteur et l'obstacle est « D » donc la distance parcourue par
l'onde ultrasonique est « 2D », le temps du parcoure est donné par :

Où :

T : le temps entre l'émission et la réception.

D : distance entre le transducteur et l'obstacle.

V : la vitesse de déplacement des ultrasons dans l'aire.

Généralement, l'air est la porteuse de l'onde ultrasonique, cette dernière se propage, à


la même vitesse que le son.

➢ Principe de fonctionnement :

40
Figure 38 : Description du capteur ultra-son HC-SR04

- On envoie une impulsion HIGH de 10µs sur la broche TRIGGER du


capteur.

- Le capteur envoie alors une série de 8 impulsions ultrasoniques à


40KHz (inaudible pour l'être humain, c'est quand plus agréable qu'un
biiiiiiiip).

- Les ultrasons se propagent dans l'air jusqu'à toucher un obstacle et


retourne dans l'autre sens vers le capteur.

- Le capteur détecte l'écho et clôture la prise de mesure.


Le signal sur la broche ECHO du capteur reste à HIGH durant les étapes 3 et 4, ce qui
permet de mesurer la durée de l'aller-retour des ultrasons et donc de déterminer la
distance.

Figure 39 : Signal HC-SR04

Le son 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

41
par 10µs pour obtenir le temps t. La vitesse du son est égale à environ 340m/s ce qui
nous donnes :

d = (340000cm.10µs/ 1000000us) *t

Donc :

d =(170cm/1000) *t

La particularité du capteur chinois HC-SR04 s’incarne au début dans son prix qui n’est
vraiment pas cher (30 DHs), puis dans ses caractéristiques qui sont moyennement
satisfaisantes. En effet, ce dernier fonctionne avec une tension d’alimentation de 5
volts, dispose d’un angle de mesure de 15° environ et permet de faire des mesures de
distance d’un mètre à peu près, une précision de 3mm (en théorie, dans la pratique ce
n’est pas tout à fait exact), et c’est ce qui va nous permettre de rendre le projet plus
optimal en ajoutant 2 autres d’avoir une vision claire des obstacles et de diminuer le
temps de réponses.

Figure 40 : Le champ de fonctionnement du capteur

4.5 Servomoteur :

Un servomoteur est un système asservi (ou système bouclé); il s’agit d’un moteur à
courant continu enfermé dans un boîtier de petite taille avec des constituants
électroniques et mécanique. Sa fonctionnalité est de tenir une position angulaire
donnée fournie au système en entrée sous forme d’un signal électrique. On en trouve de
toutes les tailles et de toutes les puissances. La plupart du temps la sortie peut se
positionner entre 0 et 180°. Il en existe également dont la sortie peut se débattre sur
seulement 90° et d’autres, ayant un plus grand débattement, sur 360°. Ceux qui ont la
possibilité de faire plusieurs tours sont souvent appelés servo-treuils. Enfin, les
derniers, qui peuvent faire tourner leur axe sans jamais se buter, sont appelés

42
servomoteurs à rotation continue. Les servomoteurs sont très fréquemment employés
dans les applications de modélisme pour piloter le safran d’un bateau, le gouvernail
d’un avion ou bien même les roues d’une voiture téléguidée.

➢ Composition :
Le servomoteur est composé de plusieurs éléments visibles et invisible :

- Un moteur à courant continu

- Des engrenages pour former un réducteur (en plastique ou en métal)

- Un capteur de position de l’angle d’orientation de l’axe (un


potentiomètre)

- Une carte électronique pour le contrôle de la position de l’axe et le


pilotage du moteur à courant continu
- Les fils, qui sont au nombre de trois

- L’axe de rotation sur lequel est monté un accessoire en plastique ou en


métal
- Le boitier qui le protège

Figure 41 : Vue interne d’un servomoteur

➢ Principe de fonctionnement d’un servomoteur :

43
La plupart des servomoteurs sont commandés par l’intermédiaire d’un câble électrique
à trois fils qui permet d’alimenter le moteur et de lui transmettre des consignes de
position sous forme d’un signal codé en largeur d’impulsion plus communément appelé
PWM. Cela signifie que c’est la durée des impulsions qui détermine l’angle absolu de
l’axe de sortie et donc la position du bras de commande du servomoteur. Le signal est
répété périodiquement, en général toutes les 20 millisecondes, ce qui permet à
l’électronique de contrôler et de corriger continuellement la position angulaire de l’axe
de sortie, cette dernière étant mesurée par le potentiomètre.

5. Partie SOFTWARE :

5.1 Arduino IDE :


Arduino IDE est le logiciel qui permet de programmer les cartes Arduino, ou d’autres
cartes à microcontrôleur, cet Environnement de Développement Intégré (EDI) est né en
même temps que la carte Arduino, c’est d’ailleurs une évolution de Wiring et de Process
(d’autres langages écrits sous licences libres avant la création de Arduino), le langage
utilisé est très proche des langages C et C++ auxquels s’ajoutent les fonctions des
nombreuses bibliothèques.

Figure 42 : Logo ARDUINO

Il est écrit en Java (un langage de programmation multiplateforme), ce qui permet un


portage facile et une interface quasiment identique, quel que soit le système

44
d’exploitation. L’IDE d’Arduino permet de regrouper dans le même outil les programmes
nécessaires au pilotage de la carte, il comprend également un éditeur de texte, un
débogueur/compilateur, une interface permettant de gérer les ports COM et le type de
carte, de plus, il fournit de nombreux exemples, installe automatiquement les drivers les
plus courants, et assure ensuite la communication avec l’Arduino (téléversement et
moniteur série) .

Cet Arduino IDE simplifie la programmation pour les cartes d’Arduino ou autre, il
ressemble à n’importe quel autre IDE de programmation, c'est-à-dire, il contient un
éditeur pour coder et compiler, de plus, il inclut de différents éléments d’aide pour
l’utilisateur qui vont au-delà des propres guides simples, mais aussi il a des exemples
de code pour différentes fonctionnalités et appareils. Il est pensé pour que n’importe
qui puisse commencer à s’en servir avec des connaissances de base, dans tous les cas
il existe de milliers de tutoriels sur internet pour apprendre programmer pour les
débutants.

Figure 43 : Interface ARDUINO

➢ Structure d’un programme Arduino :


Un programme Arduino est constitué de trois parties (fonctions) :

- Partie 1 : C’est la partie où l'on déclare les variables, on affecte les


broches, et aussi on appelle les bibliothèques.
- Partie 2 : C’est l’étape d'initialisation (Setup), où l'on configure les
broches en entrée ou en sortie, mais aussi pour initialiser les différents
objets (comme le moniteur série, ou les composants qui ont leur
propre bibliothèque, cette fonction est réalisée une seule fois après la
mise sous tension de la carte ou après un reset.

45
- Partie 3 : C’est le programme principal (Loop), cette fonction est
répétée indéfiniment.
Comme pour n’importe quel autre logiciel de programmation, on peut rajouter de
commentaires, ce qui est vivement conseillé, deux types de commentaires sont
possibles :

- Un commentaire après une instruction débute par « // ».

- Un commentaire sous forme de paragraphe commence par « /* » et se termine


par « */ ».

Figure 44 : Interface Arduino expliquée

L'IDE d’Arduino possède aussi une aide en ligne où toutes les instructions, structures du
langage Arduino sont décrites et accompagnées d'un exemple, pour accéder à cette
aide, il faut cliquer sur Aide puis Référence.

➢ L’IDE d’Arduino permet :

- D’éditer un programme : des croquis (sketch en Anglais), les


programmes sont écrits en langage C.

46
- De compiler ce programme dans le langage « machine » de l’Arduino,
la compilation est une traduction du langage C vers le langage du
microcontrôleur.
- D’afficher dans la console les informations sur le déroulement de la
compilation et d’afficher les messages d’erreur.
- De téléverser le programme dans la mémoire d’Arduino, le
téléversement (upload) se passe via le port USB de l’ordinateur, une
fois dans la mémoire de l’Arduino, le logiciel s’appelle un microgiciel.

- De communiquer avec la carte Arduino grâce au terminal (ou moniteur


série). pendant le fonctionnement du programme en mémoire sur
l’Arduino, il peut communiquer avec l’ordinateur tant que la connexion
est active (câble USB)

➢ Avantages et inconvénients de l’Arduino IDE :

- Il s'agit d'un logiciel libre et aucun frais d'abonnement ne sera


nécessaire.

- Des outils améliorés et intuitifs permettent aux utilisateurs d'accéder


à des utilisations simples ou complexes au choix.
- Communauté active.
- Multiplateforme.

- Système piloté par la communauté. Les moins

- Arduino IDE est destiné à ceux qui ont une expérience de


programmation.
- Le téléversement prend du temps sur certaines cartes.

- Impossible de changer le style de police.

- Les boutons rapides ne peuvent pas être ajoutés.

L’un des avantages de l’EDI Arduino réside dans le fait qu’il est piloté par la
communauté, Arduino qui dispose d'un forum très actif où les utilisateurs peuvent
partager leurs créations avec d'autres programmeurs et obtenir des commentaires et
des conseils de dépannage, les utilisateurs les plus avancés peuvent également délivrer

47
leurs propres conseils, les utilisateurs ont aussi la possibilité de télécharger leur code
directement sur les forums ce qui est extrêmement pratique. Pour quelqu’un qui débute
en programmation, il ne fait aucun doute qu’Arduino IDE est l’un des meilleurs
programmes qui soit, il est facile à utiliser et contient de nombreux modèles très utiles
pour les débutants, de plus, les utilisateurs peuvent profiter de la communauté des
utilisateurs d’Arduino pour améliorer leurs créations.

5.2 Code ARDUINO POUR LA DETECTION D’OBSTACLE :

6. Partie Expérimentale :

➢ Schéma du robot :

48
Figure 45 : schéma en utilisant le logiciel fritzing.
- Code pour ARDUINO :

#include <AFMotor.h>

#define Trig 12

#define Echo 13

#define ENA 5

#define ENB 6

#define IN1 3

#define IN2 4

#define IN3 2

#define IN4 7

float cm; //Distance variable

float temp; //

void setup() {

49
[Link](9600);

pinMode(Trig, OUTPUT);

pinMode(Echo, INPUT);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

pinMode(ENA, OUTPUT);

pinMode(ENB, OUTPUT);

void loop() {

digitalWrite(Trig, LOW);

delayMicroseconds(2);

digitalWrite(Trig, HIGH);

delayMicroseconds(10);

digitalWrite(Trig, LOW);

temp = float(pulseIn(Echo, HIGH));

cm = (temp * 17 ) / 1000;

if (cm < 30 CC cm > 10)

back();

delay(500);

Left();

delay(200);

50
}

if (cm >= 30)

forward();

delay(100);

if (cm < 10)

STOP();

[Link]("Echo =");

[Link](temp);

[Link](" | | Distance = ");

[Link](cm);

[Link]("cm");

delay(100);

void forward() {

analogWrite(ENA, 220);

analogWrite(ENB, 220);

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

51
[Link]("Forward");

void back() {

analogWrite(ENA, 220);

analogWrite(ENB, 220);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

[Link]("Back");

void Left() {

analogWrite(ENA, 220);

analogWrite(ENB, 220);

digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

[Link]("Left");

void Right() {

analogWrite(ENA, 220);

analogWrite(ENB, 220);

digitalWrite(IN1, HIGH);

52
digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

[Link]("Right");

void STOP() {

digitalWrite(ENA, LOW);

digitalWrite(ENB, LOW);

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

[Link]("STOP");

53
Chapitre IV : Suiveur de ligne
1. Introduction :

Le robot suiveur de ligne est un système autonome capable de suivre un tracé (souvent
une ligne noire sur fond blanc) à l'aide de capteurs. Ce chapitre est une introduction
pratique à la robotique mobile, au traitement de signal, et à la régulation de mouvement.

1.1 Définition:

Le robot suiveur de ligne est un système autonome capable de suivre un tracé


(souvent une ligne noire sur fond blanc) à l'aide de capteurs. Ce chapitre est une
introduction pratique à la robotique mobile, au traitement de signal, et à la régulation de
mouvement.

1.2 Avantages et inconvénients :

Un robot suiveur de ligne a une autonomie de plusieurs heures tandis qu’un employé
prendrait des pauses, mais Comme toute installation à base d’une technologie
intelligente récente, le robot suiveur de ligne compte un certain nombre d’inconvénients
,Ce type de robots à un peu d’impact sur la société car ils remplacent les vrais employés
(serveurs par exemple) ce qui augmente le taux de chômage, ce robot n’existe pas dans
tous les domaines (cas des industries par exemple) car il reste assez couteux (entre
4000 à 6000 euros) et son utilisation reste très limitée dans le monde.

1.3 Principe de fonctionnement d’un RSL :

Le principe de fonctionnement du robot c’est qu’il devra suivre une ligne noire sur un
sol blanc ou bien une ligne blanche sur un sol noir, on peut le faire fonctionner en
modifiant les connecteurs sur un fond sombre avec une ligne blanche. On suppose que
le robot avance dans un sens que pour lui il y a la droite et la gauche. Si le moteur a
tendance à dévier trop à gauche, il faut que les moteurs compensent pour le faire aller
plus à droite et inversement. Pour effectuer cette action, le choix d'utilisation est porté
sur deux capteurs "suiveurs de ligne" composés chacun d'une photorésistance. Le but
en fait, c’est de garder la ligne noire bien au centre du robot entre les 2 capteurs.

1.4 Domaines d’application :

Plusieurs domaines sont touchés par ce type de technologie intelligente, parmi


lesquels nous citons :

➢ Au service de l’industrie : les robots suiveurs de ligne dans l’industrie permettent


le transport de lourdes charges d’un point A à un point B et ce de manière rapide
et sûre.
➢ La sécurité routière : un véhicule suiveur de ligne est exploité dans les transports
en commun dans le but d’éviter au maximum les accidents. [

54
➢ Au service des restaurants : ce concept fait sensation auprès de certains pays
(USA, Chine, Japon) pour améliorer les services auprès des clients.
➢ Les jeux pour enfants : un concept dans lequel l’enfant dessine lui-même le
chemin qu’il veut que la voiture suive grâce à un feutre noir sur un fond clair .

1.5 Organisation générale d’un robot suiveur :

Pour commander intelligemment un robot suiveur de ligne, il faudra mettre en


place un système à base d’un circuit programmable. Un tel système est toujours
constitué des mêmes éléments, quel que soit la technologie utilisée.

55
Figure 46 :Représentation schématique d’une organisation générale d’un suiveur de
ligne

• Les signaux d’entrées :

Sont des signaux envoyés par les capteurs dont les valeurs sont imposées à la partie
de traitement.

• La partie de traitement :

Fonctionnement de différents actionneurs. A travers la figure Figure I.3nous donnons


un exemple de cartes de développements électroniques à base de microcontrôleurs.
Celles-ci permettent d’exécuter des tâches en prenant les entrées de composants
électroniques externes (capteurs) et de générer des signaux à leurs sorties

Figure 47 : Exemple de cartes de développements électroniques à base de


microcontrôleurs

• Les signaux de sorties :

Représentent l’activité utile de la partie de traitement. Ils en sont les seuls points
observables, et ce sont eux qui permettent d’apprécier l’état de la partie de traitement.

• Les actionneurs :

56
Les actionneurs servent à convertir un signal de commande généré par la partie de
traitement en une action effective au niveau du système commandé. Les actionneurs
sont de types très divers et peuvent être des LEDs, des moteurs,

Les actionneurs nécessitent en général une commande de puissance, et il est donc


nécessaire de disposer circuits de puissance à l’interface entre le système informatique
et les circuits de sorties

Figure 48 :Liste de quelques circuits de sorties

2. fonctionnement :

2.1 partie matériel :

Le Capteur optique suiveur de ligne : Un composant électronique constitué d'une


diode électroluminescente infrarouge (IR) et d'un phototransistor infrarouge est utilisé
pour déterminer le champ blanc ou noir. Les LED IR émettent de la lumière dans le
domaine infrarouge avec une longueur d’onde d’environ 940 nanomètres. Cette gamme
de lumière est utilisée pour protéger contre les interférences de lampes d'éclairage, la
lumière du soleil

➢ Émetteur IR : (LED infrarouge) envoie un faisceau de lumière infrarouge.


➢ Récepteur (phototransistor) : Le phototransistor est un transistor bipolaire dont
la base est sensible au rayonnement lumineux. La base est alors dite flottante
car elle est dépourvue de connexion électrique. L’éclairement de la base
conduit a un photocourant que l’on peut nommer courant de commande du
phototransistor
➢ Filtre anti-lumière du jour : Le filtre anti-lumière du jour (ou filtre passe-bande
infrarouge) est un composant intégré dans le boîtier du capteur TCRT5000,
conçu pour bloquer la lumière visible (comme celle du soleil ou des lampes) et
ne laisser passer que la lumière infrarouge , il Améliore la précision de
57
détection du capteur infrarouge et Conserve un signal stable même en milieu
lumineux
Où se trouve ce filtre ?

• C’est une couche teintée (souvent noire ou violette) placée devant la LED
émettrice et le phototransistor dans le boîtier du TCRT5000.
• Elle agit comme une "fenêtre" qui laisse passer les rayons infrarouges (~950 nm)
mais bloque la lumière visible (400–700 nm).
➢ Boîtier traversant (4 broches + clips de montage) :
• 4 broches : Anode et cathode de la LED, broches collecteur et émetteur du trasistor
• Clips métalliques sur les côtés pour fixer le capteur sur le PCB

Symbole et domaine d’étude : son symbole est similaire a celui du transistor


ordinaire la seule différence est celui des deux flèches qui indiquant la lumière
incidente a la base du phototransistor

figure 49 :symbole du photo transistor

58
Figure 50 :schéma fonctionnement de base

phototransistor sont des transducteurs électro optique qui convertissent la lumière


incidente en courant électrique dans les applications comme la détection de présence
ou de position, la mesure de l’intensité lumineuse et la détection des impulsions
optiques haute vitesse

Fonctionnement de base : Dans le phototransistor, la lumière entrante agit comme le


courant de base et le courant du collecteur circule en fonction de la quantité de lumière
entrante

Dans ce circuit, lorsque le phototransistor reçoit une lumière intense, il laisse passer le
courant et la LED s’allume. Lorsque la lumière entrante est faible, la LED a une
luminosité proportionnelle a la lumière entrante.

59
Figure 51 :Capteur optique suiveur de ligne

Pour une bonne précision de ligne on peut utiliser plusieurs capteur ir a la fois (entre 3 et
5)

Figure 52 : Capteur des obstacles infrarouge suiveur de ligne 4 canaux

Caractéristiques du TCR5000 :

➢ Haute sensibilité
➢ La sensibilité est réglable par un potentiomètre ;
➢ Tension de service : 3.3 V - 5 V ;
➢ Courant de service : 20 mA ;
➢ Sortie de commutation numérique (0 et 1) ;
➢ 2 trous de fixation pour une installation facile ;
➢ CI de petite taille : 42 x 10.5 mm ;

60
➢ LED d'alimentation (rouge) et indicateur de sortie de commutation numérique
(vert) ;
➢ Distance de détection de réflexion : 1 mm - 25 mm La sensibilité est réglable par
un potentiomètre ;
2.2 Types de Capteurs Infrarouges (IR) :

➢ Capteurs IR Réflexifs (ou Proximité Réflexive) : (TCRT5000, FC-519)


Principe : La LED IR envoie un rayon vers une surface, et un phototransistor détecte la
lumière réfléchie.

Utilisation : Suivi de ligne, détection de proximité proche (0–10 mm).

Sortie : Analogique ou numérique selon le module.

Avantage : Très rapide, précis sur courtes distances.

➢ Capteurs IR à Barrière (Interruption de Faisceau) :( CNY70, capteurs optiques


d’encodeur)
Principe : LED IR et phototransistor sont placés face à face. Si un objet passe entre les
deux, il coupe le faisceau IR.

Utilisation : Détection d’interruption, encodeurs rotatifs, passage d’objets sur tapis


roulant.

Avantage : Très fiable pour comptage ou détection nette d’obstacles.

➢ Capteurs IR de Télécommande (réception de signal codé) : TSOP1738,


VS1838B
Principe : Détecte des signaux IR modulés à 38 kHz (utilisés par les télécommandes).

Utilisation : Réception de commandes à distance (TV, Arduino, etc.)

Sortie : Numérique (signal démodulé 0/1)

Avantage : Excellente portée (jusqu'à 10m), résistant à la lumière ambiante.

➢ Capteurs IR Thermiques (capteurs de température IR) : MLX90614


Principe : Mesure la température d’un objet à distance en captant son rayonnement
infrarouge thermique.

Utilisation : Thermomètres sans contact, détection de présence humaine.

Sortie : I2C / PWM avec mesure en °C.

Avantage : Mesure précise sans contact, utilisé en médecine ou automatisme.

61
➢ Capteurs IR à Matrice ou Multizone (image thermique IR) : Grid-EYE
(Panasonic AMG8833)
Principe : Mesure la température sur une grille de 8x8 zones pour créer une image
thermique basse résolution.

Utilisation : Détection de forme, présence humaine, domotique avancée.

Avantage : Vision thermique sans caméra.

On considère deux options pour les événements possibles

• Le capteur est situé au-dessus du champ blanc. La lumière réfléchie par le champ
blanc tombe sur la photodiode. Ensuite, le signal électrique déjà numérisé par le
comparateur est envoyé à l'entrée du contrôleur. Sur la base du programme écrit, le
contrôleur perçoit ce signal comme un champ blanc

• Le capteur est situé au-dessus du champ noir. La propriété physique d’un champ noir
est d’absorber la lumière, c’est à dire la réflexion ne se produit pas. Un tel état du
capteur par le contrôleur est perçu comme la présence d'un champ noir . Un signal
analogique chaotique est formé à la sortie de la photodiode. Pour augmenter l'immunité
au bruit, un comparateur est inclus dans le circuit du capteur, ce qui élimine les
interférences, les fausses réflexions, etc.

Figure 53: Emetteur/Récepteur Figure 54 : Détection du champ

( noir/blanc)

2.1 Simulation du suiveur de ligne :

62
Figure 55: Les capteurs de couleur

Figure 56 :tableau de fonctionnementt de suiveur de ligne

2.2 La connexion entre l’Arduino et suiveur de ligne (capteurs de couleurs) :

63
Figure 57 : La connexion entre l’Arduino et suiveur de ligne

Le branchement est le suivant :

Capteur de couleur gauche

• VCC : alimentation en 5V du Arduino ;

• GND : à relier au GND du Arduino ;

• OUT : à relier au pin 7 du Arduino.

• Capteur de couleur milieu

• VCC : alimentation en 5V du Arduino ;

• GND : à relier au GND du Arduino ;

• OUT : à relier au pin 4 du Arduino.

• Capteur de couleur droit

• VCC : alimentation en 5V du Arduino ;

• GND : à relier au GND du Arduino ;

• OUT : à relier au pin 3 du Arduino.

2.3 Simulation sur PROTEUS :


On va utiliser

• Arduino Uno ;
• Trois capteurs de couleur ;

64
• Une LED rouge qui renseigne sur la présence d’obstacles ;

• Etat logique qui fera l’existante d’un obstacle.

Explication :Les trois capteurs de couleur transmettent une information binaire à la


carte Arduino, état (0) en cas d’une surface noire et état (1) si la surface est blanche
(figure 2-6). Simulation du suiveur de ligne par ISIS

Figure 58 : Détection de la ligne noire selon l’état logique

2.4 Partie logiciel :


Pour programmer notre carte Arduino, nous avons utilisé le logiciel développé par
Arduino. Ce logiciel est compatible avec les différents systèmes d'exploitation. Sa carte
est simple à utiliser et facile à comprendre. Ce logiciel a été développé, testé et
téléversé sur l’Arduino. Pour communiquer avec la carte, il suffit de la relier via le câble
USB à l'ordinateur. Ensuite, nous pouvons mettre un programme sur la carte via la
commande téléverser. Il faut cependant savoir qu'un seul programme peut être mis sur
la carte

65
interface du logiciel Arduino 1.8.G

Chargement du programme principal :

Apres l’écriture de code principal on a des étapes principales pour charger le


programme sur Arduino :

Choisir le type de carte :

Figure 59 :Paramétrage de la carte étape1

Choisir le Serial Port (COM Port) :

66
Figure 60 : Paramétrage de la carte étape2

Chargement du programme sur la carte Arduino :

On clique sur le Botton Téléverser.

Figure 61 : Paramétrage de la carte étape3

67
Une simple manipulation enchaînée doit être suivie afin d’injecter un code vers la carte
Arduino via le port USB.

1. On conçoit ou on ouvre un programme existant avec le logiciel IDE Arduino.

2. On vérifie ce programme avec le logiciel Arduino (compilation).

. Si des erreurs sont signalées, on modifie le programme.

4. On charge le programme sur la carte.

5. On câble le montage électronique.

6. L’exécution du programme est automatique après quelques secondes.

7. On alimente la carte soit par le port USB, soit par une source d’alimentation
autonome (pile 9 volts par exemple).

8. On vérifie que notre montage fonctionne

Le code de suiveur de ligne :

//define L298n module IO Pin

int ENA = 5;

int IN1 = 3;

int IN2 = 4;

int ENB = 6;

int IN3 = 2;

int IN4 = 7;

#define MotorASpeed 120

#define MotorBSpeed 120

int Sensor1 = 0;

int Sensor4 = 0;

void setup() {

68
pinMode(ENA, OUTPUT);

pinMode(IN1, OUTPUT);

pinMode(IN2, OUTPUT);

pinMode(ENB, OUTPUT);

pinMode(IN3, OUTPUT);

pinMode(IN4, OUTPUT);

pinMode(Sensor1, INPUT);

pinMode(Sensor4, INPUT);

[Link](9600);

void loop() {

digitalWrite(ENA, HIGH);

digitalWrite(ENB, HIGH);

Sensor1 = digitalRead(8);

Sensor4 = digitalRead(11);

if (Sensor1 == HIGH CC Sensor4 == HIGH) //IR is on black line

//Stop both Motors

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

analogWrite (ENA, 0);

69
analogWrite (ENB, 0);

[Link]("Both IR is on black line - stop");

else if (Sensor1 == LOW CC Sensor4 == LOW) //IR not on black line

//Move both the Motors

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

analogWrite (ENA, MotorASpeed);

analogWrite (ENB, MotorBSpeed);

[Link]("IR not on black line - go foward");

else if (Sensor1 == LOW CC Sensor4 == HIGH)

digitalWrite(IN1, HIGH);

digitalWrite(IN2, LOW);

digitalWrite(IN3, HIGH);

digitalWrite(IN4, LOW);

analogWrite (ENA, 255);

analogWrite (ENB, 255);

[Link]("Move left");

else if (Sensor1 == HIGH CC Sensor4 == LOW)

70
digitalWrite(IN1, LOW);

digitalWrite(IN2, HIGH);

digitalWrite(IN3, LOW);

digitalWrite(IN4, HIGH);

analogWrite (ENA, 255);

analogWrite (ENB, 255);

[Link]("Move right");

else

//Stop both the motors

digitalWrite(IN1, LOW);

digitalWrite(IN2, LOW);

digitalWrite(IN3, LOW);

digitalWrite(IN4, LOW);

analogWrite (ENA, 0);

analogWrite (ENB, 0);

[Link]("stop");

Conclusion de chapitre :

Ce chapitre a porté sur quelques concepts et a expliqué le composant principal


capteur infra-rouge du montage afin d’assurer un bon fonctionnement global du
système. Pour l’Arduino, nous avons expliqué la partie logiciel et la partie de chargement
de code dans le la carte

71
Chapitre V : Détection et reconnaissance des panneaux de
signalisation
1 Introduction :

Les systèmes de détection et de reconnaissance des panneaux de signalisation


(Traffic Signs Detection and Recognition system TSDR en anglais) jouent un rôle
très important dans la conduite, ils aident les conducteurs en fournissant plus
d’informations sur les panneaux de signalisation qui apparaissent sur la route
pour protéger les occupants du véhicule.
Dans ce chapitre, nous présentons ce qu’est un système TSDR, pourquoi nous
l’utilisons, les différents types de ce système et nous verrons également son
architecture générale et les différentes phases qui le constituent.
1.2 Architecture générale de système
Un système de détection et de reconnaissance des panneaux de signalisation est
un système qui détecte et reconnaît les panneaux de signalisation. Il prend
comme entrée une séquence d’images provenant d’une caméra multifonctions
positionnée contre le parebrise du véhicule, ces images seront ensuite traitées par
une application spécialisée dans la détection et la reconnaissance des panneaux
de signalisation. Enfin, ce système informe le conducteur au cas où il n’aurait pu
les voir. La figure 2.1 explique le fonctionnement de ce système.

Figure 62 : Fonctionnement d’un système TSDR dans une voiture


Le système TSDR est basé sur deux étapes principales : la détection et la
reconnaissance (aussi appelée classification). La première étape localise les
panneaux dans les images en se basant sur leurs caractéristiques visuelles,
comme la couleur et la forme. La deuxième étape reconnaît le type de chaque
panneau détecté. Il est possible d’ajouter une troisième étape qui est le suivi
temporel afin de ne pas resignaler au conducteur les mêmes panneaux reconnus.

Le système TSDR est basé sur deux étapes principales : la détection et la


reconnaissance (aussi appelée classification). La première étape localise les
panneaux dans les images en se basant sur leurs caractéristiques visuelles,
comme la couleur et la forme. La deuxième étape reconnaît le type de chaque

72
panneau détecté. Il est possible d’ajouter une troisième étape qui est le suivi
temporel afin de ne pas resignaler au conducteur les mêmes panneaux reconnus.
1.1.1 Acquisition
Une caméra multifonctions positionnée contre le pare-brise du véhicule transmet
une séquence d’images pour faire l’étape suivante qu’est la détection.
1.1.2 Détection
Elle est effectuée pour identifier les régions d’intérêt (Regions of Interest - ROIs).
Cette étape exploite les caractéristiques visuelles des panneaux, comme la
couleur et la forme,
ou bien en utilisant des techniques d’apprentissage automatique.
La détection doit prendre en considération différents facteurs comme la diversité
des catégories de panneaux :
— Panneaux d’interdiction — Panneaux de danger — Panneaux d’obligation —
Panneaux de priorité
— Panneaux de la restriction
Les ROIs détectés sont ensuite soit reconnus ou rejetés pendant la phase de
reconnaissance.
1.1.3 Reconnaissance
Elle est réalisée sur les ROIs, où certains ROIs peuvent ne contenir pas des
panneaux de signalisation. Cette étape est réalisée avec certaines techniques
d’apprentissage automatique telles que le réseau neuronal convolutif
(Convolutional Neural Network - CNN)
1.1.4 Suivi temporel
Il identifie les panneaux déjà reconnus afin de ne pas les reclassifier, ce qui réduit
le temps de traitement. Cette identification est assurée par :
— Une étape d’association de données qui met en relation les panneaux reconnus
précédemment avec les panneaux détectés à l’instant courant
— Une étape de filtrage qui procure un a priori sur les positions et les résolutions
des panneaux dans les images suivantes
1.1.5 Affichage
Le rôle de cette dernière étape est d’informer le conducteur en affichant le
panneau ainsi reconnu sur le tableau de bord.
1.2 Les panneaux de signalisation
Les panneaux de signalisation constituent un élément fondamental de tout
système de circulation. Ils sont généralement implantés de part et d’autre sur nos
routes et indiquent les règles de la circulation établies pour permettre aux
véhicules de se déplacer en toute sécurité sur les routes.
Les usagers de la route doivent être bien informés des panneaux de signalisation
qui demeurent aujourd’hui un des éléments phares de la prévention routière.
Grâce aux panneaux de signalisation, les conducteurs sont informés des règles

73
d’avertissement sur les dangers pouvant apparaître sur la route ou tout type
d’informations intéressant le conducteur.
1.2.1. Panneaux d’interdiction ou de restriction
Ces types de panneaux interdisent ou limitent certaines actions à ceux qui les
rencontrent dans la direction de leur marche. Ces signes sont circulaires avec un
bord rouge

Figure 63 :Panneaux d’interdiction ou de restriction


1.2.2. Panneaux d’avertissement de danger
Les signes de danger ont pour mission d’indiquer la nature d’un danger, leur
objectif étant de faire respecter les règles de comportement et d’éviter les
accidents éventuels lors de la conduite. Leur forme est triangulaire avec un bord
rouge

74
Figure 64 : – Exemples de panneaux d’avertissement de danger
1.2.3. Panneaux des obligations
Ils sont destinés à obliger les usagers à respecter certaines prescriptions et
règles à partir du niveau du panneau. Ces panneaux peuvent indiquer une
direction à suivre, une vitesse minimum à respecter, ou encore une voie
obligatoire pour certains usagers. Ils sont ronds avec une couleur bleue.

Figure 65 : – Exemples de panneaux des obligations

75
1.2.4 Panneaux de priorité
Ils informent les usagers de la route des règles de priorité spéciales aux
intersections ou passages étroits. En général, ils n’ont pas de forme ou couleur
spécifique.

Figure 66 – Exemples de panneaux de priorité


.1.2.5. Panneaux de fin d’interdiction ou de restriction
Ces panneaux signalent que l’interdiction ou la limitation est terminée. Ils sont
ronds et blancs avec une ligne diagonale noire.

Figure 67 : Exemples de panneaux de fin d’interdiction ou de restriction


2. Les difficultés pour la détection et la reconnaissance des panneaux
Dans un environnement routier réel, la forme et la couleur des panneaux de
signalisation ne sont pas toujours stables en raison de nombreux facteurs
défavorables, tels que :
— Variations de point de vue — Dommages physiques
— Conditions météorologiques adverses
Cela rend la détection et la reconnaissance des panneaux particulièrement
complexes. Les principaux défis incluent :
1. Flou de mouvement : Dû à la prise d’images depuis un véhicule en
déplacement
2. Altération des couleurs : Causée par les intempéries (pluie, neige, brouillard)
3. Occlusions partielles : Par des objets environnants (végétation, autres
véhicules)
4. Interférences visuelles : Publicités ou éléments similaires aux panneaux
5. Déformations perspectives : Angles de prise de vue non optimaux
6. Dégradation matérielle : Panneaux partiellement détruits ou abîmés

76
Figure 68 : – Exemples de difficultés de détection : (a) Flou, (b) Éclairage, (c)
Décoloration, (d-e) Intempéries, (f) Occlusion
Parmi tous les types de panneaux, ceux concernant les limitations de vitesse
présentent un enjeu critique de sécurité, justifiant notre focalisation sur cette
catégorie spécifique.
Conclusion
Dans ce chapitre, nous avons vu en générale les systèmes de détection et de
reconnaissances des panneaux de signalisation. En plus, nous avons présentés
les panneaux de signalisations, leurs caractéristiques et défis que présentent.
Pour cela dans le deuxième chapitre nous présenterons des techniques et
méthodes qui permettent de réaliser ces systèmes : les techniques de détection
et de reconnaissance.
3. Méthodes de détection et de classification des panneaux
3.1 Introduction
Les systèmes de détections et de localisation est composé de plusieurs étapes :
la détection et la reconnaissance. La phase de détection couvre la localisation
des régions d’intérêt (ROIs) qui contiennent les panneaux et la détection des
panneaux sur l’image. La reconnaissance identifie le type du panneau.
La phase de détection doit trouver tous et que les panneaux figurants sur l’image.
Ainsi en doit trouvez maximum de panneaux et minimum d’autres objets
considérer comme arrière-plan. Les méthodes de détection sont souvent
groupées en trois catégories : les méthodes basées sur les couleurs, les
méthodes basées sur les formes géométriques et les méthodes basées sur
l’apprentissage automatique. La phase de reconnaissance ou bien classification
reconnaît le type de panneau détecté et l’assigne à une classe. Les méthodes de
classification sont groupées en deux catégories : les méthodes qui utilisent des
caractéristiques extraites par un expert et les méthodes de l’apprentissage
profond (Deep Learning).
Dans ce chapitre, nous allons présenter les différentes méthodes et technique
de détection et de reconnaissance des panneaux de signalisation à base
d’apprentissage approfondis.
Les méthodes supervisées
L’apprentissage supervisé est le paradigme d’apprentissage le plus populaire en
ML et en DL et aussi le plus utilisé. L’apprentissage supervisé a besoin des

77
données de la tâche qu’elle doit réaliser. Avec l’apprentissage supervisé, la
machine peut apprendre à faire une certaine tâche via l’étude des données de
cette tâche ; par exemple la détection des panneaux après avoir vu des millions
d’exemples des panneaux.
Les méthodes non supervisées
Contrairement à l’apprentissage supervisé, l’apprentissage non supervisé est un
système de ML qui apprend et crée des modèles à partir d’un ensemble de
données d’entraînement non étiquetées. Il s’agit d’un type d’apprentissage
hebbien auto-organisé qui aide à trouver des modèles auparavant inconnus dans
un ensemble de données sans étiquettes préexistantes. Il est également connu
sous le nom d’auto-organisation et permet de modéliser les densités de
probabilité d’entrées données. Les méthodes non supervisées sont utilisées
dans des domaines très variés, comme la sociologie, le marketing .
3.2 Le classificateur en cascade de Haar
L’algorithme de Viola et Jones, connue aussi par le classificateur en cascade de
Haar est l’une des premières et des plus connues des méthodes de détection
d’objet. Publié en 2001 par Paul Viola et Michael Jones, est devenu une référence
dans le domaine de la détection d’objet. Il appartient aux méthodes de
classification supervisées. Le classificateur est entraîné sur un ensemble de
données ensuite utilisé pour la détection d’objet sur l’image. Inventée à l’origine
pour détecter des visages, elle peut également être utilisée pour détecter
d’autres types d’objets comme des panneaux de signalisations. Les principaux
avantages de ce classificateur est le fait qu’il permet une détection efficace,
rapide et dans n’importe la position ou la taille de l’objet sur l’image.
Principe
La méthode de Viola et Jones consiste à balayer une image à l’aide d’une fenêtre
de détection de taille initiale 24x24px (Article Original) et de déterminer la
présence d’un objet. Lorsque l’image a été parcourue entièrement, la taille de la
fenêtre est augmentée et le balayage recommence, jusqu’à ce que la fenêtre
fasse la taille de l’image. L’augmentation de la taille de la fenêtre se fait par un
facteur multiplicatif de 1.25. Le balayage, quant à lui, consiste simplement à
décaler la fenêtre d’un pixel. Ce décalage peut être changé afin d’accélérer le
processus, mais un décalage d’un pixel assure une précision maximale.

Cette méthode est une approche basée sur l’apparence, qui consiste à parcourir
l’ensemble de l’image en calculant un certain nombre de caractéristiques dans
des zones rectangulaires qui se chevauchent. Elle a la particularité d’utiliser des
caractéristiques très simples mais très nombreuses.
La méthode de Viola et Jones se caractérisent par :
— Utilisation d’images intégrales qui permettent de calculer plus rapidement les
caractéristiques.

78
— La combinaison en cascade de classifieurs boostés, apportant un net gain de
temps d’exécution.
— La sélection par Boosting des caractéristiques.
Étapes de la méthode
La méthode se décompose en quatre étapes (voir Figure 3.4) :
1. Constitution d’une base de données contenant des images avec l’objet et
des images sans l’objet.
2. Extraction de caractéristique de l’ensemble des images contenu dans la
base.
3. Entraînement d’un classifieur en cascade : — Algorithme d’apprentissage
basé sur Adaboost. — Cascade de classifieurs.
4. Phase de détection.

Figure 69 : – Les étapes de la méthode du classificateur en cascade Haar


Algorithme d’apprentissage basé sur Adaboost
Le deuxième élément clé de la méthode de Viola et Jones est l’utilisation d’une
mé- thode de Boosting afin de sélectionner les meilleures caractéristiques. Le
Boosting est un principe qui consiste à construire un classifieur fort à partir d’une
combinaison pondérée de classifieurs faibles, c’est-à-dire, donnant en moyenne
une réponse meilleure qu’un tirage aléatoire. Viola et Jones adaptent ce principe
en assimilant une caractéristique à un classifieur faible, en construisant un
classifieur faible qui n’utilise qu’une seule caracté- ristique. L’apprentissage du
classifieur faible consiste alors à trouver la valeur seuil de la caractéristique qui
permet de mieux séparer les exemples positifs des exemples négatifs. Le
classifieur se réduit alors à un couple (caractéristique, seuil). Le classifieur
AdaBoost (Adaptive Boosting) présente l’avantage d’avoir une bonne vitesse
d’exécution pour l’application tout en conservant un taux de reconnaissance
élevé.
L’algorithme de Boosting utilisé est en pratique une version modifiée d’AdaBoost,
qui est utilisée à la fois pour la sélection et pour l’apprentissage d’un classifieur
fort. Les classifieurs faibles utilisés sont souvent des arbres de décision. Un cas
remarquable, fréquemment rencontré, est celui de l’arbre de profondeur 1, qui
réduit l’opération de classification à un simple seuillage. L’algorithme est de type
itératif, à nombre d’itérations déterminé. À chaque itération, l’algorithme
sélectionne une caractéristique, qui sera ajoutée à la liste

79
des caractéristiques sélectionnées aux itérations précédentes, et le tout va
contribuer à la construction du classifieur fort final. Cette sélection se fait en
entraînant un classifieur faible pour toutes les caractéristiques et en
sélectionnant celui avec l’erreur la plus faible sur l’ensemble d’apprentissage.
L’algorithme tient également à jour une distribution de probabilités sur
l’ensemble d’apprentissage, réévaluée à chaque itération en fonction des
résultats de classification. En particulier, plus de poids est attribué aux exemples
difficiles à classer, c’est-à-dire ceux dont l’erreur est élevée. Le classifieur fort
final construit par AdaBoost est composé de la somme pondérée des classifieurs
sélectionnés.
Cascade de classifieurs
La méthode de Viola et Jones est basée sur une approche par recherche
exhaustive sur l’ensemble de l’image, qui teste la présence de l’objet dans une
fenêtre à toutes les positions et à plusieurs échelles. Cette approche est
cependant extrêmement coûteuse en calcul. L’une des idées-clés de la méthode
pour réduire ce coût réside dans l’organisation de l’algorithme de détection en
une cascade de classifieurs. Appliqués séquentiellement, ces classifieurs
prennent une décision d’acceptation ; la fenêtre contient l’objet et l’exemple est
alors passé au classifieur suivant, ou de rejet ; la fenêtre ne contient pas l’objet et
dans ce cas l’exemple est définitivement écarté. L’idée est que l’immense
majorité des fenêtres testées étant négatives (c.-à-d. ne contiennent pas l’objet),
il est avantageux de pouvoir les rejeter avec le moins possible de calculs. Ici, les
classifieurs les plus simples, donc les plus rapides, sont situés au début de la
cascade, et rejettent très rapidement la grande majorité des exemples négatifs.
Cette structure en cascade peut également s’interpréter comme un arbre de
décision dégénéré, puisque chaque nœud ne comporte qu’une seule branche.
Phase de détection
C’est l’étape finale. Une fois le classifieur entraîné, nous pouvons passer à la
phase de détection. En fournissant une image en entrée et en recevant en sortie
l’objet détecté sur l’image représenté par ses coordonnées.
3.3 Les méthodes d’apprentissage profond pour la classification des
panneaux
de signalisation
L’apprentissage profond (DL) est un type d’intelligence artificielle (IA) et le
sousdomaine de l’apprentissage automatique (ML), où la machine est capable
d’apprendre par elle-même. Le développement du DL fut motivé en partie par
l’échec des algorithmes traditionnels.
Les différences entre les méthodes d’apprentissage traditionnelles et les
méthodes d’apprentissage approfondis sont :
— Plus la quantité de données fournie est grande plus les performances sont
meilleures ;

80
— Pas de "plateau de performance" : ils ne possèdent pas une borne supérieure
à la quantité de données qu’ils peuvent recevoir ;
— L’étape de l’extraction de caractéristiques est automatisée
3.3.1 Réseaux de neurones convolutifs (CNN)
Un réseau de neurone convolutifs (Convolutional Neural Network - CNN en
anglais) est un type particulier de réseau de neurone qui se base sur l’opération
de convolution. Les CNN sont particulièrement adaptés à la reconnaissance d’i
Un réseau de neurones est un système composé de neurones, généralement
répartis en plusieurs couches connectées entre eux. Il est construit en empilant
les couches : la sortie d’une couche correspond à l’entrée de la suivante. Les
CNNs se composent de deux parties :
— La partie convolutive
— La partie classification
Couche de Convolution Est la composante clé des CNNs, constitue toujours
leur première couche. Cette couche est l’extracteur de caractéristiques des
images. Son but est de repérer la présence d’un ensemble de caractéristiques
(Features en anglais) dans les images reçues en entrée.
Pour cela, on réalise un filtrage par convolution. Le principe est de faire "glisser"
une fenêtre représentant la feature sur l’image, et de calculer le produit de
convolution entre la feature et chaque portion de l’image balayée.
Trois hyperparamètres permettent de dimensionner le volume de la couche de
convolution :
1. Profondeur de la couche K : nombre de noyaux de convolution ;
2. Le pas S : contrôle le chevauchement des champs récepteurs ;
3. La marge (à 0) ou zéro padding P : Cette marge permet de contrôler la
dimension
spatiale du volume de sortie.
Couche de Pooling C’est parmi les outils puissants de CNN. Cette couche
permet de
réduire la taille des images avec la préservation des caractéristiques.

81
Pooling est une fonction de sous-échantillonnage spatial. Elle prend toujours en
entrée des feature maps de taille (nx * ny * D), et réduit les deux premières
dimensions spatiales.
Pour appliquer cette opération il y a deux méthodes :
— On fait la moyenne des valeurs de la zone (Average Pooling en anglais) — On
extrait uniquement la valeur la plus élevée (Max Pooling en anglais)

Figure 71 : La différence entre Average Pooling et Max Pooling


Couche de ReLU Cette couche améliore l’efficacité du traitement en intercalant
entre les couches de traitement une couche qui va opérer une fonction
mathématique (fonction d’activation) sur les signaux de sortie.
Il existe beaucoup de fonctions d’activations comme :
— ReLU (Rectified Linear Unit) : fonction d’activation très couramment utilisée,
elle permet tout simplement de remplacer les résultats négatifs par zéro.
— SoftMax : Utilisé pour de la multi classification en couche de sortie. Intervalle
de sortie (0, 1).
Couche de Fully-Connected Cette couche constitue toujours la dernière couche
d’un réseau de neurones convolutif ou non. Elle reçoit un vecteur en entrée et
produit un nouveau vecteur en sortie.
Pour cela, elle applique une combinaison linéaire puis éventuellement une
fonction d’activation aux valeurs reçues en entrée. La couche Fully-Connected

82
permet de classifier l’image en entrée du réseau, elle renvoie un vecteur de taille
N, où N est le nombre de classes dans notre problème de classification d’images.
Chaque élément du vecteur indique la probabilité pour que l’image en entrée
appartienne à une classe.
3.3.2 Architectures CNN
Architecture LeNet LeNet est un réseau convolutif de LeCun ? conçu pour la
reconnaissance de caractères manuscrits et imprimés. Il s’agit d’un réseau
neuronal convolutif avec suffisamment d’entrée pour recevoir plusieurs objets et
plusieurs sorties appelés ré- seaux neuronaux à déplacement spatial (SDNN),
capable de reconnaître des chaînes en une seule passe sans segmentation
préalable.
Les couches convolutives clairsemées et la mise en commun maximale sont au
cœur de la famille de modèles LeNet

L’architecture LeNet-5 se compose de :


— Deux ensembles de couche convolutive et pooling — Une couche flatten
— Deux couches fully connected — Un classificateur softmax
Architecture GoogleNet GoogLeNet (ou Inception V1) a été proposé par la
recherche de Google (avec la collaboration de diverses universités) en 2014 dans
le document de recherche intitulé Going Deeper with Convolutions ?. Cette
architecture a été lauréate du défi de classification d’images ILSVRC2014. Elle a
permis une diminution significative du taux d’erreur par rapport aux précédentes

Figure 73 :– Module d’Inception Naïf

83
L’architecture de GoogLeNet est très différente des architectures précédentes, elle est
basée sur l’architecture Inception, car elle contient plusieurs blocs d’Inception. Comme
on peut le voir dans la Figure 3.9, l’opération de convolution est effectuée sur des
entrées avec trois tailles de filtre : (1×1), (3×3) et (5×5). Une opération de pooling max est
également effectuée avec les convolutions et est ensuite envoyée dans le module
d’Inception suivant.

L’idée principale est que les filtres de convolution de différentes tailles gèrent mieux les
objets à plusieurs échelles. Dans cette architecture, les opérations de convolution (1×1,
3×3, 5×5) et le max pooling (3×3) sont réalisés de manière parallèle à l’entrée et leurs
sorties sont empilées ensemble pour générer la sortie finale.

Si un réseau est construit avec de nombreuses couches profondes, il peut être


confronté au problème de surajustement. Pour résoudre ce problème, les auteurs ? ont
proposé l’architecture GoogLeNet avec l’idée d’avoir des filtres de tailles multiples
pouvant fonctionner au même niveau. Avec cette idée, le réseau devient en fait plus
large que profond.

Généralement, les réseaux de neurones sont longs et coûteux à entraîner. Dans


GoogleNet, le nombre de canaux d’entrée est limité par l’ajout d’une convolution
supplémentaire (1×1) avant les convolutions (3×3) et (5×5) pour réduire les dimensions
du réseau et effectuer des calculs plus rapides

84
Figure 75 : – Architecture complète de GoogleNet

L’architecture GoogleNet comprend 22 couches de profondeur, avec 27 couches de


pooling incluses . Il y a 9 modules d’Inception empilés linéairement au total. Les
extrémités des modules d’Inception sont connectées à la couche de pooling moyenne
globale. La Figure 3.11 montre l’architecture complète de GoogleNet.

Conclusion

Dans ce chapitre, nous avons présenté les méthodes de détection et localisation des
panneaux de signalisations. Les différents espaces de couleur présentent des
caractéristiques utiles pour la segmentation. Les espaces RGB et HSV sont utilisés avec
le classificateur en cascade de Haar qui présente des taux de détection élevés. Pour
l’étape de classification, les méthodes basées sur l’apprentissage approfondi ont été
choisies.

4. Expérimentation et Évaluation

4.1 Introduction

Dans ce chapitre nous présentons l’implémentation de l’approche proposée. Nous


commençons par la présentation des environnements de développement matériels et
logiciels ainsi que les paramètres de configuration et les bases de données utilisées.

85
Les résultats obtenus sont présentés en détails, comparés et discutés avec des
exemples sur des images des bases utilisées.

4.2 Présentation des outils


4.2.1 Logiciel et environnement

Pour réaliser ce travail, nous avons utilisé plusieurs modules, parmi lesquels :

— Module TensorFlow : Cela nous permet d’implémenter et de manipuler toutes les


architectures de manière simple et facile 1.

— Module Scikit-Learn : Cela nous permet de mélanger l’ensemble de données sans


affecter les matrices d’origine en utilisant la fonction shuffle() 2.

— Module Matplotlib : Cela nous permet de créer des visualisations statiques, telles
que des graphiques 3.

— Module OpenCV : Cela nous permet de traiter et analyser les images 4.

— Module NumPy : Cela nous permet de manipuler les données pour répondre aux
exigences spécifiées 5.

1. [Link]

2. [Link]

3. [Link]

4. [Link]

5. [Link]

— Module Pickle : Cela nous permet de sérialiser les objets afin qu’ils puissent être
enregistrés dans un fichier et chargés ultérieurement dans un programme

4.3 Base de données


Notre base de données contient des images de panneaux de signalisation routière,
réparties en 43 classes différentes, chacune correspondant à un type de panneau
(exemples typiques : limitation de vitesse, stop, cédez le passage, interdiction de
dépasser, etc.).
4.3.1 Phase de reconnaissance

Dans cette étape, nous avons utilisé une base de données de reconnaissance ,elle
contient plus de 40 000,images. Toutes ces images ont été utilisées avec leurs différents
types de panneaux de signalisation (43 types). Nous avons traité l’ensemble de données
afin que la taille de toutes les images devienne uniforme avec une dimension de
32×32px.

4.3.2 Importation des bibliothèques


86
Dans cette section, nous présentons les différentes bibliothèques Python nécessaires
pour la mise en œuvre du module de classification des panneaux de signalisation. Ces
bibliothèques couvrent les fonctionnalités de traitement d’images, d’apprentissage
profond et d’analyse de données.

Total Test Validation


Notre base de 45660 14270 1141
données
Nombre de 43
classe

4.4 Structure Complète du Module de Classification des Panneaux de Signalisation

4.4 .1 Importation des bibliothèques

4.4.2 Configuration des chemins et paramètres

Cette section présente le code Python utilisé pour configurer les chemins d’accès aux
données et les paramètres d’entraînement du modèle.

– Paramètres pour l’entraînement, la taille des images, et la séparation des


données.

87
Chargement et préparation des images

Pretraitement des images apres separation des donnees et chargement de labels

Reshape des images et augmentation des données

88
Definition du modele cnn apres encodage des etiquettes et qugmentation des donnees

Entrainement du modèle

Evaluation et sauvegarde

89
90
Le script Python utilise OpenCV, NumPy et un modèle de machine learning préalablement entraîné
(chargé avec joblib) pour reconnaître les panneaux de signalisation en temps réel via la webcam.

Importation des bibliothèques

• numpy : traitement numérique (matrices, etc.).


• cv2 : bibliothèque OpenCV pour la vidéo et les images.
• load de joblib : pour charger un modèle ML préalablement entraîné (train .joblib).

91
• VideoCapture(0) : active la webcam.
• [Link](3, 4, 10, ...) : règle largeur, hauteur et luminosité.
• threshold : probabilité minimale pour accepter une prédiction.

Charge le modèle de reconnaissance de panneaux.

• Convertit en niveaux de gris.


• Égalisation d'histogramme pour améliorer le contraste.
• Normalise l’image (/255) pour que les valeurs soient entre 0 et 1.

92
Lit une image de la webcam à chaque itération.

• Redimensionne l’image à 32x32 pixels (taille d’entrée du modèle).


• Applique le prétraitement.
• Redimensionne en 4D pour la prédiction (1, 32, 32, 1).

• predict(img) : le modèle prédit une probabilité pour chaque classe.


• argmax : donne la classe avec la plus haute probabilité.
• amax : donne la valeur de cette probabilité.

93
• Montre l’image originale avec la prédiction.
• Montre aussi l’image prétraitée (grayscale, égalisée).
Conclusion :Ce script utilise la webcam pour détecter et reconnaître en temps
réel les panneaux de signalisation à l’aide d’un modèle de machine learning
préalablement entraîné. Chaque image capturée est prétraitée (mise en niveaux de gris,
amélioration du contraste, normalisation), puis redimensionnée avant d’être analysée
par le modèle. Si la prédiction est suffisamment fiable, le nom du panneau détecté ainsi
que la probabilité de reconnaissance sont affichés sur l’image en direct.

Quelques résultats :

94
Voici une conclusion adaptée pour un chapitre sur la reconnaissance et
détection :

5 .Conclusion

Ce chapitre a présenté les fondements théoriques et pratiques de la


reconnaissance et détection des objets, en explorant les différentes approches
méthodologiques et leurs implémentations. Les résultats expérimentaux obtenus
démontrent à la fois le potentiel et les défis inhérents à ces technologies. Bien que les
performances atteintes soient encourageantes, avec une précision de validation de
90,21%, l'analyse révèle certaines limitations techniques qui méritent d'être soulignées.

Les difficultés rencontrées, notamment l'interruption prématurée de


l'entraînement due à l'insuffisance de données et la divergence observée entre les
métriques d'entraînement et de validation, illustrent la complexité de la mise en œuvre
pratique de ces algorithmes. Ces observations soulignent l'importance cruciale de la
qualité et de la quantité des données d'entraînement, ainsi que de la nécessité d'une
configuration rigoureuse des hyperparamètres.

Les perspectives d'amélioration incluent l'augmentation du dataset,


l'optimisation de l'architecture du modèle et l'exploration de techniques de
régularisation plus avancées. Ces travaux constituent néanmoins une base solide pour

95
les développements futurs dans le domaine de la vision par ordinateur et ouvrent la voie
à des applications concrètes dans divers secteurs industriels.
Conclusion

Le développement de notre système de gestion d’un véhicule autonome connecté a permis de démontrer
le potentiel des technologies embarquées et de l’intelligence artificielle dans le domaine des transports
intelligents. Grâce à la combinaison de capteurs, de traitement d’images, de communication réseau et
d’algorithmes d’apprentissage automatique, le véhicule est capable de percevoir son environnement, de
prendre des décisions en temps réel et d’interagir avec une infrastructure connectée.

Ce projet met en évidence l’importance de l’intégration entre les modules logiciels (détection de panneaux,
planification de trajectoire, communication V2X) et les composants matériels (caméras, processeurs
embarqués, interfaces de commande). Il illustre également les défis liés à la robustesse, à la sécurité et à la
réactivité d’un système autonome dans un environnement dynamique.

En perspective, ce travail ouvre la voie à des améliorations futures, notamment en matière d’optimisation
de l’architecture logicielle, de traitement distribué, et d’adaptation aux conditions réelles de circulation.
L’approche adoptée peut également être étendue à d’autres applications dans le domaine des véhicules
intelligents et des villes connectées.

96

Vous aimerez peut-être aussi