• Aucun résultat trouvé

Modèle dynamique d’un robot

N/A
N/A
Protected

Academic year: 2022

Partager "Modèle dynamique d’un robot "

Copied!
23
0
0

Texte intégral

(1)

UPJV, Département EEA M1 EEAII

Parcours ViRob

Fabio MORBIDI

Laboratoire MIS

Équipe Perception Robotique E-mail: fabio.morbidi@u-picardie.fr

Mardi 9h00-12h00, Mercredi 13h30-16h30, Salle 8

(2)

Plan du cours

Chapitre 1 : Introduction

1.1 Définitions

1.2 Constituants d’un robot 1.3 Classification des robots 1.4 Caractéristiques d’un robot 1.5 Générations de robots

1.6 Programmation des robots 1.7 Utilisation des robots

Chapitre 2 : Fondements Théoriques

2.1 Positionnement

•  Matrices de rotation et représentations de l’orientation

•  Matrices homogènes

(3)

Plan du cours

Chapitre 3 : Modélisation d’un Robot

2.2 Cinématique

•  Vitesse d’un solide

•  Vecteur vitesse de rotation

•  Mouvement rigide

•  Torseur cinématique

3.1 Modèle géométrique

•  Convention de Denavit-Hartenberg

•  Modèle géométrique direct

•  Modèle géométrique inverse 3.2 Modèle cinématique

•  Modèle cinématique direct

•  Modèle cinématique inverse 3.3 Modèle dynamique

•  Formulation de Lagrange

(4)

Objectif: déterminer le modèle dynamique d’un manipulateur à segments rigides en utilisant la formulation de Lagrange

Modèle dynamique d’un robot: formulation de Lagrange

θ1

θ2

θ4 d3

Pour déterminer le lagrangien , il faut calculer l’énergie cinétique totale et l’énergie potentielle totale du manipulateur: L

L = T U

q = [θ1, θ2, d3, θ4, . . .]T Rn

n

effecteur

(5)

L’énergie cinétique totale est donnée par la somme des contributions relatives au mouvement de chaque segment et au mouvement de l’actionneur de

chaque articulation (le segment 0 est fixé et ne donne aucune contribution):

Modèle dynamique d’un robot: énergie cinétique

Énergie cinétique du segment i

T =

n

i=1

(Ti + Tmi)

Énergie cinétique du moteur qui actionne l’articulation i

Segment i

Articulation i

Segment i - 1 Articulation i

Moteur de l’articulation i

mi

(6)

Modèle dynamique d’un robot: énergie cinétique

: jacobiens

Ti = 1

2 miq˙T(J(Pi))TJ(Pi)q˙ + 1

2 q˙T(J(Oi))T Ri IiiRTi J(Oi)q˙

mi : masse du segment i

: vecteur des vitesses des variables articulaires

Ri : matrice de rotation entre le repère du segment i et le repère 0 de la base : tenseur d’inertie relatif au centre de masse du segment i exprimé dans le repère du segment (matrice symétrique)

J(Pi) =

j(Pi1) · · · j(P ii) 0 · · · 0 J(Oi) =

j(O1i) · · · j(Oii) 0 · · · 0

j(P ji) j(Oji)

=

zj−1 0

si l’articulation est prismatique zj−1 ×(pi pj−1)

zj−1

si l’articulation est roto¨ıde avec

si l’articulation est prismatique si l’articulation est rotoïde

On peut montrer que:

q˙ Rn

R3×n

R3×n

Iii R3×3

0

(7)

Modèle dynamique d’un robot: énergie cinétique

: vecteur de position de l’origine du repère par rapport au repère de la base

et où

pj−1

pi : position du centre de masse du segment i par rapport au repère de la base

zj−1 : vecteur unitaire de l’axe z du repère

Segment i j 1

j 1

x0

y0

z0 xi

yi zi ωi

p˙i

pi

(8)

Modèle dynamique d’un robot: énergie cinétique

Pour la contribution du moteur qui actionne l’articulation i (un moteur électrique rotatif standard), on trouve une expression similaire pour l’énergie cinétique

On suppose que le moteur de l’articulation i est positionné sur le segment i - 1

segm. i - 1

articulation i

pmi

x0

y0 z0

p˙mi

zmi

•  En pratique, on positionne les moteurs aussi près que possible de la base du robot pour alléger la charge dynamique des

premières articulations

•  Les couples des actionneurs sur les articulations sont fournis par les moteurs grâce à une transmission mécanique (réducteur)

ωmi

(9)

Modèle dynamique d’un robot: énergie cinétique Tmi = 1

2 mmi q˙T(J(mP i))TJ(mP i)q˙ + 1

2 q˙T(J(mO i))T Rmi Immii RTmiJ(mO i)q˙

: masse du rotor du moteur i

: vecteurs des vitesses des variables articulaires

mmi

: matrice de rotation entre le repère du moteur i et le repère 0 de la base : tenseur d’inertie du rotor du moteur i par rapport à son centre de masse (matrice symétrique)

Rmi

J(mP i) =

j(mP1i) · · · j(mP,i−1i) 0 · · · 0

j(mP ji) =

zj−1 si l’articulation est prismatique zj−1 ×(pmi pj−1) si l’articulation est roto¨ıde

: jacobien

p est la position du centre de masse du rotor du moteur (par rapport au mi repère de la base). et sont définis comme pour les segments

si l’articulation est prismatique si l’articulation est rotoïde

pj−1 q˙ Rn

zj−1

R3×n

Immii R3×3

(10)

Modèle dynamique d’un robot: énergie cinétique

en outre:

: rapport de transmission des engrenages du réducteur du moteur i (on suppose une transmission rigide)

: jacobien

J(mO i) =

j(mO1i) · · · j(mO,i−1i) j(mO,ii) 0 · · · 0

j(mOji) =

j(Oji) si j ∈ {1, . . . , i 1} kri zmi si j = i

kri

zmi: vecteur unitaire le long de l’axe du rotor du moteur i

R3×n

Noter que: ωmi = ωi−1 +kriq˙i zmi ωmi

ωi−1

où est la vitesse angulaire totale du rotor du moteur et la vitesse angulaire du segment i – 1 (où le moteur se trouve)

(11)

Modèle dynamique d’un robot: énergie cinétique

En conclusion, l’énergie cinétique totale du robot est donnée par la forme quadratique suivante:

est la matrice d’inertie du manipulateur

T = 1

2 q˙T B(q) ˙q B(q) =

n

i=1

mi(J(Pi))TJ(Pi) + (J(Oi))T Ri Iii RTi J(Oi)

+mmi(J(mP i))TJ(mP i) + (J(mO i))T Rmi Immii RTmiJ(mO i)

Propriétés de la matrice d’inertie:

B(q)

•  est une matrice symétrique (à savoir, )

•  est une matrice définie positive (à savoir, )

B(q)

•  depend, en général, de la configuration du robot

zT B(q)z > 0, z = 0

B(q)

B(q) = BT(q)

n × n

q Rn

(12)

Modèle dynamique d’un robot: énergie potentielle

On peut montrer que:

où est le vecteur de l’accélération de la pesanteur par rapport au repère de la base (par ex. si z est l’axe vertical)

L’énergie potentielle totale stockée dans le robot est donnée par la somme des contributions relatives aux segments et aux actionneurs de chaque articulation:

U =

n

i=1

(Ui + Umi)

U =

n

i=1

(mi gT0 pi + mmi gT0 pmi)

g0

g0 = [0, 0, g]T

Segment i Moteur i

(13)

Modèle dynamique d’un robot: énergie potentielle

On peut montrer que:

où est le vecteur de l’accélération de la pesanteur par rapport au repère de la base (par ex. si z est l’axe vertical)

Remarque:

L’énergie potentielle est une fonction des variables articulaires (à travers ) mais elle n’est pas une fonction des vitesses articulaires

L’énergie potentielle totale stockée dans le robot est donnée par la somme des contributions relatives aux segments et aux actionneurs de chaque articulation:

U =

n

i=1

(Ui + Umi)

U =

n

i=1

(mi gT0 pi + mmi gT0 pmi)

g0

g0 = [0, 0, g]T

pi, pmi q˙ q

Segment i Moteur i

U

(14)

•  On peut maintenant écrire le lagrangien du robot:

• Si on calcule les dérivées requises par l’équation (vectorielle) de Lagrange:

on trouve les équations du mouvement:

d dt

L

q˙

T

L

q

T

= ξ

Modèle dynamique d’un robot: le lagrangien

B(q) ¨q + n(q, q) =˙ ξ

où le vecteur

n(q, q) = ˙˙ B(q) ˙q 1 2

q( ˙qT B(q) ˙q)

T

+

U(q)

q

T

L(q, q) =˙ T (q, q)˙ − U(q)

•  Pour compléter le modèle, il reste à trouver le vecteur des forces généralisées ξ g(q)

(15)

• On a plusieurs forces non-conservatives à l'œuvre sur les articulations du robot:

Couples des actionneurs (“commande

du robot”)

•  On peut utiliser les couples du frottement de Coulomb comme modèle simplifié des couples de frottement statique, à savoir:

ξ = τ Fv q˙ fs(q, q)˙

Couples de frottement visqueux

: matrice diagonale des coefficients de frottement visqueux

Couples de frottement statique

fs(q, q)˙ Fs sgn( ˙q)

: matrice diagonale

: signe des composantes du vecteur

sgn( ˙q) = [sgn( ˙q1), . . . ,sgn( ˙qn)]T τ Rn

JT(q)he

Couples générés sur les articulations du robot par le contact de l’effecteur avec l’environnement

n

Fv Rn×n

Fs Rn×n

Modèle dynamique d’un robot

(16)

En conclusion, on peut réécrire les équations du mouvement comme:

Modèle dynamique d’un robot

: moment (ou couple) généré sur l’axe de l’articulation i par la présence de la pesanteur, dans la configuration courante du robot

B(q)¨q + C(q, q) ˙˙ q + Fv q˙ + Fssgn( ˙q) + g(q) = τ JT(q)he

: matrice relative aux forces centrifuges et de Coriolis (non-unique)

: vecteur des forces et couples (torseur statique) exercés par l’effecteur sur l’environnement

Ça représente le modéle dynamique du robot dans l’espace articulaire.

: jacobien géométrique du robot

C(q, q)˙ Rn×n

J(q) R6×n he R6

gi(q) = U(q)

∂ qi =

n

j=1

mj gT0 j(Pij)(q) + mmj gT0 j(mPi j)(q)

, i ∈ {1, . . . , n}

(17)

Exemple: robot cartésien à 2 segments

q = [d1, d2]T m1, m2 mm1, mm2 Im1, Im2

pmi = pi−1, zmi = zi−1, i ∈ {1,2}

: vecteur des coordonnées généralisées : masses des deux segments

: masses des rotors des deux moteurs : moments d’inertie par rapport aux axes des deux rotors

Hypothèse simplificatrice:

c’est-à-dire, les moteurs sont positionnés sur les axes des articulations avec les centres de masse situés aux origines des repères correspondantes

Noter que: z0 = [0, 0, 1]T, z1 = [1, 0, 0]T

m2

m1

(18)

Exemple: robot cartésien à 2 segments

•  On trouve que les jacobiens (segments):

Évidemment, nous n’avons pas de contributions des vitesses angulaires pour les deux segments

J(P1) =

0 0 0 0 1 0

, J(P2) =

0 1 0 0 1 0

•  En outre (moteurs):

J(mP 1) =

0 0 0 0 0 0

, J(mP 2) =

0 0 0 0 1 0

J(mO 1) =

0 0 0 0 kr1 0

, J(mO 2) =

0 kr2 0 0 0 0

kri est le rapport de transmission du réducteur du moteur i

m2

m1

(19)

Exemple: robot cartésien à 2 segments

•  La matrice d’inertie est:

Elle est une matrice diagonale constante (elle ne

dépend pas de la configuration du robot ).

Cela implique aussi que:

•  Pour le vecteur des moments, car :

B =

m1 + mm2 + kr12 Im1 + m2 0

0 m2 +kr22 Im2

C = 02×2

c’est-à-dire, nous n’avons pas de contributions des forces centrifuges et de Coriolis

g0 = [0, 0, g]T g =

(m1 + mm2 + m2)g

0

q = [d1, d2]T

g =

U

∂ d1, U

∂ d2 T

=

m2

m1

(20)

En l’absence de frottements et de forces de contact sur l’effecteur, le modèle dynamique du robot est donc:

sont les forces appliquées par le deux moteurs sur les articulations du robot (les entrées de commande du robot)

•  Les dynamiques sont complètement découplées.

Cela est une consequence de la structure cartésienne et de la géométrie particulière de ce robot

•  En effet, si le deuxième segment n’était pas orthogonal au premier segment, la matrice d’inertie ne serait pas diagonale

(m1 + mm2 + k2r1 Im1 + m2) ¨d1 + (m1 + mm2 + m2)g = τ1 (m2 + kr22 Im2) ¨d2 = τ2

τ1, τ2

Remarque: m1

Exemple: robot cartésien à 2 segments

B

m2

(21)

Problème dynamique direct et inverse

Problème dynamique direct

Déterminer pour , les accelerations articulaires (et ainsi , ) qui résultent des couples appliquées sur les articulations , et éventuellement des forces appliquées sur l’effecteur , lorsque , sont connus (à savoir, l’état initial du système au temps est donné)

Problème dynamique inverse

Déterminer les couples sur les articulations qui sont nécessaires pour

générer le mouvement specifié par les accelerations, vitesses et positions , , des articulations, lorsque les forces sur l’effecteur (si elles existent), sont connues

q(t) q(t)˙

q(t)¨ q(t˙ 0) q(t0)

he(t) τ(t)

τ(t)

q(t) ˙¨ q(t) q(t) he(t)

t > t0

t0

(22)

Problème dynamique direct et inverse

Problème dynamique direct

•  La résolution du problème dynamique direct est utile pour simuler le comportement d’un robot

- Nombre d’operations nécessaires pour calculer la dynamique directe d’un robot à articulations:

•  La résolution du problème dynamique inverse est utile pour la planification

de trajectoire d’un robot et pour la mise en œuvre des algorithmes de commande - Nombre d’operations nécessaires pour calculer la dynamique inverse d’un robot à articulations:

Déterminer pour , les accelerations articulaires (et ainsi , ) qui résultent des couples appliquées sur les articulations , et éventuellement des forces appliquées sur l’effecteur , lorsque , sont connus (à savoir, l’état initial du système au temps est donné)

Remarque:

Problème dynamique inverse

Déterminer les couples sur les articulations qui sont nécessaires pour

générer le mouvement specifié par les accelerations, vitesses et positions , , des articulations, lorsque les forces sur l’effecteur (si elles existent), sont connues

q(t) q(t)˙

q(t)¨ q(t˙ 0) q(t0)

he(t) τ(t)

τ(t)

q(t) ˙¨ q(t) q(t) he(t)

O(n) O(n2) t > t0

n

n

t0

(23)

Plan des travaux pratiques (en binôme)

TP1 14 mars 2017 (salle TP204,

8h30-12h30) – J. Caracotte Modèle géométrique (Matlab)

TP2 28 mars 2017 (salle TP204,

10h00-12h30) Modèle cinématique (Matlab)

TP3 4 avril 2017 (salle TP204,

8h30-12h30) Découverte du robot Stäubli TX60

DS2 28 mars (salle TP204,

8h30-10h00) Chapitres 3.1 (MGI), 3.2 et 3.3

Références

Documents relatifs

les calculs, qui vont suivre, séparément pour les machines MP et MRV, car, d’une part, la fréquence spatiale électrique n’est pas la même dans ces

Nous présentons dans cet article, la conception et la réalisation d’une nouvelle structure de moteur à courant continu, alimenté par énergie solaire et placé sur paliers

Prends deux lames de la iton qui proviennent d'une vieille pile. Perce deux trous dans chacune d 'élles. Assemble les diverses parties de ton moteur Tu feras le

Le jury du concours reconnaît lui-même que l’épreuve est longue : face à ce type de sujet, il est recommandé d’aller le plus loin possible dans chaque partie plutôt que de

Le cadre se déplace à la même vitesse que le champ, le côté A’C’ étant dans le champ ainsi que tous les points du cadre situés à une distance de A’C’ inférieure à (a – c

Pour que le rotor ne s'arrête pas de tourner il faudra changer le sens du courant dans la spire à chaque demi-tour?. En quelle position exacte de la spire le courant doit-il

Pour la contribution du moteur qui actionne l’articulation i (un moteur électrique rotatif standard), on trouve une expression similaire pour l’énergie cinétique.. On suppose que

Lors de ce débat, il y aura quatre groupes (un cinquième groupe d’évaluateurs optionnel) : Groupe 1 : Vendeur spécialiste de la motorisation thermique à essence.. Groupe 2 :