fatal_error a écrit:bj,
le repère origine c'est I (la matrice identité). u c'est le premier vecteur, et v le second.
Si on applique R(phi) sur I, on l'applique sur u aussi.
On peut voir ca comme un changement de repère, mais aussi simplement comme le fait de bouger u dans son repère initial (I).
La je suis d'accord. Les 2 axes sont liés sur mon banc de test. u et v représentent le plateau sur lequel je fixe mes produits.
fatal_error a écrit:On applique R(sigma) sur R(phi)*I, on on a donc également: le changement de repère depuis R(phi)*I, qui se percoit comme le fait de bouger l'image de u en (cos(15),a,b) toujours dans le repère I.
Bref à mon sens ya pas lieu d'avoir de R^-1.
La je peux pas te dire, si on doit appliquer R^-1 ou pas. L'expérience le dira.
fatal_error a écrit:D'apres le lien fournit, on ne considère que les équations mettant en jeu cos(15) et cos(10).
Exact, je cherche a vérifier ce que renvoi mes produits après calibration quand on leur applique un angle sur les axes x et y simultanément. Sont-ils aussi précis ou non ? C'est ce qu'on appelle le cross-coupling. Il faut que je le vérifie.
fatal_error a écrit:Soit R(phi) la matrice de rotation pour z :
a -b 0
b a 0
0 0 1
(avec a=cos(phi), b=sin(phi))
et R(sigma) la rotation autour de y' (j'insiste sur le ')
c 0 -d
0 1 0
d 0 c
(avec c=cos(sigma) et d=sin(sigma))
on a
u_target=Mu
v_target=Mv
avec M=R(sigma)R(phi)
on conserve les eq :
u_target(1) = M_1x u = M_11
(ou M_1x represente la premiere ligne de M, et M_11 le coeff en ligne 1 colonne 1)
v_target(2) = M_2x v = M_22
(ou M_2x represente la seconde ligne de M, et M_22 le coeff en ligne 2 colonne 2)
idem
On calcule M_11 et M_22 depuis R(sigma)R(phi) et il vient
M_11 = ac
M_22 = a
on déduit a=cos(phi), et M_22=v_target(2)=cos(10) d'ou
cos(phi)=cos(10) et phi=10
on déduit ac=cos(sigma)cos(phi) et M_11=u_target(1)=cos(15)
d'ou cos(sigma)=cos(15)/cos(phi)=cos(15)/cos(10)
sigma=arccos(cos(15)/cos(10))
- Code: Tout sélectionner
u=[1 0 0];
v=[0 1 0];
uTarget=[cos(15) 0 0];
vTarget=[0 cos(10) 0];
phi=10;
sigma=acos(cos(15)/cos(10));
Rphi=[
cos(phi) -sin(phi) 0;
sin(phi) cos(phi) 0;
0 0 1;
];
Rsigma=[
cos(sigma) 0 -sin(sigma);
0 1 0;
sin(sigma) 0 cos(sigma);
];
M=Rsigma*Rphi;
Resu=M*u';
%expect 0
Resu(1) - uTarget(1)
Resv=M*v';
%expect 0
Resv(2) - vTarget(2)
Je suis d'accord avec ton calcul, mais est-ce que le postulat de base est bon.
Je pense avoir le temps de vérifier çà cette semaine au boulot.