Les notes rassemblent les outils mathématiques utilisés pour positionner un robot et résoudre ses modèles. Elles enchaînent la composition des déplacements d'un robot mobile, les modèles direct et inverse d'un bras plan à trois articulations avec leur résolution numérique par la méthode de Newton, la localisation par deux goniomètres résolue par décomposition en valeurs singulières, puis les systèmes sous-contraints et la pseudo-inverse.
À partir d'une position initiale, le robot tourne de θ puis avance de t puis tourne de α puis avance de d. Donner son positionnement dans le repère (x,y,θ).
Le robot tourne de θ puis avance de t. Dans le repère ΩO=(O,i,j) :
TΩO=(uv)=t.(cosθsinθ)
Puis, le robot tourne de α puis avance de d. Dans le repère ΩC=(C,x,y) :
On considère un bras plan à 3 articulations rotoïdes, de longueurs de segments t1, t2 et t3.
Dans quel espace ? : le mécanisme à 3 degrés de liberté.
Quelles sont les variables ? : les entrées sont les angles articulaires (θ1,θ2,θ3), les longueurs ti étant des paramètres.
Poser le problème : dans le modèle direct, on souhaite trouver les coordonnées cartésiennes en fonction des θi et des longueurs ti. Le modèle inverse lui fournit la position des différents joints θ en fonction de la position cartésienne de l'effecteur.
Nous cherchons à déterminer x tel que f(x)=0. Nous connaissons une approximation de x, notée x0. Au premier ordre, f(x)≈f(x0)+f′(x0)(x−x0) ; avec f(x)=0, nous obtenons :
x=x0−f′(x0)f(x0)
Le schéma de Newton est donc (en dimension supérieure, f′ est remplacée par la matrice jacobienne, que l'on inverse) :
C1 et C2 sont les positions des goniomètres, a1 et a2 sont les mesures angulaires et S la position du robot.
Le point S appartient à la droite issue de Ci de direction Mi, donc CiS est orthogonal à Mi tourné de π/2. Nous pouvons déterminer les équations suivantes :
Nous cherchons donc à résoudre l'équation A.x=b ; cependant, la résolution par x=A−1.b peut s'avérer impossible ou numériquement instable dans certaines situations (matrice singulière ou mal conditionnée, par exemple si les deux droites sont presque parallèles). Nous allons donc utiliser une décomposition en valeurs singulières (SVD) pour résoudre l'équation : A=U.S.VT, avec U et V orthogonales et S diagonale.
Soit le système An×m.xm×1=bn×1 avec n<m (moins d'équations que d'inconnues). Par exemple, x1+x2=4 est un système sous-contraint. Il existe une infinité de solutions, et nous cherchons à en caractériser une : celle de norme minimale. La résolution se fait en calculant argminxH(x) avec le lagrangien H(x)=xTx+λT(Ax−b).
Pour résoudre des systèmes sous-contraints, nous allons avoir besoin d'une notion supplémentaire : la pseudo-inverse. La pseudo-inverse (à droite) d'une matrice A de rang n se définit comme : AR+=AT(AAT)−1=i=1∑nσi−1viuiT, où les σi sont les valeurs singulières de A et ui, vi les vecteurs singuliers associés.
La solution générale d'un système linéaire sous-contraint est donc x=AR+b+i=n+1∑mαivi (avec des αi réels quelconques) =AR+b+[I−AR+A]ω (avec ω quelconque) ; AR+b est la solution de norme minimale. Nous pouvons remarquer que Ax=b⇔A(x+z)=b avec Az=0, z est donc choisi dans le noyau de la matrice A.