L’architecture logicielle est représentée ci-dessous. Elle consiste en trois grands blocs: le simulateur, l’API librobot ainsi que l’intelligence. Les blocs “Linux HAL” et “Robot HW” ne font pas directement partie du développement, ceux-ci sont uniquement là à titre indicatif.
librobot
Tout le développement du robot reposera sur GNU/Linux et la librobot sert de couche d’abstraction pour l’intelligence. La raison est naturelle car deux cibles sont possibles. Tout d’abord l’intelligence (que j’appellerais AI désormais) doit servir au robot mécaniquement parlant et ensuite elle doit pouvoir être testée et améliorée directement à l’aide d’un simulateur. Physiquement le robot ne sera pas prêt lors du développement de l’AI, le simulateur est donc très important.
La librobot se découpe en trois grands blocs. Il y a la couche d’abstraction qui traitera les commandes de haut-niveaux envoyées par l’AI, puis viennent les deux “wrappers” (un wrapper est en quelque sorte un adaptateur) pour gérer l’une ou l’autre cible. Le wrapper hardware permet donc d’interagir avec la couche d’abstraction hardware de Linux, son but étant bien entendu d’agir finalement sur les éléments mécaniques du robot (moteurs, fin de course, contrôleurs, etc,…). Le wrapper simulateur communiquera directement avec le bloc à travers des fonctions spécifiques à la commande de la simulation.
Simulateur
Le simulateur sera développé à l’aide de la librairie Evas/Ecore de Enlightenment (E17) dont les snapshots sont disponibles à cette adresse : http://download.enlightenment.org/snapshots/LATEST/
Consultez le site de E17 pour plus d’informations. Evas est donc un élément de “Enlightenment Fountation Libraries (EFL)” et est le canvas de E17. Il est très flexible et permet de facilement fonctionner sous différents moteurs comme le Framebuffer, OpenGL, X11, DFB, etc,… Quant à Ecore, il nous simplifiera le travail pour la gestion des événements, timers, etc,.. et est directement lié à Evas.
Intelligence Artificielle
L’intelligence sera indépendante du robot. Celle-ci demande une analyse détaillée ainsi que la présence du simulateur. Rien n’a encore été prévu mais ça ne saurait tarder
.
Team programmation

très bon article, thx!