Conduite et Gestion de Projet Professionnel Cahier des charges Projet: Robot Makhlouf OUBACHA Salima OUZZMAN Stevens RABEHAJA Armelle HOUNDJO Mercredi 04 février 2015 1
Table des matières 1 But du projet 3 2 Problématique du projet 3 3 Hypothèses de l étude 3 4 Solutions envisagées 3 5 Définition des tâches du projet 4 6 Outils d implémentation 4 6.1 Outils de développement............................ 4 6.2 Shéma explicatif................................ 5 7 Diagramme des cas d utilisation 6 8 Planification du projet 7 8.1 Diagramme de Gant.............................. 7 8.2 Réseau PERT.................................. 8 8.3 Gant Suivi.................................... 8 9 Conclusion 9 2
1 But du projet Le but du projet est d écrire une librairie Python qui permettra de prendre le contrôle du robot en USB, aussi de faire des petits programmes python démontrant les capacités de notre librairie et de la webcam de l ordinateur. En outre, un programme capable de récupérer et de rechercher l objet bleu sur l image vu par la webcam en temps réel, et de donner des ordres au robot en fonction de ce qui est perçu sur ces images. Ainsi, le robot pourrait avancer en continu, et s arrêter dès qu il fait face à une porte bleue. 2 Problématique du projet A travers l étude de l existant, le robot est piloté avec l environnement ROS (Robot Operating Système) qui est relativement lent, l enjeu est de travailler avec de simples programmes python en vue d améliorer les fonctionnalités existantes du robot. 3 Hypothèses de l étude On suppose que le robot se déplace sur une surface plate où il n y a pas d obstacles susceptibles d entraver sa marche. l objet à percevoir par le robot se trouvera devant ce dernier, il doit être perçu depuis la caméra du Pc pilote. On suppose qu il n existe qu un seul objet bleu. 4 Solutions envisagées Afin de pouvoir piloter le robot, nous allons faire appel à des programmes que nous allons développer sur l environnement python. le programme va interagir avec le module Arduino, ce dernier fixe l état des entrées - sorties du microcontrôleur qui actionne le châssis et définit au préalable le comportement de tous les actionneurs et capteurs. Pour la détection de l objet, on intègre la libraire OpenCv qui permet de traiter l image capturée par la webcam du Pc pilote en temps réel. les commandes passent du pc pilote au microcontroleur via un cable Usb, ce processus est géré par le package Pyusb intégré au programme principale. 3
5 Définition des tâches du projet Nous avons définit trois tâches principales à effectuer dans le projet qui sont : T 1 : Développement des programmes pour la reconnaissance de l objet en temps réel avec Python et OpenCV. T 2 : Développement des programmes pour le déplacement du robot (avancer, reculer, s arrêter, tourner à gauche,tourner à droite) avec Python et Arduino. T 3.a : Intégrer les modules à l existant (Matériel et logiciel). T 3.b : Valider les programmes et assurer le fonctionnement et la mise en œuvre. 6 Outils d implémentation 6.1 Outils de développement Le langage Python 2.7 : Le langage avec lequel nous allons programmer les différentes fonctionnalités. Package PyUSB : Qui est un module python permettant d utiliser du matériel USB depuis le langage Python IDE Arduino 1.0.5 : Est un environnement de développement (programmation) du microcontroleur Arduino. Il permet de créer un programme adapté et fonctionnant avec le microcontrôleur, de manière à pouvoir produire des signaux électriques, et effectuer des tâches spécifiques. Librairie OpenCV (Open Computer Vision) : Une bibliothèque graphique spécialisée dans le traitement d images en temps réel. 4
6.2 Schéma explicatif Voici un schéma illustratif des différents outils matériels et logiciels indispensables pour la réalisation du projet : Figure 1 Outils matériels et logiciels du projet 5
7 Diagramme des cas d utilisation Le diagramme de cas d utilisation représente le moyen de décrire le caractère fonctionnel des objets. Il représente le premier modèle du système à concevoir. Les cas d utilisation permettent : De modéliser les attentes des utilisateurs. De représenter les fonctionnalités du système. De construire des jeux de tests. Figure 2 uses cases 6
8 Planification du projet Après avoir identifié tous les objectifs du projet et afin de le mener à bien, il est nécessaire de mettre en place un planning prévisionnel des tâches le constituant, assurer une bonne organisation et un bon suivi dans le travail. 8.1 Diagramme de Gant Figure 3 Diagramme de Gant Dans le Diagramme de Gant, les deux taches t1 et t2 s effectuent simultanément et en cohérence, elles constituent la phase principales de développement des programmes, elles sont liées par une contrainte de type FF ( Fin Fin), qui signifie qu elle doivent se terminer au même temps afin d entamer la troisième tâche qui consiste à intégrer les modules et programmes dans l existant et assurer la mise en œuvre. Afin d assurer le bon suivi et la cohérence dans le travail, étant donné que les tâches t1 et t2 sus-citées sont complémentaires, nous avons planifié des séances de travail communes et des réunions entre nous et avec le client que nous avons représenté par des jalons (points noirs) sur le diagramme de Gant. Nous avons aussi réparti les tâches entre les membres du groupe selon le domaine de compétence et de manière à éviter la surcharge de travail pour chacun. 7
8.2 Réseau PERT Figure 4 Réseau PERT Le réseau PERT permet de donner pour chaque tâche donnée, sa date de début et de fin ainsi que sa durée et les ressources qui lui sont affectées. 8.3 Gant Suivi Figure 5 Diagrame de Gant-Suivi Le diagramme de Gant-Suivi, nous permet de suivre l état d avancement du travail sur chaque tâche du projet mentionné par le pourcentage de réalisation, il permet aussi de spécifier les tâches critiques du projet (dont le retard sur ces tâches se répercutera sur la date de fin du projet). 8
9 Conclusion Dans cette première phase de réalisation du projet, nous avons écrit ce rapport en essayant en particulier de donner une vision globale du problème et de ses différents aspects, en plus, nous avons fait une analyse approfondie ainsi qu une spécification des différentes fonctionnalités assurées par le robot qui a comme intitulé «Robot tout terrain». Pour mieux éclaircir et cibler les besoins, nous avons opté à faire une modélisation avec le langage UML et pour bien organiser notre travail, nous avons fixé un timing à chaque opération à travers le planning que nous avons fait fait en utilisant une table des différentes tâches. Toutes ces étapes sont indispensables pour débuter la partie programmation. 9