UNIVERSITE DE MANOUBA JUIN 2007
Ecole Nationale des Sciences de l'Informatique
EXAMEN DE ROBOTIQUE & SOFT COMPUTINC
(Session de rattrapage)
Observation : documents non autorisés
Enseignant responsable : M. Tagina
Présentation du Robot « HAOUASS »
« Haouass » est un petit robot mobile muni de trois capteurs de distance : un capteur dist _avant
mesurer la distance entre le robot et l'obstacle de devant, un capteur dist_gauche pour mesurer la
distance entre le robot et l'obstacle de gauche et un capteur dist_droite pour mesurer la distance entre le robot et l'obstacle de droite.
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 " θ " (donné dans l'intervalle [-60°,60° : un angle négatif correspond à un braquage à gauche et l'angle nul pour un déplacement tout droit). Le robot doit explorer son environnement sans entre en collision avec un obstacle. Pour ce faire, on dote « Haouass » d'un certains nombre de comportement (essentiellement le suivi de contour et l'évitement d'obstacle)
Partie I : contrôle floue
Présentation des comportements
1 Evitement d'obstacle :
Ce comportement comporte les règles qui permettent à Haouass d'éviter d'entrer en collision avec un
obstacle de la manière suivante :
Si la distance avant et grande alors le robot continue à avancer.
Si la distance avant est faible et la distance gauche est grande alors le robot tourne à gauche.
Si la distance avant est faible et la distance droite est grande alors le robot tourne à droite.
Remarque : Cette description est simpliste et nécessite plus de précision (de votre part !)
2 Suivi de contour :
Quand le robot détecte un obstacle (mur) il se déplace le long de cet obstacle en gardant une distance de référence. Pour cela, le robot ne considère pas directement les distances mais la différence entre la
distance actuelle à l'obstacle à longer (dont on cherche à suivre le contour) et la distance de référence.
Ouestions
1/ Améliorer le comportement d'évitement d'obstacle et proposer les partitions floues des univers de discours des variables linguistiques utilisées (les variables apparaissant dans les règles). Il est vivement conseillé d'utiliser les sous ensembles (négatif, nul, positif) pour l'angle de braquage, (nulle, petite, grande) pour la vitesse et (faible, grande) pour la vitesse.
2/ Dans le cas où Haouass se trouve au point « A » de l'environnement ci-dessous calculer les sorties du contrôleur (vitesse et angle de braquage) en précisant le choix des opérateurs flous utilisés.
3/ Construire les règles pour le comportement de suivi de contours. En précisant les variables linguistiques et la partition de leurs domaines de discours.
4/ Dans le cas où Haouass se trouve au point « B » de l'environnement ci-dessous calculer les sorties
du contrôleur pour le comportement de suivi de contours.

Partie II : 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 3 neurones (les mesures respectives des capteurs avant, droit et gauche : ces distances sont exprimées en nombre de cases séparant le robot à l'obstacle), une couche cachée avec 2 neurones et une couche de sortie avec 2 neurones (respectivement l'angle ét 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.
Ouestions
5/ Quelle fonction linéaire doit-on appliquer à la première valeur de sortie pour avoir un angle dans
l'intervalle : [-60°, 601 au lieu d'une valeur réelle dans l'intervalle [0, 1] ?
6/ On donne la configuration suivante :

Cette configuration est elle cohérente avec les données du paragraphe précédent ? 7/ Effectuer une seule itération du cycle d'apprentissage en choisissant η = 1.