1.0 Introduction
2.0 Composition de la compagnie
3.0 Description du projet
4.0 Expertises techniques
5.0 Description des différentes modules
6.0 Analyse fonctionnelle préliminaire
7.0 Liste des biens livrables à détailler
et planifier
8.0 Caractéristique distinctive
9.0 Conclusion
|
|
Tous les membres de la compagnie
Peripleko Technologies Inc. furent regroupés dans le cadre
du cours Design III
par M. Denis Poussart, professeur au Département de génie
électrique et informatique de l'Université Laval.
M. Poussart nous a donner comme mandat de réaliser le projet
Cyclope dont la durée des travaux est de 15 semaines (session automne
1999).
Beaulieu, Jean-François | Lecours, Etienne | |
Bouayad, Akim | Ouellet, Pascal | |
Fecteau, Pascal | Ricci, Francesco | |
Laverdière, Christian | Tremblay, Simon | |
Villeneuve, Hugo |
|
|
Beaulieu, Jean-François | Programmation boucle principal, rapports techniques et pages web |
Bouayad, Akim | Interface personne-machine et contrôle du robot |
Fecteau, Pascal | Interface personne-machine et contrôle du robot |
Laverdière, Christian | Acquisition et traitement de l'image |
Lecours, Etienne | Communication |
Ouellet, Pascal | Consommation d’énergie et recharge |
Ricci, Francesc | Acquisition et traitement de l'image |
Tremblay, Simon | Interface personne-machine et contrôle du robot |
Villeneuve, Hugo | Communication |
Le projet Cyclope consiste à développer un système qui permettra à un micro-robot mobile de se déplacer dans un environnement connu tout en évitant des obstacles et effectuer une tâche bien précise.
La localisation sera possible grâce à l'information donnée par une caméra. Il faudra alors traiter ces informations pour savoir l'état de la situation : emplacement des obstacles, des pièces, du robot et des zones de déchargements et de rechargement des piles.
Dès lors, l'intelligence
artificielle du système va permettre de prendre les bonnes décisions
et de contrôler le robot à travers un système de communication
sans fil.
Enfin, le système
devra permettre à un usager de savoir ce qui se passe et de lui
donner le pouvoir de commander le robot manuellement si besoin est.
En programmation, nous avons plusieurs personnes qui ont des connaissances intéressantes dans divers langages : C++ et MFC, C bas-niveau, assembleur Motorola, JAVA, HTML, VHDL.
Nous avons aussi des gens possédant une expertise au niveau matériel : les automates programmables, FPGA, microprocesseurs, microcontrôleurs, électrotechnique, électronique analogique et numérique, communications hertziennes, conversion analogique et numérique. La gestion de projets et rédaction des textes et de rapports fait également parti de nos points forts.
L’aspect acquisition et traitement des données visuelles nous apparaît un élément de taille sur lequel nous avons peu de connaissances. Nous comptons mettre des efforts particuliers et consulter des personnes ressources pour corriger nos lacunes.
Nous observons aussi que personne n’est très familier avec les algorithmes pour contrôler et diriger le robot. Nous pensons encore une fois devoir consulter des personnes clefs pour corriger la situation. Nous voulons aussi insister sur l’intégration des différents modules du projet et coordonnant tous les sous modules dès le départ.
- Programmation en C++ ;
- Acquisition d'images numérisées ;
- Traitement de signal ;
- Extraction d'éléments de référence dans l'image numérisée ;
- Affichage et traitement de données en temps réel ;
- Algorithmes de contrôle du robot (détection des obstacles, choix du chemin optimal) ;
- Télécommunications, fréquences radios ;
- Modulation AM et FM ;
- Antennes émettrices et réceptrices ;
- Gestion d'énergie ;
- Méthodes de détection de la capacité résiduelle d'une pile au nickel-cadmium ;
- Méthodes de recharge d'une pile au nickel-cadmium ;
- Électromagnétisme (électro-aimant servant à capturer les objets) ;
- Mécanique du bras ;
- Conversion des niveaux de tension RS-232 ;
Le projet cyclope peut être décomposé en six sous-ensembles distincts qui pourrons être réalisé par des petites équipes . Néanmoins, il est important de rappeler que ces blocs ne sont pas totalement indépendants entre eux . Il faudra donc que chaque équipe communique avec les autres équipes pour s’assurer que les différents blocs puissent être assemblés ensemble à la fin et bien fonctionner les uns avec les autres . Voici la liste des six blocs ainsi qu’une brève description de ceux-ci :
Consiste à réaliser les fonctions permettant de reconnaître les obstacles et objets importants pour le projet à partir des images fournit par la caméra et la carte de numérisation de l’image.
Ce bloc concerne la transmission et la réception sans fil des données de l’ordinateur au robot et vice-versa.
Consiste à réaliser des fonctions permettant aux différent blocs d’interagir ensemble.
Conception des algorithmes de commande permettant d’aller récupérer les objets et les placer dans l’aire de déchargement. C’est ce bloc qui s’occupera de la gestion des obstacles.
Ce bloc consiste à réaliser le système de gestion de l’énergie du robot et à construire les connecteurs permettant la recharge des piles du robot.
Rédaction des rapports techniques et conception du site web du projet.
Interface utilisateur
Responsables :
Pascal Fecteau
Pascal Ouellet
Biens livrables prévus :
Module commande manuel : 1999/10/15
Module affichage d’état : 1999/10/20
Implantation des modules : 1999/11/08
Bloc décisionnel
Responsables :
Simon Tremblay
Hakim
Pascal Fecteau
Biens livrables prévus :
Générer matrice de perception : 1999/10/01
Trouver le meilleur chemin : 1999/10/15
Suivre le chemin théorique : 1999/11/05
Décisions de base : 1999/11/01
Implantation des modules : 1999/11/15
Noyau / Boucle principale
Responsables :
Simon Tremblay
Pascal Fecteau
Biens livrables prévus :
Interface aux modules : 1999/10/15
Boucle de base : 1999/11/01
Implantation des modules : 1999/11/07
Traitement image
Responsables :
Christian
Francesco
Biens livrables prévus :
Obtenir l'image : 1999/10/15
Percevoir les objets : 1999/11/01
Convertir en coord logique : 1999/11/21
Implantation des modules : 1999/11/07
Gestion de l'énergie
Responsables :
Pascal Ouellet
Biens livrables prévus :
Réaliser l'électronique / bras : 1999/10/15
Interface module énergie : 1999/10/20
Implantation des modules : 1999/11/10
Lien RF série
Responsables :
Hugo : À déterminer
Etienne : À déterminer
De plus, des rencontres formelles sont prévues tous les lundis
à 18h30
Nous avons décidé de doter notre robot de la capacité de reconnaître diverses formes dans le but de lui faire construire des casses-têtes. Il ne sera pas capable de décider comment placer les pièces mais il saura les reconnaître et ira voir dans sa mémoire pour savoir ou les placer. Nous avons pensé à deux types de jeux. Le premier consiste à faire un casse-tête classique à partir de pièces déposées aléatoirement sur le terrain. Le second consiste à faire une pile de disques, du plus gros au plus petit, en ramassant des disques de tailles différentes. Donc le robot devra être capable de déterminer la géométrie et la taille (pour les disques) de plusieurs formes à l'aide d'un traitement d'image de haut niveau. Ensuite, il devra décider du chemin à suivre pour ramasser la pièce et la déposer dans le bon sens.
Ce projet va nous permettre
d'acquérir de nouvelles connaissances et de faire la synthèse
sur la matière apprise depuis les 3 dernières années.
Nous aurons la chance de travailler en équipe sur un projet d'envergure
dont les défis nous seront formateurs. Nous y mettrons l’énergie
nécessaire pour réussir.