Aller au contenu


Photo
- - - - -

Matrice changement de repère ou matrice de translation


  • Veuillez vous connecter pour répondre
105 réponses à ce sujet

#41 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 15 avril 2017 - 03:31

Hey, regarde à partir de la page 59 du livre, cela pourrait t'intéresser. 

 

Edit : et à la page 77 du chapitre 3, ils parlent du ZMP et du polygone de sustentation.


Modifié par Oliver17, 15 avril 2017 - 04:20 .

signature_01.png -->

 

Mon Tipeee
 


#42 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 15 avril 2017 - 08:22

Le ZMP ne m'aidera pas à savoir si mes repères sont bien orientés et si me valeurs de DH sont justes ou alors j'ai loupé des lignes....



#43 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 16 avril 2017 - 08:14

Non c'est vrai, mais pour la suite de l'évolution d'HumaOne cela ne lui sera que bénéfique. :)

Donc il faut y penser avec le polygone de sustentation pour sont équilibre, non ?.


signature_01.png -->

 

Mon Tipeee
 


#44 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 16 avril 2017 - 09:18

Pour le polygone de sustentation j'ai triché en réalisant des pieds très larges....

 

Il est vrai que le ZMP est intéressant je prendrai cette information en compte dans ma calculs certainement...

 

Pour le moment je vais essayer de faire des calculs avec seulement 2 ddl ce qui me permettra de valider les paramètres et de me faire la main sur DH.



#45 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 16 avril 2017 - 10:17

Hannnn le tricheur lol ^^

 

Oui, pour le ZMP, une idée à creuser serait de mettre soit un capteur de pression pour savoir si la masse se reparti bien sur les deux pieds et quand elle passe d'un pied à l'autre, ou alors une sorte de contacteur permettent de dire si les pieds sont bien en contact avec quelque chose ou/et lorsqu'il se retrouve sur un pied. :)

 

Bonne idée pour les calculs, je survole le bouquin encore et m'y remet à fond une fois sorti de mon angine, bronchite, crève lol suis tout patraque et donc la tête dans le brouillard ^^

 

"Il va marcher HumaOne, il va marcher, y a intérêt !!!!" (et là tu as à peine la pression lol)


signature_01.png -->

 

Mon Tipeee
 


#46 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 16 avril 2017 - 10:24

J'e suis encore très loin d'imaginer des capteurs sous les pieds d'HumaOne, il est destiné avant tout à m'occuper. je n'ai pas l'intention d'en faire un robot avec une marche dynamique.....

 

Bon rétablissement.....



#47 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 16 avril 2017 - 01:52

Ok, je disais sa comme ça, on sait jamais. :)

 

Merci.

 

Edit : en tapant "marche dynamique robot" sur google on tombe directement sur robot-maker en première position. :)


Modifié par Oliver17, 16 avril 2017 - 06:05 .

signature_01.png -->

 

Mon Tipeee
 


#48 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 17 avril 2017 - 05:45

Bon, alors plutôt que de phosphorer sur un systèmes avec 6 repères, je vais déjà commencer par un système avec 2 repères.

 

Chaque repère représente une articulation d'un système, ici uniquement deux articulations....R1 et R0.

 

Ce qui m'intéresse dans un premier temps c'est ::

  1. valider la méthode pour définir la position des repères Rx et les paramètres (rx ou ax, dx, αxx),
  2. de calculer les matrices de passage,
  3. de me familiariser avec les matrices de passages, de rotation et la résolution du modèle géométrique inverse

Pour expliquer très rapidement ce qu'est une matrice de passage c'est en fait une matrice qui nous permet d'exprimer les coordonnées de l'origine d'un repère R1 dans un repère R2.........

 

Bref, pour commencer mon système est composé de 2 articulations. Une articulation (R0) qui peut effectuer une rotation selon un axe horizontale Z0. Ce repère R0 est reliè par un bras de 10 cm à une articulation R1 qui peut effectuer une rotation sur un axe verticale Z1.

 
Les 2 repères en questions sont placés selon la convention de D.H  (NON MODIFIE, attention il existe une variante de D.H modifié par Khalil) :
 

Fichier joint  DH.png   114,5 Ko   1 téléchargement(s)

 

Ce qui nous donne ceci :
 

Fichier joint  repere 2 ddl.png   84,92 Ko   1 téléchargement(s)

 

Suivant la position des 2 repères et la convention de DH, je calcule les paramètres de ma matrice de passage de R1 par rapport a R0, que je nommerai MP0/1.

 
Les paramètres de la matrice de passage de R1 dans R0, MP0/1 selon D.H, sont ::   r1 (a1) = 10, d1 = 0, α1 = π/2,θ1 = π.
 
il faut donc maintenant placer ces paramètres dans la matrice de passage défini par la convention de DH  ::

 

Fichier joint  DH MP.JPG   17,84 Ko   1 téléchargement(s)

 

 

Ce qui nous donne la matrice de passage MP0/1

 

Fichier joint  MP.JPG   19,65 Ko   1 téléchargement(s)

 

Vous allez me dire !! Ouais et alors !!! Et bien grâce à la  MP0/1 il nous est possible de calculer les cordonnées ne n'importe quelle point de  R1 dans R0............

 

Un exemple prenons le point P1 = (5,0,0) dans R1......si nous multiplions les coordonnées de P1 = (5,0,0) par MP0/1 nous trouverons les coordonnées de  P1 dans le repère R0.

 

Fichier joint  MP-Pt1.JPG   28,04 Ko   1 téléchargement(s)

 

Bon, super le point P1 de coordonnées (5,0,0) dans R1 à bien pour coordonnées (-15,0,0) dans R2....Quelle découverte !! J'ai fait d'autres calculs pour valider...

 

Bien, bien, bien. Maintenant que savons que ::

  1. la positions des axes de R1 et les paramètres (r ou a, d, α,θ) sont justes,
  2. la matrice de passage MP0/1 fonctionne,

Maintenant si nous souhaitons connaitre les coordonnées du point P1 de R1 dans R0 après une rotation de R1, il va falloir nous familiariser avec ces mêmes calculs PLUS la matrice de rotation du repère R1....

 

Reprenons l'exemple du point P1 = (5,0,0) dans R1. Si nous effectuons une rotation de 90° de R1 quelle sera alors les coordonnées de ce point dans R0 .....

 

Alors le repère R1 ne peut effectuer qu'une rotation autour de son axe Z1 et la matrice de rotation autour d'un axe Z est ::

 

Fichier joint  matrice-Z.png   5,42 Ko   1 téléchargement(s)

 

Si nous remplaçons l'angle a par notre angle de 90 ° nous obtenons cette matrice ::

 

Fichier joint  matrice R1.png   3,07 Ko   1 téléchargement(s)

 

Donc, si nous souhaitons calculer la position de notre point P1 (5,0,0) dans le repère R0 après de rotation de 90° de R1 nous devrons dans ce sens et uniquement dans ce sens :: multiplier la matrice de rotation de R1 autour de Z1 par les coordonnées de P1 puis par la matrice de passage de R1 dans R0.

 

Soit :: MR1 * P1 * MP0/1 = P0/1

 

Fichier joint  chgt de repere.png   8,98 Ko   1 téléchargement(s)

 

Et voilà nous avons maintenant les coordonnées de P1 (5,0,0) dans le repère R0 après une rotation de 90° autour de l'axe Z1 du repère R1.

 

Vous allez me dire Ok super!!! MAIS nous ce qui nous intéresse c'est de calculer l'angle de la rotation de R1 autour de Z1 à effectuer pour trouver les coordonnées de ce dernier dans R2 ayant pour coordonnées (-10,0,5)...Exact, c'est donc le modèle inverse qui nous intéresse......

 

Je n'aborde pas pour le moment le modèle inverse. J'aimerais d’abord échanger sur ces premiers éléments avant de continuer.

 

N'hésitez pas à commenter mes calculs mais n'oubliez pas que Je n'ai pas la prétention de maitriser les matrices et la convention de DH ou de découvrir quelques choses de nouveau. Ma seule intention étant de partager avec d'autres cette méthode et de récupérer peut être aussi l'expérience de certains en la matière....Merci de votre indulgence



#49 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 17 avril 2017 - 09:46

Hum, je m'excuse d'avance si je fais le rabat joie, mais c'est pour comprendre, donc là tu n'utilises pas de cinématique inverse, on est bien d'accord.

 

Et un truc qui me chiffonne dans cette matrice, c'est que nous utilisons que des rotoïdes et non de translation (glissière) ta matrice devrait être de 3x3 et non 4x4 (juste mon avis hein), tu gagnerais en calcul, est il possible de faire la même chose sans la translation ??

 

Je vais me plonger un peu plus sur la convention d'Hartenberg, car là j'étais reparti à te poser la question sur le sens de tes triédes (non pas taper, pas taper lol).

 

:)


signature_01.png -->

 

Mon Tipeee
 


#50 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 17 avril 2017 - 09:56

Salut Olivier,

 

je commence part la convention de DH, les matrices de passage la manipulation de tout ce bazar puis nous avancerons tranquillement....

 

Bon je ne réponds pas à ta question sur la matrice 4*4......



#51 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 17 avril 2017 - 03:55

La matrice est de 4*4 c'est pour inclure les translations qui sont du au déplacement des centres de rotations... 

 

Fichier joint  matrice.PNG   44,11 Ko   1 téléchargement(s)

 

tu retrouves cette image page 18 du premier document que j'ai posté ici : http://www.robot-maker.com/forum/topic/11194-cours-de-mecanique-de-lestia-pour-bras-robot/

 

Tu peux faire une matrice 3*3 si tu n'as aucune "translation" de centre de rotation. Ce qui n'est pas le cas pour un bras articulé et encore moins le cas pour un bipède.


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#52 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 17 avril 2017 - 04:45

On est bien d'accord qu'une translation va s'effectuer sur un axe, donc, le robot va déplacer sont bras sur cette axe, on est d'accord pour un robot industriel ?

 

Donc, sur un biped, pareil on est bien d'accord que le robot ne comporte que des rotoïdes, à aucun moment il n'y a de translations sur l'un de ces axes, la seul chose est que tous ces axes vont se déplacer (pendant la marche par exemple) selon le référentiel du monde et donc se déplacer en conséquence, non ?

 

Se sont des questions de débutant, désolé, ça m'intéresse, je viens de me taper le cours ou Mr Gangloff qui parle de D.H. et à aucun moment il ne souligne que cela s'adresse aux bipède.

 

Ceci dis, Telson m'a fait remarqué qu'il partait plus sur une marche statique qu'une marche dynamique, alors effectivement cela à peut être rapport avec D.H., je ne sais pas.

 

Dans le livre page 59, ils explique ceci : 

 

"Il existe une méthode très connue pour décrire les positions relatives des repères locaux,

appelée méthode de Denavit-Hartenberg (DH) [6]. Nous avons utilisé cette méthode
de représentation dans un premier temps, mais elle possède une restriction qui consiste à
devoir obligatoirement changer l’orientation d’un axe de rotation en changeant de segment.
Cette caractéristique a provoqué l’apparition d’erreurs, et nous avons donc abandonné la
représentation DH pour la méthode présentée ici.
"

 

Perso, je souhaite juste que HumaOne puisse marcher, je trouve ça excellent de voir tous vos projets, et un robot qui marche me fascine toujours ^^

Oui, le projet de Telson me plait beaucoup... d'ou toutes mes questions.

 

Edit : je prend un exemple, imaginons les deux pieds d'HumaOne au sol, si je veux faire avancer le pied droit de 20 cm admettons, on est bien d'accord que je déplace se pied sur le plan (le sol d’après le référentiel), et donc on se retrouve avec des coordonnées données et calculer pour que les servomoteurs puissent effectuer toutes les rotations nécessaire pour atteindre cette position.
C'est pour ça que je ne vois pas pourquoi les translations interviennent.


Modifié par Oliver17, 17 avril 2017 - 05:07 .

signature_01.png -->

 

Mon Tipeee
 


#53 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 17 avril 2017 - 08:26

il ne s'agit pas de la translation d'un corps par rapport au référentiel monde il s'agit de la translation de l'origine d'un repère par rapport à l'origine d'un autre repère. la matrice de passage permet de donner les coordonnées d'un repère ,ayant subit des rotations et des translations, par rapport à un repère de référence R0

 

Sinon pas d'autres remarques ?



#54 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 17 avril 2017 - 10:47

Une première remarque que je pourrais donner c'est de ne pas hésiter à décomposer les transformation en plusieurs étapes  avec une seule rotation autour d'un seul axe du repère à chaque fois .

 

 

 

Suivant la position des 2 repères et la convention de DH, je calcule les paramètres de ma matrice de passage de R1 par rapport a R0, que je nommerai MP0/1.

 
Les paramètres de la matrice de passage de R1 dans R0, MP0/1 selon D.H, sont ::   r1 (a1) = 10, d1 = 0, α1 = π/2,θ1 = π.
 
 

 

Dans un cas comme celui donné plus haut, tu peux décomposé, en deux étapes ...  une rotation de Pi/2   puis une translation combiené à une rotation de PI par exemple ... 

La matrice de passage complète sera le produit des matrices de passages intermédiaire. 

 

Le gros avantage de passer par des matrice intérmédiaire c'est que tu te retrouve avec des matrices simple où il est facile d'exprimer le repère d'une base d'ans l'autre . 

Une fois que tu as l'ensemble de tes matrices de passages sois tu multiplie tout à la main soit tu utilises un calculateur formel comme matlab ou sa version gratuite qui fait tout les calcul pour toi une fois que tu lui as donné l'ensemble des matrices intermédiaires =) 

 

 

Sinon dans le cas de l'exemple donné ci dessus, tu n'as pas besoin de "décomposer " car ça s'exprime déjà facilement juste avec des 1 et des -1 

x1 = -1 x0  0 y0  0 z0 
y1 =  0 x0  0 y0  1 z0 
z1 =  0 x0  1 y0  0 z0 

 

le centre du repère R1 dans le repère R0 est : -a1 x0  0 y0 0 z0 

Juste en lisant cela tu reconstruis la matrice de passage 

 

 -1   0   0    -a
 0    0   1     0

 0    1   0     0

 0    0   0     1

 

(On retrouve bien la même matrice =) )

 

 

Si jamais tu ne peux pas facilement exprimer les vecteur de ta nouvelle base dans ton ancienne base, dans ce cas là tu décomposes avec une étape  intermédiaire ( ou plus )  ;)

 

Nota bene : de la même façon tu peux trouver la matrice inverse sans avoir à faire un calcul de matrice inverse : il suffit d'exprimer les vecteurs de la base R0 dans le repère R1 ! 


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#55 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 18 avril 2017 - 08:02

Effectivement, la matrice de passage est facilement décomposable, il ne faut pas perdre de vue qu'il s'agit de l'expression des paramètres de la convention de DH (2 rotation et deux translatons).
 
 

Nota bene : de la même façon tu peux trouver la matrice inverse sans avoir à faire un calcul de matrice inverse : il suffit d'exprimer les vecteurs de la base R0 dans le repère R1 !

 
Oui c'est une très bonne idée. C'est aussi ce qu'effectue la matrice de passage avec un peu plus de calculs alors?

 


Sinon dans le cas de l'exemple donné ci dessus, tu n'as pas besoin de "décomposer " car ça s'exprime déjà facilement juste avec des 1 et des -1 

x1 = -1 x0  0 y0  0 z0 
y1 =  0 x0  0 y0  1 z0 
z1 =  0 x0  1 y0  0 z0 

 

le centre du repère R1 dans le repère R0 est : -a1 x0  0 y0 0 z0 

Juste en lisant cela tu reconstruis la matrice de passage 

 

 -1   0   0    -a
 0    0   1     0

 0    1   0     0

 0    0   0     1

 

(On retrouve bien la même matrice =) )

 

Pas bien suivi là mais nous pourrons revenir sur le sujet..............



#56 Mike118

Mike118

    Staff Robot Maker

  • Administrateur
  • PipPipPipPipPip
  • 9 963 messages
  • Gender:Male
  • Location:Anglet

Posté 18 avril 2017 - 08:16

normalement si tu décompose tes matrices de passages en matrice de passage élémentaire tu dois pouvoir facilement exprimer la matrice de passage sans réfléchir... 

 

regarde plusieurs fois cette partie que tu n'as pas comprise ... 

C'est essentielle de la comprendre pour se simplifier le boulot...


Si mon commentaire vous a plus laissez nous un avis  !  :thank_you:

Nouveau sur Robot Maker ? 

Jetez un oeil aux blogs, aux tutoriels, aux ouvrages, au robotscope  aux articles,  à la boutique  et aux différents services disponible !
En attendant qu'une bibliothèque de fichiers 3D soit mise en place n'hésitez pas à demander si vous avez besoin du fichier 3D d'un des produits de la boutique... On l'a peut être ! 
Si vous souhaitez un robot pilotable par internet n'hésitez pas à visiter www.vigibot.com et à lire le sous forum dédié à vigibot!

 

Les réalisations de Mike118  

 

 

 


#57 Path

Path

    Made By Humans

  • Modérateur
  • PipPipPipPipPip
  • 2 504 messages
  • Gender:Male
  • Location:Paris

Posté 18 avril 2017 - 08:19

Je prends des notes :) merci de partager ça

#58 Oliver17

Oliver17

    Pilier du forum

  • Modérateur
  • PipPipPipPipPip
  • 2 758 messages
  • Gender:Male

Posté 18 avril 2017 - 08:25

Ok, donc si j'ai bien compris, il s'agit de récupérer (ou donner), la position dans l'espace d'un point à un autre en plus des rotations, donc le terme translation (glissière), je lui ai donné beaucoup trop d’intérêt 

 

C'est ça ?


signature_01.png -->

 

Mon Tipeee
 


#59 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 18 avril 2017 - 08:49

Je reviens maintenant sur les calculs du message #48

  • Nous avions donc un point P1 (5,0,0) dans le repère R1.
  • Nous avons effectué une rotation du repère R1 de 90° autour de son axe Z1. Nous avons donc calculé les nouvelles coordonnées de ce point en multipliant les coordonnées du point P1 (5,0,0) par la matrice de rotation du repère R1 autour de l'axe Z, nous avons trouvé P'1 (0,5,0).
  • Nous avons ensuite calculé les coordonnées du point P'1 (0,5,0) dans le R0  en multipliant ses coordonnées par la matrice de passage du repère R1 dans le repère R0. Nous avons trouvé Pt0/1(-10,0,5).

Alors c'est bien !!! Mais généralement ce qui nous intéresse c'est de trouver quel est l'angle de rotation que nous aurions dû appliquer au repère R1 autour de son axe z1 pour passer de notre point initial P1 (5,0,0) aux coordonnées de notre point final exprimées dans le repère R2 -> Pt0/1(-10,0,5)...
 
C'est donc l'opération inverse qui nous intéresse .....
 
Donc si nous reprenons nous connaissons :

  • L'origine du point  P1 (5,0,0) dans le repère R1,
  • La position final de ce point Pt0/1(-10,0,5) dans le repère R2.

Alors, il va nous falloir calculer, dans un premier temps la position du point P1 (5,0,0) dans le repère R1après avoir effectué la rotation de R1 autour de Z1. Mais ça nous ne connaissons pas !!!
 
Par contre comme nous connaissons ses coordonnées dans le repère  R2 de ce fameux point !!! Et ces coordonnées ce sont les coordonnées du point après rotation multiplier par la matrice de passage !!!
 
Alors une solution s'offre à nous c'est la matrice de passage inverse..............Ah !! Punaise !!! cool !!! Et oui cette fameuse matrice de passage inverse va nous permettre de retrouver les coordonnées du point P1 après la rotation de R1.....
 
Voici à quoi ressemble la matrice de passage inverse :
 

Fichier joint  matrice passage inverse.JPG   20,04 Ko   0 téléchargement(s)

 
Donc si nous multiplions les coordonnées du point Pt0/1(-10,0,5) par cette matrice de passage inverse nous retrouverons les coordonnées du point P'1 dans le repère R1après avoir effectué la rotation de R1 autour de Z1.
 

Fichier joint  matrice passage inverse - calculs.JPG   38,98 Ko   0 téléchargement(s)

 
Super !!! Nous y sommes presque car maintenant nous connaissons les coordonnées du point  P1 (5,0,0) dans le repère R1 avant la rotation du repère R1 autour de son axe Z1 et nous connaissons les coordonnées du point P'1 (0,5,0) après la rotation du repère R1 autour de son axe Z1 d'un angle X.
 
Il nous reste donc à calculer cet angle X !!!
 
Là il va nous falloir maintenant utiliser la matrice de rotation autour de Z, souvenez vous :
 

Fichier joint  matrice-Z.png   5,42 Ko   0 téléchargement(s)

 
Alors si nous multiplions les coordonnées du point P1 (5,0,0) par la matrice de rotation du repère R1 autour de son axe Z1 nous retrouverons les coordonnées du point P'1 (0,5,0)  :
 

Fichier joint  matrice de rotation R1.JPG   22,25 Ko   0 téléchargement(s)

 
il nous reste donc à résoudre ces équations :
 
5*Cos(A)  – sin(A)*0 = 0
5*Sin(A)  + cos(A) * 0 = 5
 
Soit :

Cos(A) = 0
Sin(A) = 1
 

Donc A = π/2 .....c'est bien notre angle non?

 

Attention toutefois, ici les équations sont simplistes et pour des cas plus complexe il est parfois utilisé la fonction Atan2(a, B)......Je n'ai pas encore effectué de recherche sur cette dernière mais elle se devra d'être vue !!!

 

 

A noter qu'il est aussi possible de multiplier cette fois-ci les coordonnées du point P'1 (0,5,0) par la matrice inverse de rotation du repère r1 pour retrouver les coordonnées du point P1 (5,0,0).



#60 Telson

Telson

    Membre chevronné

  • Membres
  • PipPipPipPip
  • 975 messages
  • Gender:Male
  • Location:Punaauai - Tahiti

Posté 18 avril 2017 - 09:59

bon et bien voici une rapide présentation de la convention de DH et comme l'a indiqué Mike118 il existe bien sûr des méthodes pour optimiser les calculs. Spécialement je n'en suis pas encore là.
 
je dois aussi regarder plus attentivement la fonction Atan2(x,y)...............

 

Fichier joint  atan2.JPG   17,76 Ko   0 téléchargement(s)

 

++






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

0 members, 2 guests, 0 anonymous users