Session de Terrain CS
Contexte
Au cours de l’été 2020, j’ai suivi CSCI370 ou “Ingénierie Logicielle Avancée” dans le cadre de mon programme de premier cycle en informatique à l’École des Mines du Colorado. CSCI370 est un cours qui amène les étudiants à concevoir, mettre en œuvre et documenter des solutions liées aux logiciels pour une entreprise. Il permet aux étudiants d’appliquer leurs connaissances acquises en cours à des problèmes réels en informatique. Vous pouvez en savoir plus sur le cours ici.
Dans le cours, vous décidez sur quel projet/entreprise vous allez travailler. Le cours fournissait des PDF détaillant chaque projet et entreprise. En fin de compte, j’ai décidé de travailler sur un projet publié par une entreprise appelée Lunar Outpost intitulé Détection de Glissement de Roue en Temps Réel et Corrections d’Erreur pour une Navigation Lunaire Améliorée. Étant donné que le nom est long, appelons le projet “Détection de Glissement de Roue”.
Problème
Lunar Outpost est une startup qui essaie de créer des rovers lunaires autonomes. Sur la lune, il y a beaucoup de poussière lunaire qui est connue pour causer beaucoup de glissement de roue. Ce n’est pas idéal car le glissement de roue peut amener les systèmes autonomes à perdre la trace de leur position réelle. Sur Terre, cela est résolu en utilisant des données GPS pour corriger tout décalage causé par le glissement de roue. Mais le problème avec le GPS est qu’il ne fonctionne qu’avec 30+ satellites de navigation tournant constamment autour de la Terre en orbite et transmettant des signaux uniques qui permettent aux ordinateurs de calculer leur position. Mais sur la lune, il n’existe actuellement rien de tel qu’un GPS. Sachant cela, une autre méthode que le GPS doit être utilisée pour détecter le glissement de roue. Un rapport plus détaillé sur le problème du projet peut être consulté ici.
Coéquipiers
Ce projet n’était pas un projet simple, donc il devait être réalisé en équipe. L’équipe était composée de cinq étudiants de l’École des Mines du Colorado :
- Mehmet Yilmaz
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
Le projet nécessitait que nous connaissions un peu de ROS, C++, Python, Linux, Raspberry Pi et Arduino. La plupart d’entre nous avaient de l’expérience dans une ou plusieurs de ces technologies, mais j’étais le seul à avoir de l’expérience en ROS puisque j’avais utilisé ROS dans mon cours de Robotique Centrée sur l’Humain (CSC470) pendant le semestre de printemps 2020. En raison de cela, dès le début, j’ai aidé à mettre tout le monde à jour sur ROS et comment développer pour cela.
Défis
Dans ce projet, il y avait beaucoup de défis. Mais le plus grand défi auquel nous avons été confrontés était de ne pas avoir accès à un robot réel pour les tests. Cela était dû à COVID rendant tout à distance et nous empêchant de travailler dans le laboratoire/bâtiments de Lunar Outpost. En raison de cela, nous avons dû utiliser des simulations.
De plus, nous avons consulté des recherches académiques du WVU Navigation Lab pour avoir une idée de la façon dont le problème de glissement de roue pourrait être résolu pour le cas d’utilisation de Lunar Outpost. Ce qui, pour nous, en tant que étudiants de deuxième et troisième année, était plus difficile que prévu.
Un autre défi auquel nous avons été confrontés était le temps dont nous disposions pour travailler sur ce projet. CSCI370 est un cours d’un mois. Mais le problème lui-même est un problème massif que de nombreuses entreprises et universitaires essaient de résoudre/perfectionner depuis des décennies. Donc, un mois est loin d’être suffisant pour résoudre ce problème. Mais, malgré tous ces défis, nous avons persévéré et nous avons veillé à livrer.
Conclusion
Dans ce post, j’aurais aimé donner une explication plus détaillée de nos solutions. Ainsi que fournir une conclusion appropriée expliquant ce que nous avons découvert et les résultats finaux. Mais malheureusement, mes coéquipiers et moi avons tous signé un Accord de Non-Divulgation (NDA) qui nous empêche de partager quoi que ce soit de confidentiel sur ce projet. Toutes les informations que j’ai fournies ci-dessus sont publiques et peuvent être consultées sur Internet.
Au cours de ce projet, nous avons vraiment appris à utiliser ROS et à créer des simulations en utilisant ROS et Gazebo. Nous avons également acquis une meilleure compréhension dans le domaine de recherche de la détection de glissement de roue. Nous avons également eu l’honneur de rencontrer des universitaires/chercheurs du WVU Navigation Lab.
Sachant tout cela, je dois dire que ce projet m’a permis de prendre une position de leadership dans l’équipe, de servir d’éducateur pour aider mes pairs à mieux comprendre ROS, et m’a fourni plus d’expérience en ROS, Gazebo et Python. Cela m’a également exposé au problème du glissement de roue, un problème dont je n’étais pas conscient avant de travailler sur ce projet. Dans l’ensemble, je suis reconnaissant que Lunar Outpost ait pris le temps de son emploi du temps chargé, surtout pendant COVID, pour nous permettre de travailler sur ce projet. Je suis également reconnaissant d’avoir eu des coéquipiers incroyables qui ont travaillé très dur sur ce projet.