/ Accueil / Classification hybride ART-CS
     | Ecrire

Système final

 

Les outils nécessaires à la réalisation du système final sont nombreux et beaucoup d'entre eux ne sont disponible qu'en nombre restreint. L'ensemble n'a pu être maintenu en état de marche car de nombreuses composantes furent requises pour d'autres travaux. Nous avons donc réalisé une vidéo du fonctionnement de l'ensemble (cassette VHS PAL jointe ?) afin d'éviter de longues installations dont le but ne serait qu'une démonstration. Enfin , à l'attention des éventuels futurs utilisateurs, voici la description physique et logicielle du système accompagnée de précautions d'installation et de procédures d'initialisation et paramétrage des différents éléments de l'ensemble. On trouvera également en fin de chapitre un mode d'emploi du logiciel, valable également pour la simulation décrite au chapitre 3.

Configuration matérielle
Configuration matérielle

Le système se compose :

  • d'une caméra vidéo noir et blanc pour filmer la scène,
  • d'un moniteur vidéo affichant l'image reçue de la caméra,
  • d'un bras manipulateur à cinq degrés de liberté : le robot éducatif Mini S 2 de Jeulin accompagné de son directeur de commande,
  • d'un ordinateur compatible PC 386 SX 20 qui supportera l'ensemble des programmes pilotant cet ensemble. Il est équipé d'un moniteur, d'une carte d'acquisition vidéo et du logiciel Visilog d'acquisition et de traitement d'image.

Note : le logiciel Visilog est protégé contre le piratage par une clé électronique qui doit être enfichée sur le port parallèle de l'ordinateur. Une imprimante devra également y être connectée et mise en marche pour que ce dongle soit actif. Il ne sera pas possible de passer outre ces précautions car le programme d'acquisition vidéo développé pour notre outil utilise des routines Visilog qui vérifient la présence du système de protection.

Les versions définitives et exécutables des différents logiciels accompagnés des fichiers de données nécessaire se trouve dans le répertoire \final\exe\ de la disquette jointe. (consulter le fichier lisez.moi).

Structure et flux de données
Structure et flux de données

Programmes exécutables :

  • calibre : demande les coordonnées réelles de certains point de l'image afin de calculer les constantes de conversion du repère de l'écran vers le repère du robot. Ces données sont enregistrées dans le fichier repere.dat.
  • psh_lrn : programme principal du système, il effectue l'apprentissage du comportement, appelle camera et percept pour observer la scène et pousse pour agir sur les objets.
  • camera : commande l'acquisition vidéo et enregistre l'image perçue dans le fichier ima.ndg
  • percept2 [image seuil] : analyse d'image par le classeur ART pour déterminer les objets composant l'image de la scène observée et construit le dictionnaire en fonction du seuil exprimé en % (cf. paragraphe 2.4.2). Lorsque ce programme est appelé par psh_lrn, il examine l'image ima.ndg avec un seuil de 10%.
  • pousse [X Y Z A] : pousse l'objet présent en X Y Z selon la direction A si aucun objet ne risque de perturber le mouvement. La liste des objets présents est lue dans le fichier vues2.ffv.

Fichiers de données:

  • ima.ndg : image perçue, 128x128 pixels en 256 niveaux de gris.
  • formes.dic dictionnaire des formes apprises, liste de matrice 16x16 pixels en 256 niveaux de gris associée à un numéro de forme.
  • vues.ffv : liste des formes perçues, n°, localisation (en pixels sur écran), orientation, échelle.
  • vues2.ffv : idem que vues.ffv mais la localisation est exprimée en millimètres dans le repère du robot.
  • robot.dat : constantes de conversion des variables angulaires en consignes comprises entre 0 et 4095.

Attention :
les fichiers visilog.fnt, visilog.hlp et visilog.ini qui ne figurent pas sur le diagramme sont nécessaire pour que l'acquisition vidéo soit possible.

Enfin les programmes cr2 et videdico sont deux petits utilitaires permettant respectivement de visualiser le dictionnaire ainsi que le contenu de vues.ffv et de vider le dictionnaire.

Le diagramme de structure du logiciel fait apparaître de nombreux flux de données. Certains d'entre eux permettent la transmission d'informations aux trois entités du programme, perception, décision et action.

Comme nous l'avons vu dans le chapitre 2, la perception fournit une description de l'environnement qui sera exploitée par la décision pour choisir l'action. Nous allons voir maintenant de quelle façon la liste des objets perçus décrite dans l'exemple du paragraphe 2.5 sera exploitée :

  • Etape 1 : parcourir la liste à la recherche de deux objets identiques, c'est à dire ayant le même numéro.
  • Etape 2 : déterminer laquelle de ces deux formes sera la cible, l'autre devenant l'objet à déplacer ; comme objet à déplacer, on choisit celui qui est le plus facilement atteignable par le robot, c'est à dire celui se trouvant le plus près du rayon 310 mm centré sur la base du bras manipulateur.
  • Etape 2' : si aucune forme n'est présente en double dans la liste reçue, le choix des objets est réalisé en fonctions des indices retenus au tour précédant : en effet, la situation n'évolue normalement que très peu entre deux acquisitions. Le déplacement infligé à un objet est de l'ordre de deux à trois centimètres. Donc, en supposant que tous les objets présents dans l'image au tour précédant le soit toujours, il y a une forte probabilité qu'ils apparaissent dans le même ordre dans le fichier. Aucun couple n'aura été trouvé en raison d'une faille du système de perception (cf. paragraphe 2.6).
  • Condition d'arrêt : le nombre d'objet perçus est la moitié du nombre initial d'objet ; le nombre maximal de couple a été formé.

Par cette analyse de liste, il est donc possible de réaliser indifféremment tous les problèmes exposés au paragraphe 4.1.

Les informations exploitées directement pour choisir l'action à effectuer ne sont donc que la position des deux objets choisis. Dans le cas où nous présentons plusieurs couples de formes au système, il peut tantôt en choisir un tantôt un autre à rassembler. Lors de ces changements la variation de distance perçue ne traduit pas la réalité : le système se trouve alors confronté à une faille de sa perception. Le choix du couple à considérer s'effectue en fonction de l'ordre d'apparition des éléments de la liste des objets perçus. Comme nous l'avons indiqué précédemment, cet ordre est relativement constant et permet donc à l'algorithme de ne pas être confronté trop souvent à ce problème et de mener correctement son apprentissage. L'une des forces du classeur est sa robustesse qui lui permet de continuer sont travail même si les informations fournies sont imparfaites.

mis à jour le : 15/04/2006 - 21:58