Modélisation des Systèmes Mécaniques
Modélisation des Systèmes Mécaniques
1
3.1 Introduction
De puissants logiciels de modélisation et simulation de systèmes mécaniques
rigide/flexible existent sur le marché. Leur utilisation simplifie la tache de l'ingénieur
dans son travail d'analyse et de conception de systèmes. Cependant une utilisation
efficace exige de bien connaître les théories et les hypothèses simplificatrices qui ont été
utilisées pour les mettre au point.
En général les fonctions /taches principales de ces logiciels sont:
- entrée et vérification des données de l'usager,
- définition des paramètres d'analyse,
- génération automatique des équations gouvernant le mouvement du système
que l'on veut modéliser et simuler,
- résolution des équations,
- communication des résultats à l'usager.
La tache principale de l'usager est donc de bien préparer les données requises et de bien
définir correctement les paramètres d'analyse qui seront utilisés par le logiciel.
Afin que le logiciel puisse calculer des résultats qui sont cohérents et physiquement
significatifs, l'usager doit s'assurer que les données fournies respectent le domaine de
validité de la théorie et des algorithmes utilisés par le logiciel. Donc il doit maîtriser les
sciences de l'ingénieur sous jacents aux domaines d'applications couverts.
2
moment et inertie de masse de chaque corps mobile,
information sur la connectivité des corps,
informations sur la connectivité et les caractéristiques des ressorts et amortisseurs,
caractéristiques des pneus si déformation prise en charge),
direction du champ de la pesanteur,
conditions initiales sur position, vitesse et accélération,
informations sur la conduite (steering input) et sur les efforts appliqués sur la roue
par la chassée…
Dans le cas de dynamique des corps rigides, on n'a pas besoin de fournir la forme des
solides, sauf pour fin de visualisation graphique.
En général la préparation des données se fait via des pré processeurs CAO.
3
3.2 Analyse cinématique
3.2.1 Concept de bases
En trois dimensions, la configuration d'un corps i sera définie par trois composantes (xi,
r
yi, zi) (transaltion) du vecteur position ri définissant l'origine d'un repère local attaché
au corps considéré, par rapport à un repère inertiel (X0, Y0, Z0) et par les trois
composantes de rotations ( φ1 , φ 2 , φ 3 )i définissant l'orientation de ce repère local dans le
repère global fixe.
4
Remarquer qu'en 3D, l'orientation du corps i est définie par une matrice 3x3 comprenant
les cosinus directeurs de chacun des trois axes locaux dans le repère fixe. Le vecteur des
coordonnées définissant la configuration du corps sera donc dénoté par
q i = [x, y, z, φ1 , φ 2 , φ 3 ]i
T
(2)
Ainsi lorsqu'on considère un système mécanique ou un mécanisme constitué de b corps,
le nombre de coordonnées requis sera:
En 2D: n = 3x b
En 3D: n = 6x b
5
A) dans le cas d'un pendule triple φ1 , φ 2 , φ 3 sont les trois coordonnées requis pour décrire
de façon unique;
B) dans le cas du mécanisme à 4 barres, φ1 , φ 2 , φ 3 définissent bien la configuration mais
ils ne sont indépendants. En effet, on peut écrire les équations géométriques suivantes
pour les conditions de liaison:
(4)
l1 cos φ1 + l 2 cos φ 2 − l 3 sin φ 3 − d1 = 0
(5)
l1 sin φ1 + l 2 sin φ 2 − l 3 sin φ 3 − d 2 = 0
à respecter à chaque instant. On en conclut donc que le mécanisme à quatre nœuds ne
possède qu'un seul degré de liberté, disons φ1 .
Une liaison cinématique ou paire cinématique, impose une limitation sur le mouvement
relatif permis entre les deux corps liés par le joint en question. Lorsque ces liaisons sont
représentées sous forme analytique, on obtient les équations dites de liaison. Le nombre
de degré de liberté d'une liaison cinématique est toujours plus petit que le nombre de ddl
des deux corps rigides considérés sans contraintes de liaison i.e. libre.
Si les équations de liaison sont de type égalité et ne dépendent que des coordonnées et du
temps, on dit qu'on a des contraintes holonomes. Autrement si les équations de liaisons
contiennent des inégalités ou des relations entre vitesses non directement intégrables, on
dit qu'on a des contraintes non holonomes. Pour fin d'illustration, seules les contraintes
holonomes sont considérées dans ces notes.
B ) la méthode d'ajout des contraintes motrices dans laquelle on doit ajouter, aux
équations de liaisons ou de contraintes originales, des équations de contraintes motrices
(driving constraints ) en nombre égal au nombre de degré de liberté du système.
6
[Link] Exemple de mécanismes à quatre barres
! Les équations cinématiques à tout instant t doivent donc satisfaire les équations (6 ) et
(7):
Φ 1 = l1 cos φ1 + l 2 cos φ 2 − l3 cos φ 3 − d1 = 0 (8)
Φ 2 = l1 sin φ1 + l 2 sin φ 2 − l 3 sin φ 3 − d 2 = 0
Φ 1( d ) = φ10 + ω 10 t = 0
7
! Pour calculer la vitesse, on dérive le système d'équation ( 8 ) par rapport au temps:
Matriciellement, on écrit :
On résout le système pour les valeurs connus de φ1 , φ 2 , φ 3 pour avoir les vitesses
angulaires : φ&1 = 2π rad / s , φ&2 = 0.76 rad / s , φ&3 = 4.09rad / s
− l1 sin φ1 − l 2 sin φ 2 l3 sin φ 3 φ&&1 − l1 cos φ1φ&12 − l 2 cos φ 2φ&22 + l3 cos φ 3φ&32
l cos φ
1 1 l 2 cos φ 2 l3 cos φ 3 φ&&2 + − l1 sin φ1φ&12 − l 2 sin φ 2φ&22 + l3 sin φ 3φ&32 = 0
1 0 0 φ&&3 0
(10)
que l'on peut résoudre pour φ&&1 , φ&&2 , φ&&3 pour les valeurs connus de
φ , φ& , φ , φ& , φ , φ& et ainsi avoir : φ&& = 0 , φ&& = 6.62 , φ&& = 5.39 .
1 1 2 2 3 3 1 2 3
Le processus peut-être répété pour chaque instant de temps considéré et obtenir ainsi
l'évolution du mouvement dans le temps.
8
[Link] Contraintes redondantes (voir Nikravesh, p41-42)
Comme pour un corps en 2D on avait trois degrés de liberté ( x, y, φ ) i on voit que les
deux équations précédentes réduisent le nombre de degré de liberté de 2.
rotations initiales.
9
r
vecteur ni perpendiculaire à la ligne de translation et les contraintes de mouvement
parallèle s'écrivent:
et ni = si , on choisit
xiP − xiR − ( y iP − y iQ )
ni = P R
= P (12)
y i − y i x i − xi
Q
10
r r
ri P = ri + Ai si′ P où si′ P = coordonnées locales du point P (constantes )
cos φ i − sin φ i
Ai =
cos φ i
(matrice d'orientation) (15)
sin φ i
r r r − sin φ i − cos φ i
r&i P = r&i + A& i s r′ P = r&i + Bi si′ Pφ&i Bi =
− sin φ i
avec (16)
cos φ i
&rr& P = &rr& + A
&& s ′ P = &rr& + B s ′ Pφ&& − A s ′ Pφ& 2 (17)
i i i i i i i i i i i
11
Alors dire que le point P est un point coïncident s'écrit vectoriellement :
r r r r
ri + siP = r j + s jP (18)
r r
En exprimant les coordonnées siP et s jP dans le repère fixe (x, y) on a:
cos φ − sin φ
Ai =
cos φ
est la matrice de rotation pour le corps Bi
sin φ
En détails, on a:
r r xPi − x P j 0
Φ ( r , 2) = xiP − x Pj = P P
= (22)
y i − y j 0
12
3.2.3. Algorithme cinématique par ajout de contraintes
motrices.
Si on a m contraintes indépendantes, on doit ajouter k contraintes de liaisons motrices
pour avoir un système à n variables q à résoudre à chaque instant t
Φ = Φ (q& ) = 0
Φ ( d ) = Φ (q, t ) = 0
∂Φ ∂q
∂t ∂t
[ ]
= Φ q {q&} = 0
Φ q 0
⇒ d {q&} = d
(23)
∂Φ ∂q ∂Φ
= 0 Φ q
d d
+ − Φ t
∂q ∂t ∂t
pour un total de n équations linéaires en q&
∂Φ ∂ ∂Φ
q&& + q& = 0
∂q ∂q& ∂q
∂Φ d ∂ ∂ 2 Φ (d ) ∂ 2 Φ (d )
∂q
q&& +
∂q&
( )
Φ dq q& + 2
∂q∂t
q& +
∂t 2
=0
Φ − (Φ q q& )q q&
⇒ ( dq ) {q&&} =
Φ q ( )
− Φ q q& q q& − 2Φ qt q& − Φ tt
(d ) (d ) (d ) (24)
Remarque.:
si les termes de liaisons motrices sont de la forme :
r r
Φ ( d ) ( q, t ) = v − c (t ) = 0 (25)
r
où v : vecteur de variable indépendante
r
c (t ) : vecteur de fonctions connue des temps
13
Φ q Φ q
Φ ( q ) = Iˆ avec Iˆ matrice identité… = [0 1]
d
Φ q Φ u Φv
Iˆ = 0 1
(26)
14
3.2.4. Dynamique des corps rigides
[Link] Systèmes non contraints
On sait que sous l'action d'un système de forces, un corps a tendance à se déplacer
en direction de l'accélération de la force (translation) et à tourner par rapport à un axe qui
intersecté par la ligne d'action de la force ou qui ne lui est pas parallèle, les équations du
mouvement d'un corps sont donc :
Jω& + ω~ Jω = Ti (28)
où Ti résultante des moments appliqués au corps Bi
Ou, de façon plus commode, vu que J ′ est constant dans un repère local (repère
principal ) :
T = AT ′
J ′ω& i′ + ω~i′ J ′ω i′ = Ti′ avec ω = Aω ′ (30)
ω& = A& ω ′ + Aω& ′ = Aω~ ′ω ′ + Aω& ′
En regroupant les deux équations on peut écrire du mouvement d'un corps sans liaison:
M T 0 &r& 0 f
0 + =
J ′ ω& ′ i ω~ ′J ′ω ′ i T i
(31)
15
I ξξ I ξη I ξη
J ′ = I ηξ I ηη I ηζ
I ζξ I ζη I ζζ
i
Matrice d'inertie dans le repère attaché au corps.
r&
vi = vecteur vitesse du corps i (32)
ω ′
On obtient alors le système:
M i v&i + bi = g i où (33)
M o
Mi = T
J ′
est la matrice masse généralisée du corps i
0
0
bi = vecteur vitesses quadratiques du corps i
ϖ ′J ′ω ′
f
gi = vecteur des forces généralisées du corps i
T ′
Pour un système mécanique non contraint composé de b corps solides, les équations du
mouvement s'obtiennent alors en juxtaposant les équations des différents:
16
M 1 v&1 b1 g1
M2 v& b g
2 2 2
. . + . = . (34)
. . .
.
M b v&b bb g b
où de façon compacte :
[M ]{v&} + {b} = {g} (35)
17
[Link] Systèmes contraints
Pour que le système soit contraint, on doit introduire des liaisons cinématiques ou
interconnections entre deux ou plusieurs corps.
a)
b)
Dans ce cas, en plus des contraintes automatiques qui limitent le type de mouvement
permis, on introduit aussi des efforts de réaction aux joints reliant des paires de corps et
que l'on appelle "efforts de liaison". Si le système contient b corps et est défini par le
r
vecteur des coordonnées généralisées q , il existe alors m contraintes de liaisons
cinématiques indépendantes que l'on dénote par:
18
Φ ( q) = 0 (36)
et chaque joint introduit des forces de réaction entre deux corps liés et dont le vecteur
global est dénoté par:
r
g ( c ) = 〈 g1cT , g 2cT ,..., g bcT 〉 T (37)
où g , i = 1.. b est le vecteur force de réaction au joint agissant sur le
c
i
corps Bi .
Dans ce cas on doit modifier l'équation du mouvement du système , pour introduire les
contraintes et les efforts associés:
Pour que l'on puisse résoudre ce système, on doit s'assurer d'abord que les forces de
liaisons et les équations de contraintes cinématiques sont exprimés avec les mêmes
paramètres de coordonnées.
19
[Link] Expression des forces de réaction ou de liaison
Supposons que le vecteur force de liaison g c , est exprimé dans un système de
r
coordonnées compatibles avec q et que l'on le dénote par g *(c ) . Etant donné les m
contraintes cinématiques indépendantes :
φ (q ) = 0 (a)
si on suppose chaque liaison est sans frottement, alors le travail fait les efforts de liaison
pendant un déplacement virtuel δq doit être égal à zéro, i.e.
r r
g ∗( c ) .δq = 0 (b)
r
Comme le déplacement virtuel δq doit être cohérent avec cette contrainte, on doit aussi
avoir de (a) en utilisant le développement en série de Taylor :
∂φ
φ (q + δq ) = φ (q ) + δq + ...
∂q
Comme φ (q ) = 0 , par définition, on voit donc que pour une approximation de 1er ordre ,
le déplacement virtuel compatible avec les contraintes doit être tel que:
φ ( q + δq ) = 0
r
et qui devient dans ce cas , pour δq infinitésimal,
∂φ
δq = 0 (c)
∂q
r
! Maintenant si l'on suppose que l'on peut partitionner, le vecteur des n coordonnées q
en m coordonnées indépendantes u et en n-m coordonnées indépemdantes v, tel que
r
q = (u T , v T ) T
r ∂φ ∂φ T ∂φ T
de sorte que δq = (δu T , δv T ) T et = ,
∂q ∂u ∂v
La matrice jacobienne des dérivées partielles Φ u = ∂Φ / ∂u est de dimension mxm et est
non singuliere (car les m contraintes sont supposées indépendantes.
Par ailleurs on peut aussi partionner les efforts de liaison comme suit:
r
[
g * ( c ) = g u , g v*T
*T
]
T
g u*T δu + g v*T δv = 0
∂Φ ∂Φ (d)
δu + δv = 0
∂u ∂v
20
que l'on peut mettre sous la forme:
g u*T g v*T
∂Φ {δu} = − ∂Φ {δv} (e)
∂u ∂v
g u*
∂Φ
La matrice ∂Φ étant de dimension (m+1)x m, et que la sous matrice Φ u = est
∂u
∂u
non singulière, on peut exprimer la 1ere rangée de la matrice de gauche de l'équation (e),
comme une combinaison linéaire des autres rangées de la matrice, i.e.
{g } = Φ {λ }
* T
r
(u ) u (f)
r
où λ est le vecteur des m multiplicateurs de Lagrange qui sont ici des inconnues
additionnels. Ceci dans l'équation (d) donne:
λT Φ u .δu = − g v*T .δv
et en utilisant (d-2), ceci peut s'écrire:
− λT ∂Φ δv = − g v* T .δv
δv
λT Φ u δu = − g v*T où g v* = Φ Tv λ ( g)
g * Φ T
g * = u* = Tu {λ } = Φ Tq λ (40)
g v Φ v
deviennent:
Mq&& − Φ Tq λ = g ext
(43)
Φ ( q) = 0
21
[Link]. Quelques expressions du vecteur force extérieure
r
[
Pour construire le vecteur des efforts g = g1T , g 2T , ..., g bT agissant sur un système ]
mécanique, on doit d'abord déterminer les efforts agissant sur chaque corps Bi , soit :
gi = f x[ fy T ] en 2D, et
(44)
[
gi = f x fy fz Mx My Mz ] en 3D
1 ) gravité
g gravité = (0 − a g 0)
T
(45)
x P x cos φ i sin φ1 ξ iP
P = +
y y − sin φ1 cos φ1 η iP loc
Ti = ~ [ ]
si P { f i } = s yP f x i + s xP f y i (46)
[ ]{ }
r r
T loc
= sP × f P = ~
sP f P
0 − s zP s yP 0 0 s yP f x
~ P
s = s zP 0 − sx ⇒ 0 0 − s xP f y = − s yP f x + s xP f y
− s yP
s xP 0 − s yP
s xP 0 0
avec :
s xP = cos φξ iP + sin φη1P
s yP = − sin φξ1P + cos φη iP
22
• Autres types d'efforts extérieurs sont:
- Actionneur translationnel:
- permet de transmettre un effort constant ou variable dans le temps.
- Ressort translationnel ou torsionnel:
- effort linéaire ou non linéaire
- Amortisseur translationnel ou rotationnel
T rs = k (θ − θ 0 )
T rd = d θ& θ& = φ& − φ&
j i
3) Actionneur translationnel:
23
4. Ressort translationnel:
Un ressort est un élément de force largement utilisé .
Figure: Ressort translationel entre 2 corps avec comportement linéaire et non linéaire
r r r r
f i(s) = f s u , f j( s ) = f s u
avec f s = k (l − l 0 ) (48)
k: rigidité du ressort
l-l0: élongation du ressort
5. Amortisseur translationnel:
r r r r
donc f i (d ) = f (d )
u , f j( d ) = − f (d )
u
24
[Link] Exemple
Dans un mécanisme à quatre barres, supposons que les corps 2 et 4 soient connectés à un
système de forces de types ressort-amortisseur.
Dans les repères attachés à chaque segment, les points d'application P2 et P4 sont donnés
par les coordonnées suivantes:
s ′2 P = (0.3,0.2) T s ′4 P = ( −0.1,0.1) T
Si à un instant donné, le vecteur des coordonnées généralisées
q 2 = (x 2 y 2 φ 2 ) q 4 = (x 4 y 4 φ 4 ) et les vitesses correspondantes sont données
T T
par:
q 2 = (0.4 0.1 1.3) q& 2 = (0.8 − 0.6 − 0.3)
T T
Question: déterminer alors les vecteurs forces sur les trois corps en mouvement ?
Solution :
(0) faire liste des corps, liaison, repères global et locaux, origine des repères…
cos φ 2 − sin φ 2
r2 = ( x 2 , y 2 ) = (0.4,0.4) A2 =
sin φ 2 cos φ 2
25
cos φ 4 − sin φ 4
r4 = ( x 4 , y 4 ) = ( −0.35,0.2) A4 =
sin φ 4 cos φ 4
après calcul :
r
r r l
l = (− 0.652 − 0.102 ) , u = r = (− 0.988 − 0.154 )
T T
l
r
l = 0.660
(2) vecteur vitesse le long de la ligne d'action:
r& r r
l = r& + φ& B s ′ P − r& − φ& B s ′ P
j j j j i i i i
r&2 = , φ&2 =
r&4 = , φ& =
4
après calcul :
r& r&
l = (− 1.389 1.018) et l = 1.215
s yP = − sin φξ iP + cos φ iη iP
26
(8) Efforts dus à la gravité :
w2 = m2 a g = 24.43
w3 = m3 a g = 6.867
w4 = m4 a g = 23.544
f x 2 − 6.286 0 6285
g 2 = f y 2 = − 30.412 g 3 = − 6.867 g 4 = − 22.562
r r r
TR 2.263 0 − 0.898
27
3.2.5 Étude Dynamique d'un Système Mécanique Multicorps
Plan (démarche à suivre)
[Link] Equations de chaque corps dans le système
Au départ on suppose que le corps est sans liaison (non contraint) mais est soumis à des
efforts extérieurs ou internes.
28
Si on introduit des liaisons ou contraintes, on doit ajouter au système précédent le vecteur
des forces de liaison:
{g } = [Φ ]{λ}
(c) T
q où Φq =
∂Φ
∂q
(jacobien) (52)
29
Types d'efforts:
0
! Effort de gravité : g i
gravité
= − a g
0
i
! Force ponctuelle et le couple associé…
r fx
fi →
f y i
([ ] )
r r
s P { f } z = − s yP f x + s xP f y
Ti = siP × f i = ~
r r r r
f i (a ) = f ( a) u f j( a ) = − f ( a ) u
30
! Amortisseur rotationnel
f ( d ) = − dθ& , θ& = φ& j − φ&i
g ( c ) = Φ Tq λ
On donne ci-après la forme explicite de quelques liaisons simples couramment utilisées, à
savoir la liaison rotoide et la liaison translationnel. (Un lecteur intéressé à
l'approfondissement de la question peut consulter par exemple le livre de Nikravesh
donné en référence).
! Liaison rotoide
31
Figure: Corps connectés par une liaison rotoide et DCL correspondant
ou encore :
x + ξ ip cos φ i − η iP sin φ i − x j − ξ jP cos φ j + η Pj sin φ i
Φ ( r , z ) = ri + Ai si′ P − r j − A j s ′j P = 0 = i
y i + ξ i sin φ i + η i cos φ i − y j − ξ j sin φ j − η j cos φ
p P P P
La matrice Jacobienne :
32
∂φ r ,1 ∂φ r ,1 ∂φ r ,1 ∂φ r ,1 ∂φ r ,1 ∂φ r ,1
∂Φ ( r , 2) ∂x ∂y i ∂φ i ∂x j ∂y j ∂φ j
= Φ (qr , 2) = ri, 2
∂q ∂φ ∂φ r , 2 ∂φ r , 2 ∂φ r , 2 ∂φ r , 2 ∂φ r , 2
∂x ∂y i ∂φ i ∂x j ∂y j ∂φ j
i
1 0 − y iP + y i −1 0 y Pj − y j
=
0 1 xi − xi − 1 − x Pj + x j
P
0
−1 0
M j q&& j − Φ λ = g j avec Φ = 0
T
qj
T
−1
qj
y Pj − y j − x Pj + x j
ou encore sous forme détaillée, on aura pour corps Bi;
m 0 0 &x& 1 0 fx
λ1
0 m 0 &y& − 0 1 = f y
λ
0 0 J ξ i φ&& − y iP − yi
i
( ) xiP − xi 2 i T i
soit:
mi &x&i = f x i + λ1
mi &y&i = f y i + λ 2
( ) (
Tξ i φ&&i = Ti − y iP − y i λ1 + xiP − xi λ 2 )
et pour le corps Bj
m 0 0 &x& 1 0 fx
λ1
0 m 0 &y& − 0 1 λ = f y
&&
0 0 J ξ j φ y j − y j
j
P
( ) − ( x Pj − x j ) 2 j T j
soit
33
m j &x& j = f x j − λ1
m j &y& j = f y j − λ 2
( ) ( )
Tξ j φ&&j = T j + y Pj − y j λ1 − x Pj − x j λ 2
Interprétation physique:
Les multiplicateurs de Lagrange sont en fait des efforts de liaison agissant aux
( )
points P dans le sens opposé à x et y et leur bras de levier sont y Pj − y i et
(x i
P
)
− xi .
34
(φ (
− φ j ) − φ i0 − φ 0j = 0
i )
(ii) pas de mouvement en direction perpendiculaire à la ligne d'action translationnle; (i.e.
les vecteurs si et dj doivent rester parallèle) ou encore en introduisant un troisième
vecteur perpendiculaire à la direction de translation ni, on doit avoir:
niT d = 0
Donc il faut spécifier trois points sur les corps: Pi, Pj et Ri et si on prend ni = si, alors on
doit avoir:
x P − xiR − y iP − yiQ
ni = si = iP = P
( )
R
y i − y i xi − xi
Q
x P − xiP
avec d = Pj P
y j − yi
on a alors les conditions:
Φ =0=
niT d ( )(
x Pj − xiQ y Qj − y iP − y Pj − y iQ x Qj − xiP 0
=
) ( )( )
=
( ) ( )
(t , 2)
0
(φ i − φ j ) − φ i − φ j (φi − φ j ) − φi0 − φ 0j
0
0
∂φ t ,1 ∂φ t ,1 ∂φ t ,1 ∂φ t ,1 ∂φ t ,1 ∂φ t ,1
∂Φ (t , 2) ∂x ∂yi ∂φ i ∂x j ∂y j ∂φ j
= Φ (qt , 2) = ti, 2
∂q ∂φ ∂φ t , 2 ∂φ t , 2 ∂φ t , 2 ∂φt r , 2 ∂φt r , 2
∂x ∂yi ∂φ i ∂x j ∂y j ∂φ j
i
=[ ]
− ( x Pj − xi )( xiP − x Q i ) ( x Pj − x j )( xiP − x Q i )
( y iP − y Q i ) − ( xiP − x Q i ) − ( y P
− y Q
) ( x P
− x Q
)
Φq = i i i i
− ( y Pj − yi )( yiP − y Q i ) + ( y Pj − y j )( y iP − y Q i )
−1
0 0 1 0 0
(
mi &x&i = f x i + y iP − y iQ λ1 )
m &y& = f − (x
i i yi i
P
− x )λ Q
i 2
J φ&& = T − [(x
ξi i i
P
j − x )(xi i
P
) ( )(
− xiQ + y Pj − y i y iP − yi λ1 + λ 2 )]
35
[Link] Résumé du cheminement en modélisation
[M ]{q&&} = [g ext ]
où M est ne matrice diagonale par bloc et non singulière.
Pour un système comportant m liaisons cinématiques indépendantes exprimées via
l'équation matricielle:
Φ ( q) = 0
on dérive les eéquations pour la vitesse :
[Φ ]{q&&} = 0
q où Φ q est la matrice Jacobienne
et pour l'accélération:
g (c) = Φ q λ
et les équations du mouvement deviennent:
Mq&& − Φ Tq λ = g ext
Comme le système contient plus d'inconnues que d'équations, on doit lui adjoindre les
équations cinématiques de l'accélération et on obtient alors le système final suivant à
résoudre:
M Φ Tq q&& g ext
=
Φ q 0 λ γ
r r
En général Φ q est fonction de q et g ext et γ sont fonctions à chaque instant de q, q& et t .
A chaque instant si q et q& sont connus, l'équation ci-dessus est un système en (n+m)
équations en (n+m) inconnues que l'on peut résoudre pour q&& et λ .
36
3.3 Programmation
Afin de réaliser un programme de simulation, on doit organiser les informations et les
procédures de calculs selon un certain algorithme qui dépend de l'approche de
programmation choisie (procédurale ou orientée objet par ex.). Dans ce qui suit on décrit
un algorithme adapté à une programmation procédurale
Données:
NBDY. nombre de corps incluant le référentiel
NRev: nombre de joint/liaison rotoide ou pivot
Ntran: nombre de joint/liaison translationnel
NGrnd: nombre de corps fixes ou "attachés au ground"
Nsimpl: nombre de liaison simple
NDrv : nombre de liaison motrices (driving link)
NSPDA: nombre d'élément de type ressort, amortisseur ou actionneur
NPnt : nombre de point d'intérêt (pour evaluer la performance)
Procédures
1. Pour chaque corps k, entrer l'estimé initial de q k = [x, y, φ ]k (on choisit ici les
coordonnées cartésiennes), des vitesses q& k = [x&, y& , φ&]k , entre la masse mk, moment
d'inertie Jk , forces externes appliquées au centre de masse ( f x , f y , T ) k
2. Pour chaque liaison de type rotoide (pin), entrer les numéros des corps i et j liés et les
coordonnées ξ i P ,η i P , ξ j P ,η j P du point coïncidant P, requis pour définir les
contraintes de liaison
3. Pour chaque liaison de type translationel (prismatique), entrer les numéros des corps i
et j liés et les coordonnées ξ i P ,η i P , ξ i Q , η i Q , ξ j P , η j P des trois points Pi, Qi et Pj,
requis pour définir les contraintes de liaison
4. Entrer le nombre NG de corps fixe (reliés au "ground") (NG doit être positif !) et leur
numéros;
5. Pour chaque liaison simple numéro k, entrer les informations sur les corps liés et les
directions 1 pour x, 2 pou y ou 3 pour φ des contraintes de liaison
6. Pour chaque liaison motrice NDrv >0, entrer les informations sur les corps impliqués,
son numéro, les directions 1,2, ou 3 selon que c'est la composante x, y ou φ qui est
impliquée, ainsi les positions, vitesse et accélérations initiales selon le cas;
7. Dans le cas dynamique, lire les informations relatives aux éléments ressorts,
amortisseurs ou actionneurs présents dans le système:
• pour ressort, donner la constante de rigidité K, les numéros des corps i et j en
interactions,
• les coordonnées ξ i P ,η i P , ξ j P ,η j P des points d'application de ces forces
• coefficient d'amortissement ou de friction
• la force de l'actionneur
• longueur non déformée du ressort.
37
8. lire les points d'intérêt technique pour le design i.e. l'analyse de performance: numéro
du corps et les coordonnées ξ i P ,η i P
9. Pour la simulation , entrer le temps initial et final, l'incrément de temps DT et appeler
une procédure qui résout le problème de
• simulation cinématique: (a) analyse de position, de vitesse ou d'accélération.
Comme en général les équations sont non linéaires, on utilise une méthode de Newton
- Raphson ( linéarisation) qui requiert le calcul de la matrice jacobienne Φ q et
l'évaluation des équations de contraintes de liaison et résout un système linéarisé.
• et/ou simulation dynamique: ici on doit résoudre des équations différentielles i.e.
intégrer les équations du mouvement. Avant d'effectuer cette intégration, on
transforme le système de 2e ordre dérivé ci-dessus en système de 1er ordre, sous forme
de variable d'état et on applique les algorithmes d'intégration d'équations
différentielles de premier ordre (Runge-Kutta, Euler,…). Le logiciel Maple possède
des commandes pour utiliser ces procédures.
10. Finalement, on doit présenter des résultats sous forme graphique en utilisant des
fonctions graphiques de Maple.
38