Plus sur moi

Projets

Projet Gravite

Le projet problème des trois corps, réalisé dans le cadre du cours d’Outils de gestion et de soutien, utilise un document Excel pour simuler la mécanique céleste impliquant trois corps en interaction. Ce projet académique exploite des équations de physique newtonienne pour calculer les trajectoires et les interactions entre ces corps, avec une représentation visuelle à travers des graphiques dynamiques sous Excel, incluant une séquence animée. Il met en avant l’application de la physique théorique et l’utilisation pratique de fonctionnalités avancées d’Excel, comme le graphisme et le script VBA pour l’animation. Ce projet nous incite à développer nos compétences en résolution de problèmes techniques et créatifs, tout en intégrant une touche personnelle et innovante à travers une fonctionnalité unique conçue par chaque étudiant. Pour ma part, l’ajout d’un mécanisme de changement de direction constitue ma contribution personnelle.


Robot

Dans le cadre de notre projet « Objets connectés » en informatique, mes coéquipiers, Edouard Blain-Noel, François Maltais, et moi-même avons développé un logiciel avancé pour contrôler un robot GoPiGo3 en utilisant Python. Ce projet nous a permis de mettre en œuvre une infrastructure logicielle modulaire et flexible, tout en intégrant plusieurs techniques de programmation avancées. ► Nous avons conçu une classe abstraite pour le robot, vérifiant l'intégrité du robot et implémentant des contrôles pour les composants internes tels que les servos, le télémètre et les LED (EyeBlinkers). ► L'élément central de notre projet repose sur une Machine à États Finis (FSM) robuste, utilisée pour orchestrer les différentes tâches et comportements du robot. Cette FSM a permis de gérer de manière fluide les transitions d'état et de coordonner les actions simultanées du robot, tout en maintenant une exécution non bloquante et structurée. ► Nous avons également implémenté plusieurs tâches spécifiques pour contrôler le robot, telles que : Tâche 1 : Contrôle manuel – Permet à l'utilisateur de contrôler directement les mouvements du robot avec la télécommande, avec des indicateurs visuels clignotants pour signaler les actions. Tâche 2 : Contrôle assisté par capteur – Bien que le robot soit contrôlé manuellement par l'utilisateur, il s'arrête automatiquement devant un obstacle pour éviter les collisions, grâce au télémètre. Tâche 3 : Calibration – Sert à ajuster et tester la position du servo du télémètre pour une précision optimale lors des déplacements. Patrons de conception utilisés : Machine à états finis (FSM) : Présente dans tout le projet, elle structure les transitions et états pour les tâches, le projet C64Projet et les blinkers. Factory : Création des états ouverts/fermés des blinkers. Strategy : L'objet ConditionalTransition gère les transitions sans connaître l'implémentation exacte de chaque condition. Façade : La classe Robot encapsule le robot et ses périphériques pour simplifier l'interaction. Observateur : Gère le dispatch des actions selon les événements (in_state, entering, exiting...). Bridge : Contrôle des composantes (comme EasyGoPiGo.Servo) via une interface simplifiée et abstraite.


Contactez-Moi