Transcript Robot à conduite différentielle
Cinématique des robots mobiles
Robot mobile
Cadre de référence du robot
𝜉 𝐼 = 𝑥 𝑦 𝜃 𝜉 𝑅 = 𝑥 𝑅 𝑦 𝑅 𝜃 𝑅
Matrice de rotation
𝑅 𝜃 = 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0 0 0 1 Quel est la matrice de rotation pour un angle de 90 o ?
Modèle cinématique – Robot à conduite différentielle
Le contrôle des roues de chaque côté est indépendant.
Modèle cinématique – Robot à conduite différentielle
Constraintes: Mouvement est seulement dans le plan horizontal Qu’un seul point de contacte entre les roues et le sol Les roues ne se déforment pas Aucun glissement ou dérapage Aucune friction au point de contact Les axes de direction sont orthogonales à la surface Les roues sont connectés à un chassis rigide
Modèle cinématique – Robot à conduite différentielle
Chaque roue différentielle a un rayon
r
Étant donné un point la distance entre
P P
au centre des deux roues, et chaque roue est de
l
La vitesse de chaque roue est 𝝋 𝟏 e t 𝟐
Modèle cinématique – Robot à conduite différentielle
Donc, le modèle cinématique de notre robot mobile d’après le cadre de référence global (inertiel) est: 𝐼 𝜉 = 𝑦 𝑥 𝜃 Et 𝐼 𝜉 = 𝑅 −1 𝑓 𝑙, 𝑟, 1 𝜑 2 𝜃 𝑅 et 𝜉 𝑅 = 𝑅 𝜃 𝐼
Modèle cinématique – Robot à conduite différentielle
Nous assumons que le robot bouge toujours vers l’avant suivant
+X R.
Considérons la vitesse de
P X R
dans la direction de d’après la vitesse de rotation de chaque roue.
Il y a deux cas. Si une roue tourne et que l’autre est immobile, comment se déplace P?
Modèle cinématique – Robot à conduite différentielle
Puisque P est à mi-chemin entre les deux roues, P bougera à une vitesse de ½ celle de la roue: 𝑣 1 𝑥 𝑟 1 = 𝑟 1 = 1 2 𝑟 1
Modèle cinématique – Robot à conduite différentielle
Pour l’autre roue, nous avons la relation: 𝑥 𝑟 2 = 1 2 𝑟 2 Pour un robot à conduite différentielle, ces deux valeurs peuvent être additionner pour calculer 𝑥 𝑅 . Alors: 𝑥 𝑅 = 1 2 𝑟 1 + 2 Qu’arrive-t-il lorsque les deux roue tournent à vitesse égale, mais dans des directions opposées?
Modèle cinématique – Robot à conduite différentielle
Et pour
y R
?
Nous avons assumé que les roues permettent un déplacement vers l’avant, mais pas de côté; d’après le cadre de référence local du robot, 𝑦 𝑅 est toujours zéro.
Modèle cinématique – Robot à conduite différentielle
La dernière composante de calculé est 𝜃 𝑅 .
𝑅 que nous devons Encore ici, la contributions de chaque roues peut-être calculé séparément et additionnés.
Appelons la roue de droite W
1
.
Une rotation vers l’avant produit un mouvement dans le sens anti-horaire (le robot pivotera autour de
W 2
) Nous considérons le sens anti-horaire comme étant positive.
Modèle cinématique – Robot à conduite différentielle
La roue W 1 W 2 crée une rotation positive centré sur d’un rayon de 2*l 𝑣 1 𝜔 1 = 2∗𝑙 𝑣 1 = 𝑟 1 𝜔 1 = 𝑟 1 2𝑙
Modèle cinématique – Robot à conduite différentielle
Suivant le même argument, la rotation produite par W
2
sera dans le sens horaire (négative) 𝜔 2 = 𝑟 2 2𝑙 En combinant les résultat, nous obtenons 𝜉 𝑅 = 𝑟 2 𝑟 2𝑙 𝜑 1 + 2 0 𝜑 1 − 2
Modèle cinématique – Robot à conduite différentielle
Nous pouvons maintenant trouver le modèle cinématique d’après le cadre de référence global du système (inertiel): 𝐼 𝜉 = 𝑅 −1 𝜃 𝑟 2 𝑟 2𝑙 𝜑 1 + 2 0 𝜑 1 − 2
Modèle cinématique – Robot à conduite différentielle
En général, il est difficile de trouver l’inverse d’une matrice, mais dans ce cas, c’est facile puisque nous avons uniquement à nous baser sur la transformation d’un cadre de référence à un autre. On se rapelle que: 𝑅 𝜃 = 𝑐𝑜𝑠𝜃 −𝑠𝑖𝑛𝜃 0 𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0 0 0 1
Modèle cinématique – Robot à conduite différentielle
Nous savons que 𝑅 𝜃 𝑅 −1 𝜃 = 𝐼 . Convainquez-vous que: 𝑅 −1 𝜃 = 𝑐𝑜𝑠𝜃 𝑠𝑖𝑛𝜃 0 −𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0 0 0 1 c-à-d, 𝑅 −1 𝜃 = 𝑅 𝑇 𝜃
Modèle cinématique – Robot à conduite différentielle
Le modèle cinématique finale est donc 𝐼 𝜉 = 𝑐𝑜𝑠𝜃 𝑠𝑖𝑛𝜃 0 −𝑠𝑖𝑛𝜃 𝑐𝑜𝑠𝜃 0 0 0 1 𝑟 2 𝑟 2𝑙 𝜑 1 + 2 𝜑 1 0 − 2 𝐼 𝜉 = 𝜃 𝑥 𝑦 = 𝑟 2 𝑟 2 𝜑 1 + 2 𝑐𝑜𝑠𝜃 𝑟 𝜑 1 2𝑙 + 2 𝑠𝑖𝑛𝜃 𝜑 1 − 2
Modèle cinématique – Robot à conduite différentielle
Comme nous l’avons vu 𝑟 2 𝜑 1 le mouvement vers l’avant et 𝑟 2𝑙 + 𝜑 1 2 nous donne − donne le déplacement angulaire. Alors 2 nous 𝑟 𝑣 = 𝜔 = 2 𝑟 2𝑙 𝜑 1 𝜑 1 + 2 − 2
𝐼 𝜉 = 𝑦 𝑥
Modèle cinématique – Contrôle
𝑣𝑐𝑜𝑠𝜃 = 𝑣𝑠𝑖𝑛𝜃 𝑟 𝑣 = 𝜔 = 2 𝑟 2𝑙 𝜃 𝜑 1 𝜑 1 + 2 − 𝜔 2
𝐼 𝜉 = 𝜃 𝑥 𝑦 𝐼
Modèle cinématique – Contrôle
𝑣𝑐𝑜𝑠𝜃 = 𝑣𝑠𝑖𝑛𝜃 , mais 𝜔 𝑥 𝑅 𝑣 𝑡 𝜔 𝑡 𝑘 11 𝑘 21 = 𝐾𝑒 = 𝐾 𝑘 12 𝑘 22 𝑘 𝑘 13 23 𝜃 𝑦 , où 𝐾 = K peut être un système de logique floue, un réseau de neurones, etc.
Modèle cinématique – Contrôle
L’objectif est de minimiser l’erreur à 0 𝜉 𝐼 lim 𝑡→∞ 𝑒 𝑡 = 0 Notre cas est plus simple, nous voulons uniquement contrôler la vitesse de chaque roue.
𝑣 𝑅 𝑣 𝐿 𝑡 𝑡 = 𝑣 𝑅𝑑 𝑣 𝐿𝑑 𝑡 𝑡
Modèle cinématique – Contrôle
Le système de contrôle est donc:
Modèle cinématique – Contrôle
Disons que l’objectif est de déplacer le robot en ligne droite. Comment sera le système?
Modèle cinématique – Contrôle
Et pour que le robot fasse un cercle de rayon R?