Vous êtes sur la page 1sur 7

Apprentissage supervisé

TP
Comportement aérien d’un drone
Problème technique
* Caractériser le comportement aérien d’un drone en utilisant des mesures provenant
d’un smartphone implanté sur l’appareil.

Compétences à mettre en œuvre


* Analyser les principes d'intelligence artificielle.
* Extraire un indicateur de performance pertinent à partir du cahier des charges ou de
résultats issus de l'expérimentation ou de la simulation.
* Choisir une démarche de résolution d’un problème d'ingénierie numérique ou
d'intelligence artificielle.
* Résoudre un problème en utilisant une solution d'intelligence artificielle.

1. Mise en situation
Le support de l’activité est un
drone quadrirotor industriel
remplissant des missions de
sécurité publique, de secours ou
d’inspection d’infrastructures
(voir documents techniques).

Figure 1 – Drone DJI


Matrice 300 RTK équipé
de la caméra Zenmuse H20T

Le pilotage de l’appareil est effectué à partir d’une télécommande ergonomique et


configurable à la convenance du pilote.

En fonction des commandes de vol, le comportement aérien du drone est caractérisé suivant
trois axes : tangage, roulis et lacet.

Axe de lacet
(yaw ou azimuth)

Figure 2 – Axes de vol


TP – Apprentissage supervisé – Comportement aérien d’un drone - 1 / 7
En vol stationnaire, les quatre rotors du drone tournent à la même vitesse et délivrent donc
la même puissance. La puissance globale est suffisante pour le maintenir à une certaine
hauteur sans qu’il ne descende et pas assez pour l’élever en altitude.
L’augmentation simultanée de la vitesse des quatre rotors entraîne l’élévation du drone.
Inversement, la réduction simultanée de la vitesse des quatre rotors entraîne la descente de
l’appareil vers la terre sous l’effet de la pesanteur.
Les quatre rotors R1, R2, R3 et R4 ne tournent pas dans le même sens. R1 et R3 tournent
dans le sens horaire alors que R2 et R4 tournent dans le sens antihoraire pour annuler le
couple induit par les hélices.

R1 R4

Avant

R2 R3
Arrière

Figure 3 – Drone en vol stationnaire et désignation des rotors


Lorsque le drone avance, la puissance des deux moteurs avant se réduit et celle des deux
moteurs arrière augmente (le drone s’incline légèrement vers l’avant autour de l’axe de
tangage). Lorsque le drone recule, c’est exactement l’inverse.

Figure 4 – Drone en vol vers l’avant et vers l’arrière


Lorsque le drone se déplace vers la gauche, la puissance des deux moteurs de gauche se
réduit et celle des deux moteurs de droite augmente (le drone s’incline légèrement vers la
gauche autour de l’axe de roulis). Lorsque le drone se déplace vers la droite, c’est l’inverse.

Figure 5 – Drone en vol vers la gauche et vers la droite


TP – Apprentissage supervisé – Comportement aérien d’un drone - 2 / 7
Lorsque le drone effectue une rotation à droite, la puissance des deux rotors 2 et 4 augmente
et celle des rotors 1 et 3 se réduit (le drone pivote vers la droite autour de l’axe de lacet).
Lorsque le drone effectue une rotation à gauche, c’est exactement l’inverse. Une hélice
tournant vers la gauche induit un effet de couple inverse à droite.

Figure 6 – Drone en vol en rotation à droite et à gauche

2. Apprentissage automatique
2.1 Problème à résoudre
L’activité suivante propose d’utiliser les données en provenance d’un smartphone implanté
sur un drone pour produire un programme capable de déterminer automatiquement le
comportement aérien de l’appareil.

2.2 Apprentissage supervisé


L’apprentissage automatique consiste à fournir à l’algorithme un certain nombre de signaux
émis par les capteurs en lui précisant à quels comportements ils correspondent. Ce procédé
est appelé l’entraînement. Le résultat de l’entraînement est l’obtention d’un modèle qui
permet de prédire le comportement du drone à partir de nouvelles données émises par les
capteurs.
Il existe un grand nombre d’algorithmes d’apprentissage, chacun ayant ses avantages et ses
inconvénients et pouvant être utilisés de manières plus ou moins satisfaisantes sur le
problème donné.

Roulis à
droite

Roulis à
gauche

Tangage
Apprentissage avant
automatique
Tangage
arrière

Lacet à
droite

Lacet à
gauche

Figure 7 – Principe de l’apprentissage automatique


TP – Apprentissage supervisé – Comportement aérien d’un drone - 3 / 7
Entraînement à partir de données → itérations jusqu’à trouver le meilleur modèle

Chargement Apprentissage, Sélection du


des données Pré-traitement entrainement et modèle de
caractéristiques des données comparaison classification le
des capteurs des modèles plus performant

Prédiction à partir de nouvelles données → intégration du modèle dans une application

Chargement Pré-traitement Prédiction du


Utilisation du
des données des données comportement
modèle entraîné
de test de test du drone

Figure 8 – Apprentissage automatique : entraînement et prédiction

3. Données disponibles pour l’apprentissage


Les angles de roulis, de tangage et de lacet sont obtenus expérimentalement à l’aide d’un
smartphone fixé sur le châssis du drone. L’application Matlab Mobile installée sur le
smartphone permet d’acquérir les mesures issues des capteurs du téléphone et de les
déposer sur Matlab Drive. Ces fichiers de mesure, fournis dans l’activité proposée, seront
utilisés sur un ordinateur équipé du logiciel Matlab.

Demande d’accès
Demande de calcul à un fichier
ou d’exécution
d’un script
Résultat
du calcul Informations sur le
contenu du fichier
Smartphone avec
l’application
Matlab Mobile

Ordinateur avec le logiciel


Matlab ou Matlab Online Cloud Matlab Drive
Serveur
Mathworks Informations sur le
Résultat contenu du fichier
du calcul

Demande de résolution Demande d’accès


d’un modèle ou à un fichier
d’exécution d’un script

Figure 9 – Matlab Mobile et Matlab Drive


TP – Apprentissage supervisé – Comportement aérien d’un drone - 4 / 7
Les mesures expérimentales sont mises en forme et regroupées dans deux fichiers :
- Donneesorientations123.xlsx (acquisition de 3 mesures pour le tangage avant, 3 mesures
pour le tangage arrière, 3 mesures pour le roulis droite, 3 mesures pour le roulis gauche,
3 mesures pour le lacet droite et 3 mesures pour le lacet gauche à la fréquence de 10 Hz
et pendant une durée de 6 secondes).
- Donneesorientations12345.xlsx (acquisition de 5 mesures pour le tangage avant, 5 mesures
pour le tangage arrière, 5 mesures pour le roulis droite, 5 mesures pour le roulis gauche,
5 mesures pour le lacet droite et 5 mesures pour le lacet gauche à la fréquence de 10 Hz
et pendant une durée de 6 secondes).
Temps seconde Degré lacet Degré tangage Degré roulis Mouvement
0 167,222552 0,19109 -0,216484 Lacet à droite
0,1 167,222552 0,191115 -0,215674 Lacet à droite
… … … … …
… … … … …
5,9 -154,290572 0,036468 -0,635974 Lacet à droite
6 -153,113006 0,023314 -0,638857 Lacet à droite
0 78,391707 -0,561339 0,680284 Lacet à droite
… … … … …
6 152,414346 -0,011 -0,220989 Lacet à droite
0 13,661357 -1,153675 0,15505 Lacet à droite
… … … … …
6 113,926613 -0,5125 0,088134 Lacet à droite
0 158,00573 0,094242 -0,101106 Lacet à gauche
… … … … …
6 95,036106 -0,390107 0,718008 Lacet à gauche
0 78,880229 -0,627174 0,703011 Lacet à gauche
… … … … …
6 -5,632954 -1,363217 0,246396 Lacet à gauche
0 -15,928474 -1,236114 -0,221776 Lacet à gauche
… … … … …
6 -113,465814 -0,554776 -0,426146 Lacet à gauche
0 -169,47967 0,016539 -0,052847 Roulis à droite
… … … … …
6 -169,508302 -0,078447 21,632203 Roulis à droite
0 149,105557 0,053171 0,517464 Roulis à droite
… … … … …
6 147,820907 -0,44285 16,965758 Roulis à droite
0 72,204737 -0,973995 0,944197 Roulis à droite
… … … … …
6 70,674863 -0,697175 19,779512 Roulis à droite
0 -176,185768 0,44909 0,058082 Roulis à gauche
… … … … …
6 -177,69666 -0,140202 -10,614001 Roulis à gauche
0 133,013822 -0,072082 0,779843 Roulis à gauche
… … … … …
6 131,743926 -0,405389 -21,747194 Roulis à gauche
0 66,288229 -0,685469 0,562022 Roulis à gauche
… … … … …
6 64,989277 -0,10624 -21,539632 Roulis à gauche
0 -37,251524 -0,563147 -0,157879 Tangage arrière
… … … … …
6 -36,848341 -18,444989 0,439592 Tangage arrière
0 -98,94225 0,017829 0,418502 Tangage arrière
… … … … …
6 -98,129451 -19,183582 1,073569 Tangage arrière
0 172,949296 -2,301855 -0,327971 Tangage arrière
… … … … …
6 172,90893 -19,294041 -1,065706 Tangage arrière
0 -50,589866 1,04445 0,114378 Tangage avant
… … … … …
6 -50,54062 21,681684 -0,067467 Tangage avant
0 -109,131909 -0,604242 0,81489 Tangage avant
… … … … …
6 -109,06205 21,889725 0,358349 Tangage avant
0 -160,652934 -0,868005 0,457645 Tangage avant
… … … … …
6 -160,550673 20,458146 0,258575 Tangage avant

Figure 10 – Extrait du fichier de mesures Donneesorientations123.xlsx


TP – Apprentissage supervisé – Comportement aérien d’un drone - 5 / 7
4. Création du modèle d’apprentissage N°1
4.1 Utilisation de l’application Classification Learner
La résolution du problème s’appuiera sur l’utilisation de modèles d’apprentissages
disponibles dans l’application Matlab Classification Learner.
Une lecture attentive du tutoriel proposé est recommandée.
4.2 Importation des données d’apprentissage
Importer le premier fichier Donneesorientations123.xlsx

4.3 Choix d’un modèle d’apprentissage


Sélectionner les deux modèles suivants :
- classificateurs des plus proches voisins (Nearest Neighbor Classifiers – All KNNs),
- classificateurs des réseaux de neurones (Neural Network Classifiers – All NN).
Q1. Expliquer brièvement ces deux méthodes d’apprentissage automatique.
Q2. Avec l’application Classification Learner, rechercher des schémas sur lesquels les données
relatives aux angles de roulis, de tangage et de lacet sont regroupées. Après leur
entraînement, relever la précision de chaque modèle (Accuracy).

4.4 Matrice de confusion


Q3. Relever la matrice de confusion de chaque modèle. Comparer les résultats et rédiger
quelques commentaires.

4.5 Courbe ROC


Q4. En relevant la surface minimale sous la courbe ROC (AUC), identifier la qualité des
classificateurs étudiés. Comparer les performances puis rédiger quelques commentaires sur
les valeurs relatives aux sensibilités et aux spécificités proposées.

4.6 Exportation du modèle


Q5. Après avoir complété le tableau de synthèse ci-dessous, sélectionner le modèle
d’apprentissage le plus performant puis l’exporter pour continuer à l’exploiter sous Matlab.
Modèle d’apprentissage fichier N°1 Caractéristiques
Précision (accuracy)
Plus proches voisins Qualité minimale (AUC)
(KNN) Taux de faux positifs (FPR)
Taux de vrais positifs (TPR)
Précision (accuracy)
Réseaux de neurones Qualité minimale (AUC)
(NN) Taux de faux positifs (FPR)
Taux de vrais positifs (TPR)

4.7 Test du modèle d’apprentissage


Q6. Tester le modèle d’apprentissage sélectionné. Afficher la prédiction du modèle entrainé
sous forme d’histogramme. Comparer la proposition de comportement du drone en
s’appuyant sur un fichier test.

TP – Apprentissage supervisé – Comportement aérien d’un drone - 6 / 7


5. Création du modèle d’apprentissage N°2
Le nouveau modèle d’apprentissage est construit à partir de l’importation du deuxième
fichier Donneesorientations12345.xlsx
Q7. Suivre la procédure d’analyse utilisée dans la partie précédente pour ce nouveau fichier
d’apprentissage. Compléter le tableau ci-dessous et comparer les résultats obtenus. Rédiger
quelques commentaires.
Modèle d’apprentissage fichier N°2 Caractéristiques
Précision (accuracy)
Plus proches voisins Qualité minimale (AUC)
(KNN) Taux de faux positifs (FPR)
Taux de vrais positifs (TPR)
Précision (accuracy)
Réseaux de neurones Qualité minimale (AUC)
(NN) Taux de faux positifs (FPR)
Taux de vrais positifs (TPR)

Q8. Le modèle d’apprentissage des plus proches


voisins est optimisable en sélectionnant l’onglet
Optimizable KNN (Nearest Neighbor Classifiers).
Les paramètres par défaut sont modifiables en
cliquant sur le bouton Advanced (par exemple
l’augmentation ou la réduction du nombre de
voisins). Les changements effectués apparaissent
dans l’historique afin de pouvoir comparer un
seul et même modèle avec différents paramètres.
Lancer l’entraînement de ce nouveau modèle et
relever ses caractéristiques. Rédiger quelques
commentaires.

6. Sélection du modèle d’apprentissage optimal


Q9. Compléter le tableau de synthèse des résultats ci-dessous et sélectionner le modèle
optimal en rédigeant quelques commentaires :
Modèle d’apprentissage Précision
Plus proches voisins N°1 (3 données d’apprentissage)
Réseaux de neurones N°1 (3 données d’apprentissage)
Plus proches voisins N°2 (5 données d’apprentissage)
Réseaux de neurones N°2 (5 données d’apprentissage)
Plus proches voisins N°3 (5 données d’apprentissage + optimisation)

7 – Génération du code Matlab et synthèse


Q10. Générer le code Matlab correspondant au modèle d’apprentissage sélectionné.
Identifier sommairement les différentes parties du programme (données d’apprentissage,
modèle d’entraînement et affichage des résultats).
Q11. Commenter l’étude d’apprentissage automatique réalisée. Proposer une démarche ou
un protocole permettant de qualifier plus complétement le comportement aérien du drone.
TP – Apprentissage supervisé – Comportement aérien d’un drone - 7 / 7

Vous aimerez peut-être aussi