Vous êtes sur la page 1sur 62

Remerciement

Sans l'aide et le soutien d’Allah le tout puissant, le très miséricordieux, ce travail,


même s'il était terminé, n'aurait pas pris fin. Louange au Seigneur de l'Univers.

Nous remercions toutes les personnes de l’entreprise qui ont participé même de loin à
la réalisation de ce travail.

Nos chaleureux remerciements au directeur de l’école nationale des sciences


appliquées de Fès et tout le corps professoral ainsi qu’administratif.

On tient à exprimer nos respects à Mr RAQEN Fouad et Mr TELIGUI Abdesslam nos


encadrant durant ces deux mois pour leurs efforts et conseils dans la réalisation de ce
projet à travers les orientations et les formations effectués au sein de l’entreprise.

Nous voulons aussi exprimer notre gratitude au groupe « ALTEN » qui nous a offert
une belle opportunité pleine de bienveillance et de sympathie afin d’appliquer nos
acquis théoriques ainsi d’entrer en contact direct avec l’environnement professionnel.

Enfin, on tient à exprimer notre gratitude pour le soutien indéfectible de nos parents et
de notre famille tout au long des succès et des défis auxquels on a pu faire face avant
et pendant ces années de formation. Sans eux, ce travail n'aurait pas été terminé et
notre carrière n'aurait pas pu avancer.
Résumé
Les statistiques montrent que presque tous les accidents sont causés par l'homme, ce
qui peut être évité par l'intégration des nouvelles technologies appelées ADAS. Tous
les constructeurs automobiles sont maintenant en course pour intégrer ces solutions
fantastiques à l'intérieur de leurs voitures, la raison en est d'augmenter la sécurité
routière et de faciliter la conduite.

L'objectif d’ALTEN Delivery Center Maroc est de faire progresser l'industrie


automobile à travers la mise à disposition d'un système de régulateur de vitesse
respectant la signalisation routière.

Les voitures ADAS utilisent une variété de systèmes et le régulateur de vitesse en fait
partie, il fournit un contrôle automatique de la vitesse du moteur fonctionnant comme
un servomécanisme qui interagit avec son environnement à partir duquel il reçoit des
signaux, ces signaux sont interprétés de manière à adapter la vitesse du véhicule.

De nos jours, à peu près toutes les voitures sont équipées d'une forme de régulateur de
vitesse. Inventé au début des années 1900, le régulateur de vitesse est devenu
populaire sur les véhicules de luxe, mais est depuis devenu un élément essentiel et
incroyablement utile de la technologie automobile.

Pendant la conduite, la voiture continuera à avancer, à la vitesse exacte choisie. Assez


pratique, surtout quand on pense à ces longs trajets sur autoroute qui semblaient être
facile mais ils le sont beaucoup moins après cinq heures de conduite. En plus de
sauver la jambe d'horribles crampes, il réduit la fatigue cognitive et augmente
l'efficacité énergétique.

Mots Clés : ADAS, régulateur de vitesse, servomécanisme, efficacité


énergétique.
Abstract
Statistics are showing that almost all accidents are caused by human, which can be
avoided by the integration of the new technologies called ADAS. All the automotive
companies are now in a race in order that to integrate these fantastic solutions inside
of their cars, the reason behind is that to increase the road safety and make the driving
easier. The goal of ALTEN Delivery Center Morocco is to advance the automotive
industry through the provision of a cruise control system respecting the road signs.

ADAS cars use a variety of systems and the cruise control is one of them, it provides
an automatic control of the motor speed working as a servomechanism that interact
with its environment from which it takes signals. Those signals are interpreted so that
to adapt the speed.

Nowadays, pretty much every car comes with some form of cruise control. Invented
in the early 1900s, cruise control became popular on luxury vehicles, but has since
become a vital and incredibly useful piece of automotive technology.

While driving the car it will keep on moving onward, at the exact speed chosen.
Pretty handy, especially when thinking about those long highway journeys that
seemed to be easy, but they are a lot less so after five hours of driving. In addition to
saving the leg from horrendous cramping, it reduces cognitive fatigue and increases
fuel efficiency.

Keywords: ADAS, cruise control system, servomechanism, fuel efficiency.


‫ملخص‬

Table des matières


Introduction Générale.......................................................................................................................................1
Présentation d’ALTEN Delivery Center Maroc...................................................................................................2
1 Introduction..............................................................................................................................................3
2 Organisme d’accueil..................................................................................................................................3
2.1 ALTEN................................................................................................................................................3
2.1.1 Présentation..............................................................................................................................3
2.1.2 Historique..................................................................................................................................4
2.1.3.........................................................................Métiers et secteurs d’activité
.............................................................................................................................5
2.1.3.1 Ingénierie et R&D externalisée..............................................................................................6
2.1.3.2 IT Services..............................................................................................................................6
2.2 ALTEN Delivery Center Maroc...........................................................................................................6
2.2.1 Aperçue général........................................................................................................................6
2.2.2 Valeurs ajoutées de l’entreprise ALTEN dans le domaine de l’automobile...............................7
3 Conclusion.................................................................................................................................................8
Méthodologie de travail et environnement technique du projet.....................................................................9
1 Introduction............................................................................................................................................10
2 Méthodologie de travail..........................................................................................................................10
2.1 Cycle de développement en V.........................................................................................................10
2.2 La méthode agile.............................................................................................................................14
3 Environnement technique.......................................................................................................................15
3.1 Langage de programmation............................................................................................................15
3.2 Environnement logiciel de modélisation.........................................................................................16
3.2.1 Model-Based Design with MATLAB & Simulink.......................................................................17
3.2.2 Exemple d’une émigration vers le MBD..................................................................................18
4 Conclusion...............................................................................................................................................19
Réalisation du régulateur de vitesse...............................................................................................................20
1 Introduction............................................................................................................................................21
2 Présentation sur les régulateurs de vitesses...........................................................................................21
2.1 Le régulateur de vitesse normal......................................................................................................21
2.1.1 Définition.................................................................................................................................21
2.1.2 Fonctionnement......................................................................................................................22
2.2 Le régulateur de vitesse adaptatif...................................................................................................23

2.2.1 Définition.................................................................................................................................23
2.2.2 Fonctionnement......................................................................................................................23
3 Conception du MCC................................................................................................................................25
3.1 Modèle Simulink..............................................................................................................................25
3.1.1 Définition.................................................................................................................................25
3.1.2 Technologies............................................................................................................................26
3.1.3 Modélisation du moteur..........................................................................................................27
3.1.4...................................................................Modèle du moteur sous Simulink
...........................................................................................................................31
3.1.5 Validation du modèle..............................................................................................................32
3.2 Contrôle de la plante avec PID........................................................................................................33
3.2.1 Définition.................................................................................................................................34
3.2.2 Actions.....................................................................................................................................34
3.2.3 Implémentation sous Simulink................................................................................................37
3.2.4 Validation du Modèle..............................................................................................................37
3.2.5 Conclusion...............................................................................................................................39
4 Détection des panneaux de signalisation................................................................................................40
4.1 Outils logiciels.................................................................................................................................40
4.1.1 L’outil Keras.............................................................................................................................40
4.1.2 L’outil TnesorFlow...................................................................................................................41
4.1.3 OpenCV...................................................................................................................................42
4.2 Développement du modèle.............................................................................................................43
4.2.1 Convolution Neural Networks (CNN) :.....................................................................................43
4.2.2 Entrainement et génération du modèle..................................................................................44
4.3 Résultats..........................................................................................................................................45
4.3.1 Accuracy and Loss....................................................................................................................45
4.3.2 Test du modèle........................................................................................................................47
4.4 Nouvelle commande du moteur MCC.............................................................................................49
5 Conclusion...............................................................................................................................................50
Conclusion Générale.......................................................................................................................................51
Références......................................................................................................................................................52

Liste de figures
Figure 1:effectifs d’ingénieurs dans chaque filiale d’ALTEN----------------------------------------------------------------4
Figure 2:Secteurs d’activité du groupe ALTEN--------------------------------------------------------------------------------- 5
Figure 3:la contribution d’ALTEN dans le domaine d’automobile---------------------------------------------------------7
Figure 4:Le cycle de développement en V------------------------------------------------------------------------------------ 11
Figure 5:Le déroulement du projet - exemple des deux premières fonctions----------15
Figure 6:Langages les plus utilisés en programmation---------------------------------------15
Figure 7:L'arbre de commande utilisée pour le régulateur de vitesse--------------------------------------------------22
Figure 8: la vue du conducteur lors d’un ACC-------------------------------------------------------------------------------- 23
Figure 9:Fonctionnement du Régulateur De Vitesse Adaptatif----------------------------------------------------------24
Figure 10: Moteur à courant continu Figure 11: Intérieur d'un MCC--25
Figure 12: Simulation et approche MBD sur Simulink----------------------------------------------------------------------26
Figure 13: Schéma électrique d’un MCC--------------------------------------------------------------------------------------- 28
Figure 14: procédure MCC-------------------------------------------------------------------------------------------------------- 28
Figure 15: Schéma mécanique d’un MCC------------------------------------------------------------------------------------- 29
Figure 16: Modèle équivalent d’un moteur à courant continu-----------------------------------------------------------31
Figure 17: la réponse du courant à une tension de 200V------------------------------------------------------------------32
Figure 18: Simulation de la vitesse en tr/min pour une tension d’entrée de 200V----------------------------------33
Figure 19: Comportement du processus-------------------------------------------------------------------------------------- 33
Figure 20: Fonctionnement d’un système PID-------------------------------------------------------------------------------34
Figure 21: Contrôle proportionnelle-------------------------------------------------------------------------------------------- 35
Figure 22: Contrôle proportionnelle intégrale-------------------------------------------------------------------------------35
Figure 23: Contrôle proportionnelle intégrale dérivée---------------------------------------------------------------------36
Figure 24: modèle Simulink d’un MCC contrôlé par un PID---------------------------------------------------------------37
Figure 25: réponse du système avec PID-------------------------------------------------------------------------------------- 38
Figure 26: Modèle Simulink du MCC avec perturbation-------------------------------------------------------------------38
Figure 27: réponse du système perturbé-------------------------------------------------------------------------------------- 39
Figure 28: API d'apprentissage en profondeur de python-----------------------------------------------------------------40
Figure 29: Bibliothèque open source TensorFlow---------------------------------------------------------------------------41
Figure 30: Bibliothèque de fonctions de programmation-----------------------------------------------------------------42
Figure 31: Classification CNN----------------------------------------------------------------------------------------------------- 43
Figure 32: 43 classes du DataSet------------------------------------------------------------------------------------------------ 44
Figure 33: Images d’entrainement pour la classe 0-------------------------------------------------------------------------45
Figure 34: Bord de précision du TensorFlow--------------------------------------------------------------------------------- 46
Figure 35: Bord de perte du TensorFlow-------------------------------------------------------------------------------------- 47
Figure 36: Résultat obtenu pour une limite de vitesse de 120 KM/H---------------------------------------------------47
Figure 37: Résultat obtenu pour une limite de vitesse de 20 KM/H----------------------------------------------------48
Figure 38: Résultat obtenu pour une limite de vitesse de 20 KM/H----------------------------------------------------48
Figure 39: Résultat du test d’une plaque de signalisation de 120 KM/H-----------------------------------------------49

Liste des tableaux

Tableau 1: différents types de moteur à courant continu-----------------------------------------------------------------27


Tableau 2: Grandeurs physiques d’un MCC----------------------------------------------------30
Tableau 3: paramètres de la première équation de transfert------------------------------32
Tableau 4: paramètres de la deuxième équation de transfert-----------------------------------------------------------32
Tableau 5: Grandeurs physiques d’un MC------------------------------------------------------------------------------------ 46
Introduction Générale

L'industrie automobile est sans aucun doute en pleine expansion au Maroc. La nation
a investi des ressources importantes dans la croissance de la stratégie industrielle
automobile et le renforcement de son attrait depuis les années 1960. Tout cela a porté
ses fruits, et le Maroc est désormais un participant, sinon un leader, sur le marché
automobile du continent.

Les projets initiaux ont été de véritables catalyseurs pour la croissance de la sous-
traitance automobile et pour le début d'une phase cruciale dans l'évolution du secteur
automobile au Maroc, celle de l'implantation de nouveaux équipementiers mondiaux,
car ils ont eu pour effet d'augmenter la demande locale de composants automobiles.

De plus, le secteur automobile marocain a connu plus de succès que jamais au cours
des 20 dernières années. Dans l'industrie, près de 36 500 emplois ont été créés entre
2009 et 2014, ce qui représente une croissance annuelle moyenne de 12,4%. Ces
efforts ont mis le Maroc en tant que premier centre de construction automobile sur le
continent afrique.

Dans le cadre des projets innovants proposé par ALTEN Delivery Center Maroc, on
retrouve le régulateur de vitesse intégré au sein de véhicule qui s’agit d’une
amélioration du régulateur ancien en ajoutant la capacité d’interagir avec
l’environnement et d’assister le conducteur afin de faciliter et d’assurer sa sécurité et
son bien-être.

Les premières automobiles comme la Wilson-Pilcher du début des années 1900


avaient un régulateur de la vitesse, il s’agit d’un système qui ajuste automatiquement
la vitesse de la voiture et ne permet au véhicule d'atteindre que la vitesse réglée par le
conducteur, dans notre cas, le système sera adaptatif de manière à respecter les
panneaux de signalisation.

2
Chapitre1 

Présentation d’ALTEN Delivery Center


Maroc

Ce chapitre contient une description de la société ALTEN, qui vient d’améliorer le


domaine de l’automobile avec des services particulières. Nous allons essayer de
présenter le groupe international puis parlant de sa filiale au Maroc. Enfin nous allons
décrire les différentes contributions d’ALTEN dans l’automobile.

2
1 Introduction 

Seulement 15 kilomètres séparent le Royaume du Maroc du continent européen.


L'économie marocaine, toujours considérée comme émergente, a maintenu des taux
de croissance moyens d'environ 4% au cours des cinq dernières années et n'a pas été
affectée par les turbulences du printemps arabe.

Dans le rapport de référence Doing Business 2020 de la Banque mondiale sur


l'environnement des affaires, le Maroc a considérablement amélioré son classement,
se hissant au 53éme rang mondial et au troisième rang en Afrique, derrière Maurice et
le Rwanda. L'accès direct aux plus grands marchés automobiles du monde est rendu
possible par la situation géostratégique du Maroc.
Avec des bureaux à Fès, Rabat et Casablanca depuis 2008, la filiale du leader mondial
du conseil en ingénierie et technologie, ALTEN DELIVERY CENTER MOROCCO,
compte actuellement plus de 1 100 consultants et prévoit d'y faire travailler 1 300
consultants alteniens en 2022 en tant que centre d'excellence.

2 Organisme d’accueil

2.1 ALTEN
2.1.1 Présentation

Alten est une multinationale française de conseil en ingénierie et technologie et


une société de services numériques (SI) créée en 1988. Elle est présente dans plus de
vingt-huit pays et emploie 37 800 collaborateurs, dont une majorité de consultants, à
fin 2020.

ALTEN DELIVERY CENTER MOROCCO est une filiale du groupe ALTEN


avec plus de 920 employés.

2
Il est à la fois la plateforme de développement de projets Nearshore et le
représentant du groupe sur le continent africain pour les clients internationaux. Avec
le site de Casablanca situé à Casa Nearshore, le centre d'excellence de Technopolis
rabat et le Centre de Livraison situé à Fès Shore Park, la filiale marocaine ambitionne
de déployer une stratégie globale permettant à ses clients de bénéficier d'un service de
qualité mais aussi de proximité à un coût très compétitif

Figure 1:effectifs d’ingénieurs dans chaque filiale d’ALTEN

2.1.2 Historique

En 1988, trois ingénieurs diplômés du secondaire fondent ALTEN. Elle s'est


développée entre 1988 et 1997 en créant des filiales en France et en augmentant ses
opérations. Lors de son introduction sur le deuxième marché de la Bourse de Paris en
1999, ALLEN a poursuivi son expansion régionale en créant des filiales

2
supplémentaires. ALTEN a acquis une réputation mondiale en 2000. Après ses
implantations à l'étranger et ses diverses opérations d'acquisitions, le commerce
international a représenté plus de 20% du chiffre d'affaires d'ALTEN en 2003.

ALTEN, qui a poursuivi sa croissance en France et à l'étranger, a dépassé tous


ses concurrents en 2006 pour prendre la première place en Europe pour le conseil en
haute technologie.

2.1.3 Métiers et secteurs d’activité

La gestion de leur approvisionnement en produits a été minutieusement revue


par les fabricants en raison du développement et de la mondialisation. De cette
manière, ALTEN utilise une variété de paramètres complexes dans son activité de
technologie de l'information et de la communication (TIC). En mettant l'accent sur
l'amélioration continue, son agilité organisationnelle et ses méthodologies de projet
permettent un développement plus rapide des produits à des prix compétitifs. Les
activités du groupe sont divisées en trois secteurs d’activité :

Les systèmes d’information technologiques, les réseaux télécoms et


multimédias et le conseil en ingénierie et en technologie. La figure 2 montre les
différents secteurs d'activité du groupe ALTEN.

2
Figure 2:Secteurs d’activité du groupe ALTEN

2.1.3.1 Ingénierie et R&D externalisée

 Innovation & Transformation digitale


 Design & Développement produit
 R&Dexternalisée
 Manufacturing Engineering
 Supply Chain& Qualité
 Customer Support
 Formation
 Management de projet & Conduite de changement

2.1.3.2 IT Services

 Consulting & Transformation digitale


 Expertise technique : Digital, BigData, DataScience, IA
Applications : Développement, Maintenance, Test
 Infrastructures : Cloud, Réseaux et Sécurité
 Architecture et Sécurité
 Déploiement
 Support Intégration

2.2 ALTEN Delivery Center Maroc


2.2.1 Aperçue général

Créé en 2008 et présent à Fès et Rabat, ALTEN DELIVERY CENTER


MAROC compte à ce jour plus de 500 ingénieurs et vise un centre d’excellence de
1000 ingénieurs en 2020. ALTEN développe des technologies de pointe au service
des leaders de l’industrie et accompagne ces clients dans la conception et le
développement de leurs systèmes d’information. Elle apporte des solutions au plus
2
près de leurs enjeux dans les domaines du développement
informatique, l’Aéronautique, l’Automobile et des Réseaux Télécoms.

2.2.2 Valeurs ajoutées de l’entreprise ALTEN dans le


domaine de l’automobile

L’automobile est la tendance du marché pour ALTEN : marché


structurellement porteur :

Véhicules hybrides et électriques, autonomie des batteries, systèmes de conduite


autonome, infotainment, Big data (services aux usagers, maintenance prédictive,
conception R&D).

Plus de 2 000 filiales de consultants ALTEN en France et à l'international


participent aux projets des plus grands constructeurs et équipementiers européens. La
valeur ajoutée de l'intervention s'articule autour de trois axes : la capacité à mobiliser
des ressources, la capacité à participer à des projets et la capacité à s'adapter
rapidement au modèle d'intervention. Connaissances approfondies dans des domaines
spécialisés tels que le contrôle moteur et l'électronique de la cabine passagers (info
divertissement).

Cette Approche horizontale (constructeurs et équipementiers) et internationale


(France, Allemagne, Suède, Etats-Unis, Inde, Chine) du secteur. Par exemple, la
présence d'ALTEN en Inde (800 ingénieurs) et en Chine permet d'accompagner les
projets locaux de multiples clients de l'industrie automobile dans la conception et
l'implantation de nouveaux centres à l'avenir.

2
Figure 3:la contribution d’ALTEN dans le domaine d’automobile

3 Conclusion
Dans ce chapitre nous avons présenté l’entreprise qui nous a accueilli pour notre
stage chez ALTEN de Fès ainsi que son historique, ses activités aussi le contexte
général de notre projet.

2
Chapitre2 

Méthodologie de travail et
environnement technique du projet

Ce chapitre fait l’objet d’une présentation de l’environnement technique du projet,


d’autre part il décrit l’importance de l’une des plus connues méthodes qui organise le
cycle de développement d’un système dans l’automobile, car il est nécessaire
d’adopter une méthode de travail convenable qui va assurer le bon déroulement du
projet.

2
1 Introduction

Afin d'assurer le bon suivi des différentes étapes du projet, il est nécessaire
d'adopter une méthode de travail convenable. Ainsi, la première partie de ce chapitre
vise à exposer l'ensemble des méthodes et outils de gestion qui ont été mis en place
afin d'assurer le bon déroulement du projet.

Les processus de développement de véhicules peuvent être accélérés par les


sociétés d'ingénierie automobile utilisant MATLAB et Simulink, ce qui permet de
livrer des automobiles qui répondent aux exigences du marché en matière de
performances, de confort, de sécurité et d'efficacité énergétique.

Python est utilisé dans l'électronique automobile pour créer des systèmes
intelligents artificiellement intelligents et basés sur le langage machine.

2 Méthodologie de travail

2.1 Cycle de développement en V


Un cycle de vie de développement de logiciels, parfois appelé SDLC (SDLC).
Pour mieux gérer la planification, il s'agit de créer un plan détaillé qui décrit les
différentes phases et comprend toutes les différentes actions. Par conséquent, il
représente la vision à long terme du programme dans son ensemble, des premières
étapes de la conception à l'entretien et à la retraite éventuelle de l'application finie.
Grâce à cette planification, les organisations et les entreprises engagées dans le
développement de logiciels, en particulier de logiciels embarqués, visent à fournir des
logiciels de haute qualité rapidement et efficacement.

Le processus de développement logiciel adhère à un certain nombre de modèles


de cycle de vie énoncés et créés. Pour assurer le succès du processus de
développement logiciel, chaque modèle de processus adhère à un ensemble de
2
certains processus spécifiques à son type. Les modèles SDLC les
plus utilisés dans le secteur sont répertoriés ci-dessous :

 Cycle en Cascade (Waterfall Model).


 Cycle itératif (Iterative Model).
 Cycle spiral (Spiral Model).
 Cycle en V (V-Model).

Le cycle en V, qui a ses racines dans le monde des affaires, est largement
utilisé dans le secteur des logiciels depuis les années 1980. Depuis lors, avec le
développement de l'ingénierie des systèmes, il est devenu un standard conceptuel
dans de nombreuses industries. Le cycle en V sert d'exemple de la manière dont
chaque étape du cycle de vie du développement et le test qui l'accompagne sont liés.
Figure 4:Le cycle de développement en V

2
Le cycle en V est défini par un axe horizontal qui représente le temps et un axe
vertical qui représente le niveau d'intégration du système, comme le montre le
diagramme ci-dessus. Voici une ventilation du cycle :

 La phase de définition et de construction du système, qui est la branche


descendante du cycle en V. Le système est progressivement démonté en ses
différents sous-systèmes et modules jusqu'au niveau composant au cours de
cette macro-phase de conception et de codage.
 Le sommet du cycle en V représentant la phase de mise en œuvre et
implémentation du code.
 La phase de vérification et de validation du système, qui est la branche
ascendante du cycle V, est l'endroit où les composants réalisés sont combinés
en assemblages et sous-systèmes de plus en plus grands jusqu'à ce que
l'ensemble du système soit terminé.Jusqu'à ce que le client accepte le produit,
cette branche vise à le valider. Il consiste principalement en une série de tests
jusqu'à ce qu'il puisse être confirmé que le produit répond aux besoins et aux
spécifications.

Les phases du cycle en V, comme présentées sur la figure 4, sont les suivantes :

 Exigences de l'utilisateur: La première phase du processus est la


création des spécifications, qui incluent les nombreuses demandes
formulées par le client, qui spécifie généralement le besoin et les attentes
du projet.
 Exigences du système (System rééquipements) :les exigences du
système sont recueillies en analysant les besoins de l'utilisateur. Cette
phase détermine ce que le système idéalement devrait accomplir, mais ne
spécifie pas comment le logiciel sera conçu et sera maintenu.
 Conception d'architecture(conception d'architecture): Au cours de
cette étape, les ingénieurs systèmes examinent et complètent les
responsabilités du système proposé tout en analysant et en étudiant les
besoins uniques des utilisateurs. L'utilisateur est alerté du problème, une
solution est découverte et fournie, et le document d'exigences est modifié
si nécessaire si l'analyse révèle que l'une des exigences n'est pas viable.À
2
ce stade, une architecture logicielle est créée pour
spécifier les composants du logiciel et les relations qui devraient exister
entre eux. Le terme conception ou architecture de haut niveau
(Conception/architecture de niveau supérieur) est fréquemment utilisé
pour décrire le processus de conception matérielle et logicielle.

 Conception de module (Module design): appelée également


conceptionou architecture de bas niveau (Low level design/architecture
(LLD)). Le système conçu est divisé en très petites unitésappelées
modules, où l'implémentation détaillée de chacun d'euxest spécifiée. Elle
peut être un début de code ou une documentation qui définit chaque
module.
 Implémentation (Implementation):c'est dans cette phase que nous avons
fait le codage et l'implémentation des modules conçus.
 Tests unitaires (Unit Testing):c'est une méthode par laquelle des unités
individuelles de code source sont testés pour déterminer si elles sont
utilisables. L'unité est la plus petite partie testable, généralement une
fonction ou une procédure. Les tests unitaires sont créés par des
programmeurs et sont généralement réalisés par des tests de type "white
box" afin de tester la logique interne du code et chaque branche possible
dans la fonction pour assurer la qualité du logiciel développé. C'est une
étape où l'on teste que chaque module développé durant la phase du LLD
respecte le cahier des charges.
 Intégration logicielle et test (Software integration and testing) :cette
étape vise à tester le comportement de l'application en intégrant
progressivement toutes les briques du logiciel. Les modules sont testés
ensemble pour détecter les erreurs dans les interfaces et l'interaction
entre les composants intégrés.
 Tests système ou de validation (System Testing) :sont des tests effectués
sur un système complet et intégré et sont conçus pour évaluer la
conformité du système aux exigences spécifiées. Le test du système est
un test de "black box" et ne nécessite aucune connaissance de la
conception interne du code ou de sa logique.
 Tests d'acceptation par l'utilisateur (User acceptance Testing) : c'est la
phase utilisée par le client pour déterminer s'il accepte le système. Ces
tests permettent de tester le logiciel dans le monde réel des utilisateurs.

2
2.2 La méthode agile
La méthodologie Agile est fondée sur le principe simple que la planification
méticuleuse d'un projet avant de le développer est inefficace.

C'est une perte de temps de planifier chaque détail du projet car il est rare que
tout se déroule comme prévu. Des dangers surviennent fréquemment, obligeant
l'équipe à revoir la planification.

La méthodologie Agile conseille d'établir des objectifs à court terme. En


conséquence, le projet est divisé en plusieurs initiatives plus petites. Nous continuons
jusqu'à ce que le dernier objectif soit atteint après la fin du premier. Comme il est
impossible de prévoir et de se préparer à tout, cette stratégie est plus adaptable et
permet des changements et des situations imprévues.

Cette approche repose sur un lien particulier entre le client et l'équipe de projet.
La satisfaction du client est la principale préoccupation de l'équipe, donc une
participation complète de l'équipe et une réactivité aux changements des clients et aux
circonstances imprévues sont essentielles. Le client est celui qui approuve chaque
étape du projet, ce qui rend la conversation avec lui privilégiée. Afin de correspondre
à ses attentes, la nature évolutive de ses besoins est prise en considération, et des
modifications sont apportées dans l'instant.

L'idée fondamentale est de fournir d'abord une version minimalement


fonctionnelle du logiciel avant d'ajouter plus de fonctionnalités à cette base en
utilisant un processus itératif qui consiste à diviser le projet en étapes qui durent entre
une et quatre semaines (deux semaines à notre époque, ce qui équivaut à 10 jours) ;
ceux-ci sont connus sous le nom d'itérations (Sprints). Une version du produit attendu
est créée lors d'une itération puis livrée au client pour approbation dans son
intermédiaire. Ainsi, au fur et à mesure que le cycle de vie se développe de manière
incrémentielle, les fonctionnalités sont fusionnées et le système s'enrichit de plus en
plus pour atteindre les niveaux de satisfaction et de qualité nécessaires.

L'objectif est d'obtenir, au terme de chaque itération, un sous-ensemble


opérationnel du système cible et, au terme de la dernière itération, la version finale du
produit. Ceci est schématisé sur la figure 5 ci-dessous pour les deux premières
fonctions du système :

2
Figure 5:Le déroulement du projet - exemple des deux premières fonctions

3 Environnement technique

3.1 Langage de programmation


Parce qu'il y a tellement de langages de programmation, il est logique que
différentes personnes aient des points de vue très divergents sur lequel est « le
meilleur ». Prétendre qu'une langue est meilleure que les autres est étrange car il est
évident que tout dépend du projet en cours. Mais cela n'exclut pas l'existence de
langages de programmation qui sont admirés et favorisés par tous les programmeurs.
Python est sans doute le plus connu de tous.

Figure 6:Langages les plus utilisés en programmation

2
Python est un langage de programmation interprété de haut niveau, à
sémantique dynamique. Sa syntaxe facile à apprendre et sa construction claire en font
le point d'entrée idéal pour les débutants en programmation. Il en est ainsi en raison
de l'accent mis par le langage sur la lisibilité et de la simplicité du codage.

Le fait que Python prenne en charge les modules et les packages est une autre
caractéristique clé. La réutilisation du code dans divers projets est simplifiée pour les
développeurs Python par ces deux facteurs. Naturellement, c'est un moyen fantastique
de travailler avec la langue plus efficacement et de gagner du temps et des efforts.

3.2 Environnement logiciel de modélisation


En raison de la demande croissante de complexité du marché, la conception de
systèmes automobiles performants devient de plus en plus difficile et coûteuse.
L'électronique de carrosserie est particulièrement impactée par cette tendance ; la
conception des vitres électriques en est une bonne illustration. Ce domaine
apparemment sans importance nécessite de développer un système de contrôle qui
combine les données de divers capteurs et adhère à des règles comportementales
complexes afin de satisfaire les exigences du marché et légales.

Une spécification de texte est écrite en utilisant des méthodologies de


conception traditionnelles et des algorithmes C sont implémentés. Les algorithmes,
cependant, ne peuvent pas être testés sans matériel. Cette méthode place l'ingénieur
dans la position défavorable de devoir attendre la livraison finale du matériel avant de
pouvoir tester son système.

Les ingénieurs doivent séparer le développement et la vérification des


algorithmes de la disponibilité du matériel afin d'éviter ces problèmes. Les
équipementiers et les fournisseurs du monde entier se convertissent à la conception
basée sur des modèles pour répondre à ce besoin.

2
3.2.1 Model-Based Design with MATLAB & Simulink

Un modèle de système sert de base au processus de conception connu sous le nom


de conception basée sur des modèles. Le processus est composé des quatre idées
suivantes : (1) Spécification exécutable basée sur un modèle (2) Simulation pour la
conception ; (3) Génération de code pour la mise en œuvre (4) Test et vérification
constants. Au début, un modèle simulable ou exécutable est utilisé pour créer et
communiquer les spécifications de conception du client au fournisseur (qui comprend
un modèle de haut niveau, des entrées ou des cas de test et des résultats attendus ou
des critères d'acceptation). Une spécification exécutable offre un moyen clair de
déterminer les besoins des clients et permet une communication plus précise entre les
ingénieurs de divers horizons et nationalités en ingénierie.

La phase de conception utilise ensuite la spécification exécutable comme base. Le


modèle sera élaboré par des ingénieurs de développement utilisant la simulation
jusqu'à ce que l'algorithme et le système soient prêts à l'emploi. Les ingénieurs
peuvent utiliser le modèle de simulation pour étudier des alternatives pendant la phase
de conception afin de trouver une conception qui réponde aux exigences de
performance, de coût et de qualité du client. Étant donné que l'environnement de
modélisation peut être utilisé pour capturer à la fois l'algorithme et le comportement
de l'usine, les ingénieurs peuvent confirmer que la conception est conforme aux
spécifications. Ce processus est également connu sous le nom de « test as yougo».
Sans utiliser un seul prototype, cette vérification peut être appliquée à des centaines
de combinaisons de véhicules à construire, ce qui n'est pas possible dans un
environnement de conception non exécutable.

Le modèle de conception est utilisé dans la phase d'implémentation pour produire


du code. Le modèle de conception lui-même sert de "référence en or" pour valider
l'implémentation du code. Pour commencer, le modèle de la simulation est désactivé
pour le code (software in the loop, ou SIL). Les résultats peuvent ensuite être
comparés et le code peut être considéré comme vérifié si aucune erreur n'est
découverte. Pour vérifier l'implémentation matérielle de la conception, le code est
ensuite ciblé vers un processeur de substitution ou le processeur final. Ce processus
est connu sous le nom de prototypage rapide ou prototypage rapide sur cible.

2
Il y a deux points dans le processus de conception où le nouveau processus est
précieux pour l'industrie automobile. Tout d'abord, avec la méthode conventionnelle,
les défauts de conception ne sont découverts qu'après la mise en place du matériel, ce
qui nécessite des modifications de conception coûteuses et chronophages.
Deuxièmement, une fois la conception validée, la génération automatique de code
peut produire le code rapidement et efficacement. Il faut savoir que la simplicité de la
génération de code encourage davantage de tests initiaux (viaSIL et Prototypage
rapide), ce qui améliore la qualité initiale et réduit les coûts en empêchant les
modifications de dernière minute.

3.2.2 Exemple d’une émigration vers le MBD

Plusieurs constructeurs automobiles, dont Caterpillar, General Motors, Toyota,


Continental Teves, Jaguar et d'autres, ont utilisé cette méthodologie de conception
avec succès. Le niveau de complexité du système dépassait la capacité des systèmes
de contrôle mécanique chez Caterpillar, comme dans la majorité des entreprises
automobiles, ce qui a entraîné une augmentation de la demande de logiciels de
contrôle. Caterpillar a compris qu'il était nécessaire de créer un cadre permettant à ses
groupes de contrôle, qui se concentraient auparavant sur les systèmes mécaniques, de
créer de nouveaux algorithmes logiciels.

Caterpillar a généralement dû payer des coûts d'ingénierie non récurrents (INR)


élevés et attendre longtemps entre les itérations du logiciel lors du développement.
Compte tenu de leur dépendance croissante à l'électronique, Caterpillar était
également préoccupé par la hausse potentielle des coûts de garantie. L'équipe des
systèmes électroniques et électriques (SE & E) de Caterpillar a adopté un processus
de conception basé sur des modèles pour répondre à leurs besoins en se concentrant
principalement sur :

 Spécifications du système et développement d'algorithmes à l'aide de


modèles Simulink.
 Prototypage rapide pour un délai d'exécution rapide dans les organisations
de développement de machines et de moteurs.
 Génération de code à partir des modèles Simulink.

2
4 Conclusion 
Ce chapitre précise le rôle important qui joue le cycle en V dans la gestion d’un tel
projet et la méthode Agile qui organise les réunions et échanges inter-équipes ainsi
qu’avec les encadrants. Plusieurs méthodes et outils ont été adaptés pour arriver à
l’accomplissement de ce projet.

2
Chapitre3 

Réalisation du régulateur de vitesse

Le présent chapitre vise à mettre le point sur l’approche suivi pour le développement
de ce système. La constitution d’un régulateur de vitesse demande la conception de
plusieurs sous-systèmes qui vont être détaillés par la suite.

Pour la plante, nous avons adopté l’outil Simulink afin de s’assurer d’une bonne
modélisation et de la facilité de la détection des anomalies qui peuvent arriver. Une
fois la plante est prête Nous allons créer un modèle en utilisant Python qui va gérer la
tâche relative à la détection des panneaux de signalisation.

2
1 Introduction

En conduisant longtemps sur une route ouverte, il serait assez fatiguant de continuer
à appuyer sur la pédale d'accélérateur. Le régulateur de vitesse est une fonction qui
aide à réduire la fatigue ressentie par les conducteurs lorsqu'ils parcourent une longue
distance. Le système imite la façon dont les conducteurs humains conduisent. Mais au
lieu d'appuyer sur la pédale d'accélérateur, il utilise un actionneur pour contrôler
l'accélérateur et aide la voiture à continuer de rouler à la même vitesse. Dans nôtre la
consigne sera l’interprétation des plaques signalétiques installés dans les routes

2 Présentation sur les régulateurs de vitesses

Les voitures ont un système appelé régulateur de vitesse qui régule


automatiquement la vitesse. Ce système maintiendra le véhicule à la vitesse réglée
sans l'intervention du conducteur. Le régulateur de vitesse amélioré connu sous le
nom de régulateur de vitesse adaptatif ralentit et accélère automatiquement le
véhicule pour correspondre à la vitesse du véhicule devant lui.

2.1 Le régulateur de vitesse normal


2.1.1 Définition

Le but d'un régulateur de vitesse est de maintenir avec précision une vitesse
réglée par le conducteur sans aucune intervention extérieure en contrôlant la tringlerie
accélérateur-pédale d'accélérateur.

Même avant l'invention des voitures, les premières formes de régulateur de


vitesse étaient utilisées. Au début du 17ème siècle, l'inventeur et ingénieur en
mécanique James Watt a créé une version qui permettait aux machines à vapeur de se
déplacer à une vitesse constante de haut en bas des pentes. Le concept d'utilisation
d'un dispositif à commande électrique capable de manipuler la vitesse de la route et
d'ajuster l'accélérateur en conséquence a été conçu à la fin des années 1940, donnant
lieu à l'invention du régulateur de vitesse tel que nous le connaissons aujourd'hui.
2
2.1.2 Fonctionnement

La position de l’accélérateur est réglée par le régulateur de vitesse de la même


manière pour réguler la vitesse du véhicule. Au lieu d'utiliser une pédale, le régulateur
de vitesse ouvre le papillon des gaz via un câble fixé à un actionneur.

Comme le moteur est à combustion interne, le papillon des gaz régule la quantité d'air
que le moteur peut aspirer pour déterminer sa puissance et sa vitesse.

Figure 7:L'arbre de commande utilisée pour le régulateur de vitesse

Le conducteur peut le régler avec les commutateurs de croisière, qui se


composent généralement de ON, OFF, RESUME, SET/ACCEL et COAST. Ceux-ci
sont généralement situés sur le volant ou sur l'essuie-glace ou la tige de clignotant. Le
bouton SET / ACCEL règle la vitesse de la voiture. Un robinet l'accélérera de 1 mph,
deux de 2 mph et ainsi de suite. Appuyer sur le bouton dans la direction opposée
ralentira le véhicule. Par mesure de sécurité, le régulateur de vitesse se désengagera
dès qu’il appuie sur la pédale de frein.

2
Cependant, avec le nombre de voitures sur les routes qui
augmente plus que jamais, la fonctionnalité du régulateur de vitesse normal devient
obsolète. Le régulateur de vitesse adaptatif gagne rapidement en popularité.

2.2 Le régulateur de vitesse adaptatif


2.2.1 Définition

L'innovation à venir dans la gestion automatisée de la vitesse dans les nouvelles


voitures est le régulateur de vitesse adaptatif. Il s'agit d'une fonction de régulateur de
vitesse intelligente qui ralentit et accélère automatiquement pour suivre le rythme du
véhicule en face de la voiture.

2.2.2 Fonctionnement

2
Figure 8: la vue du conducteur lors d’un ACC

Une vitesse maximale est fixée par le conducteur, un peu comme avec le
régulateur de vitesse conventionnel. L'avant de la voiture est doté d'un capteur radar
qui balaie la route devant lui et se verrouille sur le véhicule qui le précède. La vitesse
de voiture est ensuite gérée par ce capteur afin qu'il maintienne toujours une distance
de 2 à 3 secondes par rapport au véhicule qui précède.

En utilisant l'entrée des capteurs radar, l'unité informatique mesure la distance


de la voiture qui précède et calcule la vitesse par rapport à celle-ci. S'il y a plusieurs
véhicules dans le champ de couverture du capteur en même temps, il sélectionne
automatiquement lequel des véhicules le système doit suivre.

Par exemple, si on s’approche d'un véhicule plus lent ou si un autre véhicule


passe devant la voiture, le régulateur ralentit la voiture en déclenchant des
commandes correctives dans la gestion du moteur et, si nécessaire, dans le système de
freinage également.

2
Figure 9:Fonctionnement du Régulateur De Vitesse Adaptatif

En matière de sécurité, ACC est très diligent. Il donne deux avertissements


si on s’approche trop près de la voiture en face. Il avertit d'abord visuellement et
audiblement, puis appliquera brièvement les freins pour faire réveiller le conducteur.
Le système arrêtera complètement la voiture si nécessaire. D'autres utilisent un
système optique basé sur des caméras stéréoscopiques, tandis que certaines unités
utilisent des lasers. Quelle que soit la technologie, l'ACC fonctionne de jour comme
de nuit, bien que des conditions météorologiques défavorables telles que beaucoup de
neige, de pluie ou de brouillard puissent nuire à ses performances.

3 Conception du MCC

3.1 Modèle Simulink


3.1.1 Définition

L'un des groupes de moteurs électriques rotatifs qui utilisent de l'électricité à


courant continu (CC) pour créer de l'énergie mécanique est appelé moteur à courant
continu. La majorité des types dépendent des forces du champ magnétique. Pour
qu'une partie du courant du moteur change occasionnellement de direction, presque
tous les types de moteurs à courant continu ont un mécanisme interne
électromécanique ou électronique.

Parce qu'ils pouvaient être alimentés par des systèmes de distribution d'énergie
d'éclairage à courant continu existants, les MCC étaient le premier type de moteur
largement utilisé. La vitesse d'un moteur à courant continu peut varier sur une large
2
plage en faisant varier la tension d'alimentation ou la quantité de
courant traversant ses enroulements de champ. Les appareils électroménagers, les
jouets et les outils utilisent tous de petits MCCs. Le moteur universel, un moteur
brossé léger utilisé pour les outils et appareils électriques portables, est capable de
fonctionner en courant continu. Des MCCs plus gros sont actuellement utilisés pour
les entraînements de laminoirs en acier, la propulsion des ascenseurs et des palans et
la propulsion des véhicules électriques. Les moteurs à courant alternatif peuvent
désormais être utilisés dans de nombreuses applications à la place des MCCs grâce au
développement de l'électronique de puissance.

 En fonctionnement moteur l'énergie électrique est transformée en énergie


mécanique.
 En fonctionnement générateur l'énergie mécanique est transformée en énergie
électrique. La machine se comporte comme un frein. La génératrice à courant
continu est aussi appelée dynamo.

Figure 10: Moteur à


courant continu Figure 11: Intérieur d'un MCC

3.1.2 Technologies

Simulink est une plate-forme de simulation multi-domaine et de modélisation


de systèmes dynamiques. Il fournit un environnement graphique et un ensemble de
bibliothèques contenant des blocs de modélisation qui permettent le design précis, la
simulation, l’implémentation et le contrôle de systèmes de communications et de
traitement du signal. Simulink est intégré à MATLAB, fournissant ainsi un accès
immédiat aux nombreux outils de développement algorithmique, de visualisation et
d’analyse de données de MATLAB. Ceci explique le choix de cette plateforme par
rapport aux d’autres

2
Figure 12: Simulation et approche MBD sur Simulink

3.1.3 Modélisation du moteur 

Une machine électrique à courant continu est constituée :

 D'un stator qui est à l'origine de la circulation d'un flux magnétique longitudinal fixe


créé soit par des enroulements statoriques soit par des aimants permanents. Ce stator

2
est aussi appelé inducteur en référence au fonctionnement en
génératrice de cette machine.
 D'un rotor bobiné relié à un collecteur rotatif inversant la polarité dans
chaque enroulement rotorique au moins une fois par tour de façon à faire circuler
un flux magnétique transversal en quadrature avec le flux statorique. Les
enroulements rotoriques sont aussi appelés enroulements d'induits, ou
communément induit en référence au fonctionnement en génératrice de cette machine.

Tableau 1: différents types de moteur à courant continu

2
Figure 13: Schéma électrique d’un MCC

Equation électrique :
Modéliser un moteur à courant continu (MCC) suppose établir la relation entre sa
vitesse de rotation et la tension appliquée à ses bornes.

Figure 14: procédure MCC

A partir du schéma électrique on a :


dI ( t)
U(t)= R I(t)+ L + E (t)
dt

Avec E(t)=k’∅ Ω(t)

On a K’∅ =K (car ∅=cte ¿

Donc E(t)=K Ω(t )

Finalement :
dI ( t)
U(t)= R I(t)+ L dt
+ K Ω(t )

2
Figure 15: Schéma mécanique d’un MCC

Equation mécanique :
D’après le principe fondamental de la dynamique :
dΩ ( t )
J dt
=Te-Tr-f*Ω ( t )

On a : Te=k*I(t)
Finalement on obtient l’équation suivante :

dΩ ( t )
J* dt
=kI (t)−Tr −fΩ ( t )

2
Tableau 2: Grandeurs physiques d’un MCC

Grandeur Signification
physique
U(t) Tension appliquée au moteur

E(t) Force contre électromotrice

I(t) Courant traversant le moteur

Ω(t )
Vitesse de rotation du rotor

Te Couple moteur généré

Tr Couple résistant

f Coefficient de frottement
visqueux
J Moment d’inertie de l’axe du
rotor
K La constante du flux du moteur

Equation de transfert :

La transformation de Laplace pour l’équation électrique trouvée :

U(p)=R+L*p*I(p)

2
Par conséquent :
U ( p ) −kΩ( p)
I(p)= Lp+ R

La transformation de Laplace pour l’équation mécanique trouvée :

J sΩ ( s )=k I ( s )−Tr−f Ω ( s )

Alors :
k I ( p )−Tr
Ω ( p )=
Jp+ f

3.1.4 Modèle du moteur sous Simulink

Le modèle MCC développé utilise les deux équations de transfert qui caractérisent
son fonctionnement dans le domaine temporel.

Le système prend en entrée une tension et produit la vitesse de rotation en deux unités
différentes (rad/sec, tr/min).

Figure 16: Modèle équivalent d’un moteur à courant continu

2
3.1.5 Validation du modèle

Concernant tester le modelé développé on va se baser sur des paramètres de façon :


 Pour une valeur de tension U=200V on obtient une vitesse de 1000 tr/min

Tableau 3: paramètres de la première équation de transfert

Paramètre Valeur
K 1.91
L (H) 0.011
R (ohm) 0.8

Tableau 4: paramètres de la deuxième équation de transfert

Paramètre Valeur
K 1.91
Tr (N.m) 1
J (kg.m²) 0.2
F(N) 0.01

Figure 17: la réponse du courant à une tension de 200V

2
Figure 18: Simulation de la vitesse en tr/min pour une tension d’entrée de 200V

Le comportement du modèle est adéquat avec les résultats prévus puisque la


vitesse converge vers une valeur unique en essayant différentes valeurs de tension. Le
système est répond aussi bien à des valeurs de tension très basses.

On peut conclure en se basant sur les résultats de la simulation que le modèle


donne une bonne approximation du fonctionnement réel d’un moteur à courant
continu.

3.2 Contrôle de la plante avec PID

Figure 19: Comportement du processus

2
3.2.1 Définition 

Pour créer un signal de commande unique, le contrôle PID combine des actions
proportionnelles, intégrales et dérivées, chaque action fournissant une caractéristique
pour contrôler la sortie. L'action intégrale élimine les erreurs en régime permanent
tandis que l'action proportionnelle amène le système à répondre à l'erreur actuelle, ce
qui permet une action rapide en cas de variations ou de perturbations.

Figure 20: Fonctionnement d’un système PID

3.2.2 Actions 

Action proportionnelle
Pour des raisons de restriction physique et de sécurité, il existe un seuil
minimum et un seuil maximum d'application du signal de la variable manipulée ;
cette plage de fonctionnement est connue sous le nom de bande proportionnelle. Le
signal de commande est considéré comme saturé et se comporte de manière non
linéaire s'il fonctionne en dehors de la plage. La bande proportionnelle est plus petite
et l'énergie de régulation est d'autant plus élevée que la valeur de l'action
proportionnelle est élevée. Le signal de sortie peut être supérieur à la consigne ou
inférieur à celui-ci à l'état d'équilibre, et l'erreur ne sera jamais complètement
éliminée, mais le système peut réagir plus rapidement en conséquence.

2
Figure 21: Contrôle proportionnelle

Action intégrale :
La stabilité relative du système diminue lorsque l'action intégrale est utilisée
seule, mais elle aide à annuler l'erreur en régime permanent lorsqu'elle est combinée à
l'action proportionnelle. La valeur intégrale détermine le temps qu'il faudra au
système pour atteindre la consigne en régime permanent.

2
*

Figure 22: Contrôle proportionnelle intégrale

Action dérivée :
Lorsque la variable manipulée change, le processus présente généralement une
inertie, ou le temps qu'il faut pour qu'un changement d'entrée affecte un changement
de sortie. L'action dérivée prévoit l'action réglementaire, permettant au processus de
réagir plus rapidement que d'habitude. Cette action d'anticipation rend la réponse du
système plus rapide et moins oscillatoire par rapport au temps dérivé. Il augmente
également la stabilité relative du système. Cette action n'aura pas lieu en régime
permanent car la valeur d'erreur sera constante.

Figure 23: Contrôle proportionnelle intégrale dérivée

 Formule du signal de contrôle :

2
3.2.3 Implémentation sous Simulink

Figure 24: modèle Simulink d’un MCC contrôlé par un PID

3.2.4 Validation du Modèle

La validation du modèle est faite en comparant le temps de réponse du premier


modèle avec le temps fait avant de se stabiliser à une valeur précise de la vitesse.

2
On remarque que le système répond rapidement lorsqu’on applique
un contrôle avec le PID, par exemple pour une valeur de tension de 200V le système
se stabilise en moins d’une 1sec.

Figure 25: réponse du système avec PID

Enfin et pour s’assurer de la robustesse du système on ajoute une perturbation sous


forme d’impulsion puis on applique la même tension de 200V.

Figure 26: Modèle Simulink du MCC avec perturbation

A partir de la figure 27 on conclue que le système peut corriger l’erreur introduite et


se stabilise sur la valeur 200 rad/s.

2
Figure 27: réponse du système perturbé

3.2.5 Conclusion

Le choix d’un moteur électrique est expliqué par sa facilité de modélisation sous
Simulink, Autrement on peut opter pour un moteur thermique dans ce cas il faut
étudier son comportement en se basant sur sa carte d’efficacité.

La solution est choisie de telle sorte d’avoir une entrée considérée comme une tension
d’alimentation du moteur, or dans la partie suivante on va travailler sur ce point afin
de créer une commande de contrôle.

2
4 Détection des panneaux de signalisation
Cette partie vise la création d’un modèle capable de bien détecter l’ensemble des
panneaux de signalisation pour commander le moteur selon la valeur correspondante.

4.1 Outils
logiciels 

4.1.1 L’outil Keras

Figure 28: API d'apprentissage en profondeur de python

Dans le cadre du projet ONEIROS, le développeur de Google François Pollet a


créé la bibliothèque Python open source connue sous le nom de Keras. Il est publié
sous les termes de la licence MIT (Open-ended Neuro-Electronic Intelligent Robot
Operating System).

Une première version du logiciel multiplateforme a été publiée le


28 mars 2015. Le but de cette bibliothèque est de permettre la constitution rapide de
réseaux neuronaux. Dans ce cadre, Keras ne fonctionne pas comme un framework
propre mais comme une interface de programmation applicative (API) pour l’accès et
la programmation de différents frameworks d’apprentissage automatique. Theano,
2
Microsoft Cognitive Toolkit (anciennement CNTK) et TensorFlow
font notamment partie des frameworks pris en charge par Keras.

4.1.2 L’outil TnesorFlow

Figure 29: Bibliothèque open source TensorFlow

Créé par l’équipe Google Brain en 2011, sous la forme d’un système
propriétaire dédié au réseaux de neurones de Deep Learning, TensorFlow s’appelait à
l’origine DistBelief. Par la suite, le code source de DistBelief a été modifié et cet outil
est devenu une bibliothèque basée application. En 2015, il a été renommé
TensorFlow et Google l’a rendu open source. Depuis lors, il a subi plus de 21000
modifications par la communication et est passé en version 1.0 en février 2017.

Pour faire simple, TensorFlow est une bibliothèque de Machine Learning, il


s’agit d’une boîte à outils permettant de résoudre des problèmes mathématiques
extrêmement complexes avec aisance. Elle permet aux chercheurs de développer des
2
architectures d’apprentissage expérimental et de les transformer en
logiciels.

On peut le concevoir comme un système de programmation dans lequel les


calculs sont représentés sous forme de graphiques. Les nœuds du graphique
représentent les opérations mathématiques, et les bordures représentent des flèches de
données multidimensionnelles communiquées entre elles : les tensors.

TensorFlow regroupe un grand nombre de modèles et d’algorithmes de


Machine Learning et de Deep Learning. Son API front-end de développement

d’applications repose sur le langage de programmation Python, tandis que l’exécution


de ces applications s’effectue en C++ haute-performance.

Cette bibliothèque permet notamment d’entraîner et d’exécuter des réseaux de


neurones pour la classification de chiffres écrits à la main, la reconnaissance d’image,
les plongements de mots, les réseaux de neurones récurrents, les modèles sequence-
to-sequence pour la traduction automatique, ou encore le traitement naturel du
langage.

4.1.3 OpenCV

Figure 30: Bibliothèque de fonctions de programmation

OpenCV (pour Open Computer Vision) est une bibliothèque libre, initialement


développée par Intel, spécialisée dans le traitement d'images en temps réel. La société
de robotique Willow Garage et la société ItSeez se sont succédé au support de cette

2
bibliothèque. Depuis 2016 et le rachat de ItSeez par Intel, le
support est de nouveau assuré par Intel.

La bibliothèque OpenCV met à disposition de nombreuses fonctionnalités très


diversifiées permettant de créer des programmes en partant des données brutes pour
aller jusqu'à la création d'interfaces graphiques basiques.

OpenCV fournit un ensemble de plus de 2500 algorithmes de vision par


ordinateur, accessibles au travers d’API. Ce qui permet d’effectuer tout un tas de
traitements sur des images (extraction de couleurs, détection de visages, de formes,
application de filtres,...). Ces algorithmes se basent principalement sur des calculs

mathématiques complexes, concernant surtout les traitements sur les matrices (car
une image peut être considérée comme une matrice de pixels).

4.2 Développement du modèle 


4.2.1 Convolution Neural Networks (CNN) :

Figure 31: Classification CNN

2
Un réseau de neurones à convolution, également connu sous le nom de réseau
de neurones à convolution (en anglais CNN ou ConvNet pour convolutional neural
networks), est un type de réseau de neurones artificiels acycliques (feed-forward)
utilisé dans l'apprentissage automatique. Le schéma des connexions entre ses
neurones est calqué sur le cortex visuel des animaux.

Lorsque le champ visuel est carrelé, les neurones de cette zone du cerveau sont
disposés de manière à correspondre à des régions qui se chevauchent. Ils sont
constitués d'un empilement multicouche de perceptrons, dont la fonction est de

prétraiter de petites quantités d'informations, et leur fonctionnement est inspiré des


processus biologiques.

Les réseaux de neurones convolutifs sont largement utilisés dans le traitement


du langage naturel, les systèmes de recommandation et la reconnaissance d'images et
de vidéos..

4.2.2 Entrainement et génération du modèle

Après la création de notre modèle qui était basée sur les différents api(s) et
outils logiciels mentionnés dans la partie précédente, on vise maintenant entrainer
notre modèle afin d’obtenir un modèle puissant capable de répondre aux différents
cas qui peuvent aboutir, pour faire ceci on a utilisé un ensemble de données qu’on a
divisé de la manière suivante :

 80% pour l’entrainement


 20% pour le test

2
Figure 32: 43 classes du DataSet

Figure 33: Images d’entrainement pour la classe 0

4.3 Résultats
4.3.1 Accuracy and Loss

Accuracy (précision) est une mesure pour évaluer les modèles de classification. De
manière informelle, la précision est la fraction des prédictions que notre modèle a
obtenues correctement. Formellement, la précision a la définition suivante :
2
Pour la classification binaire, la précision peut également être calculée en termes de
positifs et de négatifs comme suit :

En ce qui concerne notre modèle La précision et la perte (loss) sont mesurées à


l'aide de la méthode standard fournie par TensorFlow. Le tableau 5 montre la
précision obtenue par le modèle TensorFlow dans scénario fourni par le Dataset.

La figure 34 montre le graphique de la précision du modèle pour l'entraînement


et la validation augmentant avec le nombre d'époques. Notre modèle prédit la sortie
pour chaque image fournie, puis compare la séquence attendue avec la séquence
prédite et calcule la précision. La formule de calcul de la précision est la suivante :

Tableau 5: Grandeurs physiques d’un MC

Précision de 10 époches Précision de 30 époches


Résultat 95% 99.5%
d’entrainement

2
Figure 34: Bord de précision du TensorFlow

Figure 35: Bord de perte du TensorFlow

 On remarque bien que la précision du modèle rapproche de 99%, Autrement la


valeur de la fonction de perte qu’on doit minimiser est presque nulle, ces deux
valeurs correspondent à 30 epochs
 Notons bien qu’on peut améliorer ces résultats en augmentant les epochs.

4.3.2 Test du modèle


2
Ici nous allons présenter des échantillons de test qu’on a
fait :

Figure 36: Résultat obtenu pour une limite de vitesse de 120 KM/H

Figure 37: Résultat obtenu pour une limite de vitesse de 20 KM/H

2
Figure 38: Résultat obtenu pour une limite de vitesse de 20 KM/H

On peut voir la probabilité de chaque résultat selon le modèle sur chaque image ce qui
permet de bien s’assurer des résultats et garantir aussi les meilleures performances
possibles.

Finalement on peut donc opter pour ce modèle afin de générer une commande qui va
etre affecté à notre moteur déjà modélisé.

4.4 Nouvelle commande du moteur MCC 


Maintenant on va essayer d’utiliser les résultats obtenus d’après le modèle
python qui reconnait la valeur de la plaque signalétique afin de commander le moteur
pour limiter ou augmenter sa vitesse selon cette valeur.

Pour se faire on a opté vers l’utilisation d’un fichier de virtualisation dans


lequel on va écrire la valeur numérique correspondante des panneaux de signalisation
fourni par le modèle qui va être ensuite récupérer par une fonction matlab/simulink
comme entrée de la commande du moteur comme représenté dans la figure suivante :

2
Figure 39: Résultat du test d’une plaque de signalisation de 120 KM/H

5 Conclusion

Cette méthode représente un modèle simple et assez précis. Il s'est montré


adaptable pour contrôler les moteurs électriques basés sur Simulink. En ce qui
concerne les tests, ils sont effectués uniquement en utilisant les commandes
appliquées à partir d'images réelles disponibles. De plus, il n'y a aucune
implémentation de ce travail dans aucun matériel en raison du temps le plus court
dont nous disposions pour réaliser le stage.

2
Conclusion Générale

L'idée d'intégrer un système de contrôle de vitesse dans la voiture semble très


bonne en raison des avantages que cela va apporter, en particulier pour réduire le
nombre d'accidents causés par la fatigue.

Au début de ce projet, nous avons dû comprendre la complexité d'un système


embarqué et plus précisément dans l'automobile. Pour cela, il a été divisé en deux
petits sujets, le premier était de générer un modèle de moteur inspiré de la méthode de
conception basée sur le modèle (MBD) et de valider son comportement et après cela,
nous avons commencé à chercher la commande qui a finalement été dérivée par
modèle de détection des panneaux de circulation.

Notre prototype sur le logiciel Simulink peut être déployé dans une large
gamme de véhicules automobiles et peut remplacer le rôle des conducteurs d’une
manière efficace tout en maintenant un très haut niveau de précision.

Pendant cette période de stage, nous avons pu contrôler le moteur électrique et


obtenir de bons résultats, mais le système est toujours ouvert pour accepter de
nouvelles fonctionnalités ou même renforcer les fonctionnalités déjà existantes.

Ce stage est une expérience significative ajoutée à notre expérience, car il nous
a permis de plonger dans le monde de l'automobile et d'en savoir plus sur leurs
normes. C'était aussi l'occasion de développer non seulement les compétences
techniques dans le développement de logiciels embarqués mais aussi d'acquérir plus
sur les soft skills et d'aiguiser le côté relationnel tout en travaillant dans une équipe
jeune et motivée. Grâce à cela, nous avons pu avoir un aperçu global de
2
l'environnement professionnel au sein d'une entreprise
multinationale ainsi que des tâches effectuées par les ingénieurs.

Enfin, nous tenons à exprimer notre bonheur d'avoir eu l'opportunité de


travailler dans un cadre agréable avec le plus haut niveau d'encadrement. Pouvoir
contribuer et participer au développement de systèmes automobiles nous rend
incroyablement fiers.

Références

 https://leseco.ma/rapport-international-sur-la-securite-routiere-
progres-enregistres-par-le-maroc/

 https://www.vroomly.com/blog/regulateur-de-vitesse-
fonctionnement-installation-et-prix/

 https://fr.w3ki.com/software_engineering/
software_development_life_cycle.html

 https://fr.wikip edia.org/wiki/Cycle_en_V

 https://www.planzone.fr/blog/quest-ce-que-la-methodologie-agile

 https://energieplus-lesite.be/techniques/ascenseurs7/moteur-a-
courant-continu/

 https://keras.io/

 https://en.wikipedia.org/wiki/OpenCV

2
2

Vous aimerez peut-être aussi