Discussion:Denavit-Hartenberg

message: ===Denavit-Hartenberg 1955===
La convention de Denavit-Hartenberg 
Utilisation fréquente en Robotique. Voir par exemple . École d'Ingénieurs de la Chambre de commerce et d'industrie de région Paris Ile-de-France. permet de caractériser la position relative de deux solides avec seulement quatre paramètres.  Ceci au prix de certaines restrictions dans le choix des systèmes de coordonnées (repères). Elle fut introduite en 1955 par Jacques Denavit et Richard S. Hartenberg. 
Elle est trés utilisée pour la modélisation des chaînes cinématiques constitués par des corps solides reliés entre eux par des articulations rotoïdes ou prismatiques, (pivots ou glissières ). Pour chaque articulation on peut définir l'axe de sa liaison L'axe du pivot ou la direction de la translation de la glissière  et sa variable articulaire  Angle de rotation ou longueur du déplacement en translation.
À chaque corps Cn de la chaîne est associé un repère (trièdre) orthonormé Rn. Corps et repères sont affectés d'un numéro dénominatif  dans un ordre croissant, n=[0,1,2...N-1,N], (généralement de la base vers l'extrémité de la chaîne).
Chaque transformation faisant passer du trièdre Rn-1 au trièdre Rn est le produit de deux rotations et de deux translations rangées dans un certain ordre alterné.
Les axes de coordonnées sont définis par les règles  Des cas particuliers sont précisés en  Cours Kuchenbecker,MEAM Department,SEAS, University of Pennsylvania. suivantes :
# L' axe \overrightarrow{z_{n-1}} est porté par l'axe de la liaison reliant le corps Cn-1au corps Cn.(\overrightarrow{z_{n}} est porté par l'axe de la liaison reliant le corps Cnau corps Cn+1).
# L' axe \overrightarrow{x_n} est porté par la normale commune à \overrightarrow{z_{n - 1}} et \overrightarrow{z_n} soit : \overrightarrow{x_n} = \overrightarrow{z_{n-1}} \wedge \overrightarrow{z_{n}} .
# L'axe \overrightarrow{y_n} est choisi de manière à former un trièdre direct avec l'axe \overrightarrow{z_n} et \overrightarrow{x_n} soit : \overrightarrow{y_n} =  \overrightarrow{z_n}\wedge\overrightarrow{x_n} .
    
Chaque transformation entre les corps successifs Cn-1 et Cn est décrite par quatre paramètres Schèmas sur  University of West Florida, Rachid Manseur:
# d=d_{n}, la distance selon l'axe \overrightarrow{z_{n-1}} entre les axes \overrightarrow{x_{n-1}} et \overrightarrow{x_{n}} . C'est la variable articulaire dans le cas glissière .
# \theta = \theta_{n} , l'angle entre autour de l'axe \overrightarrow{z_{n-1}} entre les axes \overrightarrow{x_{n-1}} et \overrightarrow{x_{n}} . C'est la variable articulaire dans le cas pivot .
# r=r_{n} (ou a=a_{n} ), la distance selon l'axe \overrightarrow{x_n} entre les axes \overrightarrow{z_{n-1}} et \overrightarrow{z_{n}}. C'est donc également la longueur de la normale commune.
# \alpha=\alpha_{n}, l'angle autour de l'axe \overrightarrow{x_{n}} entre les axes \overrightarrow{z_{n-1}} et \overrightarrow{z_{n}}
Ici r=r_{n} et \alpha=\alpha_{n} sont des paramètres constitutifs qui caractérisent le corp Cn .
En multipliant les matrices (4x4) de rotation et de translation élémentaire (autour ou le long d'un seul axe) en coordonnées homogènes, on  obtient la  matrice de passage en coordonnées homogènes entre les corps Cn-1 et Cn :
\mathbf T_{n-1,n}=\begin{pmatrix}
cos(\theta) & -cos(\alpha)sin(\theta)&  sin(\alpha)sin(\theta) & r \,cos(\theta)\\
sin(\theta) &  cos(\alpha)cos(\theta)& -sin(\alpha)cos(\theta) & r \,sin(\theta)\\
0           &  sin(\alpha)           &  cos(\alpha)            & d\\
0           &  0                     &  0                      & 1\\
\end{pmatrix}.
La matrice inverse s'écrit :
 \mathbf T_{n-1,n}^{-1} = \mathbf T_{n,n-1} = \begin{pmatrix}
 cos(\theta)             &  sin(\theta)           & 0           & -r              \\
-cos(\alpha) sin(\theta) &  cos(\alpha)cos(\theta)& sin(\alpha) & -d\, sin(\alpha)\\
 sin(\alpha) sin(\theta) & -sin(\alpha)cos(\theta)& cos(\alpha) & -d\, cos(\alpha) \\
 0                       &     0                  & 0           & 1
\end{pmatrix}
===Khalil-Kleinfinger ou Denavit-Hartenberg modifié===
La convention de Khalil-Kleinfinger Cours du Groupement de Recherche (GdR) en Robotique (créé en 2007 par le CNRS)  Bases de la modélisation et de la commande des robots-manipulateurs de type série Wisama KHALIL et Etienne DOMBRE., dénommée aussi Denavit-Hartenberg modifié Attention aux confusions possibles !, est utilisée concurremment à Denavit-Hartenberg 1955 Khalil-Kleinfinger permet d'alléger les notations dans les exposés sur les méthodes numériques par récurrence de la dynamique des robots.
À l'instar de la convention de Denavit-Hartenberg 1955, chaque transformation faisant passer du trièdre Rn-1 au trièdre Rn est le produit de deux rotations et de deux translations rangées dans un certain ordre  C'est le produit de deux déplacements hélicoïdaux,  dans lesquels on peut échanger l'ordre rotation-translation. alterné; et formellement les notations sont ressemblantes.
Les axes de coordonnées sont définis par les règles  Des cas particuliers sont précisés dans le   Cours Kuchenbecker,MEAM Department,SEAS, University of Pennsylvania. suivantes :
# L' axe \overrightarrow{z_{n}}  Remarquez la différence avec Denavit-Hartenberg 1955 est porté par l'axe de la liaison reliant le corps Cn-1au corps Cn.
# L' axe \overrightarrow{x_n} est porté par la normale commune à \overrightarrow{z_{n - 1}} et \overrightarrow{z_n} soit : \overrightarrow{x_n} = \overrightarrow{z_{n-1}} \wedge \overrightarrow{z_{n}} .
# L'axe \overrightarrow{y_n} est choisi de manière à former un trièdre direct avec l'axe \overrightarrow{z_n} et \overrightarrow{x_n} soit : \overrightarrow{y_n} =  \overrightarrow{z_n}\wedge\overrightarrow{x_n} .
    
Chaque transformation entre les corps successifs Cn-1 et Cn est décrite par quatre paramètres Schèma page 15,  
Universite Louis Pasteur de Strasbourg ´IUP Technologies Avancees des Sciences du Vivant, CoursBernard BAYLE, annee 2004–2005:
# \alpha=\alpha_{n}, l'angle autour de l'axe \overrightarrow{x_{n-1}} entre les axes \overrightarrow{z_{n-1}} et  \overrightarrow{z_{n}} 
# d=d_{n},  ou  a_{n}, la distance le long de l'axe \overrightarrow {x_{n-1}} entre les axes \overrightarrow{z_{n-1}} et \overrightarrow{z_{n}}. C'est donc également la longueur de la normale commune.
# r=r_{n}, la distance  le long de  l'axe \overrightarrow{z_{n}} entre les axes \overrightarrow{x_{n-1}} et \overrightarrow{x_{n}} . C'est la variable articulaire dans le cas glissière .
# \theta = \theta_{n} , l'angle entre autour de l'axe \overrightarrow{z_{n}} entre les axes \overrightarrow{x_{n-1}} et \overrightarrow{x_{n}} . C'est la variable articulaire dans le cas pivot .
Ici d=d_{n} ,  \alpha=\alpha_{n}  et r=r_{n}  dans  le cas pivot ou \theta = \theta_{n}  dans le cas glissière, sont des paramètres constitutifs qui caractérisent le corps Cn-1 .
En multipliant les matrices (4x4) de rotation et de translation élémentaire (autour ou le long d'un seul axe) en coordonnées homogènes, on  obtient la  matrice de passageLa matrice (3x3) représentant les termes de rotation est une matrice orthogonale : l'inverse est égale à la transposée. en coordonnées homogènes entre les corps Cn-1 et Cn :
 \mathbf T_{n-1,n}  = \begin{pmatrix}
 cos(\theta)             &  -sin(\theta)          &  0           &  d              \\
 cos(\alpha) sin(\theta) &  cos(\alpha)cos(\theta)& -sin(\alpha) & -r\,sin(\alpha)\\
 sin(\alpha) sin(\theta) &  sin(\alpha)cos(\theta)&  cos(\alpha) &  r\,cos(\alpha) \\
 0                       &     0                  &  0           &  1
\end{pmatrix}\;.
La matrice inverse Cours robotique, voir pages 24-28, ou aussi  ISTIA, Université Angers, Jean-Louis Boimond  
s'écrit :
 \mathbf T_{n-1,n}^{-1} = \mathbf T_{n,n-1} = \begin{pmatrix}
cos(\theta) &  cos(\alpha)sin(\theta)&  sin(\alpha)sin(\theta) & -d \,cos(\theta)\\
-sin(\theta)&  cos(\alpha)cos(\theta)&  sin(\alpha)cos(\theta) & d \,sin(\theta)\\
0           & -sin(\alpha)           &  cos(\alpha)            & -r\\
0           &  0                     &  0                      & 1\\
\end{pmatrix}\;.
=== Notes ===
=== Articles connexes - liens internes ===
* Matrice de passage
* Coordonnées homogènes
* Modélisation des robots
*  Robotique
Jean Reuss (discuter) 18 septembre 2013 à 23:44 (CEST)
thread_title:  Proposition pour des modifications

message: * Matrice de passage
* Coordonnées homogènes
* Modélisation des robots
*  Robotique
Jean Reuss (discuter) 18 septembre 2013 à 23:44 (CEST)
thread_title:  Articles connexes - liens internes