Site ELEC344/ELEC381

Partie interactive du site pédagogique ELEC344/ELEC381 de Télécom ParisTech (occurrence 2010).

Catégories

Heliokter Fin

  • Un lien intéressant, mais peut-être basique pour nous. Il décrit les erreurs plus fréquent de l’embarqué.
  • J’ai cherché un peu comment régler les coefficients du PID, mais je n’ai pas trouvés rien de magique. Un lien avec le basique de la programmation du PID.
  • J’ai adapté un driver de joystick pour linux, de tel façon qu’il marche avec un gamepad d’ordinateur. Ce gamepad a deux sticks analogique qui donnent de valeurs signés en 16 bits. Dans ce même jour Sam nous a donné la télécommande qui est beaucoup plus propre. Elle utilise 10 bits, mais la sensibilité de la manette est presque linéaire (le gamepad avait de deadzone). Un autre problème serait envoyer les commandes par bluetooth, qui n’est pas fiable ni dispose d’une bonne distance de communication (10~100m). Avec le ZigBee, je pense que ça pourrait marcher bien, par contre il coûte cher. Donc la télécommande est parfaite, de plus son interface UART la rendre simple à utiliser. Maintenant, on utilise les informations de thrust, roll, pitch et yaw.
  • Le FQA utilise des quaternions qui n’ont pas de singularité, mais pour les trouvé il faut travailler avec les angles d’Euler et ces ont de singularité. Dans cet algorithme, il faut traiter le cas où l’angle de pitch vaut  +/- ~90, on le traite en faisant une rotation de les vecteurs d’entrée d’un certain offset de façon à jamais arriver à cette situation. J’ai mis ce changement dans le code du FQA.
  • Le watchdog: je pense que pour le heliokter un tel système peut être important. L’inconvénient est traiter le reset, mais c’est le même problème de quand on perd le signal de la télécommande. On doit mêtre les consigne de angle à 0 et une vitesse suffisamment élevé pour le faire tomber doucement. Du point de vue pratique, on peut utiliser une tâche ou une interruption pour remettre la valeur du conteur, c’est facile à programme. J’ai fait le code, mais pour l’instant on ne l’utilise pas (on a besoin de tester bien avant).
  • Après savoir qu’on n’aurait pas de ZigBee j’ai arrêté le développement de l’interface graphique(en C++), parce qu’elle était liée à la communication, mais après avoir acheté un module bluetooth j’ai recommencé. J’avais pensé que c’était facile à faire, mais ce n’est pas le cas. Utiliser le Model Control View (MVC) que respecte les liaison est, en fait, dificile. Malgré le petite nombre de fonctionnalités, il y a déjà pas mal de couche logiciel et le système est multi-thread. Heureusement, wxWidgets dispose de beaucoup widgets de haut niveau. Pour l’instant on a trois fenêtre: 3D, Terminal et Setting. Par contre seulement la Terminal a toutes ces fonctionnalités. Les autres sont presque là, il faut retrouver la DCM pour faire la bonne rotation dans la fenêtre 3D et dans l’autre envoyer les valeurs des sliders. De toute façon, il faudra les tester bien et à cause de cela on ne la montrera pas demain.
  • Voici les trois fenêtres (j’ai changé aussi le code OpenGL de le heliokter):

Commentaires fermés.