Première étape: le logiciel embarqué
J'ai choisi , à l'origine, de partir sur du non temps réel, car le temps réel me paraissait inutile.
Néanmoins, étant à la seconde version de mon projet, j'ai décidé de passer en temps réel pour avoir plus de réactivité de la part de certaines taches, et aussi pour gérer de manière précise chaque tache.
J'ai choisi Xenomai, apres avoir essayé RTAI, car celui-ci me parait plus facile d'acces, et grace à son systeme de skins, permet d'utiliser les fonctions VxWorks, par exemple.
J'ai X taches:
- Tache de communication avec le PC hote sur lequel est situé l'IHM, qui gère justement cette communication. Cette tache est en temps réel, périodique de période 150 ms, et de forte priorité. Elle doit préempter les autres taches, car je veux traiter toutes les demandes de l'utilisateurs devant son PC le plus prioritairement possible.
- Tache "IA", qui décide quoi faire à quel moment. De faible priorité, non temps réel, pour l'instant, existe, mais je n'ai rien mis dedans.
- Tache Acquisition/traitement vidéo. Pour l'instant, non temps réel, à cause des problèmes d'acquisition non temps réel, et des algos de durée variable...
- Tache de mouvements: non temps réel pour l'instant, mais ca va tarder! De forte priorité, pour tout préempter, périodique de période 200 ms -->200 ms de retard au pire. Je sais que les delais sont énormes, mais mon traitement vidéo prend beaucoup de ressources...L'idéal serait de le déporter sur FPGA ou DSP, mais ca constituerai un autre projet! Et mes algos n'étant pas tous au point, il me faut pouvoir les tester aisément avant...
- Enfin, ce n'est pas une tache, et je ne m'y suis pas du tout mis, mais je gèrerai les capteurs par interruptions/ microcontroleur...Si un electronicien est interessé pour programmer un peu sur PIC ou AVR, je ne refuse pas!!
Voila, mon avancement: le noyau temps réel tourne, mon appli aussi, la communication avec l'IHM est OK, la capture aussi...Je dois reprendre un paquet de fonctions développées pour la première version du projet, que l'on peut trouver sur la page: http://quibot.centerblog.net/
Enfin, j'ai recommencé à bosser sur mon interface. Dans la première version, elle était programmée en WxWidget, mais j'ai décidé de la refaire en java, pour des raisons de portabilité. J'explique tout ca dans le prochain post!
Inscription à :
Publier les commentaires (Atom)
1 commentaire:
premier commentaire
Enregistrer un commentaire