Un projet d'étudiants du

baccalauréat et de la maîtrise

en Génie Logiciel pour le

plaisirs de jouer avec la

technologie!


Le projet de tourelle de paintball, inspiré du jeu vidéo

Call of Duty
 permet à trois spécialités du génie de

collaborer. Un premier prototype a été conçu (c.-à-d.

celle présentée sur l'image) qui n'a pas bien fonctionné.

Nous prévoyons fabriquer une nouvelle tourelle,

à partir des plans de la version 3.0.


Exemple de l'application des concepts ici. La version

1, programmée à l'aide de C++ utilisait la

librairie FreeRTOS sur une carte EVK1100-AVR32,


un contrôleur MD49, deux moteurs EMG49 de 24 volts

et un contrôleur de gachette pololu.
 




  Prototype version 1.0 (Hiver 2011)     

 

 


 

 


Équipements version 1.1

Changement des servos. Acquisition d'un

contrôleur RB-Phi-67 connecté par USB pour opérer

les cervo-moteurs RB-Soy-09, un controleur RB-Phi-79

pour un servo-moteur 1066 connecté par USB pour la

gachette, un nouveau trépied ainsi qu'un LapTop

Lenovo x230. Consultez le rapport de Matio Parent

étudiant à la
Polytech Clermont-Ferrand.

 





 



































































 

























































 

Spécialité 1 


GÉNIE MÉCANIQUE 


L'équipe d'étudiants en génie mécanique, supervisés par Christian Belleau et

Antoine Tahan
, proposent une nouvelle conception (voir le rapport de projet) de la nouvelle tourelle

v2.0. Elle n'a pas fait l'objet de fabrication.



     


Une toute nouvelle conception (la version 3.0) a été effectuée par:  Mathieu Gagnon, Francis Lagacé, Yassir Saoudi

et François Tremblay; tous finissants en génie mécanique.




 FIGURE 4-1 : Vue D'ensemble de la tourelle (Itération 3) 



Accompagnée de nouveau choix de moteurs:


   
 AME 214 Series                                                                                        AME 218 Series  


et d'un nouveau choix de batterie et de contrôleur: RoboClaw 2x30A compatible avec Arduino, Rasberry Pi et Linux:


    

                                                                                              FIGURE 5-11 : Choix final de la batterie (Yuasa NP7-12 : (11) 
 







Spécialité 2


VISION ARTIFICIELLE

MACHINE À ÉTATS ET

RÉSEAU DE NEURONNES  



Stéphane Franiatte a effectué le développement,

en C++ et 
QT, d'algorithmes de vision artificielle pour

suivre les cibles sur le 
terrain. Une machine à états

assurera le contrôle (c.-à-d. prise de décision pour le tir,

les mouvements, ect.), qui sera appuyée par un réseau

de neuronnes permettant l'apprentissage des formes

humaines et l'adaptation aux différents types de champs

de batailles. Voici la liste des fonctions récentes de

cette nouvelle version:



- lecteur vidéo fonctionnel;

- nouveau filtre TLD-Predator utilisant des techniques
 
  de Machine Learning;

- possibilité de préciser une zone d'intérêt;

- multithreading amélioré;

- affichge dynamique des paramètres des filtres de vision;

- possibilité de connecter à des caméras IP.



L'étudiant René-Alexandre Giroux a

travaillé sur la proposition d'une
nouvelle machine à état

pour la tourelle.


 
 










 


   Nouvel écran du logiciel, version été 2014  

 





Spécialité 3


GESTION DE LA TOURELLE

(GÉNIE LOGICIEL)
 



Le Laptop Lenovo doit exécuter les logiciels

et interfacer avec les 3 servos (X, Y, Tir) qui

font bouger et tirer la tourelle sur sa cible.

Le LapTop sera alimenté 12 volts (c.-à-d.

une batterie marine longue durée placée

sur un trépied industriel).


Le logiciel de gestion de la tourelle doit permettre

l'établissement de la zone de tir, le type de tir, la calibration

du tir et l'enregistrement/replay des sessions de jeux.

 

 




 
 



   

Spécialité 4


LOGICIEL EMBARQUÉ  (GÉNIE LOGICIEL) 


L'intégration des nouveaux servo moteurs RB-SOY-09 a lieu en ce moment, 

pour les mouvements (X,Y, Tir) de la tourelle suivant les instructions d'identification

de cible du logiciel de vision (et de gestion à venir):


- Contrôle des servos (X,Y);

- Contrôle de la gachette;

- Gestion des commandes reçues;

- Calibration;

- Priorisation des commandes et tâches;

- Diagnostic (recupération de panne).


La conception de la version 3.0 propose de nouveaux moteurs et contrôleur

alors cette partie du code devra être revue.