Mesure d'angle d'inclinaison d'une moto (ou d'un drone d'ailleurs).
AlainBo
2 Messages
Le dimanche 15 novembre 2020 à 16:10:36
Bonjour,
Je souhaitais réaliser un montage capable d'enregistrer les angles d'inclinaison d'une moto.
J'ai donc connecté un MPU 6050 à une DFRobot Beetle et je me suis lancé dans la programmation après lecture d'un certain nombre d'article dont celui-ci évidemment.
J'ai traité les données de 2 manières, d'abord par la méthode des quaternions, puis par la méthode du filtre complémentaire.
Tout marche à merveille sur la table, avec l'une ou l'autre des méthodes.
Mais force est de constater qu'aucune des 2 ne donne des mesures satisfaisantes dans le cas particulier de la moto, et très certainement du drone d'ailleurs.
Pourquoi?
En fait, pour ceux qui n'aurait pas été confronté à ce cas de figure, quand on commence l'inclinaison, on voit très bien le roll s'écarter du 0, puis, alors que l'on maintient l'inclinaison, la valeur revient vers une valeur intermédiaire.
J'interprête le problème par le fait que l'accélération Z augmente significativement alors que Y ne bouge pas.
Il faut voir en fait qu'en moto, en avion, ou en drone, en virage le véhicule s'incline pour résister à la force centrifuge tendant à l'emmener à l'extérieur de la courbe et que de ce fait le conducteur ou l'IMU, ne se rend pas compte physiquement d'être en virage contrairement au comportement d'un véhicule à 4 roues ou Z va rester identique et ou Y va augmenter en étant dirigé vers l'extérieur.
Du coup, cette augmentation de Z fausse la résultante calculée et donne une valeur eronnée.
J'ai tenté d'ajouter une correction prenant en compte l'augmentation de z mais je n'ai pas encore testé. J'en parlerai éventuellement ultérieurement selon le résultat.
Mais j'aimerais savoir si quelqu'un a été confronté à ce problème et comment il l'a pris en compte.
Cdt,
Alain
Je souhaitais réaliser un montage capable d'enregistrer les angles d'inclinaison d'une moto.
J'ai donc connecté un MPU 6050 à une DFRobot Beetle et je me suis lancé dans la programmation après lecture d'un certain nombre d'article dont celui-ci évidemment.
J'ai traité les données de 2 manières, d'abord par la méthode des quaternions, puis par la méthode du filtre complémentaire.
Tout marche à merveille sur la table, avec l'une ou l'autre des méthodes.
Mais force est de constater qu'aucune des 2 ne donne des mesures satisfaisantes dans le cas particulier de la moto, et très certainement du drone d'ailleurs.
Pourquoi?
En fait, pour ceux qui n'aurait pas été confronté à ce cas de figure, quand on commence l'inclinaison, on voit très bien le roll s'écarter du 0, puis, alors que l'on maintient l'inclinaison, la valeur revient vers une valeur intermédiaire.
J'interprête le problème par le fait que l'accélération Z augmente significativement alors que Y ne bouge pas.
Il faut voir en fait qu'en moto, en avion, ou en drone, en virage le véhicule s'incline pour résister à la force centrifuge tendant à l'emmener à l'extérieur de la courbe et que de ce fait le conducteur ou l'IMU, ne se rend pas compte physiquement d'être en virage contrairement au comportement d'un véhicule à 4 roues ou Z va rester identique et ou Y va augmenter en étant dirigé vers l'extérieur.
Du coup, cette augmentation de Z fausse la résultante calculée et donne une valeur eronnée.
J'ai tenté d'ajouter une correction prenant en compte l'augmentation de z mais je n'ai pas encore testé. J'en parlerai éventuellement ultérieurement selon le résultat.
Mais j'aimerais savoir si quelqu'un a été confronté à ce problème et comment il l'a pris en compte.
Cdt,
Alain