Ligne 23 : |
Ligne 23 : |
| ==Architecture logicielle== | | ==Architecture logicielle== |
| ====Cahier des charges==== | | ====Cahier des charges==== |
− | * Système distribué: une node centrale controle les autres modules
| + | Le robot doit être capable de: |
− | ** Exemple de modules présents dans les robots: module capteur, module asservissement, module actionneurs... | + | * Se deplacer précisement |
− | ** La node principale doit être puissante et ne doit pas attendre inutilement | + | * Connaitre sa position |
− | ** Node principale: microC, microP ? OS / Sans OS ? | + | * Eviter/ne pas toucher des obstacles |
− | * Définition d'un protocole de communication commun entre modules | + | * Utiliser ses actionneurs |
| + | |
| + | Comment programmer? |
| + | * Transition du code Mbed vers STM32Cube pour plus de contrôle (débuggage entre autres). |
| * Implementation d'un système de retour d'erreur, de log, afin de débugger efficacement | | * Implementation d'un système de retour d'erreur, de log, afin de débugger efficacement |
| ** Fault model | | ** Fault model |
− | ** Clock synchronization, timestamp...
| + | ** Log: affichage uart, raspberry pi, dans fichier? |
− | ** Log: affichage uart, dans fichier? | |
− | * Système modulaire: définition d'API afin de pouvoir remplacer des modules sans devoir redevelopper tout le système
| |
| | | |
| ====Contraintes==== | | ====Contraintes==== |
| * Utilisation de méthodes abordable pour des étudiants de 3 et 4ème année | | * Utilisation de méthodes abordable pour des étudiants de 3 et 4ème année |
− | ** A t-on vraiment besoin d'un OS temps réel? | + | ** À t-on vraiment besoin d'un OS temps réel? |
| ** Utiliser du c++ basique et du c, pas de c++ avancé | | ** Utiliser du c++ basique et du c, pas de c++ avancé |
| * Compréhension et maintenabilité du code facile | | * Compréhension et maintenabilité du code facile |