Aller au contenu


Photo
- - - - -

IMU : lequel choisir ?


25 réponses à ce sujet

#21 quadmean

quadmean

    Membre

  • Membres
  • 27 messages

Posté 03 janvier 2022 - 10:14

Ha oui... Alors j'ai plusieurs remarques.

La première concerne le capteur. Je ne le connais pas et j'ai pas vu les specs. Mais de ce que je vois, il est plus apte à travailler en I2C plutôt qu'en SPI, donc à des vitesses plus faibles... Enfin... Relativement parlant! l'I2C c'est déjà très très rapide, mais si tu comptes te passer du DMP, il faut refaire le code du DMP, et donc mettre à jour les données à des fréquences très élevées.

 

Ce qui m'amène à mon 2e point... Que tu souhaites utiliser le DMP ou pas, les calculs sont conséquent. J'ai peur que la carte MEGA soit à la ramasse... D'où mes conseils précédents sur le fil Alan... Ou alors il faut que tu achètes une carte qui fait déjà tout ça... Mais c'est dommage à mon sens, car la carte embarquera des micro controlleurs que tu ne pourras pas réutiliser pour toi...

 

Enfin, c'est vrai qu'au premier abord, on se dit qu'avec ces capteurs, il suffit de lire les valeurs pour que le tour soit joué. Hé bien non... Ce sont vraiment des capteurs mécaniques qui font le job, mais ils ne se suffisent pas à eux même... Il n'est pas possible à partir d'une valeur lue d'en déduire une orientation ou que sais-je. Cela nécessite de la fusion de données, de la calibration, etc... Donc des calculs. D'ou mon second point. Mais si veux refaire le code d'un DMP, en fait c'est pas compliqué. Et si tu arrives à optimiser les algorithmes existants, qui ne sont pas si performants puisque le DMP du 20940 fonctionne à environ 220hz si ma mémoire est bonne... hé bien tu es millionnaire dans l'année... Et en cette nouvelle année, c'est tout le mal que je te souhaite :)

 

Oui ces capteurs sont difficiles à dompter. Donc si ton objectif est d'aller droit au but, il n'y a pas beaucoup d'autres solutions que de passer par le DMP, et probablement changer ta carte MEGA pour effectuer les calculs rapidement.



#22 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 04 janvier 2022 - 07:26

Bonjour Quadmean,

 

Sur le mobile que je suis en train de réaliser, il y a un Arduino Mega et un smartphone.

Le Mega s'occupe de lire les capteurs (lidar, ultrasons, encodeurs, camera) et d'envoyer les données au smartphone qui traite les données et envoie des commandes de guidage au Mega.

 

J'ai essayé d'utiliser la boussole du téléphone mais la précision était très variable.

Je me suis dit que si j'utilisais un Imu dont c'est le job, la précision serait meilleure.

Mais au vu des différents commentaires et essais je ne pense pas que ce sera le cas que ce soit le cas avec le BNO055 ou l'ICM20948.

De plus ce n'est visiblement pas une solution "clé sur porte". Cela va demander tellement de temps et de compétences que je n'ai pas que cela n'en vaut pas la peine dans ce projet.

 

Je laisse donc tombe la piste IMU et j'utiliserai la boussole (et le Gps du téléphone) quand c'est nécessaire.

Et quand j'aurai plus de temps et que j'aurai bu beaucoup de café noir froid et sans sucre, je me pencherai à nouveau sur la question :)

 

Encore merci pour ton aide et ton temps



#23 quadmean

quadmean

    Membre

  • Membres
  • 27 messages

Posté 04 janvier 2022 - 03:01

Bonjour Dakota,

pour ma part,dès que j'ai compris mes soucis avec mon IMU je posterais les codes sources ici

bon courage!



#24 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 04 janvier 2022 - 06:08

Ok Quadmean, super

Bonne recherche



#25 quadmean

quadmean

    Membre

  • Membres
  • 27 messages

Posté 05 janvier 2022 - 09:16

Hello Dakota,

trouvé le problème sur mon banc de test, je ne pensais pas que c'était possible, mais le magnétomètre à l'intérieur de la puce avait laché. Donc le DMP faisait de la fusion de données sans magnétomètre, c'est balo. Je m'en suis aperçu en tentant une initialisation manuelle du magnétomètre dans la puce... Résultat KO

 

Heureusement, comme j'achète mes composants en chine, vu le prix, je les prends toujours minima en quantité x2 :)

 

J'ai donc pu tester la librairie sparkfun, et au premier abord, je ne suis pas du tout satisfait.

Je me retrouve dans la situation suivante:

D'un côté la librairie sparkfun gère mieux le DMP que ma librairie, c'est incontestable, mais d'un autre côté, mathématiquement, les quaternions sont inexploitables, il en manque ! Donc du coup, l'IMU fonctionne bien, et même très bien je dois avouer, mais uniquement sur 180 degré par axe ... La honte...

 

D'un autre côté, ma librairie, qui utilise mathématiquement toutes les données du DMP, mais je perd en précision, probablement par ce que je gère mal le DMP.

En fait, avec du recul, j'ai l'impression que la perte de précision vient de la chaleur généree par le DMP. ça chauffre trop. Je me suis litéralement brulé le doigt et au sens propre. on peut supposer que les instruments sont déréglés.

 

Donc je vais faire deux tests:

le premier c'est voir si j'arrive à corriger les erreurs de la librairie sparkfun, ce qui me permettrait de voir si effectivement j'ai une meilleure précision et peut être fournir comme ça une solution clé en main.

La seconde, si c'est comme je le crois la chaleur qui est responsable des imprécisions, cela veut dire qu'à ce stade, utiliser le DMP n'est pas efficace, et qu'il faut faire la fusion des données à côté. Donc je testerais ce point là si nécessaire.

 

On avance....

 

J'espère améliorer la précision des capteurs d'Alan et te donner une solution!



#26 dakota99

dakota99

    Habitué

  • Membres
  • PipPip
  • 228 messages
  • Gender:Male
  • Interests:programmation Windev, Webdev, aviation, robotique, domotique, drones

Posté 05 janvier 2022 - 09:22

Ok super Quadmean.

Je voudrais pouvoir t'aider mais cela dépasse mes compétences. :)

Bon travail.





Répondre à ce sujet



  


0 utilisateur(s) li(sen)t ce sujet

0 members, 0 guests, 0 anonymous users