/ Accueil
/ Classification hybride ART-CS
| Ecrire
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.
Le système se compose :
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).
Programmes exécutables :
Fichiers de données:
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 :
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.
Le robot a besoin pour effectuer une pousser de connaître la position de l'objet auquel celle-ci s'applique. Il lui faut également le numéro de l'action choisie pour réaliser le déplacement du sujet dans la bonne direction. Ces donnés seront en fait les paramètres du programme. De plus il faut s'assurer que les actions entreprises sont réalisables. La liste des objets présents sur la table avec leur localisation précise est également fournie. Il sera ainsi possible de vérifier qu'aucun objet ne risque de gêner la descente de la pince. (Si c'est le cas, la poussée est effectuée au-dessus du niveau des objets pour bien signifier qu'une action a bien été demandée mais n'a pas été réalisable).
On peut noter qu'une action irréalisable (à cause d'un obstacle sous la pince) se révélera vite inefficace car elle ne produit aucun déplacement , et, dans ce cas, le système devra tenter de déplacer sa pièce d'une autre façon.
Pour une analyse efficace et rapide il est nécessaire d'acquérir une image bien contrastée, et de préférence nette même si l'échantillonnage de l'image en 128x128 pixels par notre programme altère considérablement cette netteté. Ces réglages peuvent être effectués "à l'oeil" grâce au logiciel visilog [Doc 2]:
Maintenant que nous avons une bonne image, que nous permet elle de voir ? Autrement dit, quelle est l'étendue et la localisation de la scène perçue ? Toujours à l'aide de visilog, comme il a été décrit au paragraphe précédent, l'acquisition continu permet de marquer sur l'aire de travail les bords de l'image. En effet le programme qui situe les objets en fonction de leur position dans l'image a besoin de point de référence pour calculer leur position dans l'espace du robot. Le programme calibre demande la valeur de trois points de références (coins supérieur gauche, supérieur droit et inférieur gauche de l'image) pour calculer les constantes de conversion.
Le robot Mini S 2 reçoit pour commander chaque axe une consigne (CAN [doc 1]) comprise entre 0 et 4095. Cette consigne traduit l'angle selon lequel l'axe doit s'orienter. Pour chaque axe i (de 1 à 5), on a : où Thetai est l'angle en degrés, Ai et Ki étant les valeurs de conversion à fixer lors de cette étape de configuration. En effet ces valeurs, de part la nature du matériel, varient d'un robot à l'autre, et parfois au cours du temps pour un même robot. Ce dernier aspect est toutefois suffisamment négligeable pour que cette phase soit réalisée une seule fois pour toute une série d'expériences.
Pour déterminer les valeurs des Ai et Ki il suffit d'envoyer des consignes précises pour chaque axe et de mesurer les angles obtenus. Un fil à plomb et un peu de trigonométrie permettent d'avoir des mesures assez précise pour nos travaux. Les valeurs trouvées devront être inscrite dans le fichier texte robot.dat, ainsi le programme pousse sera en mesure de calculer les bonnes consignes.
mis à jour le : 15/04/2006 - 21:58