Aide sur l'intégration des quaternions
4 participants
Page 1 sur 1
Aide sur l'intégration des quaternions
Bonjour à tous,
Désolé de vous déranger pour une question qui est assez complexe.
Y a-t-il quelqu'un qui a déjà du utiliser des quaternions ?
J'ai un problème d'intégration des quaternions sur mes données de vol.
Je cherche désespérément quelqu'un qui peut m'aider sur ce sujet assez spécial.
Désolé de vous déranger pour une question qui est assez complexe.
Y a-t-il quelqu'un qui a déjà du utiliser des quaternions ?
J'ai un problème d'intégration des quaternions sur mes données de vol.
Je cherche désespérément quelqu'un qui peut m'aider sur ce sujet assez spécial.
Taranis- Messages : 6
Date d'inscription : 22/05/2023
Antoine aime ce message
Re: Aide sur l'intégration des quaternions
Salut Taranis, jamais utilisé pour ma part (angles d'euler...). Mais Patrick a peut etre deja joué avec ces complexes
Antoine- Messages : 1068
Date d'inscription : 13/01/2019
Age : 48
Localisation : Chateau Thierry
Re: Aide sur l'intégration des quaternions
Bonjour
Je les utilise dans mes gimbals, c'est très pratique. Ce sont des nombres complexes à 3 dimensions donc tu peux meme les conjuguer comme un nombre complexe ...
En fait ce n'est pas si compliqué que ça. Comme tu le sais sans doute tu as une representation polaire des nombres complexes. Pour decrire une rotation tu es dans l'espace donc 3 angles. Un quaternion est un nombre complexe avec une partie réelle et 3 parties imaginaires.
ça simplifie tout tes calculs, cela t'evite d'utiliser des matrices et d'avoir des gimbal lock
J'enregistre mes vols de cette façon ce qui me permet de les rejouer.
Tu peux jeter un oeil sur mon code
Pour le MPU6050
https://github.com/bdureau/RocketMotorPIDGimbal
Pour le BNO055
https://github.com/bdureau/RocketMotorPIDGimbal_bno055
Je suis en train de faire un portage pour l'ADXL375 et l'ESP32
Et pour l'affichage mon programme Android qui converti les quaternions en angle d'Euler
https://github.com/bdureau/MotorGimbalConsole
C'est très utilisé pour le déplacement d'un personnage dans un monde 3D dans les jeux vidéos.
C'est très bien documenté sur youtube, j'avais regardé il y a quelques années des vidéos en anglais faites par des prof
Je les utilise dans mes gimbals, c'est très pratique. Ce sont des nombres complexes à 3 dimensions donc tu peux meme les conjuguer comme un nombre complexe ...
En fait ce n'est pas si compliqué que ça. Comme tu le sais sans doute tu as une representation polaire des nombres complexes. Pour decrire une rotation tu es dans l'espace donc 3 angles. Un quaternion est un nombre complexe avec une partie réelle et 3 parties imaginaires.
ça simplifie tout tes calculs, cela t'evite d'utiliser des matrices et d'avoir des gimbal lock
J'enregistre mes vols de cette façon ce qui me permet de les rejouer.
Tu peux jeter un oeil sur mon code
Pour le MPU6050
https://github.com/bdureau/RocketMotorPIDGimbal
Pour le BNO055
https://github.com/bdureau/RocketMotorPIDGimbal_bno055
Je suis en train de faire un portage pour l'ADXL375 et l'ESP32
Et pour l'affichage mon programme Android qui converti les quaternions en angle d'Euler
https://github.com/bdureau/MotorGimbalConsole
C'est très utilisé pour le déplacement d'un personnage dans un monde 3D dans les jeux vidéos.
C'est très bien documenté sur youtube, j'avais regardé il y a quelques années des vidéos en anglais faites par des prof
Taranis aime ce message
Re: Aide sur l'intégration des quaternions
bdureau a écrit:Bonjour
Je les utilise dans mes gimbals, c'est très pratique. Ce sont des nombres complexes à 3 dimensions donc tu peux meme les conjuguer comme un nombre complexe ...
En fait ce n'est pas si compliqué que ça. Comme tu le sais sans doute tu as une representation polaire des nombres complexes. Pour decrire une rotation tu es dans l'espace donc 3 angles. Un quaternion est un nombre complexe avec une partie réelle et 3 parties imaginaires.
ça simplifie tout tes calculs, cela t'evite d'utiliser des matrices et d'avoir des gimbal lock
J'enregistre mes vols de cette façon ce qui me permet de les rejouer.
Tu peux jeter un oeil sur mon code
Pour le MPU6050
https://github.com/bdureau/RocketMotorPIDGimbal
Pour le BNO055
https://github.com/bdureau/RocketMotorPIDGimbal_bno055
Je suis en train de faire un portage pour l'ADXL375 et l'ESP32
Et pour l'affichage mon programme Android qui converti les quaternions en angle d'Euler
https://github.com/bdureau/MotorGimbalConsole
C'est très utilisé pour le déplacement d'un personnage dans un monde 3D dans les jeux vidéos.
C'est très bien documenté sur youtube, j'avais regardé il y a quelques années des vidéos en anglais faites par des prof
D'accord, je n'ai pas très bien compris le code sur github (je ne suis pas encore habité, il faudrait que je m'y mette).
Est-ce que tu prends directement les quaternions qui sont donnés par le DMP du MPU6050 ?
On nous avait dits que ceux-ci n'étaient pas adaptés au manque de gravité qu'on retrouve lors d'un vol de fusée donc on a décidé d'intégrer les quaternions à partie des données au sol, après le vol.
Pour être plus clair, j'ai mes gx gy gz et j'essaye de les intégrer dans le temps en quaternions puis d'en faire une animation.
Voici les données + une vidéo du vol pour comparaison (+ un code Matlab pour l'animation) : https://www.mediafire.com/file/pgycmvt2n7l5xk1/Donnees_du_vol.rar/file
Cordialement,
Taranis
Taranis- Messages : 6
Date d'inscription : 22/05/2023
Re: Aide sur l'intégration des quaternions
Oui je prend ceux directement du MPU6050
Pour le BNO055 il me semble que j'ai ecrit le code
pour l'animation voila ce que j'ai fait
https://www.youtube.com/watch?v=Ut-qxi6n0Iw
J'enregistre plusieurs mesures par seconde et ensuite je fais un replay d'un vol en convertissant les quaternions en angles au moment ou j'affiche.
Je n'utilise pas Matlab, mon animation est en Java/processing sous Android
Pour le BNO055 il me semble que j'ai ecrit le code
pour l'animation voila ce que j'ai fait
https://www.youtube.com/watch?v=Ut-qxi6n0Iw
J'enregistre plusieurs mesures par seconde et ensuite je fais un replay d'un vol en convertissant les quaternions en angles au moment ou j'affiche.
Je n'utilise pas Matlab, mon animation est en Java/processing sous Android
Antoine aime ce message
Re: Aide sur l'intégration des quaternions
Bonsoir
Boris j'aurais besoin de cours et même d'un coach, moi qui suis limité à Re + j Im
Boris j'aurais besoin de cours et même d'un coach, moi qui suis limité à Re + j Im
lem75pat- Messages : 781
Date d'inscription : 08/04/2016
Localisation : Paris
Antoine aime ce message
Re: Aide sur l'intégration des quaternions
Bonsoir
https://fr.wikipedia.org/wiki/Quaternion
i² = j² = k² = -1
i j k = -1
d'ou i j = +k, j i = -k, j k = +i, k j = -i, k i = +j, i k = -j
q = a + b i + c j + d k
partie réelle = a
partie imaginaire = b i + c j + d k
(norme de q)² = q /q = a² + b² + c² + d²
https://fr.wikipedia.org/wiki/Quaternions_et_rotation_dans_l%27espace
https://fr.wikipedia.org/wiki/Quaternion
i² = j² = k² = -1
i j k = -1
d'ou i j = +k, j i = -k, j k = +i, k j = -i, k i = +j, i k = -j
q = a + b i + c j + d k
partie réelle = a
partie imaginaire = b i + c j + d k
(norme de q)² = q /q = a² + b² + c² + d²
https://fr.wikipedia.org/wiki/Quaternions_et_rotation_dans_l%27espace
lem75pat- Messages : 781
Date d'inscription : 08/04/2016
Localisation : Paris
Sujets similaires
» les quaternions
» Un peu d'aide SVP.....
» Un peu d'aide SVP.....
» Test de continuité à l'aide d'un microcontrolleur
» Aide pour utiliser le forum
» Un peu d'aide SVP.....
» Un peu d'aide SVP.....
» Test de continuité à l'aide d'un microcontrolleur
» Aide pour utiliser le forum
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|