Semaine 1
Au début de la saison, l’équipe de programmation se divise en deux: ceux qui vont travailler sur les prototypes et ceux qui vont préparer le code du robot. Durant la première semaine, on envoie un programmeur par équipe de prototypage et le reste va améliorer le code de vision et de localisation du robot sur une base swerve de développement. Notre objectif avec cette base de développement est d’avoir une position du robot presque parfaite et de préparer quelques modes autonomes potentiels pour notre robot.
Semaine 2
Durant la semaine 2, l’équipe de CAD a généralement une idée globale des sous-systèmes du robot, alors c’est durant cette semaine que nous créons notre projet dans github et répartissons les élèves de programmation dans des sous-équipes pour chaque sous-système. Lorsque les élèves programment leurs prototypes, ils utilisent la simulation pour pouvoir tester des erreurs de logique dans leurs commandes. Lorsqu’un sous-système est, selon les élèves qui l’ont programmé, prêt, ils font un «pull request» que les mentors vont vérifier pour émettre des commentaires et des recommandations sur le code.
Semaine 3
Durant la semaine 3, les premiers prototypes «finaux» vont arriver, ce qui nous permet de tester les sous-systèmes qui ont été approuvés par les mentors. Lorsque ces systèmes ont été testés rigoureusement et, lorsque nécessaire, ont un PID qui marche, ils sont par la suite combinés dans la branche principale de notre projet sur github.
Semaine 4
Durant la semaine 4, la majorité du code des sous-systèmes est final et est inclus dans la même branche, ce qui permet de programmer les commandes complexes qui relient les différents systèmes entre eux. Des modes autonomes plus complexes incluant des commandes de robots sont construits, mais pas nécessairement testés.
Semaine 5-6
Le robot final est terminé et prêt à être testé et «tuné» pour que chaque mouvement soit parfait et dans des tolérances plus qu’acceptables. Après avoir testé chaque commande complexe, nous commençons à faire de l’automatisation, c'est-à-dire enlever le plus de boutons aux pilotes en utilisant la position du robot sur le terrain, entre autres pour déclencher des commandes. Nous commençons également à tester des modes autonomes que nous utiliserons en match.
Semaine 6-7-8
Le code du robot est, pour ainsi dire, terminé, il ne manque plus qu’à peaufiner certains détails et modes autonomes durant les pratiques de pilotes. Les pilotes vont aussi, parfois, demander à changer, ajouter ou retirer des boutons ou des fonctionnalités.