Cours:SaéSBC balancingRobot

De troyesGEII
Révision datée du 17 octobre 2022 à 07:47 par Fredmn (discussion | contributions) (Cahier des charges)
Aller à : navigation, rechercher

Cahier des charges

à minima :

  • 3 cartes communiquant avec le protocole mqtt :
    • la carte du robot,
    • une carte affichage : angle du robot sur un barregraphe, statut général sur widgets
    • une carte commande : modifier avec une interface graphique les paramètres de l'asservissement et télécommande avec boutons physique

Indications pour démarrer

Projet QTCreator pour commencer : Media:balancingBot_Minimal.zip

Il faudra configurer un kit de cross-compilation :

  • Appareil mobile : linux générique (ip=192.168.7.2, login=root, mdp=geii)
  • Racine du système : /opt/electronique/bbBlue/sysroot
  • Version de QT : pointer /opt/electronique/bbBlue/qt5/bin/qmake
  • Compilateurs : pointer l'executable du compilateur situé dans l'arborescence de /opt/electronique/bbBlue/

Remarque : Vous pouvez utiliser |cette page un peu plus détaillée.

Aide pour régulation PID : lire http://www.ferdinandpiette.com/blog/2011/08/implementer-un-pid-sans-faire-de-calculs/

Guide de progression

  1. Configurer le projet pour qu'il compile et s'exécute sur la carte du robot
  2. Analyser le code - inutile de rentrer trop dans le détail, mais comprendre l'articulation des classes utilisées dans le main.
  3. Afficher la valeur d'angle du gyroscope en temps réel avec qDebug()
  4. Implémenter une classe pour un régulateur PID qui interviendra entre le gyroscope et les moteurs. Vous pourrez commencer par un régulateur proportionnel uniquement et compléter ensuite.
  5. Implémenter une application graphique PC communiquant en tcp avec le robot permettant
    1. d'afficher les valeurs du gyroscope,
    2. de démarrer/éteindre le PID,
    3. de modifier les valeurs du PID,
    4. ...