Robot à conduite différentielle

Download Report

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?