Posts Tagged ‘c++’

Jeu de tir 3D Crysiris

No Comments »

Réalisation d’un jeu en 3D et en réseau. Les étudiants utilisent la librairie OpenGL pour dessiner leur personnage, puis assurent la mise en réseau du jeu en utilisant les sockets UDP multicast et le multi-threading.

Ce mini-projet est réalisé en parallèle des cours/tp de C++. Cela permet d’intégrer les différents concepts étudiés en C++ (classes, encapsulation, héritage, polymorphisme, STL, exceptions, …) dans le mini-projet.

  • Analyse et modélisation UML
  • Utilisation d’un AGL (StarUml)
  • Création d’un avatar graphique en OpenGL
  • Conception en C++ des différentes classes du jeu (Eclipse)
  • Tests (cpptest, sourceMonitor) et optimisations (gprof)
  • Installation (InnoSetup)
  • Mise en place d’un plateforme de travail collaborative (SVN, Trac, Subclipse, Doxygen, …)

Screenshot final :

Screenshot du jeu

Vidéo de démonstration du projet :

Vous pouvez télécharger le programme d’installation (23,4Mo) : setupCrysiris.exe


Contrôle d’approvisionnement pda wifi

No Comments »

Contrôle de l’approvisionnement d’une chaîne de production d’une usine agro-alimentaire à l’aide d’un système mobile (PDA) wifi associé à un Fenwick :

  • Application embarquée sur PDA (Windows Mobile 5)
  • Génération/lecture de code barre 127
  • Routeur WIFI
  • Automate TSX37, bus ASi et coupleur Modbus/TCP
  • Base de données SQL Server
  • Application C++ avec les MFC
  • Balance RS232
  • Statistiques, traçabilité avec pages web ASP sur serveur IIS

Maquette du système utilisée pour le projet :

Maquette du système

Le code barre de type 39 utilisé pour ce projet :


Jeu de tir 3D Killiris

No Comments »

Réalisation d’un jeu en 3D et en réseau. Les étudiants utilisent la librairie OpenGL pour dessiner leur personnage, puis assurent la mise en réseau du jeu en utilisant les sockets UDP multicast et le multi-threading.

Ce mini-projet est réalisé en parallèle des cours/tp de C++. Cela permet d’intégrer les différents concepts étudiés en C++ (classes, encapsulation, héritage, polymorphisme, STL, exceptions, …) dans le mini-projet.

  • Analyse et modélisation UML
  • Utilisation d’un AGL (StarUml)
  • Création d’un avatar graphique en OpenGL
  • Conception en C++ des différentes classes du jeu (Eclipse)
  • Tests (cpptest, sourceMonitor) et optimisations (gprof)
  • Installation (InnoSetup)
  • Mise en place d’un plateforme de travail collaborative (SVN, Trac, Subclipse, Doxygen, …)

Les avatars des étudiants :

Screensoht des avatars du jeu

Génération du maillage à partir d’une carte en niveau xde gris (heightmap), les avatars se déplacent ensuite dessus :

Maillage de la heightmap

Schéma des trames réseaux multicast échangées entre chaque joueur afin de synchroniser les positions de chacun :

Trame réseau

Extrait du fichier de configuration XML :

Extrait du fichier de configuration XML

Et enfin le diagramme de classes général du jeu :

Diagramme de classes

Vous pouvez télécharger le programme d’installation (1,6Mo) : setupKilliris.exe


Robot Youpi

No Comments »

Le principe est de commander un bras robotisé (le robot YOUPI) à l’aide d’un joystick et ce via un réseau ethernet. De plus une webcam permettra de piloter/surveiller le robot à distance (non présentée ici).

Ce mini-projet est réalisé en parallèle des cours/tp relatifs à la programmation système. Il s’agit en quelque sorte d’un mini-projet « fil rouge » qui va permettre d’étudier différentes solutions informatiques à une problèmatique multi-tâches.

L’organistation se fait suivant plusieurs étapes :

  • étude du cahier des charges
  • questionnaire (étude de la documentation technique du robot Youpi)
  • programmation du robot en C++
  • programmation du joystick en C++
  • conception et tests des différentes solutions multi-tâches (tubes, mémoire partagée, sémaphores, sockets, threads, …)
  • version sous QNX

Synoptique du projet :

Synoptique du projet


Télégestion barrage

No Comments »

Télégestion d’un barrage de la Sèvre niortaise via une ligne téléphonique :

  • Automate TSX37
  • Module CLIP de WIT
  • Carte modem, commandes AT
  • Protocole TRSii
  • Supervision en C++ sous Linux/Qt
  • Statistiques web en PHP/WML pour téléphone mobile

Le barrage réel sur la Sèvre niortaise :

Barrage sur la Sèvre niortaise

La maquette simulant le système pour le projet :

Maquette du projet


Pilotage tamponneuse CAN

No Comments »

Pilotage d’une tamponneuse pneumatique de pièces avec contrôle qualité visuel assurée par une caméra en réseau :

  • Bus CAN (avec le boîtier CAN Bigbox de JANZ)
  • Application en C++ avec le framework MFC sous Windows 2000
  • Controle qualité automatique avec la caméra COGNEX en TCP/IP

La maquette de la tamponneuse, le bus CAN et la caméra COGNEX :

Tamponneuse

L’IHM de pilotage de la tamponneuse et de contrôle qualité caméra :

Ihm de pilotage