Voici, l’architecture logicielle du microcontrôleur STM32F407 du robot MRPi1 :
- Un bloc de la gestion pour la communication série 8 bits vers la carte Raspberry Pi.
- Un bloc scheduler pour la gestion des différentes taches de manière synchrone et en temps réel,
- Un bloc d’acquisition et de traitement des capteurs du robot,
- Un bloc de contrôle du niveau de la tension de la batterie lipo,
- Un bloc d’asservissement du robot en position/orientation avec deux régulateurs numérique de type PID,
- Un bloc de commande des moteurs en signaux PWM,
- Un bloc d’acquisition des encodeurs en quadrature avec deux timers configuré sur les front des signaux,
- Un bloc du calcul de la position du robot sur les axes X et Y puis sur l’orientation du robot.