Motor UART E/S Camera Sound Move Inputs Inputs Outputs Outputs Outputs Events Reversor Canon Base Strategy Strategy Main Telemetry Geometry Network Simulator Telecommand  

 


Menu informatique

Architecture

Conventions de codage

Doc du code source

Methodologie

L'annee prochaine...

Programmes

backup





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

UART

uart.h
Ce module permet de gérer la carte 8 liaisons séries du pc104

IOBoard

ioboard.h
Ce module permet d'accéder à la carte d'entrées/sorties

Motor

motor.h
Ce module gère la carte de controle des moteurs des roues.

Sound

sound.h
Ce module gère la carte son.

Inputs

inputs.h
Ce module bas niveau permet de lire l'état des capteurs: bumpers(collisions), capteurs de couleur, capteurs ultrason?, gonio?

Outputs

outputs.h
Ce module bas niveau permet de commander les actionneurs : afficheur lcd, moteurs à courant continu, servo moteur

VideoCapture

videoCapture.h
Ce module permet de reccuperer un pointeur vers une image prise par la webcam.

VidéoTreatment

videoTreatment.h
Ce module réalise le traitement des images recues par la webcam: où sont les palets?

Events

events.h
Ce 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)

Move

move.h
Ce 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.

Reversor

reversor.h
Ce module gère les palets qui sont à l'interieur du robot : détecter leur couleur, les retourner, les empiler, les relacher...

Canon

canon.h
Ce module gère le tire sur les palets qui sont en hauteur: orientation finale, tir, gestion du nombre de munitions...

BaseStrategy

baseStrategy.h
Ce 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.

Strategy

Ce répertoire contient toutes les strategy haut niveau et les programmes de test des composants.

Simulator

simulator.h
Module permetant de simuler tous les composants du robot. voir aussi host/viewer3D qui est l'IHM du simulateur.

Geometry

geometry.h
Librarie de fonctions géométriques 2D: distance, angle, ligne, cercle, rectangles

Telemetry

libtm.h
Librarie de fonctions permettant d'enregistrer des informations pendant le match ou de les envoyer vers une autre machine.

Network

network.h
Librarie de fonctions permettant d'envoyer des données et d'en recevoir sur un réseau.
< Retour page principale


Coupe e=m6 2003 - "Sophia Team" : ISIA-ESSI-ESINSA