Les outils et bibliothèques informatiques du robot

La bibliothèque Qt

Développée par Nokia et sous licence libre, cette puissante bibliothèque couvre la majorité des besoins nécessaires au robot (interface graphique, réseau, threads) tout en assurant la portabilité des applications. Elle est écrite en C++.
 
Avantages :
  • Facilite grandement le développement des logiciels Qt-logo
    (tant le firmware du robot que l'interface graphique sur PC de bureau)
  • Assure la portabilité des applications, et donc leur réusabilité
    (le firmware peut par exemple être déployé sur une machine x86 ou ARM,
    typiquement le robot et le PC de développement)
  • Licence libre
  • Excellente documentation
  • Portable
Inconvénients :
  • Peut s'avérer plus lourd à l'exécution, notamment sur le robot (dont la puissance de calcul est limitée).
    Cependant, nous n'avons pas encore atteint les limites du processeur pour l'instant.
  • De part sa richesse, elle nécessite un temps d'apprentissage (notamment du fait de la présence
    de systèmes non gérés par le C++ standard).
 

La bibliothèque SFML

SFML, pour "Simple and Fast Multimedia Library" (ou "bibliothèque multimédia simple et rapide" en français), est une bibliothèque écrite en C++ qui se veut simple d'utilisation. Elle est utilisée dans le projet pour assurer la gestion temps réel des entrées/sorties pour les périphériques qui ne sont pas gérés par Qt (typiquement les joysticks).
 
Avantages :
  • Très simple d'utilisationsfml-logo
  • Bien documentée
  • Communauté réactive
  • Portable
  • Libre
 
Inconvénient :
  • Ne couvre pas suffisament nos besoins (mais ce n'est pas son objectif)
     

L'outil de construction CMake

Ce moteur de construction libre permet de faciliter la compilation du code source, notamment sur diverses plateformes ou en compilation croisée. Simple d'utilisation, il facilite l'intégration des bibliothèques externes au projet et permet de choisir aisément la cible de la compilation (nous sommes passés de qmake à CMake pour cette raison).
Développé par une entreprise, sa pérennité est assurée depuis que le projet KDE a décidé d'utiliser cet outil au détriment des autotools.
 
Avantages :CMke logo
  • Simple d'usage pour l'utilisateur final
  • Facilite l'intégration de bibliothèques tierces à tous les niveaux du projet
  • Libre
  • Multiplateforme
  • Supporte de gros projets (exemple de KDE4)
 
Inconvénients :
  • Une dépendance supplémentaire
  • Nécessite l'apprentissage d'un nouveau langage
Aucun vote pour le moment