Documente Academic
Documente Profesional
Documente Cultură
1
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
2
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
axa i axa i + 1
axa i - 1
elementul i
zi
elementul i - 1 αi
zi-1
yi-1 yi
ai
xi
di Oi
θi
Oi-1
xi-1
Fig. 1.1.
• când axele se intersectează, originea sistemului de referinţă se află în punctul
de intersecţie al acestora;
• dacă axele cuplelor sunt paralele originea sistemului {i} se alege astfel încât
pentru următorul element a cărui origine este definită, distanţa di să fie zero;
• axa Oizi a sistemului {i} coincide sau este paralelă cu axa cuplei i + 1;
• axa Oixi coincide sau este paralelă cu normala comună la axele i şi
i + 1, având sensul de la i spre i + 1;
• în cazul în care axele cuplelor se intersectează, axa Oixi este paralelă sau
3
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
axa i
αi axa i + 1
axa i - 1 elementul i
elementul i - 1
zi
Oi
xi
zi-1
di
xi-1
Oi-1 θi
Fig. 1.2.
• originea sistemului de coordonate pentru o cuplă prismatică se alege de obicei
astfel încât ea să coincidă cu următoarea origine definită;
• poziţia zero a unei cuple prismatice se realizează atunci când di = 0;
• sensurile pozitive pentru rotaţii şi translaţii, precum şi sensurile axelor Oizi, se
aleg cu manipulatorul în poziţia zero;
• originea sistemului {0} coincide cu originea sistemului de referinţă {1};
• originea sistemului de referinţă {n} al elementului n coincide cu originea
sistemului de referinţă al elementului n-1.
Transformarea între sistemele {i-1} şi {i} se face în următoarea succesiune:
4
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
i −1
i [T ] = [Rz ] ⋅ [Trz + x ] ⋅ [Rx ] (1.1)
unde:
⎡cθi − sθi 0 0⎤ ⎡1 0 0 ai ⎤
⎢ sθ cθi 0 0 ⎥⎥ ; ⎢0 1 0 0 ⎥⎥
;
[Rz ] = ⎢ i [Trz + x ] = ⎢
⎢0 0 1 0⎥ ⎢0 0 1 di ⎥
⎢ ⎥ ⎢ ⎥
⎣0 0 0 1⎦ ⎣0 0 0 1⎦
⎡1 0 0 0⎤
⎢0 cα − sαi 0 ⎥⎥ .
[Rx ] = ⎢ i
⎢0 sαi cαi 0⎥
⎢ ⎥
⎣0 0 0 1⎦
5
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
6
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
0
[ ] 0 1
[ ] [ ] [ ]
2 n −1
nT = 1T 2T 3T K nT (1.5) [ ]
Relaţia ce stabileşte vectorul de poziţie al punctului caracteristic P al unui
manipulator în raport cu sistemul {0}:
[rP] = 0n [T ] ⋅ n[rP]
0
(1.6)
7
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
O matrice de forma: {{a1, a2, a3, a4},{b1, b2, b3, b4},{c1, c2, c3, c4},{d1, d2, d3, d4}},
⎡ a1 a2 a3 a4 ⎤
⎢b b2 b3 b4 ⎥⎥ .
trebuie înţeleasă astfel: ⎢ 1
⎢ c1 c2 c3 c4 ⎥
⎢ ⎥
⎣d 1 d2 d3 d4 ⎦
Pentru manipulatorul din figura 1.3. se cunosc coordonatele robot din cuple ca
funcţii de timp şi lungimile O0O1 = O1O2 = O2O3 = AP = 1 dm. Se cere să se determine
modelul geometric direct.
O0
y0
x0 q1
y1
O1 q5
y2 y3
q2 z4
q4 A
x1 O2 q3
O3,4 x3 z5
x2
x4 P
Figura 1.3.
x5
θi di ai αi
Elem. O0O1 q1 0 1 0
i=1
Elem. O1O2 q2 0 1 0
i=2
Elem. O2O3 q3 0 1 0
i=3
Elem. O3A q4 - Pi / 2 0 0 - Pi / 2
i=4
Elem. AP 0 1 + q5 1 0
i=5
8
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Valorile lui teta: Valorile lui d: Valorile lui a: Valorile lui alpha:
0
q[1][t] 0 1 0
q[2][t] 0 1 0
q[3][t] 0 1 -Pi
-Pi/2+ q[4][t] 0 0 0
0 1 + q[5][t] 1
t[5, 4] -> {{1, 0, 0, 1}, {0, 1, 0, 0}, {0, 0, 1, 1 + q[5][t]}, {0, 0, 0, 1}}
9
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
n=5
Parametrii Denavit-Hartenberg:
10
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Valorile lui teta: Valorile lui d: Valorile lui a: Valorile lui alpha:
q[1][t] 0 l1 0
q[2][t] 0 l2 0
q[3][t] 0 l3 0
-Pi/2 + q[4][t] 0 0 -Pi/2
0 l4+q[5][t] l5 0
1.4.1. Generalităţi
11
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Θ = ƒ −1 ( X ) (1.8)
12
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
ƒ 1 (q1 , q2 ,K , qk ) = 0 ⎫
⎪
ƒ 2 (q1 , q2 ,K , qk ) = 0 ⎪ (1.10)
⎬
M ⎪
ƒ k (q1 , q2 ,K , qk ) = 0 ⎪⎭
13
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
[Θ ] = [Θ ( p ) ]+ [ε ( p ) ] (1.15)
unde:
⎡ε ( p ) ⎤
⎢ 1( p ) ⎥ (1.16)
[ ]
ε ( p)
=⎢ 2
ε
⎢ M ⎥
⎥
⎢ ( p )⎥
⎢⎣ ε k ⎥⎦
⎡ ∂f 1 ∂f 1 ∂f 1 ⎤
⎢ ∂q L
∂q 2 ∂q k ⎥
⎢ 1 ⎥ (1.19)
⎢ ∂f 2 ∂f 2
L
∂f 2 ⎥
[J (Θ )] = ⎢ ∂q1 ∂q 2 ∂q k ⎥
⎢ M M M ⎥
⎢ ⎥
⎢ ∂f k ∂f k
L
∂f k ⎥
⎢⎣ ∂q1 ∂q 2 ∂qk ⎥⎦
Dacă matricea [J ([Θ ( ) ])] are determinantul nenul, atunci se poate scrie:
p
14
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
15
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Ecuaţia matriceală
0
n [T ] = 0n [Timpus ] (1.25)
şi, eventual, alte ecuaţii ce provin din restricţiile geometrice ale spaţiului de lucru
al robotului sau din alte constrângeri.
16
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
soluţii care se pot obţine este în acest caz infinit. Dacă utilizatorul nu doreşte să
introducă ecuaţii de constrângere, atunci el poate să obţină soluţii exacte într-un
anume câmp de valori, pe care îl indică prin soluţiile aproximative oferite
algoritmului ca date de intrare.
Programul sursă, realizat în limbajul Mahematica, este prezentat în Anexa2.
Manipulatorului din figura 1.3., pentru care s-a determinat modelul geometric
direct în capitolul I, i se impune poziţia şi orientarea efectuorului prin ecuaţiile {p11
= 0.5, p13 = 0.866025, p14 = 4.4, p24 = 2}, unde pij este elementul aflat la intersecţia
liniei i cu coloana j în matricea 05 [T ] , determinată cu programul pentru modelarea
geometriei directe. Se cere să se determine modelul geometric invers.
Mod de lucru:
Se utilizează programul pentru modelarea geometriei directe şi se determină:
17
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Poziţia 1 Poziţia 2
Poziţia 1
{q[1][t] -> 6.04258, q[2][t] -> 7.39207, q[3][t] -> -29.7079, q[4][t] -> 16.7968,
q[5][t] -> 2.61266}
Poziţia 2
{q[1][t] -> 0.126611, q[2][t] -> 0.553215, q[3][t] -> 0.0854166, q[4][t] -> -
0.241642,
q[5][t] -> 0.740122}
Poziţia 3
{q[1][t] -> 0.106141, q[2][t] -> 0.663729, q[3][t] -> -0.0746609, q[4][t] -> -
0.171609, q[5][t] -> 0.746188}
18
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Poziţia 4
{q[1][t] -> 0.977998, q[2][t] -> -0.685747, q[3][t] -> 0.00943441, q[4][t] ->
0.221915, q[5][t] -> 0.758029}
Poziţia 5
{q[1][t] -> 0.318339, q[2][t] -> -0.0281403, q[3][t] -> 0.672063, q[4][t] -> -
0.438663, q[5][t] -> 0.748293}
19
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
• viteza liniară şi acceleraţia liniară ale punctului caracteristic (ce aparţine ultimului
element al robotului), exprimată prin proiecţiile lor pe axele sistemului fix;
• viteza unghiulară şi acceleraţia unghiulară ale ultimului element al robotului,
exprimate prin proiecţiile lor pe axele sistemului fix;
• opţional: - valorile vitezei şi acceleraţiei liniare şi ale vitezei şi acceleraţiei
unghiulare mai sus amintite, pentru valori particulare atribuite poziţiilor din cuple.
0
[vP ]= 0 [r&P ] (1.26)
care reprezintă relaţia de derivare în raport cu timpul a vectorului de poziţie al
punctului caracteristic P, pentru determinarea vitezei liniare;
[S ]= n0 [R& ]n0 [R]T (1.27)
care reprezintă relaţia prin care se calculează matricea [S] = matricea vitezei unghiulare,
⎡ 0 − ωz ωy ⎤
[S ] = ⎢⎢ ω z 0
⎥
− ωx ⎥ (1.28)
⎢− ω y ωx 0 ⎥⎦
⎣
20
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
În relaţiile de mai sus, [R] reprezintă matricea ce caracterizează orientarea sistemului {n}
0
n
0
[aP ]=0 [v&P ] (1.29)
relaţia de derivare în raport cu timpul a vectorului viteză unghiulară a efectuorului
pentru determinarea acceleraţiei unghiulare;
0
[ε P ]=0 [w& P ] (1.30)
21
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
22
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
{q[1][t] -> 34.001 Degree, . . . }, vectorii viteze şi acceleraţii care se obţin sunt:
vP1[0]={{-11.1007}, {-0.956145}, {0}}
wP1[0]={{0}, {0}, {4.08}}
aP1[0]={{2.02352}, {-39.6221}, {0}}
EP1[0]={{0}, {0}, {2.85}}
iar vectorii eroare:
errvP[0]= Abs[vP[0]-vP1[0]]={{0.0000166862}, {0.000193744}, {0}}
errwP[0]= Abs[wP[0]-wP1[0]]={{0}, {0}, {0.}}
erraP[0]= Abs[aP[0]-aP1[0]]={{0.000691537}, {0.0000353111}, {0}}
errEP[0]= Abs[EP[0]-EP1[0]]={{0}, {0}, {0.}}
Dacă viteza robot (q[4])’[t] are o abatere de 2 sutimi rad/s de la valoarea
nominală şi restul rămân neschimbate:
{ . . ., (q[4])'[t] -> 1.32, . . .}
se obţine:
vP2[0]={{-11.1314}, {-0.974926}, {0}}
wP2[0]={{0}, {0}, {4.1}}
aP2[0]={{2.17139}, {-39.8875}, {0}}
EP2[0]={{0}, {0}, {2.85}}
Iar erorile sunt:
errvP[0]= Abs[vP[0]-vP2[0]]={0.0306586}, {0.0189749}, {0}}
errwP[0]= Abs[wP[0]-wP2[0]]={{0}, {0}, {0.02}}
erraP[0]= Abs[aP[0]-aP2[0]]={{0.148566}, {0.26534}, {0}}
errEP[0]= Abs[EP[0]-EP2[0]]={{0}, {0}, {0.}}
1.6.1. Generalităţi
23
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
24
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
25
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
axele sistemului de referinţă fix; dacă numărul n de necunoscute este încă mai mare
decât numărul p de ecuaţii, atunci fie se vor adăuga ecuaţii de constrângere, fie se
vor considera anumite viteze robot drept parametri de calcul, numărul acestora
fiind egal cu diferenţa între numărul de necunoscute şi numărul de ecuaţii.
Observaţie: toate aceste viteze, reprezintă date de intrare ce se pot da atât numeric,
cât şi literal.
26
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
1.7.1. Generalităţi
27
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
vederea evitării acestui neajuns, în lucrarea mai sus amintită se fac aproximări la
determinarea inerţiilor din cuple, iar derivarea unei matrici esteînlocuită prin
produsul dintre acea matrice şi operatorul diferenţial ∆.
Formalismul Lagrange pentru stabilirea ecuaţiilor mişcării
Dacă [ri ] - reprezintă vectorul de poziţie al unui punct aflat pe elementul iîn
0
= Trace ⎢∑
( )
⎡ i ∂ 0 [T ]
i
i ⎛
q& j [ri ]⋅ ∑ ⎜⎜
i ∂ 0
i [ ( )
T] i ⎞ ⎤
T
= Trace ⎢∑∑ i
( )
⎡ i i ∂ 0 [T ] i i T ∂ 0 [T ] T
[ri ] [ri ] i ( ) ⎤
q& j q& k ⎥
⎢⎣ j =1 k =1 ∂q j ∂qk ⎥⎦
1
dK i = Trace⎢∑∑ i
( )
⎡ i i ∂ 0 [T ] i i T ∂ 0 [T ] T
[ri ] [ri ] i
⎤ ( )
q& j q& k ⎥ dm =
2 ⎢⎣ j =1 k =1 ∂q j ∂qk ⎥⎦
(1.39)
1 ⎡ i i ∂ 0 [T ]
= Trace⎢∑∑ i
( ) ( [r ] dm[r ] )∂ ( [T ])
i i T
0
i
T
⎤
q& j q& k ⎥
⎢⎣ j =1 k =1 ∂q j ∂q
i i
2 k ⎥⎦
Energia cinetică a întregului element i are expresia:
28
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
1
∑∑ ⎜( )
⎡ i i ∂ 0 [T ] ⎛ i i T
[ ] [ ] ⎟ i ( )
⎞ ∂ 0 [T ] T ⎤
Ki = ∫ dK i =
2
Trace ⎢ i
∫
⎢⎣ j =1 k =1 ∂q j ⎜⎝ elem.i
ri ri dm
⎟ ∂qk
q& j q& k ⎥ (1.40)
⎥⎦
elem.i ⎠
Integrala din relaţia de mai sus este cunoscută sub numele de pseudomatricea
inerţiei:
[J i ] = ∫ i [ri ]i [ri ]T dm =
elem.i
⎡ xi dm ⎤
∫ ∫ ∫ ∫
i 2 i
xi dm xi i yi dm i
xi i zi dm i
Ştiind că:
I xx = ∫ ( y 2 + z 2 )dm , I xy = ∫ xy dm
I yy = ∫ ( x 2 + z 2 )dm , I xz = ∫ xz dm
(1.42)
I zz = ∫ ( x 2 + y 2 )dm , I yz = ∫ yz dm
mx = ∫ x dm
my = ∫ y dm
mz = ∫ z dm
se poate calcula:
( x2 + z 2 ) + ( x2 + y2 ) − ( y2 + z 2 ) − I xx + I yy + I zz
∫ = ∫ =
2
x dm dm
2 2
I − I + I
∫ y dm =
2 xx yy zz
(1.43)
2
29
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
I xx + I yy − I zz
∫ z dm =
2
.
2
Se obţine astfel:
⎡ − I ixx + I iyy + I izz ⎤
⎢ I ixy I ixz mi xi ⎥
⎢ 2 ⎥
I ixx − I iyy + I izz
⎢ ⎥
[J i ] = ⎢ I ixy
2
I iyz m y
i i (1.44)
⎥
⎢ I ixx + I iyy − I izz ⎥
⎢ I ixz I iyz mi zi ⎥
⎢ 2
⎣ mi xi mi yi mi zi mi ⎥⎦
Energia cinetică a unui manipulator cu n elemente este:
n
1 n
K = ∑ K i = ∑ Trace ⎢∑∑
⎡ i i ∂ 0 [T ] ( )
i
[J i ] ( )
∂ 0i [T ]
T
⎤
q& j q& k ⎥ =
i =1 2 i=1 ⎢⎣ j =1 k =1 ∂q j ∂qk ⎥⎦
(1.45)
1 n i
= ∑∑ ∑ Trace ⎢ i
i ⎡ ∂ [T ] 0
( ) ( )
[J i ] ∂ i [T ] ⎥ q& j q&k
0 T
⎤
2 i=1 j =1 k =1 ⎢⎣ ∂q j ∂qk ⎥⎦
Dacă se notează Kacţ. i = energia cinetică a sistemului de acţionare (a motorului)
din cupla i, atunci:
1
K act .i = I ai q&i2 (1.46)
2
unde Iai reprezintă inerţia sistemului de acţionare din cupla i, exprimatăîn raport cu
sistemul {i}.
Astfel, energia cinetică totală a unui manipulator cu n elemente mobile şi tot
atâtea cuple este:
1 n i i
K = ∑∑∑ Trace⎢
( )
⎡ ∂ 0 [T ]
i
[J i ] ( )
∂ 0i [T ] ⎤
T
1 n
⎥ q& j q&k + ∑ I ai q&i2 (1.47)
2 i=1 j =1 k =1 ⎢⎣ ∂q j ∂qk ⎥⎦ 2 i=1
Energia potenţială a lanţului cinematic
Energia potenţială a unui obiect aflat laînălţimea hîn câmpul gravitaţional, g,
este:
P=m⋅g⋅h (1.48)
Dacă [ri ] reprezintă vectorul de poziţie al centrului de masă al elementului i,
i
30
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
⎡gx ⎤
⎢g ⎥
[g ] = ⎢ y ⎥ (1.49)
⎢gz ⎥
⎢ ⎥
⎣1⎦
reprezintă vectorul acceleraţiei gravitaţionaleîn raport cu axele sistemului de
referinţă fix, atunci energia potenţială a elementului i este:
Pi = − mi [g ] i [T ] [ri ]
T0 i
(1.50)
Energia potenţială totală a unui manipulator cu n elemente are expresia:
n
P = −∑ mi [g ] [T ]i [ri ]
T0
i (1.51)
i =1
Lagrangeanul manipulatorului
1 n i i
L = K − P = ∑∑∑ Trace ⎢
⎡ ∂ 0 [T ]
i ( )
[J i ] ∂ 0i [T ] ⎤
T
( )
⎥ q& j q& k +
2 i=1 j =1 k =1
⎣⎢
∂q j ∂ q k ⎥⎦ (1.52)
1 n n
+ ∑ I ai q&i2 + ∑ mi [g ] i [T ] [ri ]
T0 i
2 i=1 i =1
Aplicând ecuaţia lui Lagrange pentru elementul i, rezultă
d ∂L ∂L
Fi = − (1.53)
dt ∂q&i ∂qi
Calculăm derivatele:
∂L 1 n i
= ∑∑ Trace ⎢
⎡ ∂ 0 [T ]
i ( )
[J i ] ∂ 0i [T ] ( ) ⎤⎥ q&
k +
T
∂q& p 2 i =1 k =1 ⎢⎣ ∂q p ∂qk ⎥⎦
(1.54)
1 n i
+ ∑∑ Trace ⎢
⎡ ∂ 0 [T ]
i ( )
[J i ] ( )
∂ 0i [T ] ⎤
T
⎥q& j + I ap q& p
2 i =1 k =1 ⎢⎣ ∂ q j ∂ q k ⎥⎦
Se observă că:
31
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
( ) ( ) ( ) ( )
T
⎡ ∂ 0 [T ] ∂ 0i [T ] ⎤
T
⎡ ∂ 0 [T ] ∂ 0i [T ] ⎤
T
Trace ⎢ i
[J i ] ⎥ = Trace ⎢ i
[J i ] ⎥ =
⎢⎣ ∂q j ∂qk ⎥⎦ ⎢⎣ ∂q j ∂qk ⎥⎦
(1.55)
= Trace ⎢ i
( )
⎡ ∂ 0 [T ] 0
( )
[J i ] ∂ i [T ] ⎥
T
⎤
⎢⎣ ∂qk ∂q j ⎥⎦
Se obţine:
∂L n i ⎡ ∂ 0 [T ]
= ∑∑ Trace ⎢ i ( )
[J i ] ∂ 0i [T ] ( ) ⎤⎥ q& + I
T
q& p (1.56)
∂q& p i =1 k =1 ⎢⎣ ∂qk ∂q p ⎥⎦
k ap
Dar,
∂ 0i [T ]
= 0 , pentru p > i (1.57)
∂q p
Rezultă:
∂L n i
= ∑∑ Trace ⎢
⎡ ∂ 0 [T ]
i ( )
[J i ] ∂ 0i [T ] ( ) ⎤⎥ q& + I
T
ap q p
& (1.58)
∂q& p i = p k =1 ⎢⎣ ∂qk ∂q p ⎥⎦
k
d ∂L n i
= ∑∑ Trace ⎢ i( )
⎡ ∂ 0 [T ]
[J i ] ( )
∂ 0i [T ] ⎤
T
⎥ q&&k + I a q&&p +
dt ∂q& p i = p k =1 ⎢⎣ ∂ q k ∂ q p ⎥⎦
n i
+ ∑∑∑ Trace ⎢
i
( )
⎡ ∂ 2 0 [T ]
i
[J i ] ( )
∂ 0i [T ] ⎤
T
⎥ q& q&
i = p k =1 m =1 ⎢⎣ ∂q p∂qm ∂qk ⎥⎦ k m
32
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
∂L 1 n i i
= ∑∑∑ Trace ⎢ i ( )
⎡ ∂ 2 0 [T ]
[J i ] ( ) ⎤⎥ q& q&
∂ 0i [T ]
T
∂q p 2 i = p k =1 m =1 ⎢⎣ ∂q j∂q p ∂qk ⎥⎦
j k
1 n i i
+ ∑∑∑ Trace ⎢
⎡ ∂ 2 0 [T ]
i ( )
[J i ] ( )
∂ 0i [T ] ⎤
T
i= p ∂q p i
+
∂q p i = p j =1 k =1 ⎢⎣ ∂q p∂q j ∂qk ⎥⎦
j k
(1.61)
T ∂ [T ]i
n 0
+ ∑ mi [g ] i [r ]
i= p ∂q p i
Se calculează în continuare diferenţa:
d ∂L
−
∂L n i
= ∑∑ Trace ⎢
⎡ ∂ 0 [T ]
i ( )
[J i ] ∂ 0i [T ] ⎤
T
( )
⎥ q&& +
dt ∂q& p ∂q p i = p k =1 ⎢⎣ ∂qk ∂q p ⎥⎦ k
n i
+ I ap q&&p + ∑∑∑ Trace ⎢
i
i ( )
⎡ ∂ 2 0 [T ]
[J i ] ( )
∂ 0i [T ] ⎤
T
i= p ∂q p i
Schimbând indicele de însumare, p în i şi i în j, se obţin ecuaţiile dinamicii:
33
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
n j ⎡ ∂ 0 [T ]
Fi = ∑∑ Trace ⎢ j Jj
∂ 0
j( )[ ] ( )
[T ]
T
⎤
⎥ q&& + I q&& +
j = i k =1 ⎢ ∂qk ∂qi ⎥ k ai i
⎣ ⎦
n j
+ ∑∑∑ Trace ⎢
j ⎡ ∂ 2 0 [T ]
j
Jj
( )[ ] ( )
∂ 0j [T ] ⎤
T
j =i ∂qi
Se mai poate scrie:
n n n
Fi = ∑ Dij q&&j + I ai q&&i + ∑∑ Dijk q& j q&k + Di , (1.64)
j =1 j =1 k =1
în care:
Dij = ∑ Trace ⎢
n ( )[ ] ( )
⎡ ∂ 0 [T ]
p
Jp
∂ p0 [T ] ⎤
T
⎥ (1.65)
p = max i , j ⎢ ∂q j ∂qi ⎥
⎣ ⎦
n
Dijk = ∑ Trace ⎢ p
( )[ ] ( )
⎡ ∂ [T ]
0
Jp
∂ p [T ] ⎤
0 T
⎥ (1.66)
p = max i , j , k ⎢ ∂q j∂qk ∂qi ⎥
⎣ ⎦
n
Di = ∑ − m p [g ]
( )
T ∂ p [T ] i
0
[ri ] (1.67)
p =i ∂qi
unde
Dii reprezintă inerţia efectivă din cupla i;
Dij reprezintă inerţia cuplajului între cupla i şi cupla j;
Dijj reprezintă coeficientul forţei centripete din cupla i, datorată vitezei din cupla j;
Dijk reprezintă coeficientul forţei Coriolis din cupla i,datorată vitezelor din cuplele j
şi k
Di reprezintă încărcarea gravitaţională din cupla i.
34
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
35
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Manipulatorul plan din figura 1.4. are elementele O0O1 = O1O2 = O2P = 2 dm.
Elementele sunt considerate bare omogene având densitatea ρ = 8 000 Kg/m3 şi
secţiune circulară cu φ = 3 cm. Momentul de inerţie al sistemului de acţionare din
fiecare cuplă în raport cu sistemul de referinţă corespunzător este Ia = 0,11 Kg ⋅
dm2. Se cere să se stabilească ecuaţiile dinamicii, dacă manipulatorul nu este
încărcat cu sarcină în punctul P. x3
y3 P
q3 x2
y2
O2
y1 q2
y0
36 x1
O1
q1
x0
O0
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Figura 1.4.
θi di ai αi
Elem. O0O1 q1 0 2 0
i=1
Elem. O1O2 q2 0 2 0
i=2
Elem. O2O3 q3 0 2 0
i=3
37
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
38
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
1.8.1. Generalităţi
39
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
40
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
n n n
∑ D q&& + I
j =1
ij j ai q&&i + ∑∑ Dijk q& j q&k + Di = Fi impus
j =1 k =1
(1.68)
Pentru manipulatorul din figura 1.4. se cere să se determine q1(t), q2(t), q3(t),
dacă se cunosc forţele generalizate (momentele motoare) din cuple F1 = 100.3 Kg ⋅
dm2 ⋅ rad/s2, F2 = 78.56 Kg ⋅ dm2 ⋅ rad/s2, F3 = 47.69 Kg ⋅ dm2 ⋅ rad/s2, masele
elementelor m1 = m2 = m3 = 1.12 Kg, şi condiţiile iniţiale q1(0) = 0.5 rad, q2(0) = 1
rad, q3(0) = 0.5 rad.
Mod de lucru:
• se folosesc algoritmele corespunzătoare fiecărui model şi se determină: modelul
geometric direct, modelul cinematic direct, modelul cinematic invers, ecuaţiile de
mişcare;
• se lansează în execuţie algoritmul pentru simularea dinamicii
Algoritmul permite studiul influenţei maselor elementelor asupra curbelor de
variaţie ale coordonatelor robot de poziţie.
41
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
q[i][rad]
q[3][t]
q[1][t]
q[2][t]
t[s]
t[s]
42
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Anexa 1
Print["MODELUL GEOMETRIC DIRECT"]
Print["n=",n=Input["-MODEL GEOMETRIC DIRECT- Introduceti nr. gradelor de libertate
n " ]]
Do[teta[i][t]=Input["-MODEL GEOMETRIC DIRECT- Introduceti" teta[i][t]],{i,1,n,1}]
Print["Valorile lui teta:"]
Do[Print[teta[i][t]],{i,1,n,1}]
Do[d[i][t]=Input["-MODEL GEOMETRIC DIRECT-Introduceti"d[i][t]],{i,1,n,1}]
Print["Valorile lui d:"]
Do[Print[d[i][t]],{i,1,n,1}]
Do[a[i][t]=Input["-MODEL GEOMETRIC DIRECT-Introduceti"a[i][t]],{i,1,n,1}]
Print["Valorile lui a:"]
Do[Print[a[i][t]],{i,1,n,1}]
Do[alpha[i][t]=Input["-MODEL GEOMETRIC DIRECT-Introduceti"alpha[i][t]],{i,1,n,1}]
Print["Valorile lui alpha:"]
Do[Print[alpha[i][t]],{i,1,n,1}]
Print["Transformatorii omogeni compusi sunt:"]
Print[""]
Do[Print[t[i,i-1]->{{Cos[teta[i][t]],-Sin[teta[i][t]] Cos[alpha[i][t]],Sin[teta[i][t]]
Sin[alpha[i][t]],a[i][t] Cos[teta[i][t]]},{Sin[teta[i][t]],Cos[teta[i][t]] Cos[alpha[i][t]],-
Cos[teta[i][t]] Sin[alpha[i][t]],a[i][t]
Sin[teta[i][t]]},{0,Sin[alpha[i][t]],Cos[alpha[i][t]],d[i][t]},{0,0,0,1}}],{i,1,n}]
Do[T[i,i-1]={{Cos[teta[i][t]],-Sin[teta[i][t]] Cos[alpha[i][t]],Sin[teta[i][t]]
Sin[alpha[i][t]],a[i][t] Cos[teta[i][t]]},{Sin[teta[i][t]],Cos[teta[i][t]] Cos[alpha[i][t]],-
Cos[teta[i][t]] Sin[alpha[i][t]],a[i][t]
Sin[teta[i][t]]},{0,Sin[alpha[i][t]],Cos[alpha[i][t]],d[i][t]},{0,0,0,1}},{i,1,n}]
Do[teta[i][t]=.,{i,1,n}]
Do[d[i][t]=.,{i,1,n}]
Do[a[i][t]=.,{i,1,n}]
Do[alpha[i][t]=.,{i,1,n}]
Do[T[i,0]=T[i-1,0].T[i,i-1],{i,2,n}]
Do[R[i,i-1]=Table[Part[T[i,i-1],k,m],{k,1,3},{m,1,3}],{i,1,n}]
Print["Coordonatele lui P in ultimul sistem de referinta sunt:"]
Print[""]
Print["x=",xP[n]=Input["-MODEL GEOMETRIC DIRECT-Introduceti"xP[n]]]
Print["y=",yP[n]=Input["-MODEL GEOMETRIC DIRECT-Introduceti"yP[n]]]
Print["z=",zP[n]=Input["-MODEL GEOMETRIC DIRECT-Introduceti"zP[n]]]
Print["r=",rP[n]={{xP[n]},{yP[n]},{zP[n]},{1}}]
xP[n]=.
yP[n]=.
zP[n]=.
Print["Vectorul de pozitie al lui P in sistemul 0 este:"]
Do[Print[t[i,0]->Factor[T[i,0],Trig->True]],{i,1,n}]
Print["rP[0]=",Factor[rP[0]=T[n,0].rP[n],Trig->True]]
MGD=Factor[rP[0],Trig->True];
43
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Anexa 2
Print["MODELUL GEOMETRIC INVERS"]
Print[""]
Timpus[n,0]=.;
tip=Input["Precizati tipul robotului: PLAN sau SPATIAL"];
If[tip==PLAN,,,ec=6];
If[tip==SPATIAL,,,ec=4];
Timpus[n,0]=Input["-MODEL GEOMETRIC INVERS-Introduceti"Timpus[n,0]];
Print[timpus[n,0]->Timpus[n,0]]
Print[""]
Table[rot[i]={Sin[q[i][t]],Cos[q[i][t]]},{i,1,n}];
Table[tr[i]={q[i][t]},{i,1,n}];
Print["Necunoscutele sunt: ",necunoscute=Input["Precizati tipul cuplelor, sub forma:{rot[i],tr[j]...},daca i este
cupla de rotatie si j este cupla de translatie"]]
nec=Length[Flatten[necunoscute]];
test1=ec-nec;
If[tip==SPATIAL,,,If[test1<0,,m=Length[nectot=Flatten[necunoscute]]]];
If[tip==SPATIAL,,,If[test1<0,,If[ec-
m!=3,,MGI=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]],{{1},{2},
{3},{5},{6},{7},{8}}],nectot]]]]
If[tip==SPATIAL,,,If[test1<0,,If[ec-
m!=2,,If[Length[necunoscute]!=1,,MGI=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i
,j]},{i,1,4},{j,1,4}]],{{4},{5},{6},{7},{8}}],nectot]]]]]
If[tip==SPATIAL,,,If[test1<0,,If[ec-
m!=2,,If[Length[necunoscute]!=2,,MGI=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i
,j]},{i,1,4},{j,1,4}]],{{1},{2},{3},{5},{6},{7}}],nectot]]]]]
If[tip==SPATIAL,,,If[test1<0,,If[ec-
m!=1,,MGI=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]],{{5},{6},
{7},{8}}],nectot]]]]
If[tip==SPATIAL,,,If[test1<0,,If[ec-m!=0,,MGI=NSolve[T[n,0]==N[Timpus[n,0]],nectot]]]]
If[tip==SPATIAL,,,If[test1>=0,,Timpus[2,0]=Input["Deoarece nr. de ecuatii este insuficient pentru rezolvarea
completa a modelului geometric invers mai este necesara intoducerea matricei" t[2,0]]]];
If[tip==SPATIAL,,,If[test1>=0,,Print[timpus[2,0]->Timpus[2,0]]]]
If[tip==SPATIAL,,,If[test1>=0,,m11=Length[nectot12=Union[Part[necunoscute,1],Part[necunoscute,2]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[ec-
m11!=2,,MGI11=NSolve[Delete[Flatten[Table[{Part[T[2,0],i,j]==Part[N[Timpus[2,0]],i,j]},{i,1,4},{j,1,4}]],{{1
},{2},{3},{5},{6},{7}}],nectot12]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[ec-
m11!=1,,MGI11=NSolve[Delete[Flatten[Table[{Part[T[2,0],i,j]==Part[N[Timpus[2,0]],i,j]},{i,1,4},{j,1,4}]],{{5
},{6},{7},{8}}],nectot12]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[ec-m11!=0,,MGI11=NSolve[T[2,0]==N[Timpus[2,0]],nectot12]]]];
If[tip==SPATIAL,,,If[test1>=0,,test2=ec-(nec-Length[nectot12])]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,m21=Length[Flatten[Delete[necunoscute,{{1},{2}}]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,If[ec-
m21!=3,,MGI21=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[Timpus[n,0],i,j]},{i,1,4},{j,1,4}]/.MGI11
],{{1},{2},{3},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2}}]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,If[ec-
m21!=2,,If[Length[Delete[necunoscute,{{1},{2}}]]!=1,,MGI21=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]=
=Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11],{{4},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2}}]]
]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,If[ec-
m21!=2,,If[Length[Delete[necunoscute,{{1},{2}}]]!=2,,MGI21=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]=
=Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11],{{1},{2},{3},{5},{6},{7}}],Flatten[Delete[necunoscute,{{1},{2
}}]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,If[ec-
m21!=1,,MGI21=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11],{{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2}}]]]]]]];
44
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,If[ec-
m21!=0,,MGI21=NSolve[T[n,0]==N[Timpus[n,0]]/.MGI11,Flatten[Delete[necunoscute,{{1},{2}}]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2<0,,{MGI11,MGI21}]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,Timpus[4,0]=Input["Deoarece nr. de ecuatii este inca insuficient
pentru rezolvarea completa a modelului geometric invers mai este necesara intoducerea matricei" t[4,0]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,Print[timpus[4,0]->Timpus[4,0]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,m22=Length[nectot34=Union[Part[necunoscute,3],Part[necunoscu
te,4]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[ec-
m22!=2,,MGI22=NSolve[Delete[Flatten[Table[{Part[T[4,0],i,j]==Part[N[Timpus[4,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11],{{1},{2},{3},{5},{6},{7}}],nectot34]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[ec-
m22!=1,,MGI22=NSolve[Delete[Flatten[Table[{Part[T[4,0],i,j]==Part[N[Timpus[4,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11],{{5},{6},{7},{8}}],nectot34]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[ec-
m22!=0,,MGI22=NSolve[T[4,0]==N[Timpus[4,0]]/.MGI11,nectot34]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,test3=ec-(nec-Length[Union[nectot12,nectot34]])]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,m31=Length[Flatten[Delete[necunoscute,{{1},{2},{3},{4
}}]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,If[ec-
m31!=3,,MGI31=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22],{{1},{2},{3},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4}}]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,If[ec-
m31!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4}}]]!=1,,MGI31=NSolve[Delete[Flatten[Table[{Part[T[n,
0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22],{{4},{5},{6},{7},{8}}],Flatten[Delete[necuno
scute,{{1},{2},{3},{4}}]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,If[ec-
m31!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4}}]]!=2,,MGI31=NSolve[Delete[Flatten[Table[{Part[T[n,
0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22],{{1},{2},{3},{5},{6},{7}}],Flatten[Delete[nec
unoscute,{{1},{2},{3},{4}}]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,If[ec-
m31!=1,,MGI31=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22],{{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4}}]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,If[ec-
m31!=0,,MGI31=NSolve[Flatten[T[n,0]==N[Timpus[n,0]]/.MGI11/.MGI22],Flatten[Delete[necunoscute,{{1},{2
},{3},{4}}]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3<0,,{MGI11,MGI22,MGI31}]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,Timpus[6,0]=Input["Deoarece nr. de ecuatii este inca
insuficient pentru rezolvarea completa a modelului geometric invers mai este necesara intoducerea matricei"
t[6,0]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,Print[timpus[6,0]->Timpus[6,0]]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,m32=Length[nectot56=Union[Part[necunoscute,5],Pa
rt[necunoscute,6]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[ec-
m32!=2,,MGI32=NSolve[Delete[Flatten[Table[{Part[T[6,0],i,j]==Part[N[Timpus[6,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22],{{1},{2},{3},{5},{6},{7}}],nectot56]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[ec-
m32!=1,,MGI32=NSolve[Delete[Flatten[Table[{Part[T[6,0],i,j]==Part[N[Timpus[6,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22],{{5},{6},{7},{8}}],nectot56]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[ec-
m32!=0,,MGI32=NSolve[Flatten[T[6,0]==N[Timpus[6,0]]/.MGI11/.MGI22],nectot56]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,test4=ec-(nec-
Length[Union[nectot12,nectot34,nectot56]])]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,m41=Length[Flatten[Delete[necunoscute,{{
1},{2},{3},{4},{5},{6}}]]]]]]]];
45
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,If[ec-
m41!=3,,MGI41=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32],{{1},{2},{3},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6}}]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,If[ec-
m41!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6}}]]!=1,,MGI41=NSolve[Delete[Flatten[Table[{Pa
rt[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI32],{{4},{5},{6},{7},{8}}],Flatten[
Delete[necunoscute,{{1},{2},{3},{4},{5},{6}}]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,If[ec-
m41!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6}}]]!=2,,MGI41=NSolve[Delete[Flatten[Table[{Pa
rt[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI32],{{1},{2},{3},{5},{6},{7}}],Flat
ten[Delete[necunoscute,{{1},{2},{3},{4},{6}}]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,If[ec-
m41!=1,,MGI41=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32],{{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6}}]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,If[ec-
m41!=0,,MGI41=NSolve[Flatten[T[n,0]==N[Timpus[n,0]]/.MGI11/.MGI22/.MGI32],Flatten[Delete[necunoscut
e,{{1},{2},{3},{4},{5},{6}}]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4<0,,{MGI11,MGI22,MGI32,MGI41}]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,Timpus[8,0]=Input["Deoarece nr. de
ecuatii este inca insuficient pentru rezolvarea completa a modelului geometric invers mai este necesara
intoducerea matricei" t[8,0]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,Print[timpus[8,0]->Timpus[8,0]]]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,m42=Length[nectot78=Union[Part[necun
oscute,7],Part[necunoscute,8]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[ec-
m42!=2,,MGI42=NSolve[Delete[Flatten[Table[{Part[T[8,0],i,j]==Part[N[Timpus[8,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32],{{1},{2},{3},{5},{6},{7}}],nectot78]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[ec-
m42!=1,,MGI42=NSolve[Delete[Flatten[Table[{Part[T[8,0],i,j]==Part[N[Timpus[8,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32],{{5},{6},{7},{8}}],nectot78]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[ec-
m42!=0,,MGI42=NSolve[Flatten[T[8,0]==N[Timpus[8,0]]/.MGI11/.MGI22/.MGI32],nectot78]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,test5=ec-(nec-
Length[Union[nectot12,nectot34,nectot56,nectot78]])]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,m51=Length[Flatten[Delete[n
ecunoscute,{{1},{2},{3},{4},{5},{6},{7},{8}}]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,If[ec-
m51!=3,,MGI51=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32/.MGI42],{{1},{2},{3},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{
7},{8}}]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,If[ec-
m51!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8}}]]!=1,,MGI51=NSolve[Delete[Flatten[Ta
ble[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI32/.MGI42],{{4},{5},{6},{
7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8}}]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,If[ec-
m51!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8}}]]!=2,,MGI51=NSolve[Delete[Flatten[Ta
ble[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI32/.MGI42],{{1},{2},{3},{
5},{6},{7}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{6},{7},{8}}]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,If[ec-
m51!=1,,MGI51=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32/.MGI42],{{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8}}]]]]]
]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,If[ec-
m51!=0,,MGI51=NSolve[Flatten[T[n,0]==N[Timpus[n,0]]/.MGI11/.MGI22/.MGI32/.MGI42],Flatten[Delete[ne
cunoscute,{{1},{2},{3},{4},{5},{6},{7},{8}}]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5<0,,{MGI11,MGI22,MGI32,MGI4
2,MGI51}]]]]]]
46
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,Timpus[10,0]=Input["Deoar
ece nr. de ecuatii este inca insuficient pentru rezolvarea completa a modelului geometric invers mai este necesara
intoducerea matricei" t[10,0]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,Print[timpus[10,0]-
>Timpus[10,0]]]]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,m52=Length[nectot910=Uni
on[Part[necunoscute,9],Part[necunoscute,10]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[ec-
m52!=2,,MGI52=NSolve[Delete[Flatten[Table[{Part[T[10,0],i,j]==Part[N[Timpus[10,0]],i,j]},{i,1,4},{j,1,4}]/.
MGI11/.MGI22/.MGI32/.MGI42],{{1},{2},{3},{5},{6},{7}}],nectot910]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[ec-
m52!=1,,MGI52=NSolve[Delete[Flatten[Table[{Part[T[10,0],i,j]==Part[N[Timpus[10,0]],i,j]},{i,1,4},{j,1,4}]/.
MGI11/.MGI22/.MGI32/.MGI42],{{5},{6},{7},{8}}],nectot910]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[ec-
m52!=0,,MGI52=NSolve[Flatten[T[10,0]==N[Timpus[10,0]]/.MGI11/.MGI22/.MGI32/.MGI42],nectot910]]]]]]
]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,test6=ec-(nec-
Length[Union[nectot12,nectot34,nectot56,nectot78,nectot910]])]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,m61=Length[Flat
ten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}}]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,If[ec-
m61!=3,,MGI61=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32/.MGI42/.MGI52],{{1},{2},{3},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},
{5},{6},{7},{8},{9},{10}}]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,If[ec-
m61!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}}]]!=1,,MGI52=NSolve[Delete[F
latten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI32/.MGI42/.MGI
52],{{4},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}}]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,If[ec-
m61!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}}]]!=2,,MGI52=NSolve[Delete[F
latten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI32/.MGI42/.MGI
52],{{1},{2},{3},{5},{6},{7}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{6},{7},{8},{9},{10}}]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,If[ec-
m61!=1,,MGI61=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32/.MGI42/.MGI52],{{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},
{8},{9},{10}}]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,If[ec-
m61!=0,,MGI61=NSolve[Flatten[T[n,0]==N[Timpus[n,0]]/.MGI11/.MGI22/.MGI32/.MGI42/.MGI52],Flatten[D
elete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10}}]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6<0,,{MGI11,MGI22,
MGI32,MGI42,MGI52,MGI61}]]]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,Timpus[12,0]=I
nput["Deoarece nr. de ecuatii este inca insuficient pentru rezolvarea completa a modelului geometric invers mai
este necesara intoducerea matricei" t[12,0]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,Print[timpus[12
,0]->Timpus[12,0]]]]]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,m62=Length[ne
ctot1112=Union[Part[necunoscute,11],Part[necunoscute,12]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[ec-
m62!=2,,MGI62=NSolve[Delete[Flatten[Table[{Part[T[12,0],i,j]==Part[N[Timpus[12,0]],i,j]},{i,1,4},{j,1,4}]/.
MGI11/.MGI22/.MGI32/.MGI42/.MGI52],{{1},{2},{3},{5},{6},{7}}],nectot1112]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[ec-
m62!=1,,MGI62=NSolve[Delete[Flatten[Table[{Part[T[12,0],i,j]==Part[N[Timpus[12,0]],i,j]},{i,1,4},{j,1,4}]/.
MGI11/.MGI22/.MGI32/.MGI42/.MGI52],{{5},{6},{7},{8}}],nectot1112]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[ec-
m62!=0,,MGI62=NSolve[Flatten[T[12,0]==N[Timpus[12,0]]/.MGI11/.MGI22/.MGI32/.MGI42/.MGI52],nectot1
112]]]]]]]]];
47
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,test7=ec-(nec-
Length[Union[nectot12,nectot34,nectot56,nectot78,nectot910,nectot1112]])]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,m71
=Length[Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}}]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,If[ec
-
m71!=3,,MGI71=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MG
I11/.MGI22/.MGI32/.MGI42/.MGI52/.MGI62],{{1},{2},{3},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},
{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}}]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,
If[ec-m71!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}}]]!=1,,MGI72=
NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI
32/.MGI42/.MGI52/.MGI62],{{4},{5},{6},{7},{8}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9
},{10}}]]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,
If[ec-m71!=2,,If[Length[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}}]]!=2,,MGI72=
NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]/.MGI11/.MGI22/.MGI
32/.MGI42/.MGI52/.MGI62],{{1},{2},{3},{5},{6},{7}}],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{6},{7},{8},{9
},{10}}]]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,
If[ec-m71!=1,,MGI71=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},
{j,1,4}]/.MGI11/.MGI22/.MGI32/.MGI42/.MGI52/.MGI62],{{5},{6},{7},{8}}],Flatten[Delete[necunoscute,
{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}}]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,
If[ec-m71!=0,,MGI71=NSolve[Flatten[T[n,0]==N[Timpus[n,0]]/.MGI11/.MGI22/.MGI32/.MGI42/.MGI52/.
MGI62],Flatten[Delete[necunoscute,{{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11},{12}}]]]]]]]]]]]];
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7<0,,{MG
I11,MGI22,MGI32,MGI42,MGI52,MGI62,MGI71}]]]]]]]]
If[tip==SPATIAL,,,If[test1>=0,,If[test2>=0,,If[test3>=0,,If[test4>=0,,If[test5>=0,,If[test6>=0,,If[test7>=0,,Pri
nt["Programul a fost conceput pentru a efectua MGI la manipulatoare cu redundanta mai mica sau egala cu 10.
In acest caz este mai mare"]]]]]]]]]
If[tip==PLAN,,,If[test1<0,,m=Length[nectot=Flatten[necunoscute]]]];
If[tip==PLAN,,,If[test1<0,,If[ec-m<0,,Print[""]]]]
If[tip==PLAN,,,If[test1<0,,If[ec-m<0,,Print["Ecuatia matriciala este:
",t[n,0]==timpus[n,0],Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]]]]]]
If[tip==PLAN,,,If[test1<0,,If[ec-m<0,,Print["Ecuatii eliminate: ",el=Input["Introduceti {}, daca nu doriti sa
eliminati ecuatii, sau introduceti sub forma: {{1},{2}...} pozitiile pe care le ocupa ecuatiile pe care doriti sa le
eliminati din ecuatia matriciala " t[n,0]==timpus[n,0]]]]]]
If[tip==PLAN,,,If[test1<0,,If[ec-m<0,,Print[""]]]]
If[tip==PLAN,,,If[test1<0,,If[ec-
m<0,,Print[MGI=NSolve[Delete[Flatten[Table[{Part[T[n,0],i,j]==Part[N[Timpus[n,0]],i,j]},{i,1,4},{j,1,4}]],el],
nectot]]]]]
If[tip==PLAN,,,If[test1>=0,,lg1=Length[Flatten[Delete[necunoscute,{-1}]]]]];
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Timpus[n-1,0]=Input["Deoarece nr. de ecuatii este insuficient pentru
rezolvarea completa a modelului geometric invers mai este necesara intoducerea matricei" t[n-1,0]]]]];
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print[timpus[n-1,0]->Timpus[n-1,0]]]]]
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print[""]]]]
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print["Ecuatia matriciala este: ",t[n-1,0]==timpus[n-
1,0],Flatten[Table[{Part[T[n-1,0],i,j]==Part[N[Timpus[n-1,0]],i,j]},{i,1,4},{j,1,4}]]]]]]
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print["Ecuatii eliminate: ",el11=Input["Introduceti {}, daca nu doriti sa
eliminati ecuatii, sau introduceti sub forma: {{1},{2}...} pozitiile pe care le ocupa ecuatiile pe care doriti sa le
eliminati din ecuatia matriciala " t[n-1,0]==timpus[n-1,0]]]]]]
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print[""]]]]
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print[MGI11=NSolve[Delete[Flatten[Table[{Part[T[n-
1,0],i,j]==Part[N[Timpus[n-1,0]],i,j]},{i,1,4},{j,1,4}]],el11],Flatten[Delete[necunoscute,{-1}]]]]]]]
If[tip==PLAN,,,If[test1>=0,,If[lg1>6,,Print[""]]]]
48
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
49
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Anexa 3
Do[(i)'[t]=1,{i,1,n}]
Print["vP[0]=",vP[0]=Collect[Collect[Collect[Collect[Collect[Collect[List[Part[Factor[D[r
P[0],t],Trig->True],1],Part[Factor[D[rP[0],t],
Trig->True],2],Part[Factor[D[rP[0],t],Trig-
>True],3]],q[1]'[t]],q[2]'[t]],q[3]'[t]],q[4]'[t]],q[5]'[t]],q[6]'[t]]]
Do[R[i,0]=R[i-1,0].R[i,i-1],{i,2,n}]
Print["wP[0]=",wP[0]={{Part[S[0]=Factor[D[R[n,0],t].Transpose[R[n,0]],Trig-
>True],3,2]},{Part[S[0],1,3]},{Part[S[0],2,1]}}]
Print["aP[0]=",aP[0]=Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Colle
ct[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[
Collect[Collect[Collect[Collect[Collect[Collect[Collect[List[Part[Factor[D[vP[0],t],
Trig->True],1],Part[Factor[D[vP[0],t],Trig->True],2],Part[Factor[D[vP[0],t],
Trig->True],3]],q[1]''[t]],q[2]''[t]],q[3]''[t]],q[4]''[t]],q[5]''[t]],q[6]''[t]],(q[1]'[t])^2],
(q[2]'[t])^2],(q[3]'[t])^2],(q[4]'[t])^2],(q[5]'[t])^2],(q[6]'[t])^2],q[1]'[t]*q[2]'[t]],q[1]'[t]*q[3]'
[t]],q[1]'[t]*q[4]'[t]],q[1]'[t]*q[5]'[t]],q[1]'[t]*q[6]'[t]],q[2]'[t]*q[3]'[t]],q[2]'[t]*q[4]'[t]],q[2]'
[t]*q[5]'[t]],q[2]'[t]*q[6]'[t]],q[3]'[t]*q[4]'[t]],q[3]'[t]*q[5]'[t]],q[3]'[t]*q[6]'[t]],q[4]'[t]*q[5]'
[t]],q[4]'[t]*q[6]'[t]],q[5]'[t]*q[6]'[t]]]
Print["EP[0]=",EP[0]=Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Coll
ect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect[Collect
[Collect[Collect[Collect[Collect[Collect[Collect[Collect[List[Part[Factor[D[wP[0],t],
Trig->True],1],Part[Factor[D[wP[0],t],Trig->True],2],Part[Factor[D[wP[0],t],
Trig-
>True],3]],q[1]''[t]],q[2]''[t]],q[3]''[t]],q[4]''[t]],q[5]''[t]],q[6]''[t]],(q[1]'[t])^2],(q[2]'[t])^2],(q
[3]'[t])^2],(q[4]'[t])^2],(q[5]'[t])^2],(q[6]'[t])^2],
q[1]'[t]*q[2]'[t]],q[1]'[t]*q[3]'[t]],q[1]'[t]*q[4]'[t]],q[1]'[t]*q[5]'[t]],q[1]'[t]*q[6]'[t]],q[2]'[t]*
q[3]'[t]],q[2]'[t]*q[4]'[t]],q[2]'[t]*q[5]'[t]],q[2]'[t]*q[6]'[t]],
q[3]'[t]*q[4]'[t]],q[3]'[t]*q[5]'[t]],q[3]'[t]*q[6]'[t]],q[4]'[t]*q[5]'[t]],q[4]'[t]*q[6]'[t]],q[5]'[t]*
q[6]'[t]]]
Print["Doriti sa dati valori particulare variabilelor care apar in rezultatul de mai sus?
Raspundeti prin DA sau NU"]
Print[p3=Input["Doriti sa dati valori particulare variabilelor care apar in rezultatul de mai
sus? Raspundeti prin DA sau NU"]]
If[p3==NU,,,Print[i3=Input["-MODEL CINEMATIC DIRECT:CAZ PARTICULAR-
Introduceti valorile variabilelor sub forma
{variabila->valoare,variabila->valoare,...}"]]]
If[p3==NU,,,Print[""]]
If[p3==NU,,,Print["vP[0]=",N[vP[0]/.i3]]]
If[p3==NU,,,Print["wP[0]=",N[wP[0]/.i3]]]
If[p3==NU,,,Print["aP[0]=",N[aP[0]/.i3]]]
If[p3==NU,,,Print["EP[0]=",N[EP[0]/.i3]]]
Print["errvP[0]=",Abs[N[vP[0]/.i3]-N[vP[0]/.i31]]]
Print["errwP[0]=",Abs[N[wP[0]/.i3]-N[wP[0]/.i31]]]
Print["erraP[0]=",Abs[N[aP[0]/.i3]-N[aP[0]/.i31]]]
Print["errEP[0]=",Abs[N[EP[0]/.i3]-N[EP[0]/.i31]]]
50
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Anexa 4
Print["MODELUL CINEMATIC INVERS"]
Print[""]
Print["vxPimpus[0]=",vxPimpus[0]=Input["-MODEL CINEMATIC INVERS-
Introduceti"vxPimpus[0]]]
Print["vyPimpus[0]=",vyPimpus[0]=Input["-MODEL CINEMATIC INVERS-
Introduceti"vyPimpus[0]]]
Print["vzPimpus[0]=",vzPimpus[0]=Input["-MODEL CINEMATIC INVERS-
Introduceti"vzPimpus[0]]]
Print["In determinarea modelului cinematic invers este necesar uneori a se impune atat
vectorul viteza liniara al lui P, cat si vectorul viteza unghiulara. Este si in acest caz necesara
impunerea vectorului viteza unghiulara? Se raspunde prin DA sau NU."]
Print[d1=Input["In determinarea modelului cinematic invers este necesar uneori a se
impune atat vectorul viteza liniara al lui P, cat si vectorul viteza unghiulara. Este si in acest
caz necesara impunerea vectorului viteza unghiulara? Se raspunde prin DA sau NU."]]
If[d1==DA,,,MCI1=NSolve[{Part[vP[0],1]=={vxPimpus[0]},Part[vP[0],2]=={vyPimpus[0
]},Part[vP[0],3]=={vzPimpus[0]}},Table[q[i]'[t],{i,1,n}]]];
If[d1==DA,,,Part[%,1]]
If[d1==DA,,,Do[q[i]'[t]=q[i]'[t]/.%,{t,0,100},{i,0,n}]]
If[d1==NU,,,Print["wxPimpus[0]=",wxPimpus[0]=Input["-MODEL CINEMATIC
INVERS-Introduceti"wxPimpus[0]],",wyPimpus[0]=",wyPimpus[0]=Input["-MODEL
CINEMATIC INVERS-Introduceti"wyPimpus[0]],",wzPimpus[0]=",wzPimpus[0]=Input["-
MODEL CINEMATIC INVERS-Introduceti"wzPimpus[0]]]]
If[d1==NU,,,ecu=Input["Precizati nr. total de ecuatii care au rezultat, eliminand bineinteles
identitatile, ecu="]];
If[d1==NU,,,If[ecu!=n,,MCI2=NSolve[{Part[vP[0],1]=={vxPimpus[0]},Part[vP[0],2]=={v
yPimpus[0]},Part[vP[0],3]=={vzPimpus[0]},Part[wP[0],1]=={wxPimpus[0]},Part[wP[0],2]
=={wyPimpus[0]},Part[wP[0],3]=={wzPimpus[0]}},Table[q[i]'[t],{i,1,n}]]]];
If[d1==NU,,,If[ecu!=n,,Part[%,1]]]
If[d1==NU,,,If[ecu!=n,,Do[q[i]'[t]=q[i]'[t]/.%,{t,0,100},{i,0,n}]]]
If[d1==NU,,,If[ecu<=n,,MCI3=NSolve[Delete[{Part[vP[0],1]=={vxPimpus[0]},Part[vP[0],
2]=={vyPimpus[0]},Part[vP[0],3]=={vzPimpus[0]},Part[wP[0],1]=={wxPimpus[0]},Part[
wP[0],2]=={wyPimpus[0]},Part[wP[0],3]=={wzPimpus[0]}},Input["Nr. de ecuatii trebuie
sa fie egal cu nr. de necunoscute. In acest caz este mai mare. Precizati care sunt ecuatiile pe
care le eliminati sub forma: {{1},{2},...}"]],Table[q[i]'[t],{i,1,n}]]]];
If[d1==NU,,,If[ecu<=n,,Part[%,1]]]
If[d1==NU,,,If[ecu<=n,,Do[q[i]'[t]=q[i]'[t]/.%,{t,0,100},{i,0,n}]]]
If[d1==NU,,,If[ecu>=n,,MCI4=NSolve[Join[{Part[vP[0],1]=={vxPimpus[0]},Part[vP[0],2]
=={vyPimpus[0]},Part[vP[0],3]=={vzPimpus[0]},Part[wP[0],1]=={wxPimpus[0]},Part[wP
[0],2]=={wyPimpus[0]},Part[wP[0],3]=={wzPimpus[0]}},Input["Nr. de ecuatii trebuie sa
fie egal cu nr. de necunoscute. In acest caz este mai mic. Introduceti ecuatii sub forma
{q[i]'[t]==v[i][t],...}, sau alte ecuatii. Nr. de ecuatii pe care trebuie sa-l introduceti este "
[n-ecu]]],Table[q[i]'[t],{i,1,n}]]]];
If[d1==NU,,,If[ecu>=n,,Part[%,1]]]
If[d1==NU,,,If[ecu>=n,,Do[q[i]'[t]=q[i]'[t]/.%,{t,0,100},{i,0,n}]]]
Print[""]
51
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
vxPimpus[0]=.
vyPimpus[0]=.
vzPimpus[0]=.
If[d1==NU,,,wxPimpus[0]=.]
If[d1==NU,,,wyPimpus[0]=.]
If[d1==NU,,,wzPimpus[0]=.]
Print["Doriti sa dati valori particulare variabilelor care apar in rezultatul de mai sus?
Raspundeti prin DA sau NU"]
Print[p4=Input["Doriti sa dati valori particulare variabilelor care apar in rezultatul de mai
sus? Raspundeti prin DA sau NU"]]
If[p4==NU,,,i4=Input["-MODEL CINEMATIC INVERS:CAZ PARTICULAR- Introduceti
valorile variabilelor sub forma
{variabila->valoare,variabila->valoare,...}"]];
If[p4==NU,,,If[d1==DA,,,Print[N[MCI1/.i4]]]]
If[p4==NU,,,If[d1==NU,,,If[ecu!=n,,Print[N[MCI2/.i4]]]]]
If[p4==NU,,,If[d1==NU,,,If[ecu<n,,Print[N[MCI3/.i4]]]]]
If[p4==NU,,,If[d1==NU,,,If[ecu>n,,Print[N[MCI4/.i4]]]]]
52
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Anexa 5
Do[m[i]=.,{i,1,n}];
Do[F[i][t]=.,{i,1,n}];
Do[Ixx[p]=.,{p,1,n}];
Do[Ixy[p]=.,{p,1,n}];
Do[Ixz[p]=.,{p,1,n}];
Do[Iyy[p]=.,{p,1,n}];
Do[Iyz[p]=.,{p,1,n}];
Do[Izz[p]=.,{p,1,n}];
Do[x[p]=.,{p,1,n}];
Do[y[p]=.,{p,1,n}];
Do[z[p]=.,{p,1,n}];
Do[Prod[i,j,p]=.,{i,1,n},{j,1,n},{p,1,n}];
Do[Din[i]=.,{i,1,n}];
Do[Din[i,j]=.,{i,1,n},{j,1,n}];
Do[Din[i,j,k]=.,{i,1,n},{j,1,n},{k,1,n}];
Do[F[i][t]=.,{i,1,n}];
Do[Iac[i]=.,{i,1,n}];
Do[l[i]=.,{i,1,n}];
Print["Coeficientii dinamici sunt:"]
Do[{Ixx[p]=Input["MODEL DINAMIC DIRECT-Introduceti"
Ixx[p]],Ixy[p]=Input["MODEL DINAMIC DIRECT-Introduceti"
Ixy[p]],Ixz[p]=Input["MODEL DINAMIC DIRECT-Introduceti"
Ixz[p]],Iyy[p]=Input["MODEL DINAMIC DIRECT-Introduceti"
Iyy[p]],Iyz[p]=Input["MODEL DINAMIC DIRECT-Introduceti"
Iyz[p]],Izz[p]=Input["MODEL DINAMIC DIRECT-Introduceti"
Izz[p]],x[p]=Input["MODEL DINAMIC DIRECT-Introduceti x-ul centrului de masa"
x[p]],y[p]=Input["MODEL DINAMIC DIRECT
-Introduceti y-ul centrului de masa" y[p]],z[p]=Input["MODEL DINAMIC DIRECT-
Introduceti z-ul centrului de masa" z[p]]},{p,1,n}]
Do[J[p]={{(-Ixx[p]+Iyy[p]+Izz[p])/2,Ixy[p],Ixz[p],m[p]*x[p]},{Ixy[p],(Ixx[p]-
Iyy[p]+Izz[p])/2,Iyz[p],m[p]*y[p]},{Ixz[p],Iyz[p],(Ixx[p]+Iyy[p]-
Izz[p])/2,m[p]*z[p]},{m[p]*x[p],m[p]*y[p],m[p]*z[p],m[p]}},{p,1,n}]
Do[Prod[i,j,p]=Factor[D[T[p,0],q[j][t]].J[p].D[Transpose[T[p,0]],q[i][t]],Trig-
>True],{p,1,n},{i,1,n},{j,1,n}]
Do[Tra[i,j,p]=Part[Prod[i,j,p],1,1]+Part[Prod[i,j,p],2,2]+Part[Prod[i,j,p],3,3]+Part[Prod[i,j,p
],4,4],{p,1,n},{i,1,n},{j,1,n}];
Do[Dr[i,j]=Expand[Sum[Tra[i,j,p],{p,Max[i,j],n}],Trig->True],{i,1,n},{j,1,n}];
Do[Print[Din[i,j]-
>Collect[Collect[Collect[Collect[Collect[Collect[Dr[i,j],m[1]],m[2]],m[3]],m[4]],m[5]],m[
6]]],{i,1,n},{j,1,n}]
Do[Din[i,j]=Collect[Collect[Collect[Collect[Collect[Collect[Dr[i,j],m[1]],m[2]],m[3]],m[4]
],m[5]],m[6]],{i,1,n},{j,1,n}]
Do[Prod[i,j,k,p]=Factor[D[T[p,0],q[j][t],q[k][t]].J[p].D[Transpose[T[p,0]],q[i][t]],Trig-
>True],{p,1,n},{i,1,n},{j,1,n},{k,1,n}]
53
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
Do[Tra[i,j,k,p]=Part[Prod[i,j,k,p],1,1]+Part[Prod[i,j,k,p],2,2]+Part[Prod[i,j,k,p],3,3]+Part[P
rod[i,j,k,p],4,4],{p,1,n},{i,1,n},{j,1,n},{k,1,n}];
Do[Dr[i,j,k]=Expand[Sum[Tra[i,j,k,p],{p,Max[i,j,k],n}],Trig-
>True],{i,1,n},{j,1,n},{k,1,n}];
Do[Print[Din[i,j,k]-
>Collect[Collect[Collect[Collect[Collect[Collect[Dr[i,j,k],m[1]],m[2]],m[3]],m[4]],m[5]],m
[6]]],{i,1,n},{j,1,n},{k,1,n}]
Do[Din[i,j,k]=Collect[Collect[Collect[Collect[Collect[Collect[Dr[i,j,k],m[1]],m[2]],m[3]],
m[4]],m[5]],m[6]],{i,1,n},{j,1,n},{k,1,n}]
gx[0]=Input["Introduceti componenta pe axa x a acceleratiei gravitationale in raport cu
sistemul de referinta fix, gx[0]="];
gy[0]=Input["Introduceti componenta pe axa y a acceleratiei gravitationale in raport cu
sistemul de referinta fix, gy[0]="];
gz[0]=Input["Introduceti componenta pe axa z a acceleratiei gravitationale in raport cu
sistemul de referinta fix, gz[0]="];
Do[Dr[i]=Sum[-
m[p]*Transpose[{{gx[0]},{gy[0]},{gz[0]},{1}}].D[T[p,0],q[i][t]].{{x[p]},{y[p]},{z[p]},{1
}},{p,i,n}],{i,1,n}]
Do[Print[Din[i]-
>Collect[Collect[Collect[Collect[Collect[Collect[Factor[Part[Dr[i],1,1],Trig-
>True],m[1]],m[2]],m[3]],m[4]],m[5]],m[6]]],{i,1,n}]
Do[Din[i]=Collect[Collect[Collect[Collect[Collect[Collect[Factor[Part[Dr[i],1,1],Trig-
>True],m[1]],m[2]],m[3]],m[4]],m[5]],m[6]],{i,1,n}]
Do[Iac[i]=Input["Introduceti inertia sistemului de actionare din cuple" Iac[i]],{i,1,n}]
Do[Print[F[i][t]-
>Sum[Din[i,j]*q[j]''[t],{j,1,n}]+Iac[i]*q[i]''[t]+Sum[Din[i,j,k]*q[j]'[t]*q[k]'[t],{j,1,n},{k,1,n
}]+Din[i]],{i,1,n}]
Do[F[i][t]=Sum[Collect[Din[i,j]*q[j]''[t],q[j]''[t]],{j,1,n}]+Iac[i]*q[i]''[t]+Sum[Din[i,j,k]*q[
j]'[t]*q[k]'[t],{j,1,n},{k,1,n}]+Din[i],{i,1,n}]
Print["Doriti sa dati valori particulare variabilelor care apar in rezultatul de mai sus?
Raspundeti prin DA sau NU"]
Print[p5=Input["Doriti sa dati valori particulare variabilelor care apar in rezultatul de mai
sus? Raspundeti prin DA sau NU"]]
If[p5==NU,,,p=Input["-MODEL DINAMIC DIRECT:CAZ PARTICULAR- Introduceti
valorile variabilelor sub forma {variabila->valoare,variabila->valoare,...}"]];
If[p5==NU,,,Do[Print[f[i][t]->N[F[i][t]]/.N[p]],{i,1,n}]]
54
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Anexa 6
If[d1==NU,,,If[ecu>n,,Input["Daca la MCI ati introdus ecuatii sub forma
{q[i]'[t]==v[i][t],...}, atunci introduceti conditiile initiale corespunzatoare acestor variabile
sub forma: {v[i][0]=cifra,...}, daca nu, introduceti {}"]]];
g=9.8;
Do[m[i]=.,{i,1,n}]
Do[m[i]=Input["Introduceti masele elementelor" m[i]],{i,1,n}]
Do[Fimpus[i][t]=.,{i,1,n}]
forte=Table[F[i][t]==Input["Introduceti" Fimpus[i][t]]/.{q[1]->Q1,q[2]->Q2,q[3]-
>Q3,q[4]->Q4,q[5]->Q5,q[6]->Q6,q[7]->Q7,q[8]->Q8,q[9]->Q9,q[10]->Q10,q[11]-
>Q11,q[12]->Q12,q[13]->Q13,q[14]->Q14,q[15]->Q15},{i,1,n}]
Do[q[i][0]=.,{i,1,n}]
Do[N[q[i]][0]=Input["Introduceti conditiile initiale" q[i][0]],{i,1,n}]
cond=Table[Q[i][0]==N[q[i]][0]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]->Q4,Q[5]-
>Q5,Q[6]->Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]-
>Q12,Q[13]->Q13,Q[14]->Q14,Q[15]->Q15},{i,1,n}]
cond1=Table[Q[i]'[0]==q[i]'[0]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]->Q4,Q[5]-
>Q5,Q[6]->Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]-
>Q12,Q[13]->Q13,Q[14]->Q14,Q[15]->Q15},{i,1,n}]
rez=NDSolve[Join[forte,cond1,cond],Table[Q[i]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]-
>Q4,Q[5]->Q5,Q[6]->Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]-
>Q12,Q[13]->Q13,Q[14]->Q14,Q[15]->Q15},{i,1,n}],{t,ti=Input["Introduceti valoarea
initiala a timpului, ti"],tf=Input["Introduceti valoarea finala a timpului, tf"]}]
gr=Plot[Evaluate[Table[Q[i][t]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]->Q4,Q[5]-
>Q5,Q[6]->Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]-
>Q12,Q[13]->Q13,Q[14]->Q14,Q[15]->Q15},{i,1,n}]/.%],{t,ti,tf},Frame-
>True,GridLines->Automatic]
t0=Input["Pentru a identifica graficele, trebuie sa cunoasteti valorile variabilelor la un
moment de timp, t0. Introduceti t0"]
Table[Q0[i][t0]->Q[i][t0]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]->Q4,Q[5]->Q5,Q[6]-
>Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]->Q12,Q[13]-
>Q13,Q[14]->Q14,Q[15]->Q15}/.rez,{i,1,n}]
p6=Input["Doriti sa vizualizati de aproape portiunea din grafic ce are pe abscisa intervalul
tmin...tmax si pe ordonata intervalul Qmin...Qmax? Raspundeti prin DA sau NU."]
If[p6==NU,,,Show[gr,PlotRange->{{Input["Introduceti valoarea lui
tmin"],Input["Introduceti valoarea lui tmax"]},{Input["Introduceti valoarea lui
Qmin"],Input["Introduceti valoarea lui Qmax"]}}]]
rez=NDSolve[Join[forte,cond1,cond],Table[Q[i]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]-
>Q4,Q[5]->Q5,Q[6]->Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]-
>Q12,Q[13]->Q13,Q[14]->Q14,Q[15]->Q15},{i,1,n}],{t,ti=Input["Introduceti valoarea
initiala a timpului, ti"],tf=Input["Introduceti valoarea finala a timpului, tf"]}]
gr=Plot[Evaluate[Table[Q[i][t]/.{Q[1]->Q1,Q[2]->Q2,Q[3]->Q3,Q[4]->Q4,Q[5]-
>Q5,Q[6]->Q6,Q[7]->Q7,Q[8]->Q8,Q[9]->Q9,Q[10]->Q10,Q[11]->Q11,Q[12]-
>Q12,Q[13]->Q13,Q[14]->Q14,Q[15]->Q15},{i,1,n}]/.%],{t,ti,tf},Frame-
>True,GridLines->Automatic]
55
1. Modelarea matematică a lanţurilor cinematice deschise folosite în structurile
mecanice ale roboţilor industriali, folosind software aplicativ
56
2
Analiza cinematică şi cinetostatică
a sistemelor de corpuri, folosind
sofware specializat
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
57
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.1
Dacă axele sistemului general mai trebuie orientate, atunci se foloseşte
comanda mate între Front plane, Top plane, respectiv Right plane şi diverse plane
ale bazei. Pentru aceasta, baza trebuie să aibă atributul Float.
De asemenea, contează poziţia de zero a mecanismului, adică poziţia în care
primul element mobil (următorul după bază) se introduce în desen. Această poziţie
va fi fixată tot prin mate între plane. Meca3D ataşează în mod automat câte un
sistem de referinţă fiecărui element al mecanismului, inserând-ul în centrul de masă
al acestuia, şi câte un sistem de referinţă fiecărei legături. În program, sistemele
ataşate elementelor sunt colorate în albastru, iar cele ataşate legăturilor în roşu.
58
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Axele se identifică astfel: axa x are o săgeată, axa y are două săgeţi, iar axa z are
trei săgeţi.
După aceste setări, se apelează Meca3D. Există 2 posibilităţi:
• Se optează pentru interpretarea automată de către Meca3D a întregului mecanism,
construit în SolidWorks
• Se aduc rând pe rând fiecare piesă şi fiecare legătură, pentru a fi „văzute şi
interpretate” de Meca3D.
În varianta 1, se procedeză astfel (fig. 2.2):
Fig. 2.2
59
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.3
Fig. 2.4
60
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
2 1
baz
Fig. 2.5
Fig. 2.6
61
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.7
Fig. 2.8
62
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.9
Fig. 2.10
63
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.11
Proprietăţile elementului se pot modifica apelând butonul Modifier: se modifică
masa elementului, poziţia şi orientarea axelor sistemului local etc. Analog se pot
determina şi modifica legăturile (fig. 2.11) şi proprietăţile acestora.
Pentru a simula o mişcare, se selectează opţiunea Analyse din structura
arborescentă şi comanda Calcul mecanique cu ajutorul căreia se impun parametrii
de mişcare.
După aceea, din opţiunea Resultates, se selectează Simulation (fig. 2.12).
Programul permite afişarea traiectoriilor centrelor de masă ale elementelor, precum
şi afişarea curbelor de poziţie, viteză, acceleraţie, reacţiuni din cuple sub formă de
curbe simple, curbe parametrice, ori curbe multiple (fig. 2.13).
Opţiunea Curbe simple permite realizarea graficelor paramerilor selectaţi, în
funcţie de timp (intervalul de timp este cel setat la Analyse – Calcul mecanique).
Opţiunea Curbe parametrice permite realizarea graficului unui parametru în
funcţie de alt parametru.
Opţiunea Curbe multiple permite înscrierea mai multor curbe în acelaşi grafic.
Spre exemplu, pentru a afişa graficul deplasării unghiulare din cupla cilindrică
plană dintre elementul 1 şi bază, în funcţie de timp, se alege opţiunea Curbe
64
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.12
Fig. 2.13
65
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.14
Fig. 2.15
66
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Graficul lui a1 pentru poziţia 0-10s este de fapt legea de mişcare a manivelei, adică
φ(t) în notaţia consacrată, numai că Meca3D atribuie notaţiile în mod implicit, fără
ca utilizatorul să le poată modifica.
Poziţia de zero a manivelei este considerată cea indicată în fig. 2.14, în care
manivela se află în prelungirea axei z a sistemului ataşat cuplei pivot1, iar sensul
pozitiv de rotaţie al manivelei este spre dreapta, adică în sensul pozitiv ale axei x a
sistemului.
Se obţine graficul din figura 2.15, în care a1 reprezintă deplasarea unghiulară în
jurul axei x, a2 reprezintă deplasarea unghiulară în jurul axei y, iar a3 reprezintă
deplasarea unghiulară în jurul axei z. Este vorba despre axele x, y, z ale sistemului
de referinţă ataşat cuplei pivot1. Se observă în figura 2.14 că aceste axe sunt
dispuse astfel: axa x este axa de rotaţie şi are o săgeată, axa y este orientată spre
dreapta şi are 2 săgeţi, iar axa z este orientată în jos şi are 3 săgeţi. În program,
acest sistem de referinţă are culoarea roşie.
Fig. 2.16
67
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
d1(≡s3)
a1(≡φ1))
Fig. 2.17
68
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.18
Fig. 2.19
69
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.20
Fig. 2.21
70
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.22
Fig. 2.23
71
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Pivot 1
Elementul
Poziţia zero a manivelei condus
Fig. 2.24
72
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.25
Fig. 2.26
Unghiul φ descris de manivelă şi unghiul ψ descris de elementul condus sunt
reprezentate în fig. 2.27.
- Folosind Résultats – Courbes – Simples – Consulter , se solicită mai întâi curba
de variaţie în timp a unghiului la cupla Pivot 1 (cupla motoare) şi apoi la cupla
Pivot 4, aşa cum se indică în fig. 2.28.
Se obţine reprezentarea grafică a legii de mişcare a manivelei (fig.2.29 – φ[grade],
t[s]) şi a legii de mişcare a elementului condus (fig.2.30 - ψ[grade], t[s]).
Observaţie: În program, tabul a1(deg) desemnează rotaţia în jurul axei x, tabul
a2(deg) desemnează rotaţia în jurul axei y, iar tabul a3(deg) desemnează rotaţia în
jurul axei z a sistemului de referinţă ataşat cuplei (desenat cu roşu în program).
Unghiul de rotaţie φ la manivelă, respectiv ψ la elementul condus se află în
73
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
ψ
φ
Poziţia zero a manivelei
Poziţia iniţială a
elementului
Fig. 2.27 condus
Pivot 1
Pivot 4
Fig. 2.28
74
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.29
Fig. 2.30
75
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.31
Fig. 2.32
76
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Modul de lucru cu acest software este ilustrat pentru cazul particular al unui
mecanism patrulater:
Se modelează în SolidWorks elementele mecanismului, în fişiere de tip part
Se asamblează elementele, într-un fişier SolidWorks de tip assembly
În fişierul assembly, se apelează instrumentul corespunzător meniului Motion (fig.
2.33)
Arborele structural din partea stângă a ferestrei de lucru indică următoarele module
(fig. 2.33): Parts, Constraints, Forces, Results. Modulul Parts conţine elementele
cinematice ale mecanismului, fixe şi mobile; modulul Constraints este modulul
constrângerilor impuse mecanismului; modulul Forces grupează forţele şi
momentele ce acţionează asupra mecanismului, iar modulul Results este modulul
rezultatelor.
Elementele cinematice ale mecanismului sunt grupate în 2 categorii: Moving Parts
– elemente mobile şi Ground Parts – elemente fixe.
Pentru a defini batiul ca element fix, se face clic dreapta pe numele acestuia şi se
selectează opţiunea GroundPart (fig. 2.34).
Dacă desenul este corect realizat în SolidWorks, legăturile vor fi corect interpretate
de CosmosMotion. Pentru a afişa lista legăturilor mecanismului, se face clic pe
semnul + din faţa cuvântului Joints din modulul Constraints. Tipurile de legături
predefinite în CosmosMotion se găsesc în meniul Motion – Joints şi sunt ilustrate
în fig. 2.36. Programul ataşează în mod automat sisteme de referinţă, desenate cu
culoarea roşie cuplelor şi sisteme de referinţă, desenate cu culoarea albastră,
elementelor, pe care le pune în centrele de greutate ale acestora.
77
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.33
78
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.35
79
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.36
Fig. 2.37
80
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.38
Fig. 2.39
81
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
82
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.41
Fig. 2.42
83
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.43
Fig. 2.44
84
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.45
85
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Revolute
Elementul
condus
Revolute4
Poziţia zero a manivelei
Fig. 2.46
ψ
φ
Poziţia zero a manivelei
Poziţia iniţială a
elementului
condus,
corespunzătoare
poziţiei zero a
manivelei
Fig. 2.47
86
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.48
Fig. 2.49
87
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.50
88
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.51
Fig. 2.52
89
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 7.53
90
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
alt aspect important ce nu trebuie neglijat este că cele două origini trebuie să fie definite în
acelaşi punct, comun celor două componente legate prin cuplă.
Fig. 2.54
Fig. 2.55
91
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
După aceste setări, se poate testa dacă cupla a fost definită corect. Dacă nu există erori şi
totuşi mecanismul nu se află în poziţia normală (componentele nu se află în contact),
aceasta se datorează faptului că este activată condiţia out of place. La dezactivarea ei, se
observă deplasarea componentelor mobile în poziţia corectă - fig. 2.55.
Pasul următor constă în definirea condiţiilor de poziţie ale mecanismului – acestea sunt cele
care menţin în poziţie mecanismul atunci când acesta nu este solicitat din punct de vedere
dinamic.
Fig. 2.56
Pentru exemplul de faţă, s-a ales condiţia insert, care oferă cele mai bune condiţii de
definire a contactului şi a tipului cuplei dintre cele două componente batiu şi manivelă –
fig. 2.56.
Fig. 2.57
92
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.58
Fig. 2.59
93
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.60
Fig. 2.61
Fig. 2.62
94
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.63
Fig. 2.64
Ultimul pas pentru orientarea dorită este definirea unei condiţii constraint între punctul de
mai sus şi originea sistemului de referintă - fig. 2.64.
Toate cuplele de mişcare - joints şi condiţiile de poziţie - constraints, se pot observa în
panoul din stânga - construction tree, fig. 2.65.
Trecerea de la modul de afişare al condiţiilor, la cel al cuplelor se face apelând
MotionInventor, ca în fig. 2.66.
Programul permite afişarea grafului mecanismului, precum şi a proprietăţilor
corpurilor şi cuplelor. În fig. 7.58, se poate observa graful mecanismului ales ca exemplu,
precum şi felul şi poziţia diferitelor cuple - Joints inserate. În secţiunea Model a panoului
de comenzi din stânga, sunt enumerate elementele componente ale mecanismului.
95
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.65
Fig. 2.66
Cu click-dreapta pe numele piesei, alegând opţiunea Properties (fig. 2.68), se pot
afla proprietăţile fizice ale acesteia: coordonatele centrelor de greutate, momentele de
inerţie, masa, suprafaţa, volumul, materialul, densitatea, fig. 2.69. În acelaşi fel, dar în
secţiunea MotionInventor se pot determina proprietăţile cuplelor, precum şi condiţiile de
mişcare ale diferitelor piese, fig. 2.70. Sunt afişate proprietăţile cuplei selectate şi se pot
modifica atât parametrii iniţiali (limita de mişcare minimă/maximă, viteza, poziţia iniţială
etc.), precum şi o serie condiţii impuse în funcţie de tipul cuplei (viteză, acceleraţie,
moment de inerţie, forţă aplicată, forţă de frecare şi de amortizare etc.)
96
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.68
Fig. 2.69
97
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
98
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig 2.71
În fig. 2.75 este prezentat graficul de variaţie în timp a poziţiei centrului de masă a
manivelei. Dacă graficul nu este centrat, sau doar o parte a lui este observabilă, aceast
neajuns se poate remedia efectuând click-dreapta pe grafic şi alegând optiunea Center
Curves.
Fig. 2.72
99
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.73
Fig. 2.74
În fig. 2.77, 2.78, respectiv 2.79 sunt prezentate graficele poziţiei, vitezei, respectiv
acceleraţiei centrului de masă al elementului 2, în funcţie de poziţia centrului de masă al
elementului 1.
100
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.75
Fig. 2.76
101
2. Analiza cinematică şi cinetostatică a sistemelor de corpuri, folosind software specializat
Fig. 2.77
Fig. 2.78
102
Popa Ion Florin, Marin Cornel, Filip Viviana - Modelarea şi simularea sistemelor robotice
Fig. 2.79
103
3
Modelarea structurilor mecanice
din robotică utilizând SOLID WORKS
Modelarea şi simularea sistemelor robotice
NECESITĂŢII UTILIZĂRII
PROIECTĂRII ASISTATE DE CALCULATOR
115
Popa Ion Florin
Realizare
specimen
Definirea Probe
încercărilor Încercă ri
Verificarea
performanţ elor
A (numai calcule)
B (calculeşi probe)
C (numai probe)
Metoda tradiţională presupune realizarea mai multor prototipuri fizice ale unui
produs şi îmbunătăţirea acestora prin testări şi modificări repetate. În condiţiile de
concurenţă actuale, această metodă, scumpă şi mare consumatoare de timp, nu mai
este eficientă. Sistemele grafice computerizate oferă posibilitatea modelării,
îmbunătăţirii modelului prin operaţii interactive, testării acestuia prin simularea
funcţionării reale şi apoi a realizării fazelor de postprocesare: crearea listelor de
componente şi materiale, generarea automată a tehnologiei, generarea comenzilor
numerice entru maşinile-unelte cu comandă program.
Modelare Pregătirea
Probe dinamice
cu MEF probei
Zone fizice
Sfârşit
Reanalizare Localizare
Recalare
116
Modelarea şi simularea sistemelor robotice
Comanda si management
instrumente si modele
Piata
Constrangeri
Standarde Baze de date integrate
Tehnologii
etc.
Operatii - Logistica
Sinteza
analiza analiza
Productie
Analiza Analiza functionala
Sinteza
cerintelor si alocarea
Ingineria sistemelor
117
Popa Ion Florin
Terminologie
Feature - toate decupările, bosajele, planele şi schiţele pe care le
creaţi sunt considerate entităţi;
- există entităţi bazate pe schiţe (realizate pe baza
unei schiţe) în cazul bosajelor şi lamajelor;
- există entităţi aplicate bazate pe muchii sau feţe
(racordări).
Plane - sunt entităţi plane şi infinite;
- sunt reprezentate pe ecran cu muchii vizibile;
- sunt utilizate ca suprafaţă primară a schiţei pentru
crearea entităţilor de tip bosaj şi lamaj.
Extrudare - constă în extrudarea unui profil de-a lungul normalei la
suprafaţă sau a direcţiei unui vector identificat printr-un
segment tridimensional;
Sketch - reprezentarea unei schiţe 2D;
- sunt create pe feţe plane şi entităţi de tip plan
definite în cadrul modelului;
- sunt utilizate în general pentru bosaje şi lamaje
118
Modelarea şi simularea sistemelor robotice
119
Popa Ion Florin
120
Modelarea şi simularea sistemelor robotice
Aplicaţii: Să se indice care este varianta optimă de sketch pentru piesele din figura
de mai jos.
121
Popa Ion Florin
Sunt câteva lucruri care trebuie considerate când se alege planul schiţei. În
primul rând sunt prezentarea piesei şi orientarea piesei în cadrul unui ansamblu.
Prezentarea piesei este legată direct de orientarea în vederea Isometrică. Este
de preferat o orientare Isometrică cât mai adecvată care să ne scutească de
reorientări ale modelului pentru o vizualizare completă a majorităţii detaliilor
acestuia.
122
Modelarea şi simularea sistemelor robotice
Aceste setări sunt realizate din meniul Tools, Options prin utilizarea celor
două butoane: System Options şi Document Properties.
System Options
- este utilizat pentru stabilirea setărilor globale ale programului care vor
fi aplicate pentru toate documentele (piese, ansambluri, desene)
123
Popa Ion Florin
realizate în SolidWorks;
- există mai multe submeniuri care sunt detaliate pe scurt după cum
urmează:
General
- căsuţa de dialog pentru modificarea unei dimensiuni poate fi automat
afişată la introducerea dimensiunii
- comenzile de desenare sau dimensionare se închid sau rămân active
după fiecare utilizare
- afişează sau nu numele şi valoarea dimensiunii
- arată sau nu erorile la fiecare reconstrucţie a piesei solide
- fereastra documentului care se deschide este maximizată
- suprafeţele selectate sunt reprezentate cu o culoare standard (de regulă
verde) care poate fi modificată
- fiecare document salvat ca solid sau ansamblu are un icon care poate fi
vizualizat în Windows Explorer
- se poate impune o anumită reprezentare zecimală a dimensiunilor (de
exemplu să pună virgulă în loc de punct)
- afişează sau nu un icon de confirmare a comenzii în colţul din dreapta
sus
- la editarea unei entităţi este afişat automat meniul Property Manager
pentru componenta respectivă
- salvează un document SolidWorks în format e-drawing ceea ce
presupune vizualizarea ulterioară cu E-drawings Viewer
- se poate specifica o descriere a unei piese care apare în meniul Open şi
Save As ca atribute asociate cu piesa;
Drawings
- plasare automată a dimensiunilor inserate din model
- reprezentarea chenarului desenului
- scalare automată a noilor vederi ale desenului astfel încât să încapă în
format
- atunci când o vedere este mutată în planul foii poate să reprezinte
conţinutul vederii sau doar un chenar al acesteia
- permite o afişare mai bună pentru Zoom şi Pan pentru vederi
- vederile pot fi activate automat -detaliile pot avea o reprezentare
însoţită sau nu de un cerc -se pot selecta şi entităţi care au fost ascunse
- elimină dimensiuni duplicate la inserarea automată a cotelor pe desen
- permite updatarea automată la deschiderea desenului
- permite ascunderea unui component la crearea unei vederi
- permite reprezentarea centrelor arcelor de cerc
- permite reprezentarea punctelor de pe schiţă ca cercuri pline
- permite evidenţierea la printare a vederilor care nu au fost updatate
124
Modelarea şi simularea sistemelor robotice
125
Popa Ion Florin
126
Modelarea şi simularea sistemelor robotice
File locations
- stabileşte locaţia tuturor fişierelor utilizate în Feature Palette, tabele
de îndoire a tablelor, profile sudate etc;
Spin Box increments
- stabileşte incrementul utilizat pentru dimensiuni liniare şi
unghiulare;
View rotation
- stabileşte incrementul de rotaţie pentru tastele cu săgeţi;
- stabileşte incrementul de rotaţie pentru mouse;
- stabileşte viteza de animaţie;
- stabileşte calea în care se vor face toate salvările de back-up;
Backups
Piping
- stabileşte calea pentru directoarele în care se află biblioteca de
componente de ţevi;
- crează automat fitting-uri impuse de utilizator;
- adaugă automat ţevi pentru schiţe deschise;
- adaugă automat racordări pentru sketch;
Pentru stabilirea setărilor locale valabile doar pentru documentul curent (piesă,
ansamblu, desen 2D) se foloseşte al doilea meniu Document Properties din Tools,
Options cu următoarele submeniuri conform figurii de mai jos:
Detailing
- în acest submeniu sunt incluse mai multe submeniuri care ne ajută să
controlăm proprietăţile desenelor 2D;
- stabileşte standardul de cotare (ISO, ANSI, DIN, JIS, BSI, GOST,
GB);
- afişează cotele în mm şi inch în acelaşi timp (sistem dual de
reprezentare);
- scalează mărimea simbolurilor de sudură;
- zecimalele pot fi reduse la valori întregi, şterse şi reprezentate cu
valoarea impusă prin submeniul Units;
- traseul de secţiune nu intersectează vederea (conform standardului
românesc de reprezentare);
- controlează lungimea axei de simetrie pentru o vedere
- sunt inserate automat centrele arcelor, linii de simetrie, numere de
repere, cote;
- sunt controlate reprezentarea cotei ca linii de extensie;
- este aleasă modalitatea de reprezentare a referinţelor geometrice
- stabileşte reprezentarea liniilor pentru rupturile vederilor;
127
Popa Ion Florin
Dimensions
- adaugă implicit paranteze pentru cote de referinţă;
- -cota este reprezentată automat în reţeaua de grid a desenului -cota
este centrată între liniile de extensie;
- stabileşte distanţele între cote paralele;
- controlează stilul de reprezentare al săgeţilor;
- specifică spaţiul pentru linii de extensie şi linii indicatoare când
acestea sunt întrerupte;
- specifică lungimea liniilor indicatoare (leader);
- controlează stilul de orientare a textului şi a leader-ului faţă de
referinţele cotate;
- controlează orientarea textului;
- stabileşte precizia dimensiunilor (liniare, unghiulare, alternative);
- controlează afişarea toleranţelor;
Notes
- setează stilul adnotărilor pentru documentul curent (aliniarea
textului, săgeata indicatoare);
Balloons
- stabileşte stilul de reprezentare al reperelor de pe un desen de
ansamblu cu numere ataşate fiecărei piese;
- există şi varianta de a alege o schemă predefinită de reprezentare a
reperelor;
Arrows
- stabileşte stilul săgeţii şi mărimea săgeţilor (grosime, lungime) atât
pentru cote cât şi pentru linii de secţiune;
128
Modelarea şi simularea sistemelor robotice
Virtual Sharps
- stilul de reprezentare pentru colţuri (intersecţii) virtuale;
Annotations display
- pot fi selectate doar acele tipuri de adnotări care să fie reprezentate
pe desen (filete, referinţe, cote, cote de referinţă, toleranţe
geometrice, rugozităţi, suduri);
- scalarea textului poate fi automată sau nu;
- adnotările pot fi reprezentate doar în vederile în care au fost create;
- se pot utiliza setările existente în ansamblu pentru toate
componentele;
- se pot ascunde dimensiunile bălăngănite şi adnotările similare;
Annotations font
- stabileşte fontul utilizat pentru adnotări;
Tables options
- stabileşte stilul utilizat pentru reprezentarea tabelelor de găuri, de
revizie şi de componenţă;
Units
- stabileşte sistemul unităţilor de măsură (MKS, CGS, MMGS, IPS,
Custom);
- stabileşte afişarea duală a dimensiunilor;
- stabileşte unitatea pentru densitate şi forţă;
- stabileşte stilul şi grosimea liniilor în desene;
Line Font
Image quality
- stabileşte calitatea de reprezentare pentru modul shaded sau
wireframe.
129
Popa Ion Florin
- complet definită (fully defined) când schiţa este complet colorată în negru;
130
Modelarea şi simularea sistemelor robotice
Confirmation corner
131
Popa Ion Florin
- când sunt active mai multe comenzi SolidWorks în colţul din dreapta sus al
ferestrei active apare un simbol sau un set de simboluri. Această zonă este
denumită colţ de confirmare.
- când este activă sau deschisă o schiţă colţul de confirmare afişează două
simboluri: primul arată icon-ul de sketch, iar celălalt este un X roşu. Dând click
pe icon-ul de sketch se salvează şi updatează toate modificările făcute pe
sketch, iar prin click pe X-ul roşu se iese din sketch şi se distrug orice
modificări.
- când sunt active alte comenzi colţul de confirmare afişează un icon marker √ şi
un X.
Constrângeri
Întrucât schiţa este deja constrânsă în cazul aplicării unei dimensiuni
suplimentare produce un conflict şi un mesaj de eroare care se traduce prin
supracotare (overdefined).
În cazul în care totuşi se doreşte introducerea acestei dimensiuni suplimentare
apare mesajul Make This Dimension Driven (Face această dimensiune condusă).
În speţă dimensiunea condusă – Driven - nu poate fi utilizată pentru modificarea
desenului.
132
Modelarea şi simularea sistemelor robotice
133
Popa Ion Florin
Line
Este utilizată pentru trasarea de segmente
orizontale, verticale sau oarecare care pot fi
legate prin relaţii geometrice de alte entităţi
existente în desen. În mod automat la trasarea
unei linii verticale sau orizontale aceasta
primeşte proprietatea corespunzătoare în lista de
relaţiilor geometrice.
Arc
La un sketch pot fi adăugate arce de cerc definite în următoarele variante:
a. trasarea unui arc indicand centrul cercului din care face parte arcul,
punctul de start si punctul final al arcului.
134
Modelarea şi simularea sistemelor robotice
135
Popa Ion Florin
Centerline
Punct
- utilizată pentru trasarea unuia sau mai multor puncte care pot fi constrânse prin
condiţii de coincidenţă pe segmente, prin coincidenţă cu puncte mediene ale
arcelor sau segmentelor sau prin aliniere verticală sau orizontală cu puncte
mediene, centre ale
136
Modelarea şi simularea sistemelor robotice
Spline
137
Popa Ion Florin
Circle
Rectangle
138
Modelarea şi simularea sistemelor robotice
Fiecare din aceste comenzi este apelată fie din meniul Tools, Sketch Tools sau
din icon-ul corespunzător în toolbar-ul Sketch.
Principalele comenzi de editare sunt:
139
Popa Ion Florin
Sketch Fillet
- comandă ce permite racordarea a două linii ce se intersectează;
Sketch Chamfer
- comandă ce permite teşirea a două linii ce se intersectează;
140
Modelarea şi simularea sistemelor robotice
Trim
- comandă ce permite tăierea unor obiecte sau entităţi prin selectarea elementului
ce urmează a fi tăiat şi respectiv, în mod dinamic a porţiunii care se doreşte
tăiate;
Extend
- comandă ce permite prelungirea unei entităţi până întâlneşte altă entitate;
Mirror
- comandă ce permite oglindirea obiectelor faţă de o linie de referinţă
(CENTERLINE);
141
Popa Ion Florin
Move or Copy
- comandă ce permite mutarea, copierea, rotirea
sau scalarea unui obiect sau entităţi;
a. Mutarea
b. Rotirea
142
Modelarea şi simularea sistemelor robotice
143
Popa Ion Florin
Convert Entities
Offset Entities …
- comandă ce permite copierea unui contur selectat la o distanţă precizată;
144
Modelarea şi simularea sistemelor robotice
Add Relation
- comandă ce permite stabilirea unui anumit tip de legături între diferite entităţi
cum ar fi: oriyontalitate, paralelism, perpendicularitate, coincidenţă, egalitate
etc.
145
Popa Ion Florin
146
Modelarea şi simularea sistemelor robotice
Boss Feature
Comanda de extrudare este disponibilă din bara de instrumente (toolbar-ul)
Features sau din meniul Insert, Boss/ Base.
147
Popa Ion Florin, Marin Cornel, Filip Viviana
În acest sketch s-a utilizat opţiunea de oglindire pentru linii şi arce tangente,
relaţii de coincidenţă între segmentele sketch-ului şi piesa solidă, relaţii
dimensionale.
În urma comenzii de extrudare există varianta obţinerii unui singur solid prin
opţiunea Merge sau a unei reuniuni de două entităţi solide aflate în contact.
148
Modelarea şi simularea sistemelor robotice
Alte Opţiuni
a. Draft extrude
După alegerea variantei de extrudare şi a direcţiei acesteia se poate ca
extrudarea să conţină o înclinare a suprafeţei laterale cu un unghi impus – numit
drafting.
c. Selected Contours
În cazul în care sunt selectate mai multe contururi închise din cadrul sketch-
ului se va realiza extrudarea numai pentru acele contururi, urmând ca să poată fi
extrudate într-o altă comandă şi alte contururi din sketch.
149
Popa Ion Florin, Marin Cornel, Filip Viviana
Share sketch
Cut Extrude
Comanda este apelabilă prin selectarea din meniul Insert, Cut, Extrude sau
150
Modelarea şi simularea sistemelor robotice
Fillet
Comanda este apelabilă din meniul Insert, Features sau prin icon-ul .
Comanda se referă la racordări când se adaugă material şi rotunjiri când se
elimină material din solid.
racordare rotunjire
151
Popa Ion Florin, Marin Cornel, Filip Viviana
152
Modelarea şi simularea sistemelor robotice
153
Popa Ion Florin, Marin Cornel, Filip Viviana
Parametri de control
Setback
Pentru controlul tranziţiei racordării de colţ la intersecţia a trei muchii se
modifică lungimea fiecărei tranziţii de racordare pentru colţul solicitat (parametri
setback) astfel încât să rezulte o racordare controlată de utilizator.
Fillet Options
Se referă la păstrarea entităţilor feţelor care urmează a fi racordate, rotunjirea
colţurilor. În cazul unei racordări cu rază prea mare şi aceasta depăşeşte modelul
există variantele: păstrarea unei muchii, a unei suprafeţe sau opţiunea implicită. În
exemplul din figură prin selectarea suprafeţei găurii şi a muchiei evidenţiate cu
opţiunea Keep Edge este executată comanda Fillet doar pentru muchia selectată nu
şi pentru celelalte muchii ale suprafeţei. Eficienţa acestor opţiuni este pusă în
154
Modelarea şi simularea sistemelor robotice
evidenţă când se doreşte realizarea unui model parametric astfel încât indiferent de
profilul găurii să fie aleasă doar muchia acesteia.
155
Popa Ion Florin, Marin Cornel, Filip Viviana
Chamfer
Comanda este apelabilă din meniul Insert, Features sau prin icon-ul .
Opţiunile comenzii Chamfer sunt:
a. unghi – distanţă (teşire de muchii sau contur închis);
În zona de dialog Edges and Faces or Vertex s-a selectat Face <1>. S-a
selectat opţiunea Angle distance, iar pentru această opţiune s-au precizat mărimile
de teşire, astfel: distanţa: 3,0 mm, unghiul: 45o. Pentru o teşire de-a lungul întregii
suprafeţe selectate s-a selectat opţiunea Tangent propagation.
156
Modelarea şi simularea sistemelor robotice
157
Popa Ion Florin, Marin Cornel, Filip Viviana
158
Modelarea şi simularea sistemelor robotice
159
Popa Ion Florin, Marin Cornel, Filip Viviana
Revolved Boss/Base
Crearea entităţii de rotaţie se face prin comanda Revolve din meniul Boss/Base
sau prin selectarea icon-ului . Aşa cum se observă şi din figura de mai jos,
pentru o definire corectă, este necesar precizarea parametrilor revoluţiei (Revolve
Parameters): axa de rotaţie, direcţia după care se face rotaţia, respectiv unghiul
după care se face rotaţia. În zona de selecţie Selected Contours se precizează, prin
selecţie pe desen, conturul ce va fi rotit.
Dacă schiţa este corect definită la selectarea comenzii Revolve este
previzualizat solidul rezultat.
160
Modelarea şi simularea sistemelor robotice
161
Popa Ion Florin, Marin Cornel, Filip Viviana
162
Modelarea şi simularea sistemelor robotice
Se aplică rotunjiri pentru cele patru muchii ale spiţei cu raza de 3 mm.
Prin selectarea opţiunii Tangent Propagation rezultă o propagare tangentă
a fillet-ului pentru seturile selectate.
Circular Pattern
Prin pattern circular sunt copiate entităţi solide într-o succesiune circulară
controlată prin centrul de rotaţie, un unghi şi numărul de copii.
La modificarea entităţii originale copiate circular se modifică automat şi
copiile.
Axa faţă de care sunt generate copiile circulare multiple poate fi o muchie,
o axă, o axă temporară sau o dimensiune unghiulară.
Comanda este disponibilă din meniul Insert, Features, Circular Pattern sau
prin icon-ul
163
Popa Ion Florin, Marin Cornel, Filip Viviana
164
Modelarea şi simularea sistemelor robotice
165
Popa Ion Florin, Marin Cornel, Filip Viviana
Rezultă entitatea solidă din figura de mai sus în care s-a utilizat pentru axa de
rotaţie o axă definită în schiţa curentă.
166
Modelarea şi simularea sistemelor robotice
167
Popa Ion Florin, Marin Cornel, Filip Viviana
168
Modelarea şi simularea sistemelor robotice
169
Popa Ion Florin, Marin Cornel, Filip Viviana
170
Modelarea şi simularea sistemelor robotice
Mass Properties
Unul din beneficiile lucrului cu un model solid este posibilitatea realizării
calculelor inginereşti pentru piesele proiectate ca de exemplu:
- masa;
- volumul;
- centrul de greutate;
- momentele de inerţie.
Proprietăţile secţiunii pot fi de asemenea calculate pe baza unei feţe plane sau
al unui sketch care poate fi curent aflat în editare sau selectat.
Pentru determinarea proprietăţilor fizice ale unui model enumerate mai sus se
utilizează comanda Mass Properties acces ibilă din meniul Tools, Mass Properties
sau prin selectarea icon-ului .
171
Popa Ion Florin, Marin Cornel, Filip Viviana
Componentele Mass Properties ale unei piese pot fi setate ca atribute ale unei
piese prin Custom Property din meniul File, Properties, Custom. Această
informaţie poate fi disponibilă prin inserarea ei în Tabelul de Componenţă (Bill of
Materials). Se tastează în câmpul Name pe rând numele atributelor dorite Masa şi
Volum, după care pentru fiecare caz în parte în câmpul Value se poziţionează
cursorul mouse-ului şi se alege din casuţa alăturată Linked to Value cele două
proprietăţi fizice.
172
Modelarea şi simularea sistemelor robotice
De multe ori este nevoie să stabilim o relaţie între parametri care nu se poate
realiza prin utilizarea relaţiilor geometrice sau tehnicilor de modelare. Se pot utiliza
ecuaţii pentru a impune relaţii matematice între dimensiunile modelului. În
particular o relaţie de egalitate simplă între două sau mai multe dimensiuni poate fi
realizată prin opţiunea Link Values.
Pentru a exemplifica ecuaţiile se va utiliza modelul anterior pentru care se va
scrie o ecuaţie care să modifice numărul de spiţe funcţie de diametrul volanului.
173
Popa Ion Florin, Marin Cornel, Filip Viviana
174
Modelarea şi simularea sistemelor robotice
175
Popa Ion Florin, Marin Cornel, Filip Viviana
176
Modelarea şi simularea sistemelor robotice
177
Popa Ion Florin, Marin Cornel, Filip Viviana
3.4.3. Aplicaţii
Să se realizeze modelele tridimensionale în SolidWorks ale pieselor prezentate
mai jos utilizând entităţi solide de revoluţie:
Unităţi de măsură: inch
178
Modelarea şi simularea sistemelor robotice
179
Popa Ion Florin, Marin Cornel, Filip Viviana
180
Modelarea şi simularea sistemelor robotice
181
Popa Ion Florin, Marin Cornel, Filip Viviana
182
Modelarea şi simularea sistemelor robotice
Toate entităţile mâner, tijă şi cap sunt simetrice faţă de axa centrală
longitudinală şi de planul Top al modelului.
Mânerul este o entitate simplă rectangulară extrudată simetric faţă de planul
schiţei.
183
Popa Ion Florin, Marin Cornel, Filip Viviana
184
Modelarea şi simularea sistemelor robotice
185
Popa Ion Florin, Marin Cornel, Filip Viviana
186
Modelarea şi simularea sistemelor robotice
b. Realizarea lamajului
Este folosit meniul Insert, Cut, Extrude sau din toolbar-ul Features prin
selectarea icon-ului . Este realizat un lamaj cu adâncimea de 2 mm conform
figurii de mai jos.
187
Popa Ion Florin, Marin Cornel, Filip Viviana
d. Realizarea găurilor
Se utilizează ca şi anterior comanda Cut Extrude cu opţiunile de pe figura de
mai jos.
188
Modelarea şi simularea sistemelor robotice
189
Popa Ion Florin, Marin Cornel, Filip Viviana
190
Modelarea şi simularea sistemelor robotice
Se alege apoi suprafaţa plană a găurilor înfundate pe care a fost creată prima
gaură de trecere şi se dă Paste sau Ctrl + V.
În urma copierii unei entităţi sunt transportate toate relaţiile care au fost
definite pentru entitatea respectivă. La comanda de copiere a entităţii apare mesajul
de pe figură datorită relaţiei de concentricitate a găurii de trecere cu cercul găurii
înfundate. Programul nu ştie în acest moment care este perechea de entităţi între
care se aplică relaţia de concentricitate. Una este cercul găurii, iar a doua urmează
să fie stabilită de utilizator.
191
Popa Ion Florin, Marin Cornel, Filip Viviana
192
Modelarea şi simularea sistemelor robotice
Fillet-urile aplicate piesei vor fi Insert, Features, Fillet sau prin selectarea
icon-ului Fillet din meniul Features.
193
Popa Ion Florin, Marin Cornel, Filip Viviana
O altă cale pentru aplicarea racordărilor pe piese este selecţia unei suprafeţe.
Rezultă racordarea tuturor muchiilor care aparţin acelei suprafeţe. Rezultă aplicarea
unei racordări cu raza dorită pentru intersecţiile tijei cu celelalte entităţi solide.
Programul rezolvă intersecţia dintre două racordări prin combinarea lor.
194
Modelarea şi simularea sistemelor robotice
195
Popa Ion Florin, Marin Cornel, Filip Viviana
196
Modelarea şi simularea sistemelor robotice
3.5.7. Aplicaţii
197
Popa Ion Florin, Marin Cornel, Filip Viviana
198
Modelarea şi simularea sistemelor robotice
199
Popa Ion Florin, Marin Cornel, Filip Viviana
200
Modelarea şi simularea sistemelor robotice
3.6. CONFIGURAŢII
Manager
Acesta este utilizat pentru a face selecţia configuraţiilor definite pentru o
aceeaşi piesă sau ansamblu la nivelul piesei, ansamblului sau desenului 2D.
Acestea pot fi create direct sau indirect prin tabelul de proiectare (design table).
201
Popa Ion Florin, Marin Cornel, Filip Viviana
Configuraţiile pot exista atât pentru piese cât şi pentru ansambluri. Desenele
2D nu pot avea configuraţii dar vederile plane ale desenului pot afişa diferite
configuraţii ale fişierelor pe care le reprezintă.
Configuraţiile pieselor
Reprezentarea a două sau mai multe variante ale piesei în acelaşi fişier.
După cum se observă din captura ecran în lista de configuraţii există Default şi
unu care se referă la aceeaşi piesă Part 2.
Aceste configuraţii au fost realizate prin suprimarea unor entităţi de extrudare
(Cut Extrude) din structura arborescentă de definire al piesei (Feature Manager).
202
Modelarea şi simularea sistemelor robotice
203
Popa Ion Florin, Marin Cornel, Filip Viviana
204
Modelarea şi simularea sistemelor robotice
205
Popa Ion Florin, Marin Cornel, Filip Viviana
206
Modelarea şi simularea sistemelor robotice
207
Popa Ion Florin, Marin Cornel, Filip Viviana
După selectarea unei vederi a unei piese se va selecta Insert, Design table şi se
va plasa tabelul de proiectare în planşa desenului.
Prin dublu-click pe tabel acesta se deschide cu posibilitatea de editare a
tabelului şi a configuraţiilor piesei ataşate acestuia.
Se poate edita configuraţia care este afişată în desen prin apelarea meniului
Named View prin click-dreapta pe vederea dorită în care se va selecta din lista Use
named configuration configuraţia dorită. Pentru celelalte vederi este necesară
repetarea procedurii.
3.6.2. Controlul dimensiunilor într-un ansamblu
Dimensiunile pot fi controlate în trei moduri într-un ansamblu:
- entităţi în context
- link-area valorilor;
- link values – ecuaţii.
Link values
Comanda lucrează între entităţi ale ansamblului şi constrângeri (mates). Poate
controla valoarea constrângerilor de distanţă într-un ansamblu. Comanda nu
lucrează între piese din cadrul unui ansamblu. Aceasta înseamnă că dacă avem
doua entităţi în piese separate nu se poate să se utilizeze Link Values pentru a face
dimensiunile egale. Atunci dacă intenţia de constrângere a ansamblului nu poate fi
obţinută prin entităţi definite în context trebuie să se utilizeze o ecuaţie.
Ecuaţii într-un ansamblu
Ecuatiile algebrice pot fi utilizate pentru controlul dimensiunile în cadrul unui
ansamblu. Căsuţa de dialog de scriere a ecuaţiilor într-un ansamblu este similară cu
cea de la piese.
Se pot controla:
- dimensiunile entităţilor ansamblului;
- controlul valorilor constrângerilor (unghi sau distanţă).
Numele dimensiunilor într-un ansamblu
Singura diferenţă faţă de piese este că pe lângă numele entităţii din piesa mai
este introdus şi numele piesei.
Pentru adăugarea ecuaţiilor într-un ansamblu trebuie să se căute în piese şi
apoi în entităţile din piesă pentru a găsi dimensiunea dorită. Este de preferat să se
schimbe numele implicit cu ceva mai pe înţeles.
208
Modelarea şi simularea sistemelor robotice
209
Popa Ion Florin, Marin Cornel, Filip Viviana
In acest tabel comp este numele componentei, iar n si m sunt numărul de copii.
Controlul componentelor de tip piesă
Componentele de tip piesă sunt foarte mult configurabile în tabelele de
proiectare. Pot avea starea lor de configurare, supresie şi vizibilitate prin tabelul de
proiectare. Este important de reţinut că numele piesei şi ale configuraţiilor sunt
Case sensitive.
210
Modelarea şi simularea sistemelor robotice
211
Popa Ion Florin, Marin Cornel, Filip Viviana
212
Modelarea şi simularea sistemelor robotice
Organizarea librăriilor
Se poate controla calea de căutare a librăriilor selectând o cale de căutare în
Tools, Options, System Options, File Locations.
În lista directoarelor (Folders) din fereastra meniului de căutare se pot adăuga
şi alte căi pentru:
Scule de ambutisare (Palette Forming Tools)
Piese componente (Palette Parts)
Paleta de Entităţi (Palette Features)
Blocuri (Blocks)
213
Popa Ion Florin, Marin Cornel, Filip Viviana
214
4
Simularea structurilor mecanice
din robotică utilizând COSMOS WORKS
Modelarea şi simularea sistemelor robotice
217
Popa Ion Florin
218
Modelarea şi simularea sistemelor robotice
219
Popa Ion Florin
220
Modelarea şi simularea sistemelor robotice
Divizarea piesei
COSMOSWorks utilizează opţiunile de divizare activă pentru a crea divizarea.
Pentru a diviza piesa şi a rula analiza statică:
221
Popa Ion Florin
222
Modelarea şi simularea sistemelor robotice
223
Popa Ion Florin
224
Modelarea şi simularea sistemelor robotice
225
Popa Ion Florin
226
Modelarea şi simularea sistemelor robotice
227
Popa Ion Florin
228
Modelarea şi simularea sistemelor robotice
229
Popa Ion Florin
4. Se dă click pe OK .
230
Modelarea şi simularea sistemelor robotice
231
Popa Ion Florin
232
Modelarea şi simularea sistemelor robotice
7. Se dă click pe OK.
8. Se verifică fereastra Run analysis after meshing.
9. Se dă click pe OK pentru a accepta implicit valorile indicate pentru Global
Size şi Tolerance .
233
Popa Ion Florin
234
Modelarea şi simularea sistemelor robotice
5. Se dă click pe OK .
235
Popa Ion Florin
236
Modelarea şi simularea sistemelor robotice
237
Popa Ion Florin
4. Se dă click pe Update.
Reaction Force listează reacţiunile de pe faţa selectată precum şi pe cele de pe
întregul model.
Listarea arată că, componenta X a reacţiunii este dominantă, foarte apropiată ca
magnitudine şi opusă ca semn forţei aplicate (-200 lbs).
5. Se dă click pe Close.
238
Modelarea şi simularea sistemelor robotice
239
Popa Ion Florin
240
Modelarea şi simularea sistemelor robotice
241
Popa Ion Florin
242
Modelarea şi simularea sistemelor robotice
243
Popa Ion Florin
9. Se dă click pe Plot.
Se deschide fereastra grafică Probe Result. Tensiunile von Mises sunt
prezentate grafic. Graficul nu prezintă distanţa actuală dintre noduri.
244
Modelarea şi simularea sistemelor robotice
245
Popa Ion Florin
246
Modelarea şi simularea sistemelor robotice
247
Popa Ion Florin
248
Modelarea şi simularea sistemelor robotice
4. Se dă click pe OK.
2. Se dă click pe Options.
Apare caseta de dialog Options cu selecţia Mesh activă.
249
Popa Ion Florin
250
Modelarea şi simularea sistemelor robotice
251
Popa Ion Florin
252
Modelarea şi simularea sistemelor robotice
Rezultatele curente sunt mai precise deoarece o dimensiune mai mica a elementului
este utilizată pentru împărţire.
253
Popa Ion Florin
254
Modelarea şi simularea sistemelor robotice
5. Se dă click pe OK .
Modelul nedeformat este afişat pe modul de deformare principal.
Pentru a vizualiza alte moduri de deformare:
1. În structura arborescentă COSMOSWorks Manager se dă click-dreapta pe
folder-ul Deformation şi se selectează Define.
Apare Deformed Shape Plot Property Manager.
2. În caseta de dialog Display, se setează 2 pentru Mode shape şi se dă
click pe OK .
Icon-ul Plot2 apare în folder-ul Deformation şi modul de deformare 2 este
afişat.
255
Popa Ion Florin
256
Modelarea şi simularea sistemelor robotice
2. Se dă click pe Add.
Apare ferestra de dialog Add Parameters.
257
Popa Ion Florin
258
Modelarea şi simularea sistemelor robotice
259
Popa Ion Florin
260
Modelarea şi simularea sistemelor robotice
261
Popa Ion Florin
3. Se dă click pe By Set.
4. Se stabilesc unităţile de măsură (Units) în Hz.
5. Se dă click pe icon-ul pentru a muta toţi itemii din fereastra de listare
Available Results în fereastra de listare Graph Results
6. Se dă click pe OK.
Apare graficul de mai jos.
262
Modelarea şi simularea sistemelor robotice
263
Popa Ion Florin
264
Modelarea şi simularea sistemelor robotice
265
Popa Ion Florin
266
Modelarea şi simularea sistemelor robotice
267
Popa Ion Florin
268
Modelarea şi simularea sistemelor robotice
7. Se dă click pe OK.
COSMOSWorks alege proprietăţile materialului specificat pentru toate
componentele. Un semn de verificare apare pe fiecare icon component.
269
Popa Ion Florin
270
Modelarea şi simularea sistemelor robotice
271
Popa Ion Florin
272
Modelarea şi simularea sistemelor robotice
Apare Plot1.
2. Se dă dublu-click pe Plot1.
Graficul de temperatură este afişat.
Aşa cum era de aşteptat, datorită convecţiei, cipul din colţ este cel mai rece iar
cipul din interior este cel mai fierbinte.
273
Popa Ion Florin
274
Modelarea şi simularea sistemelor robotice
275
Popa Ion Florin
4. Se dă click pe Close.
276
Modelarea şi simularea sistemelor robotice
277
Popa Ion Florin
Temperature .
4. Sub Temperature se selectează K (Kelvin) şi apoi se editează 300 în
caseta de valori.
5. Se dă click pe OK .
Programul alege temperatura specificată şi crează un icon în folder-ul
Load/Restraint.
278
Modelarea şi simularea sistemelor robotice
279
Popa Ion Florin
280
Modelarea şi simularea sistemelor robotice
281
Popa Ion Florin
282
Modelarea şi simularea sistemelor robotice
Acest grafic arată că, condiţia de regim staţionar este atinsă în aproximativ
600 s (ce corespunde celui de-al 20-lea pas de timp).
5. Se închide fereastra grafică dând click pe File, Close.
6. Se dă click pe Close pentru a închide caseta de listare Probe.
283
Popa Ion Florin, Marin Cornel, Filip Viviana
5
Modelarea şi simularea
dinamicii sistemelor reologice
284
Modelarea şi simularea sistemelor mecatronice
285
Popa Ion Florin, Marin Cornel, Filip Viviana
t0 t1 t
ε
ε0 =σ0/E
ε2
ε1
ε3
t0 t1 t
Fig.5.1. Fenomenul de fluaj şi descărcare după fluaj
286
Modelarea şi simularea sistemelor mecatronice
O t1 t2 t
σ
σ1
σ10
O t
-σ2
Fig.5.2. Fenomenul de relaxare şi anularea deformaţiei după relaxare
Anularea deformaţiei după relaxare este fenomenul care se produce la schimbarea
sensului sarcinii aplicate, respectiv a tensiunii din pozitive σ1 , care devine negativă de
valoare -σ2. După inversarea sensului tensiunii în primul moment are loc o revenire
elastică instantanee, după care, sub acţiunea sarcinii negative deformaţia scade
progresiv trecând prin zero spre valori negative. În momentul în care deformaţia
negativă este egală ca valoare cu deformaţia elastică instantanee corespunzătoare
revenirii elastice, se anulează tensiunea negativă -σ2, elementul revenind la o
deformaţie specifică nulă ( fig. 5.2).
Proprietăţile vâscoelastice de fluaj şi relaxare ale materialelor sunt influenţate în
mod hotărâtor de temperatură. Pentru unele materiale, cum sunt polimerii, proprietăţile
vâscoelastice se schimbă într-un mod discontinuu în jurul unei temperaturi θg numită
temperatură de tranziţie, când au loc transformări fizico-chimice în material. Pentru
anumite valori ale sarcinilor exterioare şi temperaturi mai mari decât θg materialele au
proprietăţi preponderent vâscoase sau vâscoelastice, iar pentru temperaturi mai mici
decât θg au proprietăţi elastice sau elastovâscoase.
287
Popa Ion Florin, Marin Cornel, Filip Viviana
ε0 = σ0 / E (5.1)
în care E este modulul de elasticitate longitudinal.
σ0
t0 t1 t
ε
ε=σ0/E
t0 t1 t
288
Modelarea şi simularea sistemelor mecatronice
σ0
t0 t1 t
ε
ε1
tgα=σ0/λ
t0 t
289
Popa Ion Florin, Marin Cornel, Filip Viviana
t
1 σ0
λ ∫0
ε (t ) = ε 0 + sin ωtdt = ε 0 − cos ωt
λω
(5.4)
σ ⎛ π⎞
⇔ ε (t ) = ε 0 + 0 sin ⎜ ωt − ⎟
λω ⎝ 2⎠
Pentru studiul comportării materialelor de tip vâscoelastic se folosesc diferite
modele reologice având la bază modele liniare prezentate, a căror legi de comportare
sunt caracterizate de ecuaţii diferenţiale ordinare cu coeficienţi constanţi care se pot
scrie sub formă generală astfel:
b0ε + b1ε& + b2ε&& + ... = a0σ + a1σ& + a2σ&& + ... (5.5)
Simularea dinamicii sistemelor reologice se face în continuare pentru următoarele
cinci modele:
• Voigt-Kelvin
• Maxwell
• Zener
• Voigt-Kelvin-Hooke
• Burgers
σ
ε
λ
Fig. 5.5. Modelul vâscoelastic Voigt Kelvin
Pentru a deduce ecuaţia diferenţială a modelui vâscoelastic Voigt-Kelvin se
observă că deformaţia celor două elemente este aceeaşi, iar tensiunea σ este egală cu
suma tensiunilor corespunzătoare celor două elemente:
εk = εc = ε ; σk +σc = σ (5.6)
σ σ
în care: ε k = k ; ε&c = c conform relaţiilor (5.1) şi (5.2).
E λ
Înlocuind relaţiile (5.1) şi (5.2) în (5.6) se obţine ecuaţia diferenţială a modelului
Voigt-Kelvin:
290
Modelarea şi simularea sistemelor mecatronice
1 1
σ = Eε + λε& ⇔ ε& + ε = σ (t ) (5.7)
τ τE
unde s-a notat cu τ = λ / E timpul de întârziere al modelului Voigt- Kelvin.
Ecuaţia diferenţială (5.7) are soluţia generală de forma:
1
C+ σ (t )ρ (t )dt
∫
ε (t ) = τE (5.8)
ρ (t )
t
⎛ 1 ⎞
în care: ρ (t ) = exp ⎜ ∫ dt ⎟ = e τ (5.9)
⎝ τ ⎠
C este o constantă care se determină din condiţiile iniţiale.
Înlocuind expresia (5.9) în soluţia (5.8) rezultă soluţia generală a modelului
Voigt- Kelvin , valabilă pentru orice tip de sarcină aplicată σ(t:
⎛ 1
t s
⎞ −t
ε (t ) = ⎜ C + σ (s ) ⋅ e τ ds ⎟e τ
∫ (5.10)
⎜ τE ⎟
⎝ 0 ⎠
În continuare este simulată dinamica modelului Voigt-Kelvin pentru diferite
cazuri de încărcare prezentate la paragraful 5.1.
0.1
0.08
0.06
f1( t )
0.04
0.02
0
0 1 2 3 4
t
Fig. 5.6. Simularea comportării la fluaj
Pentru valoarile particulare: ε1 = 0.098 şi τ=1 se obţine variaţia exponenţială din
figura 5.7.
−3
f1( t ) := 0.098 ⋅ exp( −t ) f1( 4) = 1.795 × 10
0.1
0.08
0.06
f1( t )
0.04
0.02
0
0 1 2 3 4
Fig. 5.8.a. Schema bloc SIMULINK pentru fluaj şi descărcarea după fluaj
293
Popa Ion Florin, Marin Cornel, Filip Viviana
σ 1 = ε1E < σ 0 , după care aceasta rămâne constantă (fig. 5.9). Într-adevăr ecuaţia
diferenţială (5.7) se scrie pentru acest caz astfel:
1 1
ε1 = σ ( t ) (5.16)
τ τE
Din relaţia (5.16) rezultă: σ 1 = ε 1 E = cons tan t .
Pentru anularea deformaţiei după o relaxare, se aplică la momentul t2 o tensiune
negativă -σ2 astfel încât la momentul t3 se obţine o deformaţie nulă (fig.5.9). Din acest
moment se anulează tensiunea negativă -σ2, ultima deformaţie obţinută păstrându-se
nulă.
Într-adevăr, conform ecuaţiei diferenţiale (5.7) avem în acest caz:
1
σ(t ) = 0 ⇒σ = 0 (5.17)
τE
σ
σ0
σ1
ε
ε1
O t
t1 t2 t3
-ε2
294
Modelarea şi simularea sistemelor mecatronice
295
Popa Ion Florin, Marin Cornel, Filip Viviana
2.5
1.5
f1( t ) 1
f2( t ) 0.5
0.5
1
0 1 2 3 4
t
Fig. 5.11. Simularea încărcării armonice
296
Modelarea şi simularea sistemelor mecatronice
297
Popa Ion Florin, Marin Cornel, Filip Viviana
σ0
298
Modelarea şi simularea sistemelor mecatronice
1−exp( − 0.25⋅ x)
0.75
1−exp( − x)
0
0 2 4 6 8 10
x
Fig.5.14.a Variaţia lui εmax, εmin şi Δε pentru diferite valori ale amortizării şi α=0.25
1
0
0 2 4 6 8 10
x
Fig.5.14.b Variaţia lui εmax, εmin şi Δε pentru diferite valori ale amortizării şi α=0.5
299
Popa Ion Florin, Marin Cornel, Filip Viviana
1
1
1− exp ( − 0.75⋅ x)
0.75
1− exp ( − x)
0 0
0 2 4 6 8 10
0 x 10
Fig.5.14.c Variaţia lui εmax, εmin şi Δε pentru diferite valori ale amortizării şi α=0.75
1 1 1 1
0 0 0 0
0 0.5 10 1 2 3 4 5 6 7 8 90 0.5 01 1 2 3 4 5 6 7 8 9
x x x x
Fig. 5.15.a. Simularea comportării pentru un coeficient de umplere α=0,1
0 0 0 0
0 1 2 3 4 50 1 2 3 4 50 1 2 3 4 50 1 2 3 4 5
x x x x
Fig. 5.15.b. Simularea comportării pentru un coeficient de umplere α=0,5
1 1 1 1
0 0 0 0
0 1 2 3 4 5 6 7 8 90 0.5 1
0 1 2 3 4 5 6 7 8 90 0.5 1
x x x x
Fig. 5.15.c. Simularea comportării pentru un coeficient de umplere α3=0,9
301
Popa Ion Florin, Marin Cornel, Filip Viviana
302
Modelarea şi simularea sistemelor mecatronice
303
Popa Ion Florin, Marin Cornel, Filip Viviana
+σ0
π t
2π 3π
Fig. 5.17
Coeficienţii Fourier se calculează conform relaţiilor generale:
T T
1 2
a0 =
T ∫
0
f ( t )dt ; ak =
T ∫ f ( t ) cos(kω t )dt ;
0
(5.39)
T
2
bk =
T ∫ f ( t ) sin(kω t )dt .
0
(5.40)
în care: T = 2π , ω = 2π / T = 1 ; (5.41)
Înlocuind pentru valorile funcţiei date în relaţia (5.41) se obţine:
2π π
1 σ ⎡ ⎤ σ
a0 =
2π 0 ∫
f ( t )dt = 0 ⎢ f ( t )dt ⎥ = 0
2π ⎢⎣ 0 ⎥⎦ 2
∫
(5.42)
2π π
1 σ ⎡ ⎤
ak =
π ∫
0
f ( t ) cos kt dt = 0 ⎢ ∫ cos kt dt ⎥ = 0
π ⎣⎢ 0 ⎦⎥
2π π
1 σ0 ⎡ ⎤ σ 1 − ( −1 )k
bk =
π ∫
0
f ( t ) sin kt dt = ⎢ ∫ sin kt dt ⎥ = 0 ⋅
π ⎣⎢ 0 ⎦⎥ π k
(5.43)
304
Modelarea şi simularea sistemelor mecatronice
⋅⎡
20 a cos ( t ) a ⋅ cos ( 3⋅ t ) a ⋅ cos ( 5⋅ t ) a cos ( 7⋅ t ) a cos ( 9⋅ t ) a cos ( 11⋅ t ) a cos ( 13⋅ t ) a cos ( 15⋅ t ) a cos ( 17⋅ t ) ⎤
f2( t ) := + + + + + + + +
π ⎢ 2 2 2 2 2 2 2 2 2⎥
⎣ 1 + ( a) 1 + ( 3⋅ a ) 1 + ( 5⋅ a ) 1 + ( 7⋅ a ) 1 + ( 9⋅ a ) 1 + ( 11⋅ a ) 1 + ( 13⋅ a ) 1 + ( 15⋅ a ) 1 + ( 17⋅ a ) ⎦
f1 ( t ) − f2 ( t )
305
Popa Ion Florin, Marin Cornel, Filip Viviana
σ0
Δti Δti Δti
Δtc Δtc t
-σ0
Fig. 5.19
ε 2 n −1 =
σ0
(1 − x )(1 − x + x 2 − x3 + ... + x 2n − 2 ) (5.55)
E
E
σ0
(
(1 − x ) 1 − x + x 2 − x3 + ... − x 2 n −1
ε 2n = − ) (5.56)
Termenii din parantezele de mai sus se scriu:
1 + x 2 n−1
1 − x + x 2 − x 3 + ... + x 2 n−2 =
1+ x
(5.57)
1 + x 2n
1 − x + x 2 − x 3 + ... − x 2 n−1 =
1+ x
Trecând la limită în expresiile de mai sus se obţine:
σ 1 − e−μ
ε max = ε 2 n−1 = 0
E 1 + e −μ
σ 1 − e −μ
ε min = ε 2 n = − 0 (5.58)
E 1 + e −μ
2σ 1 − e −μ
Δε = ε max − ε min = 0
E 1 + e −μ
σ0
Pentru valoarea parametrului = 1 , în figura 5.20 sunt reprezentate cele trei
E
T
mărimi date de relaţia (5.58) în funcţie de parametrul μ = .
2τ
2
1.5
1− exp( − x)
1
1+ exp( − x)
− 1+ exp( − x)
1+ exp( − x) 0.5
2− 2 exp( − x)
1+ exp( − x) 0
0.5
1
0 1 2 3 4 5
307
Popa Ion Florin, Marin Cornel, Filip Viviana
308
Modelarea şi simularea sistemelor mecatronice
+σ0
π 2π 3π t
-σ 0
Fig.5.22
Coeficienţii Fourier se calculează conform relaţiilor generale:
T T
1 2
a0 =
T ∫
0
f ( t )dt ; ak =
T ∫ f ( t )cos(kω t )dt ;
0
(5.61)
T
2
bk =
T ∫ f ( t ) sin(kω t )dt .
0
în care: T = 2π , ω = 2π / T = 1 (5.62)
Pentru valorile funcţiei date de relaţia (5.59) se obţine:
2π π 2π
1 σ ⎡ ⎤
a0 =
2π 0 ∫ ∫
f ( t )dt = 0 ⎢ f ( t )dt + f ( t )dt⎥ = 0
2π ⎢⎣ 0 π ⎥⎦
∫
2π π 2π
1 σ0 ⎡ ⎤
ak =
π ∫
0
f ( t )coskt dt = ⎢∫ coskt dt − ∫ coskt dt⎥ = 0
π ⎣⎢ 0 π ⎦⎥
(5.63)
2π π 2π
1 σ0 ⎡ ⎤ 2σ 1 − ( −1)k
bk =
π ∫
0
f ( t ) sinkt dt = ⎢∫ sinkt dt − ∫ sinkt dt⎥ = 0 ⋅
π ⎢⎣ 0 π ⎥⎦ π k
Deoarece k este un număr natural, coeficienţii bk se mai scriu:
309
Popa Ion Florin, Marin Cornel, Filip Viviana
⎧0 pentru k = 2n
⎪
bk = ⎨ 4σ 0 1 (5.64)
⎪ π ( 2n − 1 ) pentru k = 2n − 1
⎩
Se obţine dezvoltarea în serie Fourier :
4σ ∞ sin( 2n − 1 )t
f (t )= 0
π n =1 2n − 1 ∑ (5.65)
⋅⎡
40 a cos ( t ) a ⋅ cos ( 3 ⋅ t ) a ⋅ cos ( 5 ⋅ t ) a cos ( 7 ⋅ t ) a cos ( 9 ⋅ t ) a cos ( 11 ⋅ t ) a cos ( 13 ⋅ t ) a cos ( 15 ⋅ t ) a cos ( 17 ⋅ t ) ⎤
f2 ( t ) := + + + + + + + +
π ⎢ 2 2 2 2 2 2 2 2 2 ⎥
⎣ 1 + (a) 1 + ( 3⋅ a ) 1 + ( 5⋅ a ) 1 + ( 7⋅ a ) 1 + ( 9⋅ a ) 1 + ( 11 ⋅ a ) 1 + ( 13 ⋅ a ) 1 + ( 15 ⋅ a ) 1 + ( 17 ⋅ a ) ⎦
f1 ( t ) − f2 ( t )
310
Modelarea şi simularea sistemelor mecatronice
E1 E2 En
σ
...
λ1 λ2 λn
ε
Fig. 5.24 Modelul vâscoelastic Voigt-Kelvin generalizat
Se pot scrie următoarele relaţii de echilibru şi de continuitate pentru
elementele Voigt- Kelvin înseriate:
σ k1 + σ c1 = σ; σ k1 = E1ε1 ; σ c1 = λ1ε& 1
σ k 2 + σ c 2 = σ; σ k 2 = E 2 ε 2 ; σ c 2 = λ 2 ε& 2
... (5.69)
σ kn + σ cn = σ; σ kn = E n ε n ; σ cn = λ n ε& n
ε = ε1 + ε 2 + ε 3 + ... + ε n
λj σ
Notând: ε j = α j ε ; = τ j ⇒ ε j + τ jα j ε& = ; (5.70)
Ej Ej
Dacă se însumează relaţiile (5.70) se obţine:
n n 1 n
ε + ε& ∑ τ j α j = σ ∑ ; ∑α j =1 (5.71)
j =1 j =1 E j k =1
Pentru n=2 se scriu următoarele relaţii:
⎛ 1 1 ⎞
ε + (τ 1α1 + τ 2α 2 )ε& = σ ⎜⎜ + ⎟⎟
E
⎝ 1 E 2 ⎠ (5.72)
α1 + α 2 = 1
Relaţia diferenţială (5.71) se ma scrie:
1 1 ⎛ 1 1 ⎞
ε& + ε= ⎜ + ⎟σ (5.73)
α1τ 1 + α 2τ 2 α1τ 1 + α 2τ 2 ⎜⎝ E1 E2 ⎟⎠
1 1 1 1 1
Notând: = ; + = (5.74)
α1τ 1 + α 2τ 2 τ E1 E2 E
se obţine ecuaţia (5.7) crespunzătoare modelului Voigt - Kelvin:
1 1
ε& + ε = σ ( t ) (5.75)
τ τE
Prin alegerea corespunzătoare a parametrilor τ 1 , τ 2 , E1 , E2 ( α1 , α 2 ) se obţin
valorile dorite pentru τ şi E.
311
Popa Ion Florin, Marin Cornel, Filip Viviana
E λ
σ
ε
Fig. 5.25. Modelul vâscoelastic Maxwell
312
Modelarea şi simularea sistemelor mecatronice
σ0
t0 t1 t
ε
ε1
ε2
ε0
t0 t1 t
313
Popa Ion Florin, Marin Cornel, Filip Viviana
314
Modelarea şi simularea sistemelor mecatronice
ε
ε1
O t1 t
σ
σ1
O t1 t
Fig. 5.28. Simularea relaxării folosind modelul Maxwell
Relaxarea se produce prin descărcarea elementului elastic, deformaţia elastică a
elementului Hooke fiind transferată elementului vâscos Newton, sub o sarcină
variabilă exponenţial în timp.
Pentru anularea deformaţiei după relaxare se aplică la momentul t2 o tensiune
negativă -σ2 astfel încât la momentul t3 se obţine deformaţia nulă (fig. 5.28).
Conform relaţiei (5.89) la momentul t2 tensiunea din element are valoarea:
t −t
− 2 1
σ1 = σ 0 e τ (5.90)
Pe intervalul (t1, t2) când asupra elementului acţionează o tensiune negativă -σ2,
soluţia generală la încărcarea cu un semnal de tip treaptă (5.80) se scrie:
σ t − t1
ε (t ) = ε1 − ε 0 − 2 (5.91)
E τ
Momentul t3 se obţine anulând expresia deformaţiei (5.91):
315
Popa Ion Florin, Marin Cornel, Filip Viviana
t3 = t2 +
(ε1 − ε0 )Eτ (5.92)
σ2
La momentul t3 se anulează tensiunea negativă -σ2 păstrându-se în continuare o
deformaţie nulă, conform ecuaţiei diferenţiale (5.77) ca în figura 5.29:
1⎛ 1 ⎞
ε& = ⎜ σ& + σ ⎟ ⇒ ε& = 0 ⇒ ε = 0 (5.93)
E⎝ τ ⎠
σ
σ0
σ1
O t1 t2 t
-σ2
ε1
ε0
Relaxare t2
O ε0
t3 t
Anularea deformaţiei
Fig. 5.29. Simularea anulării deformaţiei după relaxare
316
Modelarea şi simularea sistemelor mecatronice
317
Popa Ion Florin, Marin Cornel, Filip Viviana
10
f1( t ) 5
f2( t )
0
10
0 0.5 1 1.5
Fig. 5.31. Simularea încărcării cu o sarcină armonică2
t
318
Modelarea şi simularea sistemelor mecatronice
319
Popa Ion Florin, Marin Cornel, Filip Viviana
σ0
t1 t2 t3 t4 t
ε3
ε4
ε1
ε2
ε0
t1 t2 t3 t4 t
320
Modelarea şi simularea sistemelor mecatronice
321
Popa Ion Florin, Marin Cornel, Filip Viviana
ε1 ε3
ε30
ε10
ε0 ε20
ε2 t
323
Popa Ion Florin, Marin Cornel, Filip Viviana
324
Modelarea şi simularea sistemelor mecatronice
E1 λ1
E2 λ2
σ
...
En λn
ε
325
Popa Ion Florin, Marin Cornel, Filip Viviana
σ k1 = σ c1 = σ1 ; σ k1 = E1ε1 ; σ c1 = λ1ε&1
σ k 2 = σc2 = σ 2 ; σ k 2 = E2 ε 2 ; σ c 2 = λ2 ε&2 ; ...
(5.115)
ε = ε k1 + εc1 ; ε = ε k 2 + εc 2 ; ...
σ = σ1 + σ 2 + σ 3 + ... + σ n
Însumând relaţiile:
σ& j σj
ε& = ε&kj + ε&cj ⇔ ε& = +
Ej λj
(5.116)
Ej
⇔ E j ε& = σ& j + σj
λj
se obţine:
n n n Ej
∑ E jε& = ∑ σ& j + ∑ λ σj (5.117)
j =1 j =1 j =1 j
Ej 1
Notând = şi impunând condiţia suplimentară: σ j = α jσ , unde αi
λj τj
reprezintă ponderea tensiunii elementului i din tensiunea totală se obţine relaţia
diferenţială a modelului Maxwell gneralizat:
⎛ n ⎞ ⎛ n αj ⎞
ε&⎜ ∑ E j ⎟ = σ& + ⎜ ∑ ⎟σ (5.111)
⎜ j =1 ⎟ ⎜ j =1 τ j ⎟
⎝ ⎠ ⎝ ⎠
n n
αi 1
Notând: ∑E
i =1
i = E; ∑τ
i =1 i
=
τ
(5.112)
326
Modelarea şi simularea sistemelor mecatronice
E1 λ1
E2 λ2
σ
...
En λn
ε
En+1
Fig. 5.38. Modelul vâscoelastic Zener generalizat
E1 λ
σ
ε
E2
Deformaţia ε pentru cele două elemente Maxwell şi Hooke este aceeaşi iar
tensiunea σ este egală cu suma tensiunilor:
ε = ε k1 + ε c = ε k 2 ⇒ ε& = ε&k1 + ε&c
σ = σ1 + σ 2 ; σ k1 = σ c = σ 1 ; σ k 2 = σ 2 (5.114)
σ k1 = E1ε k1 ; σ c = λε&c 3 ; σ k 2 = E 2ε k 2
327
Popa Ion Florin, Marin Cornel, Filip Viviana
în care constanta C se determină din condiţia la momentul iniţial când sub acţiunea lui
σ0 se produce deformaţia elastică instantanee:
328
Modelarea şi simularea sistemelor mecatronice
σ0
ε( 0 ) = (5.122)
E1 + E2
Rezultă constanta C:
σ0
E1
C=− ⋅ (5.123)
E2 E1 + E2
Înlocuind în expresia (5.121) se obţine:
σ ⎛ − ⎞
kt
E1
ε (t ) = 0 ⎜1 − e τ ⎟ (5.124)
E2 ⎜⎝ E1 + E2 ⎟
⎠
σ0
Pentru cazul particular ε0=2, = 10 k=0,5 (E1=E2) şi τ =1 se obţine variaţia
E2
din figura 5.40. Se observă că simularea pe acest model se apropie foarte mult de
situaţia reală: la momentul iniţial are loc o deformaţia elastică instantanee urmată de
deformaţii permanante care cresc cu timpul.
După timpul t1 de acţiune a sarcinii constante σ0, se obţine deformaţia:
σ ⎛ − 1 ⎞
kt
E1
ε 1 = 0 ⎜1 − e τ ⎟ (5.125)
E2 ⎜⎝ E1 + E2 ⎟
⎠
1.6
1.2
f1( t )
0.8
0.4
0
0 1 2 3 4 5
t
Fig. 5.40. Comportarea la fluaj a modelului Zener
În cazul descărcării după fluaj se produce mai întâi o revenire elastică instantanee
σ0
cu: Δε = (5.126)
E1 + E2
329
Popa Ion Florin, Marin Cornel, Filip Viviana
După această revenire elastică are loc descărcarea la fluaj după o lege
exponenţială conform relaţiei (5.120):
kt
−
ε (t ) = (ε1 − Δε )e τ (5.127)
Pentru k=0,5, ε1 -Δε =0,918 şi τ=1 se obţine variaţia din figura 5.41.
2
1.6
1.2
0.8
0.4
0
0 1 2 3 4 5
t
Fig. 5.41. Comportarea modelului Zener la descărcarea după fluaj
330
Modelarea şi simularea sistemelor mecatronice
331
Popa Ion Florin, Marin Cornel, Filip Viviana
100
80
60
40
20
10
0
0 1 2 3 4 5
t
332
Modelarea şi simularea sistemelor mecatronice
σ1
σ2
t1 t2 t3 t
-σ1
ε
ε1
Δε Anularea deformaţiei
Relaxare
Δε/2 t
335
Popa Ion Florin, Marin Cornel, Filip Viviana
f1(t) := sin(10t)
5[(0.5 + 100)sin(10t) − 5 ⋅ cos(10t)]
f2(t) := 2exp(−0.5t) +
0.25+ 100
5
f1( t) 3
f2( t) 1
5
0 1 2 3 4
t
336
Modelarea şi simularea sistemelor mecatronice
+σ
Se notează:
N
E2 N − μα i
N= ⇒k = şi e N +1 =x (5.145)
E1 N +1
Relaţia (5.144) devine:
σ0 ⎛
x ⎞
ε1 =
⎜1 − ⎟ (5.146)
E2 ⎝ N + 1 ⎠
La sfârşitul fazei de descărcare, ţinând seama de relaţia (5.127) şi de revenirea
σ0
elastică cu Δε = se obţine deformaţia:
E1 + E2
N
− μα d
ε 2 = (ε1 − Δε ) ⋅ e N +1 (5.147)
Dacă se notează :
N
− μα d
e N +1 =y (5.148)
deformaţia la sfârşitul fazei de descărcare dată de relaţia (5.147) devine:
σ ⎛ x+N ⎞
ε 2 = 0 ⎜1 − ⎟y (5.149)
E2 ⎝ N +1 ⎠
338
Modelarea şi simularea sistemelor mecatronice
σ0
Δε
ε Δε
ε1
ε0
t
Fig. 5.50. Simularea comportării la impulsuri dreptunghiulare
339
Popa Ion Florin, Marin Cornel, Filip Viviana
σ0
ε
ε1
2Δε 2Δε
Δε 2Δε
t
ε2
Fig. 5.51. Simularea comportării la impulsuri dreptunghiulare
340
Modelarea şi simularea sistemelor mecatronice
341
Popa Ion Florin, Marin Cornel, Filip Viviana
342
Modelarea şi simularea sistemelor mecatronice
E1
σ
E2
λ1 ε
Fig. 5.53. Modelul vâscoelastic Voigt- Kelvin– Hooke (VKH)
Cele două elemente Voigt- Kelvin şi Hooke sunt încărcate cu aceeaşi tensiune σ
iar deformaţia ε este egală cu suma deformaţiilor lor. Se pot scrie următoarele relaţii
de echilibru şi de continuitate:
σ = σ k1 + σ c1 = σ k 2 ;
σ k1 = E1εk1 ; σ c1 = λε&c1 ; σ k 2 = E2 εk 2 ;
(5.162)
εk1 = εc1
ε = εk1 + εk 2
Eliminând ε k1 , ε c3 , ε k 2 din relaţiile (5.162) se obţine relaţia diferenţială a
modelului VKH:
⎛ E ⎞ λ
E1ε + λε& = σ⎜⎜1 + 1 ⎟⎟ + σ& (5.163)
⎝ E 2 ⎠ E2
343
Popa Ion Florin, Marin Cornel, Filip Viviana
344
Modelarea şi simularea sistemelor mecatronice
10
5( 2−exp( − x) )
0
0 1 2 3 4
10
4.908422exp( − t)
0
0 1 2 3 4
345
Popa Ion Florin, Marin Cornel, Filip Viviana
100
80
60
5+ 95 exp( − 2t )
40
20
5
0
0 1 2 3 4 5
347
Popa Ion Florin, Marin Cornel, Filip Viviana
348
Modelarea şi simularea sistemelor mecatronice
σ
σ0
σ1
σ2
t1 t2 t3 t
-σ1
ε
ε1
Δε Anularea deformaţiei
Relaxare
Δε/2 t
⎛ 2σ ⎞ −
t −t2
σ1 ⎛ −
t −t2 ⎞
Soluţia devine: ε (t ) = ⎜⎜ ε1 − 1 ⎟⎟e (N + 1)⎜⎜1 − e τ ⎟⎟ (5.183)
τ −
⎝ E2 ⎠ E1
⎝ ⎠
Deformaţia se anulează şi apoi devine negativă ca în figura 5.59. Dacă la
momentul t3 tensiunea negativă -σ1 se anulează, elementul suferă o revenire elastică cu
349
Popa Ion Florin, Marin Cornel, Filip Viviana
σ1 σ
Δε = . Punând condiţia ε (t3 ) = − 1 în relaţia (5.183) se determină momentul t3 al
E2 E2
anulării tensiunii -σ1 .
350
Modelarea şi simularea sistemelor mecatronice
ε (t ) = ε0 e
−
t
τ +
[ (
σ 0 1 + N 1 + τ 2 ω 2 sin ωt − τωN ⋅ cos ωt )]
(5.185)
E1 1 + τ 2ω2
σ0
Pentru cazul particular: ε0=2; = 10 ; ω=10 ; N=1 (E1=E2) şi τ =1 soluţia
E1
( 2 + 100 ) sin(10t ) − 10 cos(10t )
(5.185) devine: ε (t ) = ε0 e − t + 10 (5.186)
1 + 100
În figura 5.61 s-au reprezentat atât diagrama de încărcare: σ ( t ) = sin( 10t ) cât şi
diagrama răspunsului ε ( t ) .
Din aceste diagrame se observă că între încărcare şi răspunsul modelului există
defazajul ϕ0 . Într-un regim staţionar (când termenul ε0 e −t / τ devine neglijabil)
defazajul ϕ0 se determină cu ajutorul relaţiei:
τω
tg Φ 0 = −
1 + N 1 + τ 2ω2 ( )
(5.187)
f1(t) := sin(10t)
10[(2 + 100)sin(10t) − 10 ⋅ cos (10t)]
f2(t) := 2exp(−t) +
1 + 100
15
10
5
f1( t )
0
f2( t )
5
10
15
0 1 2 3 4
Fig. 5.61. Simularea comportării modelului
t VKH
sub acţiunea unei sarcini armonice
351
Popa Ion Florin, Marin Cornel, Filip Viviana
352
Modelarea şi simularea sistemelor mecatronice
+σ
σ0
Δε
ε Δε
ε1
ε0
t
Fig. 5.64. Simularea comportării la impulsuri dreptunghiulare
În funcţie de valorile parametrilor N , x şi y se obţin diferite valori ale
deformaţiilor la sfârşitul fazelor de întindere compresiune. După un număr mare de
cicluri, la limită, se obţin valori fixe pentru deformaţiile după faza de întindere
respectiv de compresiune.
Δt T
αi = αc = α = ; μ= . (5.198)
T τ
La sfârşitul fazei de încărcare cu tensiunea +σ0 , dacă se consideră ε0=0 şi şi ţine
seama de relaţia (5.169), se obţine deformaţia:
σ 0 ⎛⎜ ⎞
Δt
− i
ε1 = N + 1 − e τ ⎟ (5.199)
E1 ⎜⎜ ⎟⎟
⎝ ⎠
σ
σ0
Δti Δtc Δ ti
t0 t1 t2 t3 t
ε
ε1
2Δε 2Δε
Δε 2Δε
t
ε2
Fig. 5.65. Simularea comportării la impulsuri dreptunghiulare
355
Popa Ion Florin, Marin Cornel, Filip Viviana
Modelul vâscoelastic Burgers este un model folosit mai puţin decât modelul Zener
în modelarea şi simularea dinamicii sistemelor reologice, fiind format dintr-un element
Voigt-Kelvin şi un element Maxwell legate în serie ca în figura 5.67.
E1
σ
E2 λ2
λ1 ε
Fig. 5.67. Modelul vâscoelastic Burgers
357
Popa Ion Florin, Marin Cornel, Filip Viviana
σ = σ 1 = σ c2 = σ k 2 ;
σ c2σ k2
ε = ε1 + ε k 2 + ε c2 ; ε k2 = ; ε&c 2 =
λ2 E2
σ σ
ε 1 = ε k1 = ε c1 ; ε k1 = k1 ; ε&c1 = c1 (5.208)
E1 λ1
σ& σ
ε& = ε&1 + ε&k 2 + ε&c 2 ⇒ ε& = ε&1 + +
E 2 λ2
σ 1 = σ k1 + σ c1 ⇒ σ = E1ε 1 + λ1ε&1
Eliminând pe ε1 din cele două relaţii se obţine o ecuaţie diferenţială de ordinul al
II lea cu coeficienţi constanţi neomogenă:
λ1 ⎛ E λ ⎞ E
ε&&λ1 + ε&E1 = σ&& + σ& ⎜⎜1 + 1 + 1 ⎟⎟ + σ 1 (5.209)
E2 ⎝ E 2 λ2 ⎠ λ2
Soluţia ecuaţiei (5.209) este de forma:
ε (t ) = ε om (t ) + ε p (t ) (5.210)
E1
−
λ1
în care: ε om ( t ) = C1 + C 2 e este soluţia ecuaţiei omogene
ε p (t ) este o soluţie particulară a ecuaţiei diferenţiale
C1 şi C2 constante care se determină din condiţiile iniţiale ale funcţiei ε (t )
358
Modelarea şi simularea sistemelor mecatronice
σ 0 λ1 ⎛⎜ − t⎞
E1
σ0 σ
ε (t ) = − 1 − e λ1 ⎟ + 0 t (5.214)
E2 E1 λ2 ⎜ ⎟ λ2
⎝ ⎠
Se obţine o curbă exponenţială care admite o asimptotă de ecuaţie:
σ0 ⎛ E λ ⎞ σ
y (t ) = ⎜⎜1 − 2 1 ⎟⎟ + 0 t (5.215)
E2 ⎝ E1 λ2 ⎠ λ2
Pentru cazul particular al valorilor parametrilor: σ 0 = 10 , E1=10, E2 =5 , λ1=10,
λ2=2 soluţia dată de relaţia (5.214) şi asimptota (5.215) au forma din figura 5.68.
6
f1( t )
f2( t )
4
0
0 0.5 1 1.5 2 2.5
t
Fig. 5.68. Răspunsul la fluaj al modelului Burgers
σ λ ⎛ − t1 ⎞
E1
σ0 σ
ε1 = − 0 1 ⎜1 − e λ1 ⎟ + 0 t1 = 7.677 (5.216)
E2 E1 λ2 ⎜ ⎟ λ2
⎝ ⎠
359
Popa Ion Florin, Marin Cornel, Filip Viviana
σ ⎛ − t⎞
E1 E1
− t
ε (t ) = 0 ⎜1 − e λ1 ⎟ + ε 1e λ1 (5.221)
λ2 ⎜ ⎟
⎝ ⎠
Pentru cazul particular σ 0 = 10 , E1=10, E2 =5 , λ1=10, λ2=2 soluţia dată de
relaţia (5.221) are forma din figura 5.70.
10
6
f1( t)
f2( t)
4
0
0 1 2 3 4 5
361
Popa Ion Florin, Marin Cornel, Filip Viviana
362
Modelarea şi simularea sistemelor mecatronice
σ(t ) =
10
6
[( ) (
− 2 + 0.5 6 e (−2−0.5 6 )t − − 2 − 0.5 6 e (−2+0.5 6 )t ) ] (5.223)
10
6
f1( t )
4
0
0 2 4 6 8 10
Fig. 5.72. Răspunsul la relaxarea
t modelului Burgers
363
Popa Ion Florin, Marin Cornel, Filip Viviana
364
Modelarea şi simularea sistemelor mecatronice
5. 11. CONCLUZII
Din analiza rezultatelor obţinute pentru modelele Voigt Kelvin, Maxwell, Zener,
Voigt- Kelvin- Hooke şi Burgers se pot trage următoarele concluzii:
1. Comportarea la fluaj şi la descărcarea după fluaj a modelului Voigt Kelvin nu
indică deformaţii elastice instantanee care apar la cele mai multe materiale supuse la
fluaj dar indică o variaţie asimptotică spre o valoare de echilibru egală cu deformaţia
elementului Hooke sub acţiunea sarcinii σ0. Comportarea la relaxare a modelului Voigt
Kelvin arată că aceasta se produce sub acţiunea unei sacini constante şi nu sub o
sarcină ce scade asimptotic cum este cazul celor mai multe experienţe de relaxare pe
materiale reale. Comportarea la acţiunea unor sarcini armonice arată un defazaj şi
concordă cu experimentul pe materiale vâscoelastice reale, iar rezultatul la acţiunea
unor sarcini periodice cum ar fi impulsurile dreptunghiulare sau semnalul alternativ
dreptunghiular arată un comportament staţionar de creştere şi descreştere exponenţială
care a fost verificat prin descompunerea lui în armonice sau prin scrierea semnalului
sub forma unor serii. Rezultatele obţinute prin cele trei metode sunt în concordanţă cu
experimentul real. Simularea comportării modelului la experienţele de mai sus s-a
făcut şi cu ajutorul unui mediu de calcul şi simulare avansat MATLAB SIMULINK,
rezultatele obţinute fiind de asemenea în concordanţă cu cele obţinute analitic şi
numeric prin metodele prezentate sau cu rezultatele experimentale. În consecintă
modelul Voigt Kelvin poate fi folosit cu aproximaţie pentru descrierea comportării la
fluaj şi relaxare a unui mediu continuu vâscoelastic;
2. Comportarea la fluaj şi la descărcarea după fluaj a modelului Maxwell nu indică
deformaţii elastice instantanee care apar la cele mai multe materiale supuse la fluaj şi
nici variaţia asimptotică spre o valoare de echilibru sub acţiunea sarcinii σ0.
Comportarea la relaxare a modelului Maxwell arată că aceasta se produce sub acţiunea
unei sacini ce scade asimptotic cum este cazul celor mai multe experienţe de relaxare
pe materiale reale. Comportarea la acţiunea unor sarcini armonice arată un defazaj şi
concordă cu experimentul pe materiale vâscoelastice reale, iar rezultatul la acţiunea
unor sarcini periodice cum ar fi impulsurile dreptunghiulare arată un comportament
nestaţionar de creştere liniară intermitentă în timp ce pentru un semnal alternativ
dreptunghiular arată un comportament staţionar de creştere şi descreştere liniară
intermitentă. Simularea comportării modelului la experienţele de mai sus s-a făcut şi
cu ajutorul mediului MATLAB SIMULINK, rezultatele obţinute fiind de asemenea în
concordanţă cu cele obţinute analitic şi numeric prin metodele prezentate. În
consecintă modelul Maxwell poate fi folosit cu aproximaţie pentru descrierea
comportării la fluaj şi relaxare a unui mediu continuu vâscoelastic pentru anumite
tipuri de încărcare;
3. Comportarea la fluaj şi la descărcarea după fluaj a modelului Zener indică atât
deformaţii elastice instantanee cât şi o variaţie asimptotică spre o valoare de echilibru
egală cu deformaţia celor două elemente Hooke legate în paralel, sub acţiunea sarcinii
365
Popa Ion Florin, Marin Cornel, Filip Viviana
σ0 care apar la cele mai multe materiale supuse la fluaj. Comportarea la relaxare a
modelului Zener arată că aceasta se produce sub acţiunea unei sacini ce scade
asimptotic aşa cum este cazul celor mai multe experienţe de relaxare pe materiale
reale. Comportarea la acţiunea unor sarcini armonice arată un defazaj şi concordă cu
experimentul pe materiale vâscoelastice reale, iar rezultatul la acţiunea unor sarcini
periodice cum ar fi impulsurile dreptunghiulare sau semnalul alternativ dreptunghiular
arată un comportament staţionar de creştere şi descreştere exponenţială. Simularea
comportării modelului la experienţele de mai sus s-a făcut şi cu ajutorul mediului
MATLAB SIMULINK, rezultatele obţinute fiind în concordanţă cu cele obţinute
analitic şi cu rezultatele experimentale. În consecintă modelul Zener poate fi folosit cu
suficientă precizie pentru descrierea comportării la fluaj şi relaxare a unui mediu
continuu vâscoelastic;
4. Comportarea la fluaj şi la descărcarea după fluaj a modelului Voigt-Kelvin
Hooke indică atât deformaţii elastice instantanee cât şi o variaţie asimptotică spre o
valoare de echilibru egală cu deformaţia celor două elemente Hooke legate în serie sub
acţiunea sarcinii σ0 care apar la cele mai multe materiale supuse la fluaj. Comportarea
la relaxare a modelului Voigt-Kelvin Hooke arată că aceasta se produce sub acţiunea
unei sacini ce scade asimptotic aşa cum este cazul celor mai multe experienţe de
relaxare pe materiale reale. Comportarea la acţiunea unor sarcini armonice arată un
defazaj şi concordă cu experimentul pe materiale vâscoelastice reale, iar rezultatul la
acţiunea unor sarcini periodice cum ar fi impulsurile dreptunghiulare sau semnalul
alternativ dreptunghiular arată un comportament staţionar de creştere şi descreştere
exponenţială. Simularea comportării modelului la experienţele de mai sus s-a făcut şi
cu ajutorul mediului MATLAB SIMULINK, rezultatele obţinute fiind în concordanţă
cu cele obţinute analitic şi cu rezultatele experimentale. În consecintă modelul Voigt-
Kelvin Hooke poate fi folosit cu suficientă precizie pentru descrierea comportării la
fluaj şi relaxare a unui mediu continuu vâscoelastic;
5. Comportarea la fluaj şi la descărcarea după fluaj a modelului Burgers indică
deformaţii elastice instantanee care apar la cele mai multe materiale supuse la fluaj şi o
variaţie asimptotică asemenea modelului Maxwell. Comportarea la relaxare a
modelului Burgers arată că aceasta se produce sub acţiunea unei sacini ce scade
asimptotic sprre zero aşa cum este cazul celor mai multe experienţe de relaxare pe
materiale reale. Simularea comportării modelului la experienţele de mai sus s-a făcut şi
cu ajutorul mediului MATLAB SIMULINK, rezultatele obţinute fiind în concordanţă
cu cele obţinute analitic şi cu rezultatele experimentale. În consecintă modelul Zener
poate fi folosit pentru fluaj şi relaxare .
366
6 Modelarea şi simularea
proceselor si sistemelor
Modelarea şi simularea sistemelor mecatronice
6.1. INTRODUCERE
ÎN MODELAREA SISTEMELOR
369
Popa Ion Florin, Marin Cornel, Filip Viviana
370
Modelarea şi simularea sistemelor mecatronice
u y
A
Fig.6.1.6.1. Sistem
d hi
b. Sistemul închis cu buclă de reglare sau sistemul cibernetic este un sistem care
conţine un bloc de reglare R având rolul de a compara tot timpul ieşirea efectivă y cu o
mărime de referinţă yR numită mărime scop sau obiectiv (fig.6.1.2). În cazul în care
există o diferenţă dintre cele două mărimi y şi yR, blocul de reglare R transmite un
semnal Δu care modifică intrarea u:
Δu = Ry (2)
În acest caz relaţia (1) se scrie:
y = A(u + Δu ) = Au + Ry (3)
Din relaţia (3) rezultă următoarea relaţie dintre vectorul ieşirilor y şi vectorul
intrărilor u numită relaţia reglării:
y = [( E − AR) −1 A] u (4)
u y
A
Δu
R
371
Popa Ion Florin, Marin Cornel, Filip Viviana
u y
A
Δu yi
y*i+1
R P
Fig. 6.1.3. Sisteme cu buclă de reacţie anticipativă
372
Modelarea şi simularea sistemelor mecatronice
b. Proprietăţi interne
Proprietăţile interne depind de structura sistemului şi de natura interrelaţiilor şi
intercondiţionărilor dintre subsistemele componente:
a. accesibilitatea – proprietatea ca o nouă stare xk a sistemului corespunzătoare unei
comenzi uk(τ) să depindă atât de starea iniţială x0 corespunzătoare unei comenzi
u0(t0) cât şi de intervalul de timp (t0,τ) corespunzător trecerii de la starea iniţială la
noua stare;
373
Popa Ion Florin, Marin Cornel, Filip Viviana
374
Modelarea şi simularea sistemelor mecatronice
u d y
S1 S2
p1
u d y
S1 S2
Δu
SR
p2
Fig. 6.1.5. Sistem înschis
Sistemele automate sunt un caz particular al sistemelor cu structură închisă în care
mărimea de intrare este identică cu cea de ieşire (fig.6.1.6);
p
d y
S1 S2
p1
u y
S1
A
SA
c p2
Fig. 6.1.7. Sistem adaptiv cu structură
376
Modelarea şi simularea sistemelor mecatronice
S1
S1 S2 S3
S2 S’2 S”2
S3 S’3 S4 S5
S”3
Fig. 6.1.9. Sistem cu structură
Fig. 6.1.8. Sistem cu structură ierarhică
neierarhică de tip reţea
arborescentă
S1
S4 S5 S6
377
Popa Ion Florin, Marin Cornel, Filip Viviana
MEDIU
INTERPRETREAZĂ
ACŢIUNEA
REACŢIE ACŢIUNE
SISTEM
EXECUTĂ ACŢIUNEA
b. sisteme cu structură cibernetică (cu buclă de reacţie sau buclă secundară) conţine în
afara buclei primare şi o buclă secundară de reacţie ce realizează conexiunea inversă
sau feed-back-ul (fig.6.1.12). În afara fluxurilor energetice şi informaţionale din bucla
primară aceste sisteme conţin şi fluxuri informaţionale şi decizionale din bucla de
control. Blocul de achiziţie şi de prelucrare a datelor sesizează schimbările de
funcţionalitate şi de mediu şi transmite informaţii sub formă de semnale către blocul de
control şi de comandă, care le transformă în decizii sau comenzi pentru sistemul de
execuţie. Pentru o funcţionare corectă a unui asemenea sistem este necesar ca blocul de
achiziţie să sesizeze la momentul oportun schimbările de funcţionalitate şi de mediu
care pot apărea, să le transmită în timp util către blocul de control şi comandă şi acesta
din urmă să selecteze decizia cea mai potrivită pentru a corecta funcţionarea
sistemului.
INFORMAŢII
MEDIU DATE BLOC DE ACHIZIŢIE ŞI
INTERPRETREAZĂ PRELUCRARE DATE
ACŢIUNEA
BLOC DE CONTROL ŞI
SISTEM DE COMANDĂ
EXECUTA ACŢIUNILE ŞI (PROCES DECIZIONAL)
DECIZII
DECIZIILE
COMENZI
378
Modelarea şi simularea sistemelor mecatronice
INFORMAŢII
MEDIU DATE REZULTATE
BLOC DE ACHIZIŢIE
INTERPRETREAZĂ PRELUCRARE DATE
ACŢIUNEA
BLOC DE
buclă Buclă INFORMAŢII Buclă POLITICI
primară secundară SEMNALE terţiară ANTERIOARE
FOLOSITE
SISTEM BLOC CONTROL
EXECUTA ACŢIUNILE PROCES DECIZIONAL
DECIZII POLITICA
ŞI DECIZIILE SELECTATĂ
COMENZI
SISTEM
EXECUTA BLOC BLOC BLOC
ACŢIUNILE ŞI DECIZIONAL 1 DECIZIONAL 2 DECIZIONAL 3
DECIZIILE
379
Popa Ion Florin, Marin Cornel, Filip Viviana
380
Modelarea şi simularea sistemelor mecatronice
381
Popa Ion Florin, Marin Cornel, Filip Viviana
FORMAREA
MODELULUI
REZOLVAREA
MODELULUI
MODELAREA PROCEDURA
ANALITICĂ DE SIMULARE
REZULTATE REZULTATE
OPTIMIZATE DESCRIPTIVE
382
Modelarea şi simularea sistemelor mecatronice
383
Popa Ion Florin, Marin Cornel, Filip Viviana
384
Modelarea şi simularea sistemelor mecatronice
385
Popa Ion Florin, Marin Cornel, Filip Viviana
P0-1
S1
L1-2
COMPONENTA 1.1 COMPONENTA 2
L1
L0-1 S3 L3-0
L2-3
COMPONENTA 1.2 COMPONENTA 3.1
L3
L3-2
COMPONENTA 3.2
P0-1
L1-2
ENTITATEA 1.1 ENTITATEA 2
L1
L0-1 L2-3 L3-0
ENTITATEA 1.2 ENTITATEA 3.1
L3
L3-2
ENTITATEA 3.2
387
Popa Ion Florin, Marin Cornel, Filip Viviana
1. ANALIZA ŞI SINTEZA
SISTEMULUI
2. CONCEPEREA ŞI
PROIECTAREA MODELULUI
3. REALIZAREA
MODELULUI
4. VALIDAREA MODELULUI
5. SIMULAREA PROPRIU-ZISĂ
6. ANALIZA ŞI
INTERPRETAREA
REZULTATELOR
7. MARCAREA TIMPULUI DE
SIMULARE
8. LIMITELE
SIMULĂRII
388
Modelarea şi simularea sistemelor mecatronice
389
Popa Ion Florin, Marin Cornel, Filip Viviana
de intrare), din sistem spre mediul exterior (variabile de ieşire). Aceste variabilele au
un caracter determinist controlabil. O categorie aparte de variabile ce acţionează din
mediul exterior asupra sistemului sunt cele cu caracter aleator (variabile perturbatoare
sau stimuli) care se exprimă prin probabilităţi .
Variabilele de intrare, intermediare şi de ieşire îşi modifică permanent valorile în
timpul unui ciclu de simulare. Dacă o variabilă nu se modifică în timpul unui ciclu de
simulare, aceasta devine parametru.
În elaborarea modelului de simulare un obiectiv important îl constituie stabilirea
relaţiilor între variabile. Dacă nu se cunosc aceste relaţii se folosesc diferite analogii
sau se folosesc estimări probabilistice ale variabilelor dominante cu ajutorul
intervalelor de încredere sau folosind diferite tehnici de regresie.
Verificarea validităţii modelului se face prin anumite teste statistice prin care se
verifică corectitudinea estimării parametrilor, dacă modelul conţine variabilele
esenţiale şi dacă relaţiile între parametrii sunt corect alese.
Verificarea validităţii modelui, a relaţiei dintre model şi schema logică (ecuaţiile
matematice) stabileşte corectitudinea fluxului experimentelor, plasarea corectă a
punctelor de decizie şi conectorilor, concordanţa dintre parametrii reali şi formali,
plasarea corespunzătoare a surselor şi iniţializărilor, precizia constantelor şi valorilor
iniţiale.
392
Modelarea şi simularea sistemelor mecatronice
NU
Corespunde strategiei ?
DA
NU DA
Corespunde unui
eveniment planificat ?
7. Evaluarea consecinţelor
comportamentale
8. Evaluarea funcţiilor de
eficienţă
1 2
1 2
9. Prelucrarea statistică a
datelor de simulare
DA Corespunde strategiei NU
celei mai eficace?
394
Modelarea şi simularea sistemelor mecatronice
395
Popa Ion Florin, Marin Cornel, Filip Viviana
Schema generală a etapelor modelării unui sistem sau fenomen este dată în figura
4.1 şi cuprinde cinci etape importante:
1. Formularea problemei implică cunoaşterea legilor care stau la baza fenomenelor şi
înţelegerea cât mai corectă a modului cum evoluează sistemul pentru a-l defini cât
mai bine. În această fază trebuiesc lămurite aspectele legate de conţinutul
informaţiilor temei, caracteristicile mediului şi mijloacele ce urmează a fi folosite
pentru definirea riguroasă a problemei.
2. Identificarea variabilelor dominante din sistem şi reprezentarea lor prin analiza
sistemului sau a descompunerii lui în subsisteme sau componente.
3. Abordarea în fux, este etapa în care se evidenţiază modul în care evoluează spaţiul
sistemului aplicând metoda de analiză de la intrare la ieşire.
De asemenea se realizează o descompunere a sistemului în subsisteme şi
componente tratându-se succesiv procesele rezultate pentru fiecare nivel.
396
Modelarea şi simularea sistemelor mecatronice
Informaţii
Mijloace
Reprezentarea 2. Identificarea
pe subsisteme sau variabilelor Mijloace
componenete dominante
Descompunerea
în subsisteme 3. Abordarea în flux Evoluţia spaţiului
Înţelegerea proceselor şi sistemului de la
Tratarea identificarea sistemului intrare la ieşire
proceselor
Mărimi de intare
5. Analiza schimbărilor
de stare
Stimuli exteriori
Ajustarea NU DA
Corespunde sistemului
modelului modelat ?
STOP
Funcţii
matematice Distribuţii
normale sau
exponenţiale
Funcţii liniare
398
Modelarea şi simularea sistemelor mecatronice
Bibliografie
399