Gestion d une flotte de robots Configuration et ordre de missions



Documents pareils
Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

TRAAM STI Acquisition et exploitations pédagogiques des données sur un système pédagogique

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Sybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. DOCUMENTATION

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Université de Bangui. Modélisons en UML

Business Intelligence avec SQL Server 2012

Armand PY-PATINEC 2010

INDUSTRIALISATION ET RATIONALISATION

UE 8 Systèmes d information de gestion Le programme

Nouveautés Ignition v7.7

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

BIRT (Business Intelligence and Reporting Tools)

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

MEGA ITSM Accelerator. Guide de démarrage

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

CAHIER DE S CHARGE S Remote Workload Manager

PROGRAMME DETAILLE. Parcours en première année en apprentissage. Travail personnel CC + ET réseaux

Easy to. report. Connexion. Transformation. Stockage. Construction. Exploitation. Diffusion

Guide d utilisation de «Partages Privés»

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Guide d installation CLX.PayMaker Office (3PC)

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Bases de données Cours 1 : Généralités sur les bases de données

Gestion collaborative de documents

PROJET DE PORTAIL INTRANET YNNA

HelpAndManual_unregistered_evaluation_copy GESTIONNAIRE D'ALARMES CENTRALISE OPTIM'ALARM. Manuel d'utilisation

Chapitre I : le langage UML et le processus unifié

1/15. Jean Bernard CRAMPES Daniel VIELLE

THEME PROJET D ELABORATION D UNE BASE DE DONNEES SOUS LE SERVEUR MYSQL

Le S.I.M. Le S.I.M. Définition a. S.I.M. ou S.I.C. S.I.M. S.I.C. Le S.I.M. Définition a. S.I.M. ou S.I.C. Définition

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

SQL Server 2012 Administration d une base de données transactionnelle

IUT BREST UN LOGICIEL SCADA : PC VUE 2010 DEP.GMP

Présentation de la gamme des PGI/ERP modulaires Wavesoft

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Gestion de projets. avec. Microsoft Office PROJECT 2003

Objet du document. Version document : 1.00

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

LANDPARK NETWORK IP LANDPARK NETWORK IP VOUS PERMET D'INVENTORIER FACILEMENT VOS POSTES EN RÉSEAU

BUSINESS INTELLIGENCE

Table des matières L INTEGRATION DE SAS AVEC JMP. Les échanges de données entre SAS et JMP, en mode déconnecté. Dans JMP

Assistance à distance sous Windows

Avec sauvegardez sans y penser, partagez et bougez, vos données vous suivent! Retrouvez tous vos services du cloud pro en cliquant ici.

DELEGATION ACADEMIQUE AU NUMERIQUE FORMATION ADMINISTRATEUR SCRIBE 2.3 ET CARTABLE EN LIGNE (CEL)

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Manuel d'utilisation d'apimail V3

Documentation de conception

CARPE. Documentation Informatique S E T R A. Version Août CARPE (Documentation Informatique) 1

CATALOGUE FORMATIONS DOMAINE Bases de données

PROJET TOUR EDUCALL USB par CDPRO

Tâches planifiées. Chapitre Introduction

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Devenez un véritable développeur web en 3 mois!

Tutoriel XBNE Connexion à un environnement XBMC distant

RAPPORT DE CONCEPTION UML :

Accéder à ZeCoffre via FTP

Utiliser Reporting Services pour des NewsLetter

Guide d installation de MySQL

ECLIPSE ET PDT (Php development tools)

MEGA ITSM Accelerator. Guide de Démarrage

Manipulation 4 : Application de «Change».

NetCrunch 6. Superviser

GEST_INSTANCES APPLICATION DE GESTION DES INSTANCES ET REUNIONS EN EPLE ETABLISSEMENT PUBLIC LOCAL D ENSEIGNEMENT

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Etude et développement d un moteur de recherche

Partie II PRATIQUE DES CPL

Cours. Cours 8 : Révisions. Importance. Interface homme-machine

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Partage de fichiers entre MacOS X et Windows. Partager des fichiers, avec un PC, en travaillant sous MacOSX.

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Manuel BlueFolder ADMINISTRATION

HP StorageWorks All-in-One Storage Manager Manuel de l utilisateur

FileMaker 13. Guide ODBC et JDBC

Table des matières Avant-propos... V Scripting Windows, pour quoi faire?... 1 Dans quel contexte?

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

Introduction aux Bases de Données

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

A L ERT. Pour démarrer rapidement avec

On trouvera sur le site du CCDMD un exemple d album construit avec Cantare. (

Améliorations Sage Gestion Commerciale version 7.71 Sage Comptabilité version 7.72

Diffuser un contenu sur Internet : notions de base... 13

Configuration de plusieurs serveurs en Load Balancing

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

Gestpharma Logiciel de gestion pour pharmacie

OSIRIS/ Valorisation des données PORTAIL BO MANUEL UTILISATEUR

Security Center Plate-forme de sécurité unifiée

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Communiqué de Lancement. Sage Intégrale V4.50

DotNet. Plan. Les outils de développement

THOT - Extraction de données et de schémas d un SGBD

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

CREATION WEB DYNAMIQUE

Transcription:

Document Rapport Version Version 1.0 Date 25/03/2008 Auteur Ahmed RADOUA M1 SET Gestion d une flotte de robots Configuration et ordre de missions INSSET UPJV 1 ième année de MASTER Spécialité : (Année 2007-2008) Ahmed RADOUA RAPPORT DE PROJET Responsable d encadrement Mr. SENLIS Jacky INSSET 48 rue Raspail 02100 SAINT-QUENTIN Tél : 03.23.62.89.59 Fax : 03.23.62.49.35 www.insset.u-picardie.fr set@insset.u-picardie.fr

Sommaire Introduction... 3 1. Cahier des charges :... 4 2. Analyse de projet :... 5 2.1. Diagramme de Cas d utilisation :... 5 2.2. Diagramme de classe :... 6 3. Conception :... 8 3.1. Les outils de développement :... 8 3.2. Conception de la base de données :... 8 3.3. Modèle Relationnel de base de données :... 9 3.4. Intégration du MySQL à C++Builder :... 9 3.5. Algorithme d accès à la base de données MySQL :... 10 3.6. Conception de l interface :... 11 4. Réalisation :... 11 4.1. Modification apportée :... 11 4.2. Les Améliorations envisagé :... 12 5. Validation :... 13 Résumé :... 14 Conclusion... 15 Page 2 / 15

Introduction Le robot PROMOCO, est une plate forme évolutive présenté sous forme d un robot mobile, autonome et communique avec un ordinateur via une liaison série ou sans fil. Cette autonomie est réalisée grâce à plusieurs cartes électroniques qui le composent. Le but général de projet Gestion d une flotte de robot, est d importer les méthodes de la supervision, or dans l'industrie, la supervision est une technique de suivi et de pilotage informatique de procédés de fabrication automatisés, elle concerne l'acquisition de données et la modification manuelle ou automatique des paramètres de commande des processus. Page 3 / 15

1. Cahier des charges : L objectif de ce projet cette année est de configurer les robots sur une base de données à partir d une IHM présente sur un ordinateur et ainsi d exécuter des missions en transmettant l ordre au PC embarqué présent sur chaque robot via la liaison série ou sans fils. Ma mission consiste à réaliser une base de données qui stockera toute les informations sur les robots ainsi que leurs configurations, puis développer l interface qui interrogera la base de données pour permettre la création des ordres et des missions à exécuter par les robots. Figure1 : Schéma Fonctionnelle Page 4 / 15

2. Analyse de projet : Nous avons procéder dans l analyse de projet Gestion d une flotte de robots, à une modélisation UML, il nous à était très utile dans la compréhension du système et surtout la structuration de des besoins ainsi que nous travaux. Les points forts d'uml : UML est un langage formel et normalisé o Gain de précision o Gage de stabilité o Encourage l'utilisation d'outils UML est un support de communication performant o Il cadre l'analyse. o Il facilite la compréhension de représentations abstraites complexes. o Son caractère polyvalent et sa souplesse en font un langage universel. 2.1. Diagramme de Cas d utilisation : Les use cases permettent de structurer les besoins des utilisateurs et les objectifs correspondants du système. Ils centrent l'expression des exigences du système sur ses utilisateurs : ils partent du principe que les objectifs du système sont tous motivés. Figure 2 : Use Case n 1 Page 5 / 15

Comme nous constatons dans la figure 2, le système interagi avec quatre acteurs, il va exercer ces ordres de mission sur le Robot, l Utilisateur se sert des fonctionnalités proposé et l Administrateur, c est celui qui va paramétrer et surveiller le bon fonctionnement du système, par contre, la base de données peut être considérer comme un acteur s elle est externe au système à réaliser. Les fonctionnalités du système : o Configurer la base de données : Configure les robots : Insérer ou enlever des cartes Configure les cartes : Insérer ou enlever des fonctions Configure les fonctions : Ajouter ou supprimer des fonctions de la base de données, avec leurs arguments. o Consulter la configuration des robots : l utilisateur peut voir les composent de chaque robot. o Envoie des ordres de mission : l utilisateur a la possibilité de générer des missions. o Visualise les Plan : on va pouvoir supprimer, ajouter ou traiter un plan Il y a d autres fonctionnalités qui seront intégrable au projet, parmi elle le Suivi de missions : Gérer les missions o Déplacements o Actions o Décisions Suivre visuellement les trajectoires du ou des robots Arrêter une mission (au niveau logiciel) Faire un historique des missions o Enregistrer les trames envoyées ou reçues o Enregistrer les mesures Remarque : La relation <<include>> : c est une relation d utilisation, par exemple l envoie des missions utilise la connexion wifi et la connexion ZigBee. La relation <<extend>> : relation d extension, c est à dire le cas d utilisation source, précise le cas d utilisation destinataire. 2.2. Diagramme de classe : La situation de ma partie, se centralise par rapport au diagramme de classe général essentiellement sur la classe CMySQL qui est la classe héritière de la classe CBaseDeDonnees permettant la lecture et l écriture dans une base de données MySql. Page 6 / 15

Page 7 / 15

3. Conception : 3.1. Les outils de développement : On a installée les logiciels utiliser dans le projet, voir BOUML qui est une suite d'outils UML 2 libres, C++Builder, qui est un outil RAD, c est à dire tourné vers le développement rapide d applications (Rapid Application Development) sous Windows. Aussi MySQL est un serveur de bases de données relationnelles SQL libre, son point fort est le fonctionnement sur beaucoup de plates-formes différentes comme Linus, Mac OS X et Windows, et j ai installé aussi EasyPHP qui contient l administrateur SQL PhpMyAdmin, qui est tous simplement une interface de gestion de base de données. 3.2. Conception de la base de données : Au début, j ai entamé la réalisation de la base de données, pour cela j ai commencé par la collection des informations concernant les robots, les cartes, leurs fonctions ainsi que leurs arguments. Les tableaux ci-dessous, montrent l organisation des tables dans la base de données, et aussi les exemples concrets d information collectée, présentent sur les robots. ROBOT CARTE FONCTION ARGUMENT Page 8 / 15

3.3. Modèle Relationnel de base de données : Figure : Modèle Relationnel Comme vous pouvez le constater, le modèle relationnel nous montre, les relations entre nous principaux tables, c'est-à-dire entre Robot-Carte, Carte-Fonction, Fonction-Argument et entre Argument-Type. Apres avoir finalisé l analyse, on a passé a l étape de codage et de développement des déférente partie de projet 3.4. Intégration du MySQL à C++Builder : Pour exploiter la connexion à la base de MySQL, j ai suivi les étapes suivantes : Il faut établir la liaison entre C++ Builder et MySQL : o Création d'un nouveau projet : La première chose est de créer un nouveau projet et de l'enregistrer dans un répertoire. Il faut ensuite recopier la DLL libmysql.dll dans ce répertoire. Ensuite, il faut encore recopier le répertoire Include de MySQL dans le répertoire de projet. o Création de la libraire d'importation : Il faut ensuite créer la librairie libmysql.lib par la commande suivante, exécutée dans une console : implib libmysql.lib libmysql.dll Page 9 / 15

La libraire ainsi créée doit être ajoutée au projet : Ajouter la bibliothèque au projet : Puis vous choisissez comme «Fichier de type» : «Fichier bibliothèque (*.lib)» o Mise à jour du projet : Dans les unités utilisant les fonctions de l'api MySQL, Ajouter les 3 lignes de code suivantes: #define WIN #include "Include/mysql.h" #include<string.h> 3.5. Algorithme d accès à la base de données MySQL : Initialisé la connexion à MySQL : (mysql_init(null)) Il est nécessaire d initialiser l accès à la DLL. Se connecter à la base de données : (mysql_real_connect( )) On ouvre la connexion, et on mit à jour la structure mysql. Pour cela on doit avoir besoin des informations suivantes : Le handle de connexion : c'est-à-dire une variable de type MYSQL L adresse du serveur où mysql est installé Le nom d'utilisateur Le mot de passe Le nom de la base de données Le n de port (0 indique que l'on utilise le port par défaut) Le nom du pipe ou le socket qui sera utilisé (habituellement NULL) Des status permettant de configurer la connexion (habituellement 0) Page 10 / 15

Les différents traitements : Liter les différentes tables de la base de données : (mysql_list_tables( )) Accéder aux différent données de la table ou exécuter des requêtes : (mysql_query( )) Lister la structure d une table : (mysql_num_fields( )) Fermer la connexion : (mysql_close(handle)) 3.6. Conception de l interface : L interface homme machine (IHM) du projet Gestion d une flotte de robot ce compose de plusieurs menus, chaque menu correspond à une fenêtre (ou boite de dialogue). Cette solution permet d intégrer facilement d autre boite de dialogue qui va permettre une meilleure évolution de l interface. 4. Réalisation : 4.1. Modification apportée : Après le départ de responsable M2, SISSI Audrey, j avais pour tache d ajouter la possibilité à l utilisateur de modifier des champs saisie antérieurement, d éditer les configurations des robots saisie préalablement ainsi d améliorer la convivialité de l interface. Cette boite de dialogue permet d éditer les champs saisie par l utilisateur, pour lui permettre de la correction de ses erreurs. Le même principe pour les boites de dialogue «Modifier Carte» et «Modifier Fonction». Pour la partie édition de configuration des robots, je visualise les informations sur le Robot (Nom et Adresse IP), les cartes électroniques qui le composent et les prototypes (Nom, Description et Arguments) des fonctions qui possèdent chaque carte. Voir boite de dialogue «Résumé de configuration. Page 11 / 15

Résumé de la configuration d un Robot 4.2. Les Améliorations envisagé : a) Base de données : Ajouter une colonne dans la table FONCTION, pour le stockage des syntaxes au lieu d utiliser IdFonction dans l envoie des ordres aux robots. Exemple de disfonctionnement : La carte moteurs contient la fonction S pour avant/arrière en Mode Jystick, et que dans les tests des moteurs, nous avants aussi S qui permet de changer le sens de rotation. Alors que IdFonction ne permet pas la répétition. La table envisagée : IdFonction NomFonction Syntaxe Description b) IHM : Ajouter la possibilité d ajouter une fonction sans arguments. Exemple : Z pour demander l azimuth du robot, dans la carte boussole. Page 12 / 15

5. Validation : L interface finale se présente comme ci-dessous : Le projet est encours de finalisation, on vielle que les parties restent soit réaliser et qu ils soient opérationnelles. Page 13 / 15

Résumé : Le robot PROMOCO, est une plate forme évolutive présenté sous forme d un robot mobile, autonome et communique avec un ordinateur via une liaison série ou sans fil. Cette autonomie est réalisée grâce à plusieurs cartes électroniques qui le composent. PROMOCO est aussi un projet intégrant plusieurs robots intelligents capables d évoluer sur une surface plane, d y exécuter des missions et d interagir les uns avec les autres ou avec le superviseur. Globalement, les différentes parties demandées dans le cahier des charges ont abouties, il reste l introduction du PC Embarqué qui va automatiser la supervision et qui va lui permettre plus d autonomie. Page 14 / 15

Conclusion Nous avons, mon équipe et moi-même, réalisé à peu prés 90 % des objectifs citer dans le cahier des charges, l interface de configuration fonctionne, il reste la planification des ordres et des missions. J ai trouvé des difficultés dans l application des principes de la programmation orienté objet, mais avec le soutien de mes deux collègue, SISSI Audrey et DROMAS Cyrille, j ai su comment les dépasser. Ce projet et le travail en équipe m a permet de savoir que chaque membre de l équipe est une ressource d apprentissage et de motivation. En tant que membre, j ai apprit que la qualité de mon travail et de mon projet final dépend de la qualité du travail réalisé par chacun de nous. Page 15 / 15