![]() |
![]() |
![]() |
|
Architecture logicielle ![]() Index code source : documentation générée par doxygen robotTypes.h: définition des types de base et des constantes caractérisant le robot UARTuart.hCe module permet de gérer la carte 8 liaisons séries du pc104 IOBoardioboard.hCe module permet d'accéder à la carte d'entrées/sorties Motormotor.hCe module gère la carte de controle des moteurs des roues. Soundsound.hCe module gère la carte son. Inputsinputs.hCe module bas niveau permet de lire l'état des capteurs: bumpers(collisions), capteurs de couleur, capteurs ultrason?, gonio? Outputsoutputs.hCe module bas niveau permet de commander les actionneurs : afficheur lcd, moteurs à courant continu, servo moteur VideoCapturevideoCapture.hCe module permet de reccuperer un pointeur vers une image prise par la webcam. VidéoTreatmentvideoTreatment.hCe module réalise le traitement des images recues par la webcam: où sont les palets? Eventsevents.hCe module permet de gérer les évenements: attendre la jack de départ,... Il permet également de gérer la détection collisions car il s'occupe de scrutter l'état des entrées de la carte d'E/S. Il gère également un watchdog qui permet de savoir si le soft est bloqué ou non... Cette librairie a pour but de gerer les attentes sur des evenements particuliers comme le depart, la detection d'obstacles, la detection de lignes blanche ou d'objets sur le terrain Petit historique : - 2001 : les events etaient tres compliques, il permettaient de faire tout ce qui etait imaginable avec du code bourre de threads, de mutex et tous les trucs bien compliques qu'on peut imaginer. C'etait tres beau, mais seules 2 personnes etaient capables de les utiliser et ca faisait quelque deadlock de temps en temps. - 2002 : l'interface a ete a peine modifiee, le code un peu plus securiser et la encore, une seule personne etait capable de les utiliser... - 2003 : le but cette annee est d'avoir une interface qui soit la plus simple et intuitive possible pour pouvoir etre utilisee par tout le monde, en cachant tout les details concernant le hardware et notamment tout ce qui concerne l'initialisation de la lecture des capteurs. Par exemple pour eventsWait, l'utilisateur ne doit avoir qu'a initialiser la lib puis appeler cette fonction. Cette derniere ce charge alors d'initialiser ce qu'il faut pour recupperer l'info demandee (comme la creation d'une boucle sur i2c) Movemove.hCe module fournit toute une serie de déplacements de base qui sont régulés par des PID: vancer, reculer, tourner dans une direction donnée, aller vers un point précis, suivre une spline. Reversorreversor.hCe module gère les palets qui sont à l'interieur du robot : détecter leur couleur, les retourner, les empiler, les relacher... Canoncanon.hCe module gère le tire sur les palets qui sont en hauteur: orientation finale, tir, gestion du nombre de munitions... BaseStrategybaseStrategy.hCe module gère l'initialisation et la séquence de départ du robot. Il gère également le collision. Il contient les éléments communs a toute stratégie. StrategyCe répertoire contient toutes les strategy haut niveau et les programmes de test des composants.Simulatorsimulator.hModule permetant de simuler tous les composants du robot. voir aussi host/viewer3D qui est l'IHM du simulateur. Geometrygeometry.hLibrarie de fonctions géométriques 2D: distance, angle, ligne, cercle, rectangles Telemetrylibtm.hLibrarie de fonctions permettant d'enregistrer des informations pendant le match ou de les envoyer vers une autre machine. Networknetwork.hLibrarie de fonctions permettant d'envoyer des données et d'en recevoir sur un réseau. |
< Retour page principale |