UNIVERSITE DE MANOUBA décembre 2006
ECOLE NATIONALE
DES SCIENCES DE L'INFORMATIQUE
EXAMEN DE ROBOTIQUE & SOFT COMPUTING
Observation : documents non autorisés
Enseignant responsable : M. Tagina
Conception d'un contrôleur pour un robot mobile
Un robot mobile a pour tache de parcourir toutes les cellules d'un plan (figure ci-dessous) à partir du point de départ D jusqu'au point d'arrivée A. Les traits en gras représentent des obstacles qui vont guider le robot dans son parcours.

Le robot peut soit avancer soit tourner à gauche.
Le robot est muni de deux capteurs de distances : dist_avant et dist_gauche. En fonction des distances mesurées un contrôleur calcule la vitesse " w " (donnée en pourcentage de la vitesse maximale, exemple w 0.5 correspond à 50% de la vitesse maximale) et l'angle de braquage " A " (donné dans l'intervalle [00,600] l'angle est nul pour un déplacement tout droit).
Commande floue :
Dans cette partie, on se propose de concevoir un contrôleur flou, pour ce faire on propose les
partitions suivantes pour les vitesses, les angles et les différentes distances (la même partition pour les trois capteurs) :

En fonction des mesures des capteurs, le contrôleur fournit un couple (angle, vitesse) en respectant les règles élémentaires suivantes :

1/ Quelle est la taille maximale de la base des règles tenant comptes des situations décrites dans les deux tables précédentes sachant que le contrôleur doit prendre compte des deux capteurs à la fois ? Générer cette base.
2/Minimiser la base des règles si possible.
3/ On se place dans la cellule B et en optant pour une fuzzification par la méthode du singleton et une défuzzification par la méthode barycentrique, calculer les valeurs de la vitesse et de l'angle de braquage.
4/Quels sont les problèmes qui peuvent apparaître dans le cas de cet exemple ?
Réseau de neurones :
On se propose ici de réaliser l'apprentissage par rétro propagation de l'erreur d'un réseau de neurones avec une couche d'entrée avec 2 neurones (les mesures respectives des capteurs avant et gauche), une couche cachée avec 2 neurones et une couche de sortie avec 2 neurones
(Respectivement l'angle et la vitesse). On optera pour la loi de Boltzmann pour déterminer les
valeurs de sorties des neurones cachés et des neurones de sortie.
1/ Quelle fonction linéaire doit-on appliquer à la première valeur de sortie pour avoir un
angle dans l'intervalle : [0°, 60°] au lieu d'une valeur réelle dans l'intervalle [0, 1] ?
2/ On donne la configuration suivante :
![]()
Cette configuration est elle cohérente avec les données du paragraphe précédent ?
3/ Effectuer une seule itération du cycle d'apprentissage en choisissant η = 1.