Mini Robot. simulation d un automate industriel. 17 novembre 2013

Documents pareils
Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

2013 Pearson France Photoshop Elements 12 pour les photographes du numérique Loïc Olive

C.F.A.O. : Conception et Fabrication Assistées par Ordinateur.

Devises. Dernière modification le 9 janvier 2009 Page 1 de 6

MANUEL GANTT PROJECT

TUTORIEL IMPRESS. Ouvrir Impress cocher «présentation vierge», «suivant» cocher «écran», «suivant» cocher «standard», «créer»

Poudlard But Matériel : Mise en place Prologue d'emplacements différents

AP1.1 : Montages électroniques élémentaires. Électricité et électronique

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

TUTORIEL Qualit Eval. Introduction :

Étape 1 : Création d une adresse courriel GMAIL

1. Visualiser la «carte» de mon réseau social

GUIDE D UTILISATION DE L AGENDA

Galerie de photos échantillons SB-910

1) Information sur le logiciel et la notice 2) Le tableau de bord 3) Les devis 4) Les factures 5) Les factures d acompte 6) Les avoirs sur facture

Sommaire Table des matières

MANUEL UTILISATEUR DU SITE D INSCRIPTIONS FCL1.028 DGAC POUR LES CANDIDATS AUX CONTROLES DE COMPETENCES LINGUISTIQUES LANGUE ANGLAISE ORGANISES PAR LA

Vous avez cliqué sur le lien disponible sur le Site Uniformation. Vous venez d arriver sur cette page.

Créer des étiquettes avec les adresses d'un tableau Calc

MODE D EMPLOI DU LOGICIEL LIGNES DE TEMPS A partir du film La Mort aux trousses d Alfred Hitchcock

Manuel utilisateur. Version 1.6b

KM2 W1 EVC1 M3~ Manuel AUTOMSIM API 24V. BP Dcy 1MINI 1MAXI.

Créer un premier document avec Pages

Comment obtenir un identifiant PIC? Mode d emploi

DOSSIER D'ACTIVITES SUR TUXPAINT Dessiner avec Tuxpaint. Objectifs :

GUIDE Excel (version débutante) Version 2013

Utilisation du logiciel GALAAD

Comment sélectionner des sommets, des arêtes et des faces avec Blender?

LA RUBRIQUE ARCHIVES EN LIGNE DU SITE INTERNET - MODE D EMPLOI

Atelier «personnaliser l environnement de l ordinateur mai 2015

Accessibilité ERP Guide des obligations liées à l accessibilité des personnes handicapées dans les bâtiments ERP existants.*

Tutoriel BLOGGER. Pour vous donner une idée, voici un exemple de blog :

Guide d utilisation du ipad

Réalisation de cartes vectorielles avec Word

Les différentes étapes à suivre pour la création d un feuillet

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

GUIDE D UTILISATION DU LOGICIEL DE TELE-MAINTENANCE. TEAM VIEWER Version 7.

SpeechiTablet Notice d utilisation

Utilisation du client de messagerie Thunderbird

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

NXT Guide de mise en route. Rob Widger

But du papier : Paramétrer WSUS pour récupérer les mises à jour et administrer le serveur WSUS

Utiliser ma messagerie GMAIL

Dans l idéal, ceci devrait être fait en amont pour chaque image envoyée sur l espace de stockage de votre site internet.

2013 Pearson France Adobe Illustrator CC Adobe Press

Niveau 1. Atelier d'initiation à l'ordinateur ... Fondation de la Bibliothèque Memphrémagog inc. Magog (Québec) J1X 2E7 Tél.

maintenance Remplacement des réfractaires 1 Remplacement de la grille du cendrier 2 Remplacement du secoueur de grille 3

Manuel d utilisation NETexcom

Questionnaires sur les étapes du développement

Guide de l utilisateur Mikogo Version Windows

Premier cours d informatique

ALIMENTATION PORTABLE 9000 AVEC DEMARRAGE DE SECOURS POUR VOITURE

ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans

Les pannes non bloquantes ou aléatoires :

Cartographie Informatique Eclairage Public

INTRODUCTION. Pour réaliser une pièce sur Charlyrobot, il faut le faire en trois étapes :

UTILISATION DE LA BORNE PAR LE CLIENT

v Sygic, a.s. All rights reserverd. Manuel utilisateur

Consignes de sécurité et d utilisation. Portes sectionnelles

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Guide d Utilisation :

Ma maison Application téléphone mobile

Business Internet Centrex Business Talk IP Centrex guide administrateur

Gestion de l énergie avec le système Wiser

Publication Assistée par Ordinateur

COMPTA. Description des Commandes

SIEGE D EVACUATION. Manuel d'utilisation

Réservation de matériel

AUTOPORTE III Notice de pose

Manuel Utilisateur Chariot odys.sante-lorraine.fr

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Des outils numériques simples et conviviaux!

DECOUVREZ Discover TYPE EDIT V12 Français

win-pod Manuel de résolution de pannes

Mon aide mémoire traitement de texte (Microsoft Word)

Dragon Naturally Speaking 13

Mode d emploi de la liseuse Kobo Aura

Arborescence et création de dossiers

Interface PC Vivago Ultra. Pro. Guide d'utilisation

Adobe Illustrator Logiciel de dessin vectoriel et de Cartographie Assistée par Ordinateur

FÊTE DE LA SCIENCE 2005 (Village des Sciences)

Guide de l utilisateur Modem Wifi

FileZilla. Sauvegarder son site Guppy à l aide de. Sommaire:

Chronis RTS Notice d installation et d utilisation Ref A

1. Découvrir l iphone 3G et 3G S

Elfenland Règles du jeu

TP Protocoles SMTP et POP3 avec Pratiquer l algorithmique

FICHE D AVERTISSEMENT ET PRECAUTIONS D EMPLOI

Guide de l utilisateur


1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

Utilisation de l éditeur.

Créer un document composite avec NéoOffice J et le partager

SERVICE CERTIFICATION DES ÉTABLISSEMENTS DE SANTÉ. Guide utilisateur Compte Qualité dans SARA

eevision 2 Guide utilisateur Mail : contact@naotic.fr Tél. +33 (0) Fax. +33 (0)

Guide d utilisation. séries NW-A1000 / séries A Sony Corporation (1)

Contrôle Parental Numericable. Guide d installation et d utilisation

1. Insérez le DVD de support dans le lecteur optique. L onglet Drivers (Pilotes) apparaîtra si l Exécution automatique est activée.

Mise en scène d un modèle dans l espace 3D

Transcription:

Mini Robot simulation d un automate industriel c Jacques Duma 17 novembre 2013 Ce document décrit un petit Robot très simple que l on peut piloter à la main, mais aussi par programme en définissant un automate à états. L application Web "Robot" simule ce mini-robot et permet de le faire fonctionner de façon interactive : Le Robot est décrit section 1, ainsi que l environnement dans lequel il évolue et les commandes qui permettent de le piloter à la main. On explique section 2 le fonctionnement du Robot, les objectifs à atteindre et les incidents qui peuvent survenir. On explique ensuite section 3 comment programmer le Robot pour le faire fonctionner automatiquement. Enfin, pour terminer, on propose section 4 un exemple de programme complet dont on va décrire pas à pas la mise au point. Il ne faut pas hésiter à tester immédiatement le Robot avant de lire ce texte, car son fonctionnement est assez simple et intuitif. On se reportera ensuite à cette documentation pour bien comprendre les principes théoriques élémentaires de la robotique. 1

Table des matières 1 Description de l environnement 3 1.1 Le paysage............................. 3 1.2 Le Robot............................. 3 1.3 Les commandes.......................... 4 1.4 Les capteurs............................ 4 2 Pilotage «à la main» 5 2.1 Reset................................ 5 2.2 Actions............................... 5 3 Programmation 6 3.1 Un exemple simple........................ 6 3.2 Automate à états et actions................... 7 3.2.1 États............................ 8 3.2.2 Transitions........................ 8 3.2.3 Actions.......................... 8 3.2.4 Conditions......................... 9 3.2.5 Programme........................ 9 4 Exemple 10 4.1 Objectif : jeter l objet dans la boîte............... 10 4.2 Aller jusqu à l objet........................ 10 4.3 Placer au préalable la pince correctement............ 11 4.4 Terminer le programme...................... 13 4.5 Rédiger les règles......................... 15 4.6 Observer l exécution du programme............... 15 2

1 Description de l environnement 1.1 Le paysage La pièce dans laquelle évolue le Robot est représentée par une vue latérale. Le Robot roule sur un sol horizontal situé entre deux murs gauche et droite. Une boîte bleue est placée à gauche, contre le mur. Entre la boîte est le Robot se trouve un objet orange que le Robot peut saisir avec sa pince. 1.2 Le Robot Le Robot peut se déplacer en roulant dans la pièce. Par convention : il avance lorsqu il se déplace vers la gauche il recule lorsqu il se déplace vers la droite Le Robot est muni d une pince située à l extrémité d un support. On peut ouvrir ou fermer cette pince, la monter ou la descendre. Avec sa pince, le Robot peut saisir l objet orange, le soulever et, par exemple, le transporter dans la boîte. 3

1.3 Les commandes Un panneau de commande permet de piloter le Robot «à la main». Ces boutons de commande peuvent être utilisés de façon naturelle et assez intuitive. On précisera plus en détail leur action et les incidents qu elle peuvent provoquer dans la section 2 page 5 : Ces boutons permettent de bouger le Robot, de saisir l objet orange à l aide de sa pince, de le soulever et de le déplacer. 1.4 Les capteurs Le Robot dispose de capteurs qui lui permettent de connaître les informations suivantes : Ces informations sont affichées dans le panneau des diodes. Chaque diode indique deux cas possibles : Vrai allumée ou verte Faux éteinte ou blanche 4

2 Pilotage «à la main» Le Robot peut effectuer six actions distinctes qui correspondent aux six boutons du panneau de commande. On peut, par exemple, s amuser à saisir l objet orange et à le placer dans la boîte bleue a gauche. On va décrire avec précision les actions de chaque bouton de commande et indiquer les incidents éventuels qu elles peuvent provoquer. 2.1 Reset Quand on pilote le Robot à l aide des boutons de commande, un incident peut survenir lorsque le Robot percute l objet ou un mur, ou s il est impossible d effectuer la commande sélectionnée. Dans ce cas, la diode «Incident» s allume en rouge et l environnement se bloque. Il faut alors utiliser le bouton «Reset» pour débloquer la situation. Le bouton «Reset» permet, en cas d incident, de replacer le Robot et l objet en position initiale dans l environnement : le Robot est placé près du mur de droite la pince est aléatoirement placée, soit en haut, soit en bas la pince est aléatoirement, soit ouverte, soit fermée l objet est placé, soit dans la boîte, soit entre la boîte et le Robot La position initiale est telle que n importe laquelle des six actions peut être effectuée au moins une fois sans provoquer d incident. On peut aussi utiliser le bouton «Reset» simplement pour modifier la position initiale. 2.2 Actions Le Robot se déplace dans la pièce pas à pas entre les deux murs. On va définir avec précision chacune des six actions et, pour chacune, indiquer les incidents qu elle peut éventuellement provoquer : 5

1. Avancer : déplace le Robot d un pas vers la gauche Incident si une partie du Robot percute un mur, l objet ou la boîte 2. Reculer : déplace le Robot d un pas vers la droite Incident si le Robot percute le mur de droite 3. Descendre pince : Incident si la pince est déjà en bas Incident si la pince, fermée, descend sur l objet ou le bord de la boîte 4. Monter pince : Incident si la pince est déjà en haut 5. Ouvrir pince : Incident si la pince est déjà ouverte 6. Fermer pince : Incident si la pince est déjà fermée Incident si la pince se ferme près de l objet (pas exactement dessus) 3 Programmation 3.1 Un exemple simple Objectif : On va faire effectuer au Robot un aller-retour. Le Robot doit avancer jusqu à un obstacle, puis reculer ensuite jusqu au mur de droite. Voici le diagramme représentant l objectif à atteindre : Début Si on peut avancer Avancer Si on ne peut pas avancer Ne rien faire A Si on peut reculer Reculer Si on ne peut pas reculer Ne rien faire Fin 6

Les cercles rouges représentent les étapes successives du programme. Les flèches représentent les transitions entre deux étapes successives. Sur chaque flèche il y a : un texte qui indique la condition à vérifier pour activer la transition un rectangle bleu représente l action effectuée lors de la transition Chaque flèche ou transition du diagramme ci-dessus peut donc être définie sous forme d une règle à quatre éléments : 1. une Étape origine de la transition 2. une Condition à vérifier pour permettre la transition 3. une Action à effectuer au cours de la transition 4. une Suite étape dans laquelle est placé le Robot en fin de transition Voici le programme qui réalisera l objectif prévu : Pour obtenir des d informations complémentaires sur l utilisation de l éditeur de programme, voir sous-section 4.5. Un clic sur le bouton «Exécuter le programme» fera démarrer le Robot qui réalisera alors automatiquement l objectif prévu. En cours d exécution du programme, cinq diodes clignotent sur le Robot pour signaler son fonctionnement en mode automatique. Ceci permet de repérer les situations où le Robot est immobilisé, en boucle, dans le cas d une erreur de programmation. Dans le cas où le programme tourne en boucle infinie, un clic sur le bouton «Reset» va permettre de débloquer le système et va replacer le Robot en position initiale. 3.2 Automate à états et actions On va maintenant décrire le fonctionnement automatique du Robot lors de l exécution de son programme en termes théoriques, en se référant au concept «d automate à états». 7

Le comportement du Robot est défini à l aide d un automate à états et actions que l on peut représenter par un diagramme, comme dans l exemple ci-dessus page 6. Cet automate peut aussi être défini à l aide de règles, comme on va le voir maintenant. 3.2.1 États À un certain instant, le Robot est dans un certain état, appelé étape dans notre programme. Un état est un simple nom comme, par exemple, Début, A, B,... Fin. Seuls les noms Début et Fin ont des significations prédéfinies, les autres peuvent être choisis librement par le programmeur. Un état est représenté sur les diagrammes, en rouge, par son nom placé à l intérieur d un cercle. 3.2.2 Transitions Lors du déroulent du programme, le Robot passe successivement d un état à un autre. Ce changement d état est une transition. Une transition est représentée sur les diagrammes par une flèche reliant deux états. Sur cette flèche figure, en noir, le texte définissant la condition à vérifier et, en bleu, dans un rectangle, l action à effectuer. Plusieurs transitions peuvent avoir le même état comme origine. Le programme en sélectionne une suivant des principes précisés plus loin page 9, parmi celles dont la condition est vraie. Lorsque la transition Origine Suite est sélectionnée, l Action est effectuée par le Robot avant de passer dans l état Suite. Chaque transition est définie à l aide d une règle de la forme : <Origine>: <Condition>, <Action> <Suite>. 3.2.3 Actions Origine Condition Action Suite On a vu à la sous-section 1.3, sur le panneau des commandes, les six actions que sait effectuer le Robot. L éditeur de règle propose une action supplémentaire : «Ne rien faire», utile pour définir certaines règles. 8

3.2.4 Conditions On a vu à la sous-section 1.4, sur le panneau des diodes, le statut des six capteurs que le Robot sait tester. À chaque capteur vont donc correspondre deux conditions qui testent respectivement le vrai et le faux. Par exemple on peut tester le statut la diode «Pince en haut» en utilisant, soit la condition Si pince en haut, soit la condition Si pince en bas. L éditeur de règle propose une condition supplémentaire, utile pour définir certaines règles : Dans tous les cas, qui est une condition toujours vraie. 3.2.5 Programme Le programme est constitué d un ensemble de règles de transitions entre états qui sont données en vrac, c est à dire sans ordre particulier. Deux noms d états jouent des rôles un peu particuliers : Début c est le premier état traité pour faire démarrer le Robot en mode automatique lorsqu on demande d exécuter le programme. Fin est un état pour lequel on ne définit aucune règle de transition et donc, quand le Robot se trouve dans cet état, le programme est terminé. C est la façon considérée comme normale de terminer un programme. Pour exécuter le programme on se place dans l état Début et on traite cet état. On traite un état en recherchant une transition valide, c est à dire dont la condition est vraie, ce qui permet alors d effectuer une action et de passer à un autre état. Traiter un état X consiste donc à : 1. faire la liste des règles ayant cet état X pour origine 2. repérer, dans cette liste, la règle dont la condition est vérifiée 3. effectuer l action définie dans cette règle 4. passer à l état Suite 5.... traiter ce nouvel état... Le libellé de l étape 2 sous-entend qu il y a une condition vraie et une seule. Tout autre cas est considéré comme une erreur qui provoque une interruption. Les différents cas d interruption sont les suivants : 1. si, à la première étape : la liste des règles à appliquer est vide, ou si, à la seconde étape : aucune des conditions des règles de la liste ne sont vérifiées 9

Arrêt du programme: Pas de règle applicable pour l état X 2. si, à la seconde étape : plusieurs conditions différentes (n) sont vérifiées simultanément Arrêt du programme: Indétermination: n règles applicables pour l état X 3. si, à la troisième étape : l action effectuée produit un incident matériel Incident... "Reset" pour recommencer Remarque : Le traitement de l état Fin, pour lequel aucune règle n est définie provoque une interruption du premier type, mais, dans ce cas le système arrête le programme normalement et affiche : Fin du programme 4 Exemple 4.1 Objectif : jeter l objet dans la boîte On veut que le Robot avance jusqu à l objet, le prenne, le porte jusqu à la boîte et le lâche dans la boîte. Pour réaliser cet objectif, nous allons procéder pas a pas et construire le programme par morceaux successifs que nous testerons au fur et à mesure. 4.2 Aller jusqu à l objet Voici le diagramme d un automate qui permet au Robot d aller jusqu à l objet et de s arrêter lorsqu on l a atteint : Début Si pas au dessus de l objet Avancer Si au dessus de l objet Ne rien faire Fin 10

Cet automate est défini par les règles suivantes : Mais si l on teste plusieurs fois ce programme, on constate, hélas, que pour certaines conditions initiales un incident peut survenir. Si la pince est ouverte en position initiale, tout va bien : Par contre, si la pince est fermée en bas, elle percute l objet : 4.3 Placer au préalable la pince correctement Avant de s approcher de l objet, il est donc raisonnable de placer la pince ouverte en haut. Nous allons donc tester ce diagramme : 11

Si pince fermée Début Ouvrir pince A Si pince en bas Monter pince Fin Écrivons les règles suivantes : Mais, si, lorsque la pince est initialement en bas fermée, tout va bien, dans toutes les autres positions initiales, diverses erreurs surviennent : la pince est en haut fermée Pas de règle applicable pour l état A la pince est en bas ouverte Pas de règle applicable pour l état Début la pince est en haut ouverte Pas de règle applicable pour l état Début Il est donc nécessaire d améliorer le programme : 12

Début Si pince fermée Ouvrir pince Si pince ouverte Ne rien faire A Si pince en bas Monter pince Si pince en haut Ne rien faire Fin Cette fois-ci le programme suivant fonctionnent correctement : Comme on a maintenant compris qu il faut, pour chaque état définir les règles de transitions en envisageant tous les cas possibles, on peut terminer le programme facilement. 4.4 Terminer le programme Voici un diagramme complet : 13

Début Si pince fermée Ouvrir pince Si pince ouverte Ne rien faire A Si pince en bas Monter pince Si pince en haut Ne rien faire B Si pas au dessus de l objet Si au dessus de l objet Avancer Descendre pince Dans tous les cas C Fermer pince D Dans tous les cas Monter pince Si au dessus de la boîte Ouvrir pince E Si pas au dessus de la boîte Avancer Fin À vous de définir les règles correspondantes... 14

4.5 Rédiger les règles L utilisation de l éditeur de programme est assez intuitive. Au départ, l éditeur ne contient qu une règle vide : On utilise les quatre menus pour définir la règle. Dès que la règle est complète, le bouton devient qui permet, si on le désire, d ajouter une nouvelle règle vide : Une fois la nouvelle règle vide ajoutée, le bouton de la règle précédente devient ce qui permet, si on le désire, de supprimer cette règle : À tout instant, les règles déjà rédigées peuvent être modifiées. Si on constate qu on a oublié une règle, on peut l ajouter à la fin, sans problème, puisque l ordre des règles n a pas d importance pour la définition de l automate. 4.6 Observer l exécution du programme Lorsque le programme s exécute les règles ayant pour origine l état courant sont affichées sur fond gris clair ou foncé. Les règles non applicables sont précédées du signe. Les règles applicables sont précédées du signe. Si le programme est correct il n y a qu une règle applicable à chaque étape. Dans le cas contraire une interruption survient avec un message d erreur. Les marques ci-dessus permettent alors de voir la cause de l erreur. 15