0% ont trouvé ce document utile (0 vote)
90 vues179 pages

Systèmes Embarqués : Concepts et Applications

SQSCQCSSQSQC

Transféré par

Med Mēđōx
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)
90 vues179 pages

Systèmes Embarqués : Concepts et Applications

SQSCQCSSQSQC

Transféré par

Med Mēđōx
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

Système embarquée pour les

systèmes autonomes
Filière : Électronique Embarquée Et
Systèmes Intelligents

Pr. Hamid HASSANI


[Link]@[Link]

Année universitaire : 2024/2025


Aperçu général du cours
❑ Objectifs du cours

• Connaître les exigences des industries automobile et aéronautique.

• Connaître l'architecture d'un système embarqué dédié aux véhicules autonomes.

• Connaître le cycle de développement d'un logiciel et maîtriser ce processus en

appliquant l'approche MBD.

• Connaître les différentes stratégies de test.

• Norme de modélisation/ Norme de développement/Génération automatique de

code/Couverture des modèles

24/02/2025 Pr. HASSANI 2


Plan
1 Chapitre 1 : Introduction aux systèmes embarqués

2 Chapitre 2 : Systèmes Embarqués pour les véhicules


autonomes (Drone et Automobile)

3 Chapitre 3 : Conception basée sur un modèle (MBD)

4 Chapitre 4 : AUTOSAR & ISO 26262

24/02/2025 Pr. HASSANI 3


Plan
1 Chapitre 1 : Introduction aux systèmes embarqués
• Définition d'un système embarqué
• Historique
• Domaines d'application
• Caractéristiques générales
• Classification des systèmes embarqués (SE)
• Systèmes embarqués temps réel
• Type de systèmes embarqués temps-réel
• Contraintes des SEs
• Architecture générale des SE et modes de fonctionnement

24/02/2025 Pr. HASSANI 4


1 Introduction aux systèmes embarqués
1. Définition d'un système embarqué

Un système embarqué, c’est quoi ?

Chaque jour nous utilisons des

produit qui contient des puces


Systèmes
d’ordinateur qui sont constitués des
Embarqués
CPU, des mémoires et des

programmes.

24/02/2025 Pr. HASSANI 5


1 Introduction aux systèmes embarqués
1. Définition d'un système embarqué

Un système embarqué, c’est quoi ?

◼ Les systèmes embarqués nous entourent!

◼ On en croise des dizaines par jour sans le savoir!

◼ Ils sont donc partout, discrets, efficaces et dédiés à ce à quoi ils sont destinés.

◼ Ils sont bourrés d'électronique complexe et d'informatique évoluée.

24/02/2025 Pr. HASSANI 6


1 Introduction aux systèmes embarqués
1. Définition d'un système embarqué

Un système embarqué (SE) est un système informatique et


électronique spécialisé et autonome, souvent temps réel, intégré
dans un appareil ou un produit plus large, conçu pour exécuter des
tâches spécifiques.

➔ Il est souvent dédié à une fonction particulière et est caractérisé


par son intégration matérielle et logicielle, son autonomie
opérationnelle, et son fonctionnement dans un environnement
spécifique.

❑ Les ressources d’un SE sont généralement limitées

24/02/2025 Pr. HASSANI 7


1 Introduction aux systèmes embarqués
1. Définition d'un système embarqué

➔ Patrice Kadionik, 2004: Un SE est une combinaison de matériels


et logiciels permettant de remplir une ou plusieurs fonctions
spécifiques avec des contraintes plus ou moins sévères tel que la
consommation, la température, la taille, les performances… etc
➔ Un SE est autonome et ne possède pas des entrées/sorties
standards tels qu'un clavier ou un écran d'ordinateur. Un SE
utilise souvent des interfaces adaptées à son application

24/02/2025 Pr. HASSANI 8


1 Introduction aux systèmes embarqués
1. Définition d'un système embarqué

Exemple d'un SE (calculateur moteur MCU) Exemple d'un SE (calculateur moteur BCM)

24/02/2025 Pr. HASSANI 9


1 Introduction aux systèmes embarqués
1. Définition d'un système embarqué

▪ Les SE contient généralement un ou plusieurs microprocesseurs.

▪ Le système matériel et logiciel sont intimement liés et immergés.

▪ Certains SE ont un système d’exploitation (multitâche) et d’autres non (tâche simple).

▪ Les SE programmables sont dotés d’interfaces de programmation et leur programmation est


une activité spécialisée.

▪ Un SE est autonome et ne possède pas des entrées/sorties standards tels qu'un clavier ou
un écran d'ordinateur

▪ Contrairement à un PC, l'interface IHM d'un système embarqué peut être aussi simple
qu'un LED qui clignote ou aussi complexe qu'un afficheurs à cristaux liquides LCD.

▪ Le logiciel a une fonctionnalité fixe à exécuter qui est spécifique à une application.

24/02/2025 Pr. HASSANI 10


1 Introduction aux systèmes embarqués
2. Historique
❑ Premier système embarqué reconnaissable:
Système de guidage de la mission lunaire Apollo

➔ Fournir un système de guidage autonome permettant aux


astronautes de se rendre sur la Lune et de revenir sur
Terre.

➔ Au début du projet, ce système était considéré comme


l'élément le moins fiable du projet

24/02/2025 Pr. HASSANI 11


1 Introduction aux systèmes embarqués
2. Historique Premier système
Premier d'exploitation embarqué
Prévision du marché du Marché des systèmes
système Linux VxWorks par Wind River
système embarqué dépasse Embarqués atteindra
les 180 milliards de dollars 140 milliards de dollars embarqué USA
d'ici 2030 Finlande

2030 2013 1990 1987


Système Système de guidage Premier système Premier
de guidage Apollo du missile Minuteman embarqué pour un microcontrôleur
MIT Laboratory MIT Laboratory véhicule (ABS) par Texas Instruments
USA USA Bosch, Allemagne USA

1960 1965 1970 1971


24/02/2025 Pr. HASSANI 12
1 Introduction aux systèmes embarqués
3. Domaines d’application des systèmes embarqués
➢ Domaines « traditionnels »
▪ Automobile
▪ Avionique
▪ Militaire
▪ Robotique
➢ Domaines « Nouveaux »
▪ Téléphonie, Internet mobile
▪ Jeux et loisirs
▪ Immeubles intelligents
▪ Villes intelligentes
▪ Santé, Sécurité, Agriculture
24/02/2025 Pr. HASSANI 13
1 Introduction aux systèmes embarqués
4. Caractéristiques d’un SE
Système Principalement Numérique:
Les SEs sont essentiellement basés sur des composants numériques, avec une logique numérique prédominante
par rapport à l'analogique. Ils traitent l'information sous forme numérique.

Exécution de Logiciel Dédié:


Les logiciels exécutés sur les SEs sont spécifiquement conçus pour les fonctionnalités particulières du système
(Régulateur de vitesse). Ils ne sont pas destinés à être polyvalents comme les systèmes d'exploitation de PC.

Consommation d'énergie minimale:


Les SEs doivent consommer mois d'énergie pour prolonger la durée de vie de la batterie et réduire l'impact
environnemental.

Coût minimal:
Les coûts de production doivent être aussi bas que possible tout en maintenant les performances requises

24/02/2025 Pr. HASSANI 14


1 Introduction aux systèmes embarqués
4. Caractéristiques d’un SE

Puissance de calcul limitée :


Les SEs ne disposent que d'une puissance de calcul limitée. Ils sont optimisés pour effectuer des
tâches spécifiques de manière efficace

Capacité de Communication Limitée:


Bien que certains SEs aient des capacités de communication, celles-ci sont généralement limitées par
rapport à des dispositifs plus puissants. La communication est souvent axée sur l'essentiel.

Non assimilables à des PC:


Les SEs partagent des architectures similaires aux PC, mais ils se distinguent par leur spécialisation
fonctionnelle et leur adaptation à des environnements spécifiques. Ils ne sont pas destinés à remplacer
les ordinateurs personnels.

24/02/2025 Pr. HASSANI 15


1 Introduction aux systèmes embarqués
4. Caractéristiques d’un SE

■ Un système embarqué doit avoir une grande fiabilité


Car il doit très souvent pouvoir fonctionner en autonomie
■ Plusieurs caractéristiques mesurables de fiabilité
• Robustesse, proba de fonctionnement en 𝑡, si ok en 𝑡0
• Maintenabilité, proba de fonctionnement après une erreur
• Disponibilité, proba de fonctionner en 𝑡
• Sûreté, il ne cause pas de nuisances
• Sécurité, communications confidentielles et authentifiées

24/02/2025 Pr. HASSANI 16


1 Introduction aux systèmes embarqués
4. Caractéristiques d’un SE

Autonomes: Une fois enfouis dans l'application ils ne sont (le plus souvent) plus
accessibles

Temps réel (TR): Les temps de réponses de ces systèmes sont aussi importants que
l'exactitude des résultats. Les système embarqués fonctionnent généralement en
TR; les opérations de calcul sont alors faites en réponse à un événement extérieur
(interruption matérielle)

Réactifs: Il doit réagir à l'arrivée d'informations extérieures non prévues

24/02/2025 Pr. HASSANI 17


1 Introduction aux systèmes embarqués
5. Classification des systèmes embarqués
❑ Système Transformationnel :
Une activité de calcul commence par récupérer les informations dont elle a besoin,
ensuite elle effectue les opérations nécessaires sur ces données, et enfin elle fournit les
résultats obtenus avant de se terminer

❑ Système Interactif :
Un système qui est constamment en contact avec son environnement, même après son
démarrage ; il réagit aux événements qu'il reçoit en fonction de son état actuel, qui
dépend des événements passés et des réponses antérieures ; le rythme de cette
interaction est dicté par le système lui-même et non par son environnement
❑ Système Réactif ou Temps Réel
Cela signifie qu'un système continue d'interagir avec son environnement une fois qu'il est
démarré.
Sa réaction aux événements est influencée par ce qu'il reçoit et par son état actuel, qui
dépend de ce qui s'est passé avant. Cependant, le rythme auquel ces interactions se
produisent est dicté par l'environnement et non par le système lui-même.
24/02/2025 Pr. HASSANI 18
1 Introduction aux systèmes embarqués
5. Systèmes embarqués temps réel
❑ Définition de temps-réel (CNRS 1988) :
« Peut être qualifiée de "temps-réel" (ou "temps contraint", ou encore "réactif") toute
application mettant en œuvre un système informatique dont le fonctionnement est
soumis à l'évolution dynamique de l'environnement qui lui est connecté et dont il doit
contrôler le comportement »

Cela signifie que le système doit être capable de traiter les données en temps réel et
d'ajuster ses actions en fonction des changements en cours dans son environnement.

« un système temps réel est un système soumis à des contraintes de temps »

24/02/2025 Pr. HASSANI 19


1 Introduction aux systèmes embarqués
5. Systèmes embarqués temps réel
❑ Type de systèmes embarqués temps-réel
On distingue deux type de systèmes embarqués temps-réel :

➔ Système temps-réel dur/stricte (hard real-time):

Si les délais ne sont pas respectés, de graves problèmes vont apparaitre pour le
système ou son environnement, exemple des accidents dans le cas de systèmes d'auto-
pilotage, des retards dans les soins médicaux, etc. Il est crucial que les délais ne soient
jamais dépassés.

➔ Système temps-réel mou (soft real-time)

Si les délais ne sont pas respectés, le système peut fonctionner plus lentement, mais
sans causer de problèmes graves, comme dans les systèmes de billetterie automatique. Le
système doit toujours répondre aussi rapidement et efficacement que possible.

24/02/2025 Pr. HASSANI 20


1 Introduction aux systèmes embarqués
6. Contraintes des SEs
➢ Faible consommation
▪ Utilisation des batteries de faible capacités comme source d'énergie.
▪ Gérer la consommation pour plus d’autonomie.

➢ Coût très bas


▪ Compromis entre la performance et le coût.
▪ Accessibilité a tous.
▪ Utilise des ressources limitées.

➢ Sûreté de fonctionnement
▪ Capacité à accorder une confiance justifiée au service.

➢ Robustesse
▪ Aux chocs, à la température, à l’humidité.

24/02/2025 Pr. HASSANI 21


1 Introduction aux systèmes embarqués
6. Contraintes des SEs
➢ Faible poids
▪ Minimisation de la taille et le poids du système.
▪ Regroupement optimal des composants dans l’espace.

➢ Environnement
▪ Ils doivent s'adapter et fonctionner efficacement malgré ces contraintes
environnementales.
▪ Exemples de contraintes: température, vibration, chocs, radiations, …

➢ Temps Réel
▪ La validité et la pertinence des résultats sont directement liées au moment de leur
délivrance.
▪ Le non-respect d'une échéance entraîne un dysfonctionnement et des erreurs.

24/02/2025 Pr. HASSANI 22


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE

➢ Le système contrôlé = Environnement


(procédé) équipé d'une instrumentation
qui réalise l'interface avec le système de
contrôle.

➢ Le système de contrôle = Éléments


matériels (microprocesseurs…) et
logiciels dont la mission est d'agir sur le
procédé via les actionneurs en fonction
de l'état de ce procédé indiqué par les
Schéma de commande d’un procédé par un
capteurs.
Système Embarqué

24/02/2025 Pr. HASSANI 23


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE

❑ Premier couche → partie soft

❑ Deuxième couche → partie hard


➢ Couche Matériels: Ensemble des éléments physiques cohabitant sur une faible surface
(Processeur/Microcontrôleur , mémoire, périphériques d’ E/S, horloge, …), composant pour le traitement de
l’information (Ex: Capteurs)
➢ Couche application: Comporte Les programmes spécifiques à la tâche pour lesquels le système embarqué a été
conçu, protocoles de communication, et des interfaces utilisateur pour l'interaction avec l'utilisateur final

✓ Trois couches:

24/02/2025 Pr. HASSANI 24


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE

✓ La topologie générale d’un système


embarqué:

24/02/2025 Pr. HASSANI 25


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware

➔ Le hardware d’un « SE » se constitue


des composants physiques qui
forment le système et lui permettent
de fonctionner.
➔ Ces composants sont intégrés dans
une boucle qui interagit
continuellement avec le SE et son
environnement.

24/02/2025 Pr. HASSANI 26


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
1. Unité de calcule (CPU)
C'est le cœur du SE, responsable de l'exécution des instructions et du traitement des données. Il
s'agit généralement des:
▪ Processeurs d’usage général:
• Microprocesseurs
• Microcontrôleurs
▪ Circuits spécifiques:
• ASIC (application-specific integrated circuit)
• FPGA (Field Programmable Gate Array)
• SoC (System on a Chip)

24/02/2025 Pr. HASSANI 27


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
1. Unité de calcule (CPU)

Fonction principale : Exécution des instructions logiques et arithmétiques qui composent les
programmes informatiques. Il traite les données en effectuant des opérations telles que l'addition,
la soustraction, la multiplication, la division, la comparaison, etc.

Architecture : Le CPU est composé de plusieurs unités fonctionnelles, y compris l'unité


arithmétique et logique (UAL) qui effectue les opérations de base, l'unité de contrôle qui
coordonne le flux d'instructions et de données, et les registres qui stockent temporairement les
données et les résultats des opérations.

Horloge : Le CPU est synchronisé par une horloge interne qui définit la cadence à laquelle les
opérations sont exécutées. La vitesse du processeur est mesurée en hertz (Hz) et détermine la
fréquence à laquelle les instructions sont traitées.

24/02/2025 Pr. HASSANI 28


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
1. Unité de calcule (CPU)
Instructions : Le CPU exécute des instructions provenant de la mémoire principale (RAM) ou de
la mémoire cache. Ces instructions sont codées en langage machine et contrôlent les opérations
que le CPU doit effectuer.
Pipelines : Certains processeurs utilisent des pipelines pour améliorer l'efficacité en permettant
l'exécution simultanée de plusieurs instructions à différents stades de traitement.

Architecture parallèle : Les CPU modernes utilisent souvent une architecture parallèle,
comprenant plusieurs cœurs de processeur, pour exécuter plusieurs tâches en parallèle et
améliorer les performances globales du système.
24/02/2025 Pr. HASSANI 29
1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
2. Mémoires
La mémoire est un composant essentiel de tout système informatique, permettant de stocker des
programmes, des fichiers, des paramètres, des variables et d'autres types d'informations
nécessaires au fonctionnement du système. Chaque cellule de mémoire possède les caractéristiques
suivantes:

• Taille : Il s'agit du nombre de bits que cette cellule peut stocker. La taille peut varier en
fonction du type de mémoire et de sa conception.
• Adresse unique : Chaque cellule de mémoire est associée à une adresse unique qui permet
d'identifier de manière précise son emplacement dans la mémoire. Cette adresse est utilisée
pour accéder à la cellule et récupérer ou stocker des données.

24/02/2025 Pr. HASSANI 30


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
2. Mémoires: Type

La mémoire peut être classée en plusieurs types en fonction de sa volatilité, de sa vitesse d'accès, de
sa capacité de stockage et de sa fonctionnalité.

• Mémoires Volatiles: Stocke temporairement les données et les instructions nécessaires au


fonctionnement des programmes en cours d'exécution. Les données sont perdues lorsque le
système est éteint.
• Mémoires non-volatiles: Les informations sont stockées de manière permanente dans la puce.
Utilisée pour stocker le firmware du système, les programmes de démarrage et d'autres
informations essentielles au fonctionnement du système.

24/02/2025 Pr. HASSANI 31


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
2. Mémoires: Type
• SRAM: static random access memory
• DRAM: dynamic random access memory
• PROM: programmable read-only memory
• UV-EPROM: contenu programmable électriquement et effaçable
avec rayon
• EEPROM: contenu programmable et effaçable électriquement.
• Flash memory: contenu programmable électriquement mot par
mot et effaçable électriquement par bloc.
• FRAM: Ferroelectric RAM
• PRAM: Phase-change memory…

24/02/2025 Pr. HASSANI 32


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
3. Horloge
▪ Fonctionnement de l'horloge :
• L'horloge génère un signal périodique appelé signal d'horloge.
• Ce signal est utilisé pour synchroniser les opérations des composants du système, tels que le
processeur, la mémoire, les périphériques d'entrée/sortie, etc.
• Le signal d'horloge est généralement une onde carrée avec une fréquence spécifiée, exprimée en Hertz
(Hz), qui détermine la vitesse à laquelle les opérations sont exécutées dans le système.

▪ Fonctionnement de l'horloge :
• Oscillateur à quartz : Il utilise un cristal de quartz qui vibre à une fréquence spécifique lorsqu'une
tension est appliquée. Génère un signal d'horloge stable et précis.
• Oscillateur à cristal : Similaire à l'oscillateur à quartz, mais utilise d'autres types de cristaux, tels que
le cristal de céramique, pour générer le signal d'horloge.
• Oscillateur à base de circuits LC : Utilise des composants inductifs et capacitifs pour générer des
oscillations électriques à une fréquence spécifique. Il est moins précis que l'oscillateur à quartz
• Oscillateur à base de circuits intégrés : Sont des oscillateurs intégrés dans des circuits intégrés
spécifiques, tels que des PLL (Phase-Locked Loops) ou des VCO (Voltage-Controlled Oscillators),
33
1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
4. Entrées/sorties
Se réfèrent aux interfaces par lesquelles le système communique avec le monde extérieur, que ce soit
pour recevoir des données (entrées) ou envoyer des données (sorties).
➢ Entrées : Boutons poussoirs, capteurs,

➢ Sorties : Écrans LCD, LED, Moteurs et actionneurs, mémoires,

▪ GPIO: General Purpose Input/Output (entrée-sortie à usage général )

➢ Il s'agit d'un ensemble de broches qui peuvent être configurées pour fonctionner soit en tant
qu'entrées, soit en tant que sorties, selon les besoins du système.
➢ Les broches GPIO permettent au SE de se connecter à une variété de périphériques externes tels
que des capteurs, des actionneurs, des écrans, des claviers, des cartes d'extension, etc.

24/02/2025 Pr. HASSANI 34


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
5. Microprocesseur
▪ Fabriqué le plus souvent en silicium, il regroupe un certain nombre de transistors élémentaires
interconnectés pour former un circuit intégré complexe.

▪ Cette unité de traitement exécute les instructions des programmes et effectue les opérations de
calcul nécessaires au fonctionnement du SE.

▪ En plus de traiter les données, l'unité de


traitement peut être programmer pour gérer
également les entrées et les sorties,
communique avec d'autres composants du
système et contrôle le flux d'exécution du
logiciel.

24/02/2025 Pr. HASSANI 35


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
5. Microprocesseur

▪ Format de données: 8-bits, 16-bits, 32-bits, 64-bits


▪ Puissance de calcule: nombre d’instruction exécutées par second, il s’exprime par MIPS (millions d’instructions/seconde).
▪ Puissance et dissipation thermique, Fréquence d'horloge, Coût, …
▪ Nombre de cœurs: Le nombre de cœurs influence directement les performances multitâches et parallèles du microprocesseur.
▪ Taille de la mémoire cache: stocke les données et les instructions fréquemment utilisées pour accélérer l'accès à la mémoire
principale.
▪ Interfaces de communication: Les microprocesseurs intègrent souvent des interfaces de communication telles que UART, SPI, I2C,
USB, Ethernet, etc, pour permettre la connectivité avec d'autres périphériques et systèmes.

24/02/2025 Pr. HASSANI 36


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
5. Microprocesseur
Le microprocesseur est composé de plusieurs parties essentielles qui travaillent ensemble pour
exécuter les instructions et traiter les données.

1- Unités de calcul: Exécute toutes les opérations de calcule.

• Unités arithmétiques et logiques (UAL): permet de traiter les opérations arithmétiques (addition,
soustraction, …) et logiques (ET, OU, NON) sur les données.
• Unité de calcule en virgule flottante (FPU): permet d’accélérer la calcule sur les nombres en virgule
flottantes (floating-point).

2- Séquenceur et unité de contrôle: Responsable de la gestion du flux d'exécution des instructions. Il


récupère les instructions de la mémoire, les décode pour déterminer l'opération à effectuer, et contrôle le
cheminement des données à travers le µp en activant les différents composants au bon moment.

24/02/2025 Pr. HASSANI 37


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
5. Microprocesseur
3- Bus de communication interne: C’est l’ensemble de lignes de communication qui permettent le transfert
de données et d'instructions entre les différentes parties du µp (registre, ALU, …).

4- Registres: sont de petits emplacements de mémoire situés à l'intérieur du µp, utilisés pour stocker
temporairement des données et des adresses mémoire pendant l'exécution des instructions.

▪ Bus d’adresse: utilisé par le processeur pour spécifier l'adresse mémoire d'où lire ou écrire des données
▪ Bus de données: utilisé pour transférer les données entre le processeur et la mémoire, ainsi que entre le
processeur et les périphériques d’ E/S.
▪ Bus de contrôle: transporte des signaux de contrôle (synchronisation, interruption, lecture/écriture,
validation d'adresse, etc) qui coordonnent les opérations entre le processeur, la mémoire et les
périphériques.

24/02/2025 Pr. HASSANI 38


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
6. Du Microprocesseur au Microcontrôleur
Les fabricants de composants proposent des briques
▪ Un µp seul ne suffit pas à construire un SE.
matérielles complètes embarquant tous les composants vitaux
▪ Simplifier la conception d’un SE
nécessaires au fonctionnement minimal.

µC (MCU)
On parle de microcontrôleur ou MCU, l'ensemble des
composants (CPU, RAM, ROM, ...) se trouvent sur une même et
unique puce qui a été miniaturisée de manière optimale par le
fabricant.

24/02/2025 Pr. HASSANI 39


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE Partie Hardware
6. Du Microprocesseur au Microcontrôleur

24/02/2025 Pr. HASSANI 40


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE

Dans un système embarqué (SE), le fonctionnement repose sur plusieurs types de tâches
qui assurent la gestion des différentes opérations

❑ Tâches d’entrées/sorties : ces tâches permettent d’accéder aux données externes par
l’intermédiaire de cartes d’entrées/sorties et ensuite de capteurs et d’actionneurs
directement liés au procédé géré. Ces tâches peuvent être activées de façon régulière ou
par interruption.
❑ Tâches de traitement : ces tâches constituent le cœur de l’application. Ces tâches
effectuent des calculs et analyses sur les données obtenues via les entrées.
➔ Calculer la vitesse d’un véhicule à partir des données du capteur de roue
➔ Algorithme de filtrage, algorithme de contrôle PID
24/02/2025 Pr. HASSANI 41
1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Architecture générale d’un SE

❑ Tâches de gestion de l’interface utilisateur : ces tâches permettent aux utilisateurs


d’interagir avec le système embarqué via des écrans, des boutons, des touches ou des
commandes vocales.

❑ Tâches de communications : ces tâches gèrent la transmission et la réception de données


entre le système embarqué et d’autres systèmes ou réseaux (via Bluetooth ou Wi-Fi, CAN,
UART/I2C/SPI).

❑ Tâches de sauvegarde : ces tâches permettent de stocker des données critiques pour éviter
leur perte en cas de panne ou de redémarrage (Sauvegarde d’un code DTC dans la mémoire
non volatile).

24/02/2025 Pr. HASSANI 42


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Cycle de développement des applications informatiques embarqués

Une organisation du cycle de vie logiciel très adaptée aux systèmes critiques est celle du
cycle en «V». Dans cette représentation, à chaque niveau d’analyse ou de conception
correspond un niveau de validation; ainsi nous avons :

❑ Conception détaillée ➔ Tests unitaires

❑ Conception préliminaire ➔ Tests d’intégration;

❑ Spécification ➔ Validation globale

24/02/2025 Pr. HASSANI 43


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement

❑ Exigences : les exigences sont souvent de deux natures

• Fonctionnelles : décrivent le comportement attendu de fonctionnalités. Elles décrivent


ce que le système doit faire.

• Non fonctionnelles : décrivent des propriétés que le système doit avoir. Les contraintes
temporelles sont typiquement des exigences non fonctionnelles.

24/02/2025 Pr. HASSANI 44


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Modes de fonctionnement

➢ Boucle infinie
Tant que TOUJOURS faire

Acquisition des entrées (données capteurs, mesures)


Calcul des ordres à envoyer au procédé
Émission des ordres

Fin tant que


Mais, deux modes de fonctionnement :

• Fonctionnement cyclique (time driven ou système "synchrone")


• Fonctionnement événementiel (event driven)

24/02/2025 Pr. HASSANI 45


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Modes de fonctionnement

➢ Fonctionnement Cyclique :
• Scrutation d'une mémoire d'entrée périodiquement (lecture
périodique à intervalles réguliers)
• Echantillonnage des entrées sur l'horloge du système
(uniquement à chaque top d'horloge)
• Activation du système à chaque top d'horloge

A chaque top d'horloge faire


Lecture de la mémoire des entrées
Calcul des ordres à envoyer au procédé
Émission des ordres
Fin

24/02/2025 Pr. HASSANI 46


1 Introduction aux systèmes embarqués
7. Architecture générale et modes de fonctionnement
❑ Modes de fonctionnement

➢ Fonctionnement Evénementiel :
Le fonctionnement est basé sur le principe d'activation du système
à chaque événement (notion d'interruption)

A chaque interruption faire

Lecture de l'information arrivée


Activation du traitement correspondant
Émission des ordres issus de ce traitement
Fin

24/02/2025 Pr. HASSANI 47


di myé Guy mana gage dnals mQe
UNIVERSITÉ SIDI MOHAMED BEN ABDELLAH | ES]

Système embarquée pour les


systèmes autonomes

Filière : Électronique Embarquée Et


Systèmes Intelligents

4 Pr. Hamid HASSANI

Année universitaire : 2024/2025


= Pan

Chapitre 1 : Introduction aux systèmes embarqués

Chapitre 2 : Systèmes Embarqués pour les véhicules


TVTVV

autonomes (Drone et Automobile)

Chapitre 3 : Conception basée sur un modèle (MBD)

Chapitre 4 : AUTOSAR & ISO 26262

28/03/2025 Pr. HASSANI 2


= Pan
Chapitre 2 : Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
Généralités

Véhicule autonomes: Drone


* Historiques
* Classification des véhicules aériens sans pilote
* __ Modèle dynamique.
* Système de guidage, de navigation et de contrôle
* __ Différente stratégie de contrôle
Véhicule autonomes: Automobile

* Historiques
* Classification par Type de Motorisation
* Architecture du véhicule
* Systèmes avancés d'aide à la conduite (ADAS)
* Conduite autonome
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
1. Généralités
1.1 Véhicule autonomes

Un véhicule est un engin de transport conçu pour déplacer des personnes/marchandises


d'un endroit à un autre. Il peut être terrestre, aérien ou maritime.

Ÿ | Ÿ
Terrestre Aérien Maritime

° Voiture ° Avion ° Sous-marin


° Camion + Fusée ° _ Porte-conteneurs
° Train * Hélicoptère Navire de croisière

28/03/2025 Pr. HASSANI À


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
1. Généralités
1.1 Véhicule autonomes

4 Un véhicule autonome: est un véhicule capable de se déplacer sans intervention humaine en À


utilisant des capteurs (lidar, radar, caméras), des algorithmes d'intelligence artificielle et des
systèmes embarqués pour la prise de décision en temps réel. Il fonctionne grâce à
l'automatisation de la perception, de la planification et du contrôle de la trajectoire. }

L’autonomie est une caractéristique progressive et mesurable selon des standards précis
(SAE pour les voitures, ICAO pour les drones, IMO pour les navires). J

* SAE (Society of Automotive Engineers) 6 niveaux d'autonomie (de O à 5) pour les véhicule terrestres
° _ICAO (International Civil Aviation Organization) > 6 niveaux d'autonomie (de O à 5) pour les véhicule aériens
y IOM (International Maritime Organization) > 5 niveaux d’autonomie (de O à 4) pour les véhicule terrestres
J
28/03/2025 Pr. HASSANI b
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
1. Généralités
1.1 Véhicule autonomes
Q Niveau d’autonomie

e de . A : ‘ : ‘
TP Niveau O Niveau 1 Niveau 2 Niveau 3 Niveau 4 Niveau 5
véhicule
Automatisation | Automatisation Automatisation
Pas Assistance au partielle (Le conditionnelle Automatisation | complète
& Véhicules k ue conducteur {ex. | véhicule contrôle | {le véhicule élevée (véhicule | (aucune
d'automatisation - de : : .
terrestres (conduite régulateur de accélération et peut conduire autonome dans | intervention
anu elle) vitesse direction, mais le | seul dans des zones humaine
° adaptatif). conducteur certaines spécifiques). nécessaire
surveille). conditions). partout).
Assistance au eus Automatisation | Autonomie
pilote Automatisation Automatisation élevée (drone complète
# Véhicules | Vol entièrement (autopilote partielle (ex. drone eue autonome (aéronefs
aériens manuel (piloté basique : décollage ou 1 l capable d'éviter | opérant seuls
ICAO par un humain). maintien de atterrissage un plan de vo des obstacles et | sans
l'altitude et du automatique). Supervision) de prendre des | intervention
cap). P ° décisions). humaine).

28/03/2025 Pr. HASSANI 6


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
1. Généralités
1.1 Véhicule autonomes
Q Niveau d’autonomie

e de . A : ‘ : :
Type Niveau O Niveau 1 Niveau 2 Niveau 3 Niveau 4 Niveau 5

Navigation Navigation
Navigation Assistance Navigation avec | autonome sous entièrement
sd Véhicules | entièrement automatique SUpervs on surveillance autonome
maritimes manuelle (aides à la humaine à (opération (aucune =
: Lu distance automatisée : .
(pilotage navigation intervention
humain) autos ilote). (équipage avec contrôle à humaine
° P ° réduit). distance .
possible). nécessaire).

28/03/2025 Pr. HASSANI


Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.2 Classification des UAVSs

[_ Fixed wing Flapping Wing Rotary wing D

7 #ư
dE Ai #
Se Le »
28/03/2025 Pr. HASSANI
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.2 Classification des UAVSs

Q Drones à voilure fixe


Av

“” Très répondus dans application militaire


" Capacité à voler sur de grandes distances et avec une longue endurance à |
une vitesse plus élevée
" Transport des charges utiles plus importantes

” Nécessite une piste pour le décollage/atterrissage vertical


" Ne peuvent pas assurée des vols stationnaire.
“ L'utilisation est limitée à l'extérieur

28/03/2025 Pr. HASSANI


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.2 Classification des UAVSs

Q Drones à voilure battante


Av

“" Idéal pour les missions d'espionnage


" Très flexible « Imitent les mouvements/comportements naturels de certains
oiseaux et insectes »
In
" Charge utile très limitée
“ Structure mécanique/architecture de contrôle très complexe
" Vulnérables aux perturbations

28/03/2025 Pr. HASSANI


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.2 Classification des UAVSs

Q Drones à voilure tournante


Av

" Très répondus dans les applications civile


“" Structure mécanique simple
" Décollage/atterrissage vertical
" Vol stationnaire - capables de voler à basse altitude
“ Utilisable à l'intérieur et à l'extérieur

" Charge utile très limitée


" Vitesse de vol et l'endurance sont encore limitées

28/03/2025 Pr. HASSANI 11


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.2 Classification des UAVSs

A
Tricoptères
N

Hexacoptère
+
L] Ca

— D Octocoptères

28/03/2025 Pr. HASSANI 12


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.2 Classification des UAVSs
Q Comparaison
Caractéristique UAV à voilure UAV à voilure UAV à voilure
fixe battante tournante

Consommation 2 1 1
d'énergie
Charge utile 3 1 2

Maniabilité 2 3 3

Vol stationnaire 1 2 3

Endurance 3 1 1

Utilisation intérieur 1 3 3

Sécurité durant le vol 3 1 2

28/03/2025 Pr. HASSANI 13


Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Applications

28/03/2025 14
Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor

Q Référentiels

Angle de
_— rotation
positive

(a): Sens position de la rotation Référentiel fixe (Oz, Xr,Ÿr, Ze) ,


(O3, Xp, Yp, Z3) Référentiel mobile

28/03/2025 Pr. HASSANI 1 5


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor

Q Configuration

> Coordonnées

Position : (x, y,Z)

Orientation : (D,0,Y)
> © (roulis)
> 0 (tangage)
> Y (lacet)

28/03/2025 Pr. HASSANI 1 6


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor

Q Mécanisme du vol
" Les mouvements sont assuré par le système de propulsion

= Force de poussé F; = K,0?

=" Moment de traînée M; = K,yN°?


" Moment du force de poussé t; = LF,;

28/03/2025 Pr. HASSANI 17


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor

Q Configuration

28/03/2025 18
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Mouvement de translation verticale
Ti l
! Mouvement vol Mouvement :
! ascendant stationnaire de descente
[l l
I ll
I ll
I Z l
[l l
;
[l 4
I ll
I Z !
! RE Reference ]}
r| [l

| R
I ? ll
I l

|1 R
I Z ll
I l

I
| ?
È Augmentation | . Diminution de la I
de la vitesse Vitesse nominale Vitesse des moteurs
des moteurs
l

28/03/2025 Pr. HASSANI 19


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Mouvement de translation horizontale

Vol stationnaire

A4 Z
Angle de Roulis et 1e
mouvement de translation
x y latérale
[
I
I
1
I

m
9 Angle de Tangage et le
mouvement de translation
longitudinale

Equilibre entre la poussée et


le poids du quadrirotor

28/03/2025 Pr. HASSANI


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Modèle dynamique
Hypothèses
" La structure du quadrirotor est supposée symétrique et rigide.
" Hélice sont rigide
" Les forces et les couples générés sont proportionnels à la vitesse angulaire des
moteurs
" Les mouvements angulaires du drone sont censés être faible

28/03/2025 Pr. HASSANI 21


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Modèle dynamique
Principe de Newton-Euler
La dynamique de translation

mX — FG + RB-EËn — KyX + dy

0
° Poids F; =| 0
my
0
* Force de poussé totale FE, = 0
Xi Fi
* Force de frottement KyX
dx
* Perturbations externes dy = FA
dz

28/03/2025 Pr. HASSANI 22


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Modèle dynamique
Principe de Newton-Euler
La dynamique de rotation

Ji = —à À (Ji) + Mhro — MGyro — Kiñ° + da

° Moment gyroscopique due changement rapide d’orientation à A (Ji)

Mo EP — Fa K/1(C03 — 07)

+ Moment due force de poussé M0 = | Mo | = F3 -F = K,.1(Q3 — 02)


My M2 + Me — M — M Ka(Q3 + QË — 0? — 03)
* Couple gyroscopique dû au mouvement de l'hélice M6,r0 = ñ A J-[0 0 >, oi] .
+ Moment de frottement K,ïñ?
dx

dy
28/03/2025 Pr. HASSANI 23
Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Modèle dynamique
Dynamique de translation Dynamique de rotation

(. U K | Ko
% = — (cos P sin @ cos Y + sin D sin W) — —Æ À + d, é = 6 (27 = _ Lou + 2 h1+d,
D. K Jx Jx J Jk

4ÿ=—(cos®sinO sinY —sinbcos#)-—}?ÿ+d, 4 6e (EE) + Foy + Mo _Ko


s Jy Jy Jy Jy
U, K;
Z=—(cosbcos®)-g—-—2+d ; . à — My Ky.
rx 179 mit ÿ = 60 (= 2) 4 Peur + ay
| Jz BJ
“ Signaux de commande
Force de poussée totale Couples . 2 2
Roulis > My = k,I(Q* -0,7)
U: = k, (0° + 0,° + 0°? + Q,°) Tangage ed Mo — k,1(Q3° — Q°)

Lacet ed My —= ka(—-%° + 0,? — 0,7 + Q,°)

28/03/2025 Pr. HASSANI 24


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile) B,
2. Véhicule autonomes: Drone À y
2.3 Quadrirotor nn
" Degrés de liberté g. ] F3
Six mouvements ( trois translations/trois rotations) à #1 I
(x, y,z, D, 0,#) . _
Système sous-actionné
" Signaux de commande
Force de poussé et les couples (U;,tTo,
Te, Ty) B}

Angles de roulis et de tangage souhaités


Signaux de contrôle auxiliaires /
Vr Cy, + VS
Oy= arctan | x Fa 7 2e)
U. U;
Vy = — (cos D sin 0 cos Ÿ + sind sinY)
m VrSgs — VyCw
Pa = arctan| Co,
Vy = — (cos D sin 0 sinY — sin D cos Y) \ U

28/03/2025 Pr. HASSANI 25


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Vx ®, X
Q Modèle dynamique ,, À . ——— >
y , | Système de = y
U | découplage Oà ë ?
— ; = 7
»! à
T C0 pl %D ®
——;

Ty > Æ y

Contrôle direct Contrôle indirect ”

* Translation vertical z °_ Translation selon x


* Rotation de roulis D ° Translation selon y
* Rotation de tangage ©

° Rotation de lacet Y
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor

Q Architecture de contrôle

> Structure de contrôle Mie pus—


hiérarchique Perturbations

Contrôleur
> Station de contrôle. d'orientation :
Quadrirotor
> L'état du système est soit à qu x | \NU

Générateur
travers des capteurs ou des L
trajectoire Système de
observateurs découplage

28/03/2025 Pr. HASSANI 27


Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
ju u
Q Système de guidage, de navigation et Ce
de contrôle .

pm,
! Estimation de d'état |
Nr
f

—,
+ IMU/GPS + __ Détection des obstacles É E ji f Planification de la trajectoire \
> Sous système de navigation + Visuelle/Laser . Détection des cibles 1 (évitement des obstacles) |
+ Cartographie
“" Acquisition, analyse et extraction des + Baromètre
H
H

#
informations sur l’états du drone. Acquisition de
données (I2C, :
" Estimation de l'état et perception de PSI,

l’environnement.
f
" Les sorties de ce module sont exploitées par
| Système de commande de vol :
a
le contrôleur de vol (contrôle de Commande le a
{
as
. Contrôle de position
d'actionneurs |L Allocation [es
de de | + Contrôle d'altitude [1
mouvement) et par le système de guidage il de contrôle |

(réalisation de la mission).

ci
28/03/2025 Pr. HASSANI
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Ces ——— ---
Q Système de guidage, de navigation et ol
!
de contrôle (|
(l Estimation de d'état | Perception |
11é Li | + » - ll \
> S n d id li + IMU/GPS ; + Détection des obstacles j7 | Planification de la trajectoire
ous système ce guidage 1. Visuelle/Laser À. Détectiondes dbles À {… (vitement des obstacles)
“"
. .
Agir en tant que pilote/opérateur
. L'
LEE _À
1.
"Cartographie
è

RTE a a rase À! Génération de chemins |


(décision, manœuvres adéquates, Aeuubitonde à
. données (I2C, 5
chemin ...). Pl) À Etat du véhicule
" Entrées: État du système. Pres
| Contrôle
= Sorties: Chemins/trajectoires désirées. f |
n | Système de commande de vol |
Commande 1, PRE _. 1 : L
| d'actisnñeurs j Allocation |Poussée * Contrôlede position h
[ I | É f— + Contrôle d'altitude |
1! de contrôle |
|a FRE + Contrôle de l'orientation
Less memes ;

28/03/2025 Pr. HASSANI 29


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
ju u
Q Système de guidage, de navigation et Ce
de contrôle

pm,
! Estimation de d'état |
> Sous système de contrôle Nr
f |

—,
+ IMU/GPS + Détection des obstacles É É ” [ Planification de la trajectoire |
1 (évitement des obstades) |
" Responsable de la stabilité et du suivit des + Visuelle/Laser . Détection des cibles
+ Baromètre Î + Cartographie
trajectoires.

#
" Architecture de contrôle hiérarchique Acquisition de
données (I2C, :
PSI,
(méthode de contrôle)
2 N N LA
" Entrées Etat du système (système de l
l
navigation) et les trajectoire désirées Û | Système de commande de vol |
Commande 1 a _—. 1 _
= e
(système de guidage). d'actionneurs il Allocation usés Ê SOIR = ER
. . L d ok + Contrôle d'altitude |
" Sorties Les signaux de contrôle _. na En cn 1}| de contrôle >) œupe a }
=

(Ui, Te, To Ty); \rs

28/03/2025 Pr. HASSANI 30


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Mode de vol
Mode de
vol

Y Ÿ Ÿ Ÿ Ÿ
Vol de stabilisation Vol d'altitude Maintien de localisation Mode retour Vol automatique
« Stabilize mode» « AltHold mode» « Loiter mode » « RTL mode » « Auto mode »

à ue ue à 8 B * Drone suitune\
mission
+ Roulis/Tangage . Stabilisation du « Maintenir la . Ramène le drone à
+ Lacet Roulis/Tangage noshton, le up et son point de ù h
+ Élévation * Maintien de l'altitude 1 lancement. preéprogrammee
l'altitude courante altitude actuels * Planification de
J \ la mission
J
+ GPS ??
* Capteurs inertiels P?

28/03/2025 Pr. HASSANI 31


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Mode de vol Vol en ligne droite vers le
point de décollage (GPS) WP3

Montée à une altitude de TT


sécurité
QNLILIT
ba

ce,
tee

Descente et atterrissage
automatique (Baromètre/Ultrason)
HÔME
HOME

Mode retour au point de lancement Vol automatique

28/03/2025 Pr. HASSANI 32


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Stratégie de contrôle

Algorithmes de contrôle

( Contrôleurs linéaires ) { Contrôleurs non linéaires ) ( Contrôleurs intelligents )

°_ PD ° _ Bdetepping ° _ Loiqæefloe
° __ Ctrilecæptimal ° __ Crtréledenndedlissant + Réœaudenarones
°_ Cnirüleadaptative
+ Sratégeshybrides

28/03/2025 Pr. HASSANI 33


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Stratégie de contrôle (PID)

r à
Terme Proportionnel

K,e(tpe(0) J
+

Terme Intégral Sorties


Consigne t Plant
K; Î e(t)dt U
\ ] ” +

4 LA] LA à

Terme Dérivé
de(t)
d dt

Retour

28/03/2025 Pr. HASSANI 34


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Stratégie de contrôle (Contrôle de mode glissant)
S = Ke; + êh

Avec: K:gain . .
Choix de la surface de glissement
eñ: erreur
482

e(Lo)
s. \ Phase L'établissement des conditions d’existences
- dl d'atteinte
nu"

ei
À 4

Mia 2
e(£s)
slissenent
Surface de
Détermination
z « «
de la loi . de commande
LT

s=0

28/03/2025 Pr. HASSANI 35


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
2. Véhicule autonomes: Drone
2.3 Quadrirotor
Q Stratégie de contrôle (Contrôle de mode glissant)

" Modèle dynamique Ueq: est la commande équivalente, elle peut être dérivée en fixant $;=
À, = f(x) + g(x)U Avec ñ = (x, y,z,®,0,) 0. Elle est permet d'assurer le glissement des erreurs de suivi le long de
la surface de glissement.

=" Erreur de suivi Ujatt® est la commande de commutation qui permet d'atteindre la
surface de glissement prédéfinie en peu de temps.
Eh — Xha — XR
Ên = Xna — Xh Ujatt = —Cnsign(S;)

“" Surface de glissement


Sp = K;e; + êh

" Commande

U;, = Üieq + Üjatt

28/03/2025 Pr. HASSANI 36


= Pan
Chapitre 2 : Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
Généralités

Véhicule autonomes: Automobile

* Historiques
Classification par Type de Motorisation
Architecture du véhicule
Systèmes avancés d'aide à la conduite (ADAS)
Conduite autonome

37
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
38.1 Classification par Type de Motorisation
r sf ff à
{[__ automobile Source d’énergie Emission

+| Véhicules Thermiques

Véhicule
PRE Dane an Carburant fossile (Essence) |
Véhicule
( ) L Dicscl | | Carburant fossile (Diesel) |

» Véhicules électriques

BEV nd | Batterie | mn |
ln HEV nd Batterie Carburant fossile ||==}|

à (2 —+ PHEV =)! Batterie Carburant fossile ||}

FCEV Hydrogène
\. y
28/03/2025 Pr. HASSANI 38
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
38.1 Classification par Type de Motorisation

Q Véhicules Thermiques
Essence
“" Utilise un mélange air-carburant enflammé par une bougie d'allumage
" Consommation importante
Diesel
" Fonctionne par auto-inflammation sous forte compression
" Plus économique en carburant, mais polluant.

28/03/2025 Pr. HASSANI 39


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile) BEV
3. Véhicule autonomes: Automobile BATTERY ELECTRIC
VEHBICLE

38.1 Classification par Type de Motorisation ___

Q Véhicules 100% Électriques (BEV: Battery Electric Vehicle) | ELECTRIC |


MOTOR

" Entièrement électrique, il ne produit aucune émission et offre des coûts de


fonctionnement réduits.
“" Alimenté par une batterie de grande capacité (30-100+ kWh) avec charge
rapide.
Défis:
“" L'infrastructure de recharge,
" L'autonomie et la longévité de la batterie “d

FUEL
100% ELECTRICITY
FROM GRID

@
28/03/2025 Pr. HASSANI 40
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile) SRE
8. Véhicule autonomes: Automobile HYBRID ELECTRIC
8.1 Classification par Type de Motorisation cc it =

GASOLINE ENGINE
Q Véhicules hybride (HEV: Hybrid Electric Vehicle)

" Possède une batterie et un moteur électrique capable de propuilser le


véhicule sur quelques kilomètres en mode 100 % électrique.
" La recharge de la batterie se fait uniquement via la récupération
d'énergie et le moteur thermique (pas de recharge sur une prise
électrique)

Démarrage et basse Électrique seul Réduction de la consommation,


vitesse (<40 km/h) conduite silencieuse a
. . ; DT »2 . c FUEL
Freinage Recharge de batterie Récupération d'énergie par freinage
régénératif NE
Croisière sur Thermique seul (efficace à Réduction de la consommation à @)
autoroute haute vitesse) haute vitesse

28/03/2025 Pr. HASSANI 41


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile) >
HEV
8. Véhicule autonomes: Automobile PLUG-IN HYBRID ELECTRIC
VEHICLE
38.1 Classification par Type de Motorisation
Se >,
( GASOLINE ENGINE \

Q Véhicules Hybride rechargeable (PHEV: Plug-in Hybrid


Electric Vehicle) TL À —-

|
" Batterie plus grande qu’un HEV, permettant une autonomie | T lececrric |
électrique significative (généralement entre 30 et 100 km).

“" Peut être rechargé sur une prise électrique ou une borne de recharge.

FUEL
GASOLINE AND / OR
ELECTRICITY FROM GRID

©@
28/03/2025 Pr. HASSANI 42
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Système de propulsion

" Moteur : Thermique (essence ou diesel), électrique, hybride ou à hydrogène.

" Transmission : Convertit la puissance du moteur en mouvement (boîte de vitesses,


embrayage, différentiel).

=” Système de carburant ou batteries : Réservoir pour carburants ou batteries pour


moteurs électriques.

28/03/2025 Pr. HASSANI 43


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Systèmes châssis et structure

” Chässis : Cadre principal qui soutient le véhicule (monocoque ou châssis échelle).


=" Suspension : Absorbe les chocs et maintient la stabilité du véhicule.
=" Roues et pneus : Permettent le contact avec la route et assurent l’adhérence.
=" Freins : Comprend ABS, freins à disque ou à tambour.

Control Arm

28/03/2025 Pr. HASSANI A4


Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Systèmes de sécurité

" ABS : Évite le blocage des roues.

" ESP : Stabilise en cas de dérapage.

" Airbags : Protègent lors des collisions.

” Ceintures : Limitent les blessures.

” ADAS : Avertissements et assistance au conducteur.

28/03/2025 Pr. HASSANI 45


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Système électrique et électronique (E/E Architecture)

” Capteurs : Mesurent les paramètres (vitesse, température, pression, etc.)


" Actionneurs : Exécutent des actions (freinage, direction assistée).
"” Bus de communication : CAN, LIN, Ethernet pour la communication entre composants
électroniques.
” ECU (Electronic Control Unit) : Petits ordinateurs contrôlant différentes fonctions
(moteur, freinage, ADAS).
> Voiture basique : 10 à 20 calculateurs .
> Voiture haut de gamme : 100+ calculateurs (voitures premium, électriques,
autonomes).

‘Eû
28/03/2025 Pr. HASRANI 46
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Rôle d’un ECU
> Contrôler
Le calculateur contrôle le fonctionnement des différents systèmes du véhicule en recevant des données
des capteurs et en envoyant des commandes aux actionneurs. Par exemple, le calculateur moteur ajuste
l'injection de carburant et l'allumage en fonction de la vitesse et de la charge du moteur

> Surveiller

Le calculateur surveille en permanence l’état du véhicule en analysant les informations des capteurs.

> Optimiser

Le calculateur optimise les performances et l'efficacité du véhicule en adaptant les réglages en temps
réel. Par exemple, le calculateur de gestion moteur ajuste le mélange air-carburant pour réduire la
consommation et minimiser les émissions polluantes.

28/03/2025 Pr. HASSANI A7


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Fonctionnement d’un ECU

Reçoit des signaux d'entrée provenant de capteurs qui mesurent divers paramètres de
véhicule.

Traite les signaux d'entrée à l'aide de son programme intégré et de sa mémoire


qui contiennent des algorithmes, des routines et des données de configuration.

” n
Compare les signaux d'entrée avec les valeurs prédéfinies et les paramètres
stockés dans sa mémoire.
F_ D

Calcule les signaux de sortie optimaux en fonction des signaux d'entrée et de


ses valeurs et paramètres prédéfinis.
W
Envoie des signaux de sortie aux actionneurs qui exécutent ses
commandes et contrôlent les différents dispositifs et systèmes
de véhicule.

28/03/2025 Pr. HASSANI 48


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Exemple de calculateur

" ECM (Engine Control Module) - Calculateur moteur:


Ÿ Contrôle l’injection de carburant et l'allumage.
Ÿ Contrôle le rapport air/carburant pour réduire la pollution.
Ÿ Contrôle le régime moteur et les performances en fonction des conditions de conduite.

= TCU (Transmission Control Unit) - Calculateur de la transmission :


Ÿ Contrôle la boîte de vitesses automatique.
Y Contrôle les changements de vitesse.
Y Sélectionne le bon rapport pour maximiser l'efficacité énergétique et améliorer l’accélération.

=” BCM (Body Control Module) - Calculateur de commande de la carrosserie :


Ÿ Gestion des systèmes d’éclairage intérieur et extérieur.
Ÿ Contrôle des essuie-glaces.
Ÿ Contrôle des vitres électriques

28/03/2025 Pr. HASSANI 49


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.2 Architecture du véhicule
Q Exemple de calculateur

" Airbag Control Unit :


Ÿ Détection des collisions
Y Déclenchement des airbags en cas de choc.
YŸ Stockage des données et diagnostic

=” ADAS (Advanced Driver Assistance Systems) :


Ÿ Pilote les aides à la conduite (freinage d’urgence, régulateur adaptatif, maintien de voie,
Assistance au stationnement ).

28/03/2025 Pr. HASSANI 50


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite
Les systèmes d’aide à la conduite avancés (ADAS) sont des systèmes de contrôle des véhicules qui
améliorent le confort de conduite et la sécurité routière en utilisant les capteurs de détection (par
exemple, caméra, radar...) pour aider le conducteur à reconnaître et à réagir dans des situations de
trafic dangereuses

" Amélioration de la sécurité :


Les systèmes ADAS peuvent contribuer à prévenir les accidents et à réduire la gravité des collisions en
émettant des avertissements et en appliquant automatiquement les freins ou en ajustant la vitesse du
véhicule.
" Réduction de la fatigue du conducteur :
Les systèmes ADAS peuvent contribuer à réduire la fatigue du conducteur en l'aidant dans des tâches
telles que le maintien d'une distance de sécurité et le respect de la voie de circulation.

28/03/2025 Pr. HASSANI 51


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite
" Plus de confort :
Les systèmes ADAS peuvent rendre la conduite plus pratique en facilitant des tâches telles que le
stationnement et la reconnaissance des panneaux de signalisation, réduisant ainsi la charge de travail du
conducteur.

" Amélioration du rendement énergétique :


Les systèmes ADAS peuvent contribuer à améliorer le rendement énergétique en optimisant l'accélération,
le freinage et le contrôle de la vitesse.

28/03/2025 Pr. HASSANI 52


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite

Les systèmes ADAS utilisent généralement une combinaison de composants d'entrée pour détecter
l'environnement de conduite (perception de l'environnement).
La perception de l’environnement est la capacité du véhicule à détecter son environnement grâce au
processus de collecte, d’acquisition et de prétraitement des informations sensorielles. À cette fin,
différentes classes de capteurs ont été utilisées; Odométrie, RADAR , LIDAR, Camera, IMU,

- OdométHemr s'agit de mesurer la vitesse des roues et de la


mettre à profit pour déterminer l'évolution du mouvement
relatif dans le temps.

- RADARMIESst l'abréviation de RAdio Detection And Ranging.


Son principe consiste à émettre des micro-ondes, puis sa
réflexion sur les objets est détectée afin de déterminer leurs
distances et leurs vitesses.

28/03/2025 Pr. HASSANI 53


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite

- PIDARSESst l'abréviation de Light Detection And Ranging (détection et télémétrie par la lumière). son
principe de fonctionnement est similaire à celui du RADAR, sauf que le LIDAR utilise des faisceaux
lumineux du spectre visible.
- MMUM abréviation de Inertial Measurement Unit (unité de mesure inertielle). Il s'agit d'un dispositif qui
mesure et fournit des informations sur la vitesse, l'orientation et les forces gravitationnelles du véhicule,
en utilisant une combinaison d'accéléromètres, de gyroscopes et même de magnétomètres.
- (Cäpteurs aluItaSonSMLes capteurs à ultrasons sont utilisés pour les systèmes d'aide au stationnement
et peuvent détecter les obstacles et les autres véhicules à faible vitesse.
- GNSSMabréviation de Global Navigation Satellite System (système mondial de navigation par satellite). Il
s'agit d'un système de navigation par satellite qui permet au véhicule de déterminer avec précision sa
position et l'heure où qu'il se trouve sur le globe.

28/03/2025 Pr. HASSANI 54


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite

Le tableau suivant précise la mesure qui pourrait être fournie par chaque capteur:

Capteur | Position | Vitesses | Accélérations | Géométrie | Textes | Couleur | Profondeur

Odornétrie f f - “ ä = 5

RADAR - f = “ = à F

LIDAR - "4 - - - = Fa

Carméra f - - ra # “ f

IMU - ra f - = “ 5

GNSS “ - = s = 5 f

Aucun type de capteur ne fonctionne bien pour toutes les tâches et dans toutes les conditions

—> Fusion des capteurs sera donc nécessaire pour assurer la redondance

28/03/2025 Pr. HASSANI 55


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

ACC est la fonction ADAS qui permet maintenir une distance de sécurité avec le véhicule qui précède et
d'ajuster automatiquement la vitesse pour éviter les collisions.

Le régulateur de vitesse classique peut maintenir une vitesse constante programmée par lz)
conducteur. L’ ACC est une amélioration du régulateur classique: il ajuste automatiquement la
vitesse de votre véhicule à celle du véhicule qui le précède.
> Si le véhicule qui vous précède ralentit, l’ACC peut automatiquement s'adapter à sa vitesse.
> Si le véhicule qui vous précède quitte votre voie ou accélère au-delà de la vitesse
U programmée, l'ACC permet à votre véhicule de maintenir la vitesse que vous avez programmée. /

En absence d'obstacles, l’'ACC fonctionne comme un régulateur de vitesse classique (maïintien de la


vitesse programmée).

28/03/2025 5G
Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

+(/ Fonctionnement

Distance inter-véhicules

En présence d'obstacles, l’'ACC régule la vitesse de telle sorte à maïntenir la distance de sécurité
programmée.

28/03/2025 Pr. HASSANI 57


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

+ Fonctionnement

(mm) Activation du système est faite à travers un bouton spécifique du volant

(mm) Sélection de la vitesse souhaitée (vitesse > 40 Km/h) The Following Distance You Set

The Speëd You Set

= La distance de sécurité est généralement dynamique basé


sur le temps de parcours (2 secondes minimum en
Increase Speed

conditions normales) 56 à 100 Km/h


Decrease Speed

me) La désactivation du système se fait en appuyant sur le bouton


"Cancel" du volant ou en enfonçant la pédale de frein
Set Distance Button

28/03/2025 Pr. HASSANI 58


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

+ Fonctionnement

L’ACC intervient sur l'accélérateur et peut même freiner pour maintenir la distance de sécurité
programmée

L'ACC fonctionne en deux modes:

= Mode
croisière
: la vitesse du véhicule est contrôlée pour maintenir une vitesse donnée

=" Mode
poursuite : La vitesse du véhicule est contrôlée pour maintenir une distance définie par
rapport au véhicule précédent.

28/03/2025 Pr. HASSANI 59


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

< Fonctionnement

Le fonctionnement de l’ACC est basé sur certain capteurs:

> Un capteur de distance (radar monté à l'avant du véhicule) et une caméra (fixée au pare-
brise) surveillent la distance par rapport au véhicule qui précède.

> Un capteur de vitesse qui donne des consignes pour l'accélération ou la décélération
ACC User's Control
automatique du véhicule.

L'ACC exploite les données de ses capteurs pour adapter votre vitesse et
maintenir la distance programmée avec le véhicule qui vous précède. _
IStance
Ù
Sensor

Wheel Speed Sensors


(on all 4 wheels)

28/03/2025 Pr. HASSANI 60


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

+ Défis d’ACC

> Défi n° 1 : Routes incurvées

Dans la situation sur figure ci-contre :

” On peut voir comment le champ de vision de l'ACC fonctionne


lorsque la route prend un virage. Ce champ de vision peut
inclure les véhicules circulant sur une autre voie. Il peut
également manquer des véhicules dans votre propre voie.

" Dans de telles situations, le système ACC peut ralentir de


manière inattendue (ne réagi pas correctement).

28/03/2025 Pr. HASSANI 61


Systèmes Embarqués pour les véhicules
- (CE
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

# Défis d’ACC

> Défi n° 2 : Collines

Dans la situation sur figure ci-contre :

" Le système ACC peut avoir des difficultés sur les routes en
pente.

" La position des capteurs de distance peut restreindre le


champ de vision dans ces situations.

"” Dans l'exemple, l’ACC de votre véhicule peut ne pas détecter le


véhicule B et accélérer de manière inattendue.

28/03/2025 Pr. HASSANI 62


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Régulateur de vitesse adaptatif
3.3 Systèmes avancés d'aide à la conduite Adaptive Cruise Control
Q Fonctions ADAS - ACC -

+ Défis d’ACC

> Défi n° 3 : Intégration du trafic

Dans la situation sur figure ci-contre :

"” En raison du champ de vision du système, l'ACC peut ne pas


détecter un véhicule qui se trouve dans votre voie mais pas
directement devant votre véhicule.

" Dans l'exemple, le véhicule A peut se trouver en dehors du


champ de vision du d'ACC, mais toujours devant vous

28/03/2025 Pr. HASSANI 63


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Alerte de franchissement de ligne
3.3 Systèmes avancés d'aide à la conduite Lane EE Warning
Q Fonctions ADAS

L'alerte de franchissement de ligne est conçue pour aider à éviter les accidents dus à une dérive ou
à une sortie de voie.

Î Le système détecte les marquages de voie et vous avertit lorsqu'un pneu touche un marquage de)
voie. L'avertissement prend généralement la forme
> Indicateur clignotant .
> Signal sonore.
> Vibration légère du volant.
& J

En général, les systèmes d'alerte de franchissement de ligne ne déclenchent pas d'avertissement


lorsque le clignotant est activé pour un changement de direction

28/03/2025 Pr. HASSANI 64


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Alerte de franchissement de ligne
3.3 Systèmes avancés d'aide à la conduite Lane Departure Warning
Q Fonctions ADAS —- LDW -

+ Fonctionnement
Le fonctionnement de LDW est basé sur :

> Une caméra située près du rétroviseur pour


reconnaître les marquages de la voie.

> Pour fonctionner correctement, les bandes de


peinture doivent être clairement visibles des deux côtés
du véhicule.

Si le système détecte que le véhicule est trop proche des marquages de la voie de gauche ou de droite, et
que votre clignotant n'est pas activé, un témoin lumineux, une vibration et/ou un son se
déclencheront.

28/03/2025 Pr. HASSANI 65


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Alerte de franchissement de ligne
3.3 Systèmes avancés d'aide à la conduite Lane Departure Warning
Q Fonctions ADAS
— LDW -

+ Défis de LDW

> Défi n° 1 : Marquage des voies

” Le LDW repose sur la détection des marquages de voie, donc si


elles sont usées, couvertes de neige ou inexistantes, le système
peut ne pas fonctionner correctement.

" Sur certaines routes (ex. : changements de voie complexes),


plusieurs lignes peuvent être présentes, rendant l'analyse
difficile.

28/03/2025 Pr. HASSANI


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Alerte de franchissement de ligne
3.3 Systèmes avancés d'aide à la conduite Lane Departure Warning
Q Fonctions ADAS
— LDW -

+ Défis de LDW

> Défi n° 2 : Route incurvées

" Sur les virages, la capacité du système à anticiper les


marquage de voie peut être réduite.

" L'image montre que LDW ne peut pas reconnaître les


marquages de voie sur la gauche près du virage. De plus, il
peut signaler une proximité excessive avec le côté droit alors
que le véhicule est bien centré dans sa voie

28/03/2025 Pr. HASSANI 67


Systèmes Embarqués pour les véhicules
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Aide au maintien dans la voie
3.3 Systèmes avancés d'aide à la conduite Lane Keep Assist
Q Fonctions ADAS
Le système d'aide au maïntien dans la voie LKA intervient
activement en corrigeant la trajectoire du véhicule.

Le fonctionnement de LKA est basé sur :

> Une caméra située près du rétroviseur pour


reconnaître les marquages de la voie.

> LKA aide le conducteur à rester dans sa voie en appliquant des


corrections légères au volant ou aux freins pour recentrer le soREreN +” _—.
l Depends o: n vehicle
d'and angleof
Ivergence

véhicule sue la voie.

28/03/2025 Pr. HASSANI 68


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Aide au maintien dans la voie
3.3 Systèmes avancés d'aide à la conduite Lane Keep Assist
Q Fonctions ADAS — LKA -

+ Défis de LKA

> Défi n° 1 : Détection des marquages de voie

> Défi n° 2 : Suivi précis sur des routes courbées

> Défi n° 3 : Conditions météorologiques et luminosité variables

> Défi n° 4 : Gestion des transitions entre LKA et le conducteur

28/03/2025 Pr. HASSANI 69


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Alerte de collision frontale
3.3 Systèmes avancés d'aide à la conduite Forward Collision Warning
Q Fonctions ADAS — FCW -
Ce système avertit le conducteur d'un risque imminent de
collision frontale. Du)
=) ) ) ) «es
an ))àh) ) )

Le fonctionnement de FCW est basé sur :


= —
> Des capteurs ultrason/Radar et/ou caméra pour la
mesure distance et la vitesse des objets devant le
véhicule

> Si l'un des capteurs est défectueux ou si les conditions


météorologiques sont défavorables, des signaux erronés peuvent Subject Vehicle Lead Vehicle

être générés.

28/03/2025 Pr. HASSANI 70


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Système d'évitement de collision
3.3 Systèmes avancés d'aide à la conduite Collision Avoidance System
Q Fonctions ADAS - CAS -
Système actif qui prend des mesures automatiques (freinage
ou évitement) pour éviter une collision.

Le fonctionnement de CAS est basé sur :

> Il repose sur des capteurs (radar, LiDAR, caméras) pour


analyser l’environnement et détecter les obstacles.

> Prévenir ou réduire les risques d'accidents en alertant le


conducteur et, si nécessaire, en prenant des mesures correctives
automatiques.
> Défis relative à la fiabilité des capteurs et la Détection erronée
d'obstacles .

28/03/2025 Pr. HASSANI 71


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile) ,
PT . . Reconnaissance des panneaux
3. Véhicule autonomes: Automobile . . .
de signalisation
3.3 Systèmes avancés d'aide à la conduite Traffic Sign Recognition
Q Fonctions ADAS -TSR-
an et affichage des panneaux de signalisation sur |
l'écran du véhicule.

> Objectif : Aider le conducteur à respecter les règles de


circulation.

> Difficulté à reconnaître les panneaux en cas de mauvais


éclairage ou de conditions météorologiques défavorables.

28/03/2025 Pr. HASSANI 72


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
8. Véhicule autonomes: Automobile Stationnement autonome
3.3 Systèmes avancés d'aide à la conduite Autonomous Parking
- AP -
Q Fonctions ADAS

Système qui gare automatiquement le véhicule sans


intervention du conducteur.

> Objectif : Simplifier le stationnement, en particulier dans


les espaces restreints.

> Difficulté à détecter certains obstacles ou à gérer les


espaces très étroits.

28/03/2025 Pr. HASSANI 73


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Assistance au freinage d'urgence
3.3 Systèmes avancés d'aide à la conduite Emergency Brake Assist
Q Fonctions ADAS - EBS

Aide au freinage d'urgence en augmentant automatiquement la pression


de freinage lorsqu'une situation critique est détectée.

> Objectif : Réduire la distance d'arrêt et éviter ou atténuer


une collision

=)"seCCE)
l))
> Défi: Réaction insuffisante si le conducteur ne freine pas ED.
du tout ou si la surface est glissante

28/03/2025 Pr. HASSANI 74


Systèmes Embarqués pour les véhicules EEE
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile Freinage autonome d'urgence
3.3 Systèmes avancés d'aide à la conduite Autonomous Emergency Braking
Q Fonctions ADAS — AEB -
Système autonome qui freine automatiquement en cas de détection d'un
obstacle soudain.

> Objectif : Réduire les risques de collision en freinant de


manière autonome

> Défi: Manque d'efficacité à grande vitesse ou en présence


d'obstacles invisibles (pluie et brouillard).

28/03/2025 Pr. HASSANI 15


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite
Q Fonctions ADAS

* Freinage autonome d'urgence « Autonomous Emergency Braking »


+ Détection des piétons et cyclistes « Pedestrian and Cyclist Detection »
+ Stop & Go et assistance dans les files d'attente « Stop & Go and Queue Assist »
* Assistance intelligente à la vitesse « Intelligent Speed Assistance »
* Assistance au changement de voie « Lane Change Assist (LCA) »
* Surveillance des angles morts « Blind Spot Monitoring (BSM) »
* Programme électronique de stabilité « Electronic Stability Programme »
+ Système de protection des piétons « Pedestrian Protection System »
* Détection de la somnolence du conducteur « Driver Drowsiness Detection »
* Assistance au démarrage en côte « Hill Start Assist »

28/03/2025 Pr. HASSANI 76


Systèmes Embarqués pour les véhicules 2
autonomes (Drone et Automobile)
3. Véhicule autonomes: Automobile
3.3 Systèmes avancés d'aide à la conduite Q
Désavantages des systèmes ADAS
Si les systèmes ADAS offrent de nombreux avantages dans l'industrie automobile, il y a aussi
quelques inconvénients potentiels à prendre en compte.
Coût : Les systèmes ADAS peuvent = Dépendance excessive à l'égard de la
augmenter considérablement le coût d'un technologie : Les systèmes ADAS peuvent
véhicule, le rendant potentiellement moins conduire à une dépendance excessive vis-
accessible pour certains consommateurs. à-vis de la technologie, réduisant
Entretien et réparation : Les systèmes potentiellement la conscience du
ADAS peuvent être complexes et coûteux à conducteur et sa capacité à réagir à des
entretenir et à réparer, car ils nécessitent situations inattendues.
des connaissances et des équipements
spécialisés. Risques de cybersécurité : Les systèmes
Fausses alertes Les systèmes ADAS ADAS reposent sur des logiciels et une
peuvent parfois émettre de fausses alertes, connectivité qui peuvent créer des risques
par exemple lorsque les capteurs sont de cybersécurité s'ils ne sont pas
bloqués par la neige ou la saleté, ce qui peut correctement sécurisés.
être gênant et potentiellement perturbant
pour le conducteur.
77
Al myé çjs mass gage àrals nr
UNIVERSITÉ SIDI MOHAMED BEN ABDELLAH | a

Systèmes embarqués pour les


systèmes autonomes

Filière : Électronique Embarquée Et


Systèmes Intelligents

Pr. Hamid HASSANI

24/05/2025 Année universitaire : 2024/2025


= Pan

Chapitre 1 : Introduction aux systèmes embarqués

Chapitre 2 : Systèmes Embarqués pour les véhicules


autonomes (Drone et Automobile)

Chapitre 3 : Conception basée sur un modèle (MBD)

24/05/2025 Pr. HASSANI 2


= Pan
Chapitre 3 : Conception basée sur un modèle (MBD)
* Introduction au MBD
* Approche de développement logiciel classique
* MBD intégré dans le modèle V
* MBD vs Approche classique
* Processus de développement MBD
* Tests MBD
* Mathworks Automotive Advisory Board (MAAB)
+ Modélisation du comportement d'un système via Stateflow
* Génération automatique de code et implémentation
° Pixhawk : cible pour génération de code

24/05/2025 Pr. HASSANI 3


x , . t
Conception basée sur un modèle (MBD) E——. (conception) ©" ment} A5 )
1. Introduction au MBD partie de Dal et couvre
M BD est plus go étapes

Model-Based Design Model-Based Development


Développement basé
Conception basée sur un modèle N
sur un modèle

24/05/2025 Pr. HASSANI À


Conception basée sur un modèle (MBD)
1. Introduction au MBD
MBD
Model-Based Design Model-Based Development

Utilisation des modèles tout au long


Création, simulation et optimisation du processus, de la conception au
des modèles avant le codage. déploiement.

Exemple : Conception d'un système Exemple : Développement complet


de freinage ABS où les dynamiques d’un système de contrôle moteur,
sont modélisées et testées depuis la modélisation jusqu'à la
virtuellement. mise en œuvre embarquée.

24/05/2025 Pr. HASSANI


Conception basée sur un modèle (MBD) (
1. Introduction au MBD
Model-Based Design/Development est un processus qui permet un développement plus rapide
et plus rentable des systèmes dynamiques, y compris les systèmes de contrôle, le traitement
des signaux et les systèmes de communication.

Domaine d’application

Automobile Aérospatiale Robotique

24/05/2025
Conception basée sur un modèle (MBD)
1. Introduction au MBD

Dans MBD, le modèle de système est


au centre du processus de
développement, de l'élaboration des
exigences à l’implémentation et
tests.

Ce qui signifie que le cœur de l'approche


MBD est le modèle de système.

Qu'est-ce que le modèle de système ?

24/05/2025 Pr. HASSANI 7


Conception basée sur un modèle (MBD) (
1. Introduction au MBD Qu'est-ce que le modèle de système ?
Dans le contexte du MBD, le modèle de système inclut généralement deux parties principales :

Modèle du système physique (Plant) :Il représente la dynamique du système réel que l’on veut
contrôler, comme une voiture, un moteur ou un robot.

Exemples : dynamique du véhicule, dynamique de robot.

Modèle de contrôleur (Controller) :Il représente l'algorithme qui agit sur le système pour
atteindre un objectif spécifique, comme maintenir la vitesse ou la position.

Exemples : PID, MPC.

Dans MBD le Plant est les schéma ou scripts qui traduisent les équations mathématiques
décrivant le comportement dynamique de système en utilisant un logiciel (Matlab/simulink,
LabVIEW...)

24/05/2025 Pr. HASSANI 8


Conception basée sur un modèle (MBD)
1. Introduction au MBD
Pourquoi MBD ?

Q Moyen efficace et rentable de


développement des approches destinées à Fototyping an on ——
une implémentation concrète (Control pre pep De
des système, Système embarqué...) ectric VENICIE In a
Matlab Simulink il Ne"
{
4 Ne 4
Q Facile à implémenter.

a, [TR TT M it
Q Réduire le temps et les efforts de n C_T':-H| os FA
développement d'environ 30 % ou plus. rt" -

Q Amélioration de la qualité des produits

24/05/2025 Pr. HASSANI 9


Conception basée sur un modèle (MBD)
2. Approche de développement logiciel classique Essais effectués par une
autre partie pour valider le
L'analyste d'entreprise TT produit par rapport aux
recueille les besoins spécifications du client
pa Collecte des Tests de
du client.
besoins validation
Les attentes finales du
système Ÿ A
Analyse du Test du mn Tester le système comme
Traduction des système système une boîte noire
besoins en élément Ÿ 7
techniques Développement Tests
Software F— d'in tégration “| Tester l'interaction entre les
& AT fonctions
Réalisation de la Conception Tests
conception à un du modèle unitaires Th Tester le bon fonctionnement
niveau bas

Réalisation de Code T
la conception à J Fonctionnement indépendant
un niveau bas Codification des éléments de que Chaque composant
Application des normes de
codage (MISRA C, AUTOSAR)

24/05/2025 Pr. HASSANI 10


Conception basée sur un modèle (MBD) (
Intégration de MBD dans le
2. Approche de développement logiciel basé sur MBD
Modèle en V
Cycle de vie du Cycle de vie du
développeur testeur

à | Collecte des < > Tests de


besoins | validation | ,
Ÿ
Analyse du > Test du | -
système < système !
71 “f:
Tests ‘
* d'intégration J Fr
Bd ’ Valider le SW généré.
| Tests (SIL)
est utilisé pour réaliser cette
oncevoir une solution selon le unitaires D tâche.
comportement du logiciel, en
utilisant un outil de Génération Implémenter
onception logiciel et le test de |
| de Code l'architecture/comportement
( ) pour du logiciel.
cette tâche
permet de
réaliser cette tâche en
générant automatiquement du
24/05/2025 | code à partir d'un modèle. 1 1
Conception basée sur un modèle (MBD)
4. MBD vs Approche classique

-
| Variant (8): model-based implementation |

Requirements Physical model Implementation model partir de modèles


" - r 4 Code generator
D cerivation conversion et

NX 4e -
—) TS he a Liu rue ceucecucceccece
logicielles. Permet d'
et de

mal nual code produits


SW-developer

| Variant (A): traditional approach |

Implementation : Testing — > Production


Dans l'approche du , le
cemqui 4

demande du
supplémentaires aux développeurs, augmente
Traditional System Design
la dans le SW et
des projets de Design Production

développement de produits automobiles. Implementation TE


Testing

Model Based Design

24/05/2025 Pr. HASSANI 12


Conception basée sur un modèle (MBD) (
4. MBD vs Approche classique

exécutables à 1!
partir de modèles }

SE
Eu un mu mu

RE | Design avec I
let vérifications } simulation J
| OR enD continu
TT LE LE |
À nues

s
I génération I
jautomatique de code!
D

24/05/2025 Pr. HASSANI 13


Conception basée sur un modèle (MBD)
5. Processus de développement MBD

24/05/2025 Pr. HASSANI 14


Conception basée sur un modèle (MBD) (
5. Processus de développement MBD
ADAS, qui vise le contrôle d’une dynamique, selon MBD

24/05/2025 Pr. HASSANI 1 5


D Conception basée sur un modèle (MBD) (
6 . Test MBD Tests MBD
| Model-in-the Loop

Ü
| Software-in-the Loop |
Ÿ
| Processor-in-the Loop |
Ÿ
|Hardware-in-the
Loop
Us
Vehicle-in-the Loop
24/05/2025 Pr. HASSANI 1 6
Conception basée sur un modèle (MBD) (
6. Test MBD | Model-in-the Loop

Une fois le model Simulink/LabVIEW est développé, la phase de test MIL consiste à vérifier la
capacité du modèle à fonctionner et ses performances dans différentes conditions et sous
plusieurs scénarios de simulation. Sans génération de code, ni matériel

Objectif : Valider les modèles mathématiques


et le comportement du système et sa
conformité aux spécifications.

Exemple 1 : Tester une fonction ADAS (ACC), pour vérifier son comportement dynamique.
"= Teste de modèle (Plant model)
= Teste de Contrôleur

24/05/2025 Pr. HASSANI 17


Conception basée sur un modèle (MBD) (
6. Test MBD | Model-in-the Loop
Exemple 2 : Contrôle de mécanisme des essuie-glaces de véhicule

24/05/2025 Pr. HASSANI 1 8


Conception basée sur un modèle (MBD) (
6. Test MBD | Model-in-the Loop
Exemple 2 : Contrôle de mécanisme des essuie-glaces de véhicule

+ À
°° Sortie

Capteur outon

e cruem |
Logical Sortie_Ref] +

pus} —#+ =

Le bloc Signal Builder permet de définir les formes d'onde des signaux émis par le bloc.
Toute forme d'onde linéaire par morceaux peut être spécifiée.

24/05/2025 Pr. HASSANI 19


Conception basée sur un modèle (MBD) (
6. Test MBD
| Software-in-the-Loop

Le code, de modèle développé, est généré à l'aide d'un outil de génération automatique de
code tel que Embedded coder, puis testé une nouvelle fois dans l'environnement de
simulation. Sans dépendance matérielle.

Objectif : Vérifier le code généré à partir des modèles dans un


environnement logiciel afin de s'assurer que le code se comporte
conformément aux spécifications.

Exemple : Exécuter le code généré pour le contrôleur « ACC » dans un simulateur pour tester
la logique du code

” Généralement sur Simulink pour ce genre de test qui test des partie de modèle
uniquement

24/05/2025 Pr. HASSANI 20


Conception basée sur un modèle (MBD) (
6. Test MBD
| Processor-in-the-Loop

Le test PIL vérifie la fonctionnalité du code sur une véritable carte à microprocesseur. Un câble
USB est généralement utilisé pour assurer la connectivité entre le PC (environnement Simulink)
et la carte à microprocesseur

Objectif : Tester le code généré sur le microcontrôleur réel ou cible, en


vérifiant la compatibilité du code avec le matériel spécifique.

Exemple : Pour un teste PIL de l’ACC, le modèle de est simulé sur le PC hôte tandis que le
code du contrôleur suggéré est exécuté sur le microprocesseur embarqué.

24/05/2025 Pr. HASSANI 21


Conception basée sur un modèle (MBD) (
6. Test MBD
| Hardware-in-the-Loop

Le test HIL permet de vérifier le fonctionnement de modèle développée (plant + contrôleur) sur un
ECU réelle sans avoir besoin d'un véhicule physique.

Objectif : Vérifier l'intégration complète du matériel et du logiciel en


testant le système réel sur un banc d'essai simulant les conditions du
monde réel

Exemple : Le contrôleur de l' ACC est intégré à un système d'essai où l'ECU réel est
connecté à un banc de test simulant les capteurs et actionneurs du véhicule. Cette
configuration permet de tester l'interaction du matériel avec les entrées/sorties simulées sans
avoir besoin d'un véhicule réel.

24/05/2025 Pr. HASSANI 22


Conception basée sur un modèle (MBD) (
6. Test MBD
| Vehicle-in-the-Loop

Le test VIL est une méthode de test où un véhicule réel est utilisé, maïs certaines parties du
système ou de l'environnement sont simulées.

Objectif : Tester les systèmes embarqués en conditions quasi-réelles tout en


maintenant un contrôle sur certains paramètres via des simulations

Exemple : Dans un test VIL pour un ACC, le véhicule est testé sur une piste où un banc
dynamique, tandis que l'environnement (trafic, vitesse) est simulé. Cela permet de vérifier si
l'ACC ajuste correctement la vitesse et la distance sans avoir besoin de tests en conditions
réelles.

24/05/2025 Pr. HASSANI 23


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

MAAB un ensemble de directives de modélisation ("guidelines"), développées par un


groupe industriel. Il sert à encadrer le développement de modèles
MATLAB/Simulink/Stateflow conformément aux bonnes pratiques de l'industrie
automobile.

ed data
+ ch Inputs à out D Output
es, failFlag

MATLAB Chat
SIMULINK" a
Embedded Coder }

MAAB \:°
r U

un

24/05/2025 Pr. HASSANI 24


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Guideline ID
je: Justification Category
Guideline Title > Règles liées à la structure du schéma, à la
lisibilité, ou à la clarté des modèles)

na (Naming and Appearance): règle de


nommage.

db (Data and Block Usage): règle de typage et


définition de bloc.

25
Conception basée sur un modèle (MBD)
7. Mathworks Automotive Advisory Board (MAAB)

Q Avantages de l'utilisation des guidelines MAAB M n B

> Standardisation des modèles

> Réduction des erreurs de conception


+
> Facilite le débogage et la correction de défaut

> Meilleure compatibilité avec les générateur de


code (code optimisé). M ATL AB

SIMULINK"
24/05/2025 Pr. HASSANI 26
Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Structure du schéma fonctionnel
MAAB Rule jc 0121
Tous les blocs dans un modèle Simulink doivent avoir des noms significatifs
pour faciliter la compréhension du modèle.

MAAB Rule jc_ 0002

Chaque bloc doit être accompagné d’un commentaire expliquant son rôle,
afin d’améliorer la lisibilité et la maintenance du modèle.

MAAB Rule jc 0021: Utilisation de signaux croisés


Les signaux doivent être organisés de manière logique, et les lignes croisées
doivent être évitées pour garder le modèle clair.

24/05/2025 Pr. HASSANI 27


Conception basée sur un modèle (MBD)
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Structure du schéma fonctionnel

(ŒD
System_Enable
M AAB Rule MAAB Rule

| je_0121 je_0021
C1 } D] Time_security
Time_security Bree Incorrecte
ee

C 2 } >| Lead_Vehicle_Speed
Lead Vehicle Speed

Accelerate >
€ 4 } >] Lead_Vehicle_Distance
Lead_Vehicle_Distance

Fonctionalité
ACC
Ce bloc défini les éxgence relative à la logique de la fonctionnalité ACC Correcte
Di
ID ï
ID ïüi

MAAB Rule
je_0002
24/05/2025 Pr. HASSANI
Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Structure du schéma fonctionnel
MAAB Rule db 0143

Les sous-systèmes doivent être utilisés pour regrouper


les fonctionnalités connexes afin de simplifier le modèle a e
global (améliorer la modularité des modèle).
Speed_regulation

MAAB Rule jc 0032 —

Le nombre de niveaux hiérarchiques d'un modèle doit être limité


(moins de trois niveaux } pour assurer une navigation facile et
réduire la complexité.

24/05/2025 Pr. HASSANI 29


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Variable
MAAB Rule db 0041

Évitez la comparaison directe de variables de types différents (par exemple,


comparer un entier avec un flottant) pour éviter les erreurs liées à la
conversion implicite des données

MAAB Rule db
_ 0031

Toutes les variables utilisées dans les modèles doivent être initialisées

explicitement avant utilisation. Cela garantit que les simulations ne


produisent pas de résultats imprévus en raison de valeurs non initialisées

24/05/2025 Pr. HASSANI 30


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Variable
e

Incorrecte Correcte

—. C1 uinté 5 single
}— single
C1) g Entre 1
Entre 1
_— Hboolean = PE »( )
—— »C 1 ) PAT Sortie
_—. Sortie C2 } >
C2) p- Entre_2
Entre2

24/05/2025 Pr. HASSANI 31


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Signaux et type de données

MAAB Rule db_0010 Utiisstiondetypesdemonnéestomogènes


Les signaux connectés entre les blocs doivent être du même type de données
pour éviter les erreurs de conversion automatique. Si une conversion est
nécessaire, utilisez des blocs de conversion explicite, comme les blocs "Data
Type Conversion’.

24/05/2025 Pr. HASSANI 32


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

uint8
Lead_Vehicle_Speed
Lead_Vehicle_Speed

F boolean . | double
Sortie Pr Entre: à fa Î 2)‘= Incorrecte
boolean
ortie?
single |
Lead Vehicle Distance
Lead_Vehicle_Distance

uint8
2 } > Lead_Vehicle_Speed
boolean boolean
Lead Vehicle Speed IsvehicleDetected D IsvehicleDetected Brake ——p(" 7 )
Brake

su » Lead.
Lead- Vehici
Vehicle Distant
Distance
Lead_Vehicle_Distance T “ le x Correcte
double boolean
double Distance_of_security »: Distance_of_security Accelerate
QC 1 } » Time_security boolean
Accelerate
Time_security

Vehicle_Detection Brake Accelerate

24/05/2025 Pr. HASSANI 33


Conception basée sur un modèle (MBD) (
7. Mathworks Automotive Advisory Board (MAAB)

Exemple de règles de la MAAB


Signaux et type de données

MAAB Rule «h 0011 Utilisation des limites de saturation sur les signaux

Dans les modèles Simulink pour les systèmes autonomes, tous les signaux
(principalement de commande) qui peuvent dépasser les limites physiques ou
logiques doivent être protégés par des blocs de saturation. Cela permet d'éviter des
comportements imprévus dus à des dépassements ou sous-dépassements.

24/05/2025 Pr. HASSANI 34


Conception basée sur un modèle (MBD) (
8. Modélisation des systèmes par « Stateflow »
8.1 Machines à états finis et à états non finis

Q Un système à états finis est un système qui possède un nombre déterminé d'états et qui peut
être décrit par une machine à états finis (FSM).

QU Une machine à états finis est une machine qui ne fonctionne que dans un nombre limité
d'états prédéfinis, et qui permet de représenter des processus dynamiques en passant d'un état à
un autre en fonction d'événements ou de conditions spécifique

" Exemples des systèmes a états finis:

> Ascenseur : États : En attente, En montée, En descente, Porte ouverte, Porte fermée

> Distributeur automatique : États : Attente d’une commande, Sélection de produit, Paiement,
Livraison.

> Feux de circulation : États : Rouge, Verte, Orange.

24/05/2025 Pr. HASSANI 35


Conception basée sur un modèle (MBD)
8. Modélisation des systèmes par « Stateflow »
8.1 Machines à états finis et à états non finis

" Exemples des systèmes a états finis dans le domaine de l'automobile :

> ACC : États : Inactif, Actif (maintien de vitesse), Actif


(suivi d’un véhicule), Freinage automatique

> Boîte de vitesses automatique :États : Parking (P),


Marche arrière (R), Neutre (N), Conduite (D), Mode manuel pin lee
(M).
> Essuie-glaces automatiques : États : Arrêt, Intermittent, (eme) (em)
Vitesse lente, Vitesse rapide.
Événement

24/05/2025 Pr. HASSANI 36


Conception basée sur un modèle (MBD) (
8. Modélisation des systèmes par « Stateflow »
8.1 Machines à états finis et à états non finis

Q Un système à états non finis (ou systèmes à état continu) est un système qui peut
fonctionner dans une infinité d'états différents, souvent en raison de la nature
continue des variables qui le gouvernent. Contrairement aux machines à états finis,
ces systèmes ne se limitent pas à un ensemble discret d'états prédéfinis.

" Exemples des systèmes a états continus :

> Système de contrôle de vol d’un avion: Les commandes d’un avion sont ajustées en
continu pour maintenir la stabilité ou suivre une trajectoire donnée.
Variables continues : Altitude, vitesse, angle d’attaque, taux de montée ou descente.

24/05/2025 Pr. HASSANI 37


Conception basée sur un modèle (MBD) (
8. Modélisation des systèmes par « Stateflow »
8.2 Stateflow Chart

Q Stateflow est un outil graphique interactif intégré à Simulink pour modéliser et simuler
des machines d’état fini (FSM). Le passage d'un état à un autre est déclenché par des
événements et des conditions.

Q L'outil Stateflow de Matlab/Simulink permet de dessiner les diagrammes d'état.

er
K()
24/05/2025 Pr. HASSANI 38
Conception basée sur un modèle (MBD) (
8. Modélisation des systèmes par « Stateflow »
8.2 Stateflow Chart

24/05/2025 Pr. HASSANI 39


Conception basée sur un modèle (MBD)
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink

Préparation > Configuration pour la > Génération de D)


du Modèle Génération de Code Code

D) Validation et > Personnalisation et D)


Test du Code Exportation

Optimisation
(optionnelle)

24/05/2025 Pr. HASSANI 40


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink

” Préparation du Modèle

Cette étape sert a s'assurer que votre modèle Simulink est prêt pour la génération de
code.

= Simplifiez le modèle : Le modèle doit contenir des blocs compatibles avec la génération
de code. Utilisez des blocs optimisés pour le code (comme ceux des bibliothèques
Embedded Coder).

= Configurer les paramètres de simulation : Définissez le solveur comme un solveur


discret (le code C ne prend pas en charge les solveurs continus). Réglez le pas de
simulation selon vos besoins.

= Vérifiez les erreurs potentielles : Utilisez la commande Model Advisor dans Simulink
pour identifier les problèmes liés à la génération de code.

24/05/2025 Pr. HASSANI A1


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink
=” Configuration pour la Génération de Code

Consiste a adapter le modèle pour produire un code € conforme.

" Ouvrir le panneau de configuration :


Dans Simulink, accédez à Modélisation > Paramètres du modèle > Code Generation.

=" Sélectionner la langue cible : Choisissez C ou C++ selon vos besoins.

” Configurer le système de génération :


Choisissez GRT (Generic Real-Time Target) ou ERT (Embedded Real-Time Target) si vous
utilisez Embedded Coder.
Si vous travaillez sur du matériel spécifique, sélectionnez la cible matérielle appropriée.

= Spécifier les options :


Activez l’optimisation pour minimiser la taille ou maximiser la vitesse du code.
Configurez les options de personnalisation du code (noms de variables, noms de fonctions).
24/05/2025 Pr. HASSANI A2
Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink

" Génération de Code

Permet de produire le code à partir du modèle Simulink.

" Démarrer le processus :

Accédez à Code > C/C++ Code > Generate Code dans la barre d'outils Simulink.

" Analyser les résultats :

Une fois la génération terminée, MATLAB crée des fichiers source C/C++ (fichiers .c et
h) dans le répertoire spécifié.

Le fichier principal peut inclure des fonctions d'initialisation, de calcul, et de


terminaison.

24/05/2025 Pr. HASSANI 43


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink

=" Validation et Test du Code

Permet de S'assurer que le code généré fonctionne comme prévu.

" Test MIL, SIL, ou PIL :

Effectuez des tests MIL pour vérifier la logique au niveau du modèle.


Effectuez des tests SIL ou PIL pour valider le comportement du code sur le
microprocesseur ou la cible.

= Vérifiez les équivalences :

Comparez les résultats du modèle Simulink et ceux du code généré.

24/05/2025 Pr. HASSANI A4


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink

" Personnalisation et Exportation

Permet de d'adapter et intégrer le code généré.

" Modifier le code :

Si nécessaire, vous pouvez personnaliser le code C généré pour répondre à vos besoins
spécifiques.

” Intégration dans un système embarqué :

Transférez le code sur votre système cible.


Compilez et exécutez le code sur le matériel embarqué.

24/05/2025 Pr. HASSANI 45


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.1 Etapes de génération de code C sur Simulink

" Optimisation (optionnelle)

Permet de réduire la taille du code ou améliorer les performances.

" Utilisez des fonctionnalités d’Embedded Coder pour générer du code optimisé.

" Personnalisez les options de génération pour répondre à des contraintes spécifiques
(temps d'exécution, mémoire, etc.).

24/05/2025 Pr. HASSANI 46


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code

+* Historique

La carte Pixhawk est une unité de contrôle de vol (Flight Controller) open-source. Elle est
conçue pour piloter des drones et des véhicules autonomes de manière précise et fiable.

* Intègre un microcontrôleur puissant (STM32), plusieurs capteurs,


ainsi que de nombreuses interfaces (UART, I2C, CAN, PWM)
permettant la connexion
La carte Pixhawk -
° __ Contrôle et commande des véhicule autonomes

* Très adaptée aux projets de recherche et développement

24/05/2025 Pr. HASSANI A7


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code

+ Historique

" 2010 : Initiation du projet « Pixhawk » par Lorenz Meier, chercheur de École polytechnique
fédérale de Zurich (ETH, Zurich, swisse)

" 2011 : Pixhawk 1 (basé sur un microcontrôleur STM32F103), a été développée et adoptée
comme une solution open-source dédié principalement pour les drones

” 2015 : Lancement de la version Pixhawk 2 offrant une performance améliorée avec un


microcontrôleur STM32F427 (ARM Cortex-M4)

" 2016 : Pixhawk cupe (une version améliorée et modulaire de Pixhawk 2) est lancée.

” 2018 : Adoption de Pixhawk dans divers projets de recherche, y compris dans des véhicules
pour la conduite autonome

24/05/2025 Pr. HASSANI 48


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
+* Différentes cartes développées dans le cadre du projet Pixhawk
Pixhawk 2.4.8 Pixhawk 3 Pixhawk 4

Pixhawk 2

24/05/2025 Pr. HASSANI 49


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
+* Pixhawk 2.4.8: Caractéristiques techniques de la Pixhawk

Microcontrôleur principal :
* STM32F427 Cortex-M4, cadencé à 168 MHz, avec un coprocesseur matériel FPU. 4/4 >»
256 Ko de RAM et 2 Mo de mémoire flash. DR
V
Le cœur du système de contrôle —
- Réalise tous les calculs de navigation, de stabilisation et de contrôle
- Gère les algorithmes de vol autonome - Gère les interfaces de communication
- Produit les commandes moteur (PWM) à envoyer via le coprocesseur
Microcontrôleur secondaire :
° 32 bit STM32F100, cadencé à 24 MHz
° __8 KB RAM et 64 KB de mémoire flash
Joue un rôle de gestionnaire d’entrées/sorties
- Distribue les signaux PWM aux moteurs (ESC)
- Gère le module d’alimentation (mesure de la tension et du courant de la batterie
- __Fournit une interface USB pour la configuration et le chargement du firmware.

24/05/2025 Pr. HASSANI 50


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
+* Pixhawk 2.4.8: Caractéristiques techniques de la Pixhawk
Capteurs intégrés :
* IMU (Unité de Mesure inertielle)
- MPU6000 (gyroscope et accéléromètre)
- L3GD20 (gyroscope).
- HMC5883L (magnétomètre).
* __ Baromètre : MS5611 pour mesurer l'altitude.

Connectivité :
* Entrées/Sorties PWM : Jusqu'à 8 canaux pour contrôler les
moteurs et les servos.
° UART, I2C, SPI, CAN : Pour connecter des périphériques
comme des modules GPS, télémétrie, ou autres capteurs.
* Ports ADC (3.3v et 6.6v) : Pour des capteurs analogiques.
° _ Port USB : Pour la configuration et la mise à jour des
firmwares.
° __ Port Micro SD : Pour enregistrer les données.

24/05/2025 Pr. HASSANI 51


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
** Pixhawk 2.4.8: Plateformes/Langages de programmation

Mission planner C/C++

QGroundControl C/C++

ROS C/C++/Python

MATLAB - MATLAB / SIMULINK


- Génération automatique de code

24/05/2025 Pr. HASSANI 52


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
%* Pixhawk 2.4.8: Communication entre les modules

La communication entre les modules de la carte Pixhawk est assurée à travers uORB
"microObject Request Broker”. uORB est un bus de messages asynchrone utilisé dans
Pixhawk pour permettre aux différents composants du véhicule (processus ou threads) de
communiquer entre eux. Il repose sur le middleware mécanisme publish/subscribe.

F4 F4 Pia
Status D
UQRE Message uORE Read UÜRE Write
Msq M5g
La

ra
M
vehicle_gps_position Sensor, ace 9} vehicle _gps_ position

PX4 uORE Message PXa UORE Read PX4 uORE Write

24/05/2025 Pr. HASSANI 53


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
%* Pixhawk 2.4.8: Communication entre les modules

> Comment fonctionne le modèle publish/subscribe ?

° Publish (publier) : Un composant (comme un capteur ou un module de calcul) envoie un


message en le publiant sur un topic (un canal de données nommé).

°. Subscribe (s'abonner) : Un autre composant s'abonne à ce topic pour recevoir les messages
publiés Topic A
A A

Topic B

Subscriber

24/05/2025 Pr. HASSANI 54


Conception basée sur un modèle (MBD) (D
9. Génération automatique de code et implémentation
9.2 Pixhawk : cible pour génération de code
% Pixhawk 2.4.8: Communication entre les modules

> Exemple
. L’accéléromètre mesure l'accélération du véhicule et publie ces données sur le topic
sensor_accel. Le gyroscope mesure la vitesse angulaire est publie ces données sur le
topic sensor gyro. Le magnétomèêtre mesure l’amplitude du champ magnétique et
publie ces données sur le topic sensor
_ mag.

. Les modules de contrôle (comme le contrôleur PID ou l'estimation de la position)


s'abonnent à sensor_accel pour utiliser ces données dans leurs calculs.

Fa Fx4 F4
Status |
UORE Message Meg D uORE Read YMeg UORE Write

M
vehicle_gps_position sensor BCoel _- } Ehicle_9ps_postion
24/05/2025 PX4 uORB Message PX4 UORB Read PX4 UORE Write b b

Vous aimerez peut-être aussi