[Sistemi]: Esercizio Equilibrio
Salve.
Dovrei calcolare i punti di equilibrio del seguente esercizio, ovvero di un sistema meccanico costituito da una massa M, una molla con costante di rigidezza K e uno smorzatore viscoso con costante C, sottoposto ad una forza $F(t)$:
Essendo un sistema del secondo ordine non lineare:
$ddot x = (1/M)*(-M*g - F(t) - K*x - C dot x)$
dove
$M = 10 Kg$
$K = 5 N/M$
$C = 0.5 N*s/m$
$F = 20 N$
$g = 9.8$
quindi la relazione diviene:
$ddot x = (1/10)*(-10*9.8 - 20 - 5*x - 0.5 dot x)$
per calcolare i punti di equilbrio dovrei porre la derivata prima a zero. Quindi come devo procedere in questo caso? Dovrei dividere questa equazione di secondo grado in più equazioni di primo grado? O meglio che dico lo devo mettere in questa forma:
$dot x (t) = Ax(t) + B u(t)$
$y(t) = C x(t) + Du(t)$
La $g$ va considerata come un ingresso giusto?
Dovrei calcolare i punti di equilibrio del seguente esercizio, ovvero di un sistema meccanico costituito da una massa M, una molla con costante di rigidezza K e uno smorzatore viscoso con costante C, sottoposto ad una forza $F(t)$:
Essendo un sistema del secondo ordine non lineare:
$ddot x = (1/M)*(-M*g - F(t) - K*x - C dot x)$
dove
$M = 10 Kg$
$K = 5 N/M$
$C = 0.5 N*s/m$
$F = 20 N$
$g = 9.8$
quindi la relazione diviene:
$ddot x = (1/10)*(-10*9.8 - 20 - 5*x - 0.5 dot x)$
per calcolare i punti di equilbrio dovrei porre la derivata prima a zero. Quindi come devo procedere in questo caso? Dovrei dividere questa equazione di secondo grado in più equazioni di primo grado? O meglio che dico lo devo mettere in questa forma:
$dot x (t) = Ax(t) + B u(t)$
$y(t) = C x(t) + Du(t)$
La $g$ va considerata come un ingresso giusto?
Risposte
Dovresti riscrivere il tutto come sistema di equazioni differenziali del primo ordine e a quel punto studiare il punto di equilibro ponendo a zero le derivate prime.
[tex]$\begin{cases}\dot x_1 = x_2\\\dot x_2 = -\frac{K}{M}x_1 -\frac{C}{M} x_2 + u\end{cases}$[/tex]
con [tex]$u(t) = -g - \frac{F}{M}$[/tex]
Il punto di equilibrio lo studi ponendo le derivate a zero e sostituendo a [tex]$u$[/tex] il valore di equilibrio (in questo caso corrisponde a [tex]$u$[/tex] stesso dato che è costante).
Dato che il sistema è lineare allora [tex]$x_{eq} = -A^{-1} B u_{eq}$[/tex] con [tex]$A$[/tex] matrice di transizione del sistema e [tex]$B$[/tex] vettore relativo all'ingresso.
[tex]$\begin{cases}\dot x_1 = x_2\\\dot x_2 = -\frac{K}{M}x_1 -\frac{C}{M} x_2 + u\end{cases}$[/tex]
con [tex]$u(t) = -g - \frac{F}{M}$[/tex]
Il punto di equilibrio lo studi ponendo le derivate a zero e sostituendo a [tex]$u$[/tex] il valore di equilibrio (in questo caso corrisponde a [tex]$u$[/tex] stesso dato che è costante).
Dato che il sistema è lineare allora [tex]$x_{eq} = -A^{-1} B u_{eq}$[/tex] con [tex]$A$[/tex] matrice di transizione del sistema e [tex]$B$[/tex] vettore relativo all'ingresso.
"Ska":
Dovresti riscrivere il tutto come sistema di equazioni differenziali del primo ordine e a quel punto studiare il punto di equilibro ponendo a zero le derivate prime.
[tex]$\begin{cases}\dot x_1 = x_2\\\dot x_2 = -\frac{K}{M}x_1 -\frac{C}{M} x_2 + u\end{cases}$[/tex]
con [tex]$u(t) = -g - \frac{F}{M}$[/tex]
Il punto di equilibrio lo studi ponendo le derivate a zero e sostituendo a [tex]$u$[/tex] il valore di equilibrio (in questo caso corrisponde a [tex]$u$[/tex] stesso dato che è costante).
Dato che il sistema è lineare allora [tex]$x_{eq} = A^{-1} B u_{eq}$[/tex] con [tex]$A$[/tex] matrice di transizione del sistema e [tex]$B$[/tex] vettore relativo all'ingresso.
Ecco si, però il mio problema è questo $g$ e $F/M$ sono due punti di equilibrio o lo posso considerare come un solo punto di equilibrio?
[tex]$g$[/tex] è costante, e la tua forzante è una forza costante nella stessa direzione di [tex]$\vec g$[/tex], quindi puoi considerare le due forze come solo un'unica forzante, la gravità non è una cosa che puoi modificare, puoi solo variare la forza esterna che si applica in base a questa per come ho scritto il sistema la [tex]$u$[/tex] equivalente cambia e quindi cambia la [tex]$u$[/tex] di equilibrio.
"Ska":
[tex]$g$[/tex] è costante, e la tua forzante è una forza costante nella stessa direzione di [tex]$\vec g$[/tex], quindi puoi considerare le due forze come solo un'unica forzante, la gravità non è una cosa che puoi modificare, puoi solo variare la forza esterna che si applica in base a questa per come ho scritto il sistema la [tex]$u$[/tex] equivalente cambia e quindi cambia la [tex]$u$[/tex] di equilibrio.
Andando a risolvere i punti di equilibrio c'è qualcosa che non va perché mi viene il logaritmo di una quantità negativa, non è che è $u = -g + F ?$
come fa a risultarti un logaritmo?!
Per trovare i punti di equilibrio,devi risolvere rispetto a [tex]$x_1$[/tex] e [tex]$x_2$[/tex] il sistema
[tex]$\begin{cases}0 = x_2\\ 0= -\frac{K}{M} x_1 - \frac{C}{M} x_2 + u\end{cases}$[/tex] da cui ottieni l'equilibrio [tex]$x_{eq} = \begin{bmatrix}\frac{M}{K}u_{eq}\\ 0\end{bmatrix}$[/tex]
Per trovare i punti di equilibrio,devi risolvere rispetto a [tex]$x_1$[/tex] e [tex]$x_2$[/tex] il sistema
[tex]$\begin{cases}0 = x_2\\ 0= -\frac{K}{M} x_1 - \frac{C}{M} x_2 + u\end{cases}$[/tex] da cui ottieni l'equilibrio [tex]$x_{eq} = \begin{bmatrix}\frac{M}{K}u_{eq}\\ 0\end{bmatrix}$[/tex]
"Ska":
come fa a risultarti un logaritmo?!
Per trovare i punti di equilibrio,devi risolvere rispetto a [tex]$x_1$[/tex] e [tex]$x_2$[/tex] il sistema
[tex]$\begin{cases}0 = x_2\\ 0= -\frac{K}{M} x_1 - \frac{C}{M} x_2 + u\end{cases}$[/tex] da cui ottieni l'equilibrio [tex]$x_{eq} = \begin{bmatrix}\frac{M}{K}u_{eq}\\ 0\end{bmatrix}$[/tex]
Scusami, non ho scritto una cosa. Sto considerando il caso di sistema non lineare, e quindi sto considerando
$0 = K/M e^(-x_1) - C/M x_2 + u$
e mi trovo un logaritmo di una quantità negativa. Nel caso cambio un dato per togliere questo problema mi trovo che non si può linearizzare il sistema perché risulta instabile.
Hai solamente cambiato radicalmente il sistema.... cmq, così com'è non hai alcun punto di equilibrio, poichè hai $\frac{K}{M} e^{x_1} +g + \frac{F}{M} = 0$ essendo i prametri tutti positivi, ed essendo l'esponenziale anch'esso sempre positivo, non esiste alcun valore di $x_1$ che renda vera l'uguaglianza a zero!
"Ska":
Hai solamente cambiato radicalmente il sistema.... cmq, così com'è non hai alcun punto di equilibrio, poichè hai $\frac{K}{M} e^{x_1} +g + \frac{F}{M} = 0$ essendo i prametri tutti positivi, ed essendo l'esponenziale anch'esso sempre positivo, non esiste alcun valore di $x_1$ che renda vera l'uguaglianza a zero!
Mmmm è possibile rendere questo sistema non lineare ma comunque che mi restituisca dei punti di equilibrio stabili?
Sì, prova con [tex]$\dot x_2 = - \frac{K}{M} x_1^3 - \frac{C}{M} x_2 + u$[/tex], l'equilibrio è [tex]$\overline x_1 = \sqrt[3]{u_{eq}\frac{M}{K}}, \overline x_2=0$[/tex], linearizzando ottieni [tex]$\dot{\Delta x_2} = -3\frac{K}{M}\overline{x_1}^2 \Delta x_1 - \frac{C}{M} \Delta x_2 + \Delta u$[/tex] cioè hai [tex]$\dot{\Delta x_2} = -\alpha \Delta x_1 - \beta \Delta x_2 + \Delta u$[/tex] con [tex]$\alpha, \beta > 0$[/tex], e quindi hai un polinomio caratteristicho che è [tex]$\lambda(\lambda + \beta) + \alpha = 0$[/tex], che risulta essere stabile.
Ma l'equazione di partenza del primo post considerando un sistema lineare cambierà quindi non avrò più:
$ddot x = (1/M)*(-M*g - F(t) - K*x - C dot x)$
ma comunque sarà sempre un sistema massa-molla-smorzatore non lineare. Giusto? Ma quella non linearità cosa mi va a modificare nell'equazione di partenza?
$ddot x = (1/M)*(-M*g - F(t) - K*x - C dot x)$
ma comunque sarà sempre un sistema massa-molla-smorzatore non lineare. Giusto? Ma quella non linearità cosa mi va a modificare nell'equazione di partenza?
Sì, mi sembra ragionevole usare come uscita la posizione della massa
"Ska":
Sì, mi sembra ragionevole usare come uscita la posizione della massa
Ma l'equazione di partenza del primo post considerando un sistema lineare cambierà quindi non avrò più:
$ddot x = (1/M)*(-M*g - F(t) - K*x - C dot x)$
ma comunque sarà sempre un sistema massa-molla-smorzatore non lineare. Giusto? Ma quella non linearità cosa mi va a modificare nell'equazione di partenza?
Se decidi di introdurre un comportamento non lineare nella forza di richiamo della molla devi ovviamente cambierà l'equazione che descrive il sistema, così anche se decidi di cambiare il comportamento dello smorzatore.
Se considere [tex]$F_{molla} = -K g(x)$[/tex] e [tex]$F_{smorzatore} = -C h(\dot x)$[/tex] avrai
[tex]$\ddot x = -\frac{K}{M}g(x) - \frac{C}{M} h(\dot x) + \frac{F}{M} - g$[/tex]
Puoi pensare di usare ad esempio come [tex]$g(x) = x^3 + x$[/tex] e una cosa simile anche per lo smorzatore....
Avere un sistema di [tex]$n$[/tex] equazioni differenziali del primo ordine o un'unica equazione differenziale di ordine [tex]$n$[/tex] non cambia, sono due rappresentazioni diverse della stessa cosa.
Se considere [tex]$F_{molla} = -K g(x)$[/tex] e [tex]$F_{smorzatore} = -C h(\dot x)$[/tex] avrai
[tex]$\ddot x = -\frac{K}{M}g(x) - \frac{C}{M} h(\dot x) + \frac{F}{M} - g$[/tex]
Puoi pensare di usare ad esempio come [tex]$g(x) = x^3 + x$[/tex] e una cosa simile anche per lo smorzatore....
Avere un sistema di [tex]$n$[/tex] equazioni differenziali del primo ordine o un'unica equazione differenziale di ordine [tex]$n$[/tex] non cambia, sono due rappresentazioni diverse della stessa cosa.
Continuo questo esercizio e l'ho implementato in matlab. I punti di equilibrio che ho ricavato sono:
$x_1= -2.87$ e $x_2=0$
con uscita di equilibrio
$y= x_1 = -2.87$
e $u = -g - (F/M)$
Quando scrivo nel workspace le variabili e poi faccio partire il comando per determinare i punti di equilibrio
[x,u,y]=trim('massamollasmorz',[-2.87;0],-11.8,-2.87)
Ho questo errore perché?
??? Error using ==> trim
Error using ==> feval
U vector size does not match system input vector.
$x_1= -2.87$ e $x_2=0$
con uscita di equilibrio
$y= x_1 = -2.87$
e $u = -g - (F/M)$
Quando scrivo nel workspace le variabili e poi faccio partire il comando per determinare i punti di equilibrio
[x,u,y]=trim('massamollasmorz',[-2.87;0],-11.8,-2.87)
Ho questo errore perché?
??? Error using ==> trim
Error using ==> feval
U vector size does not match system input vector.
Non so che script tu stia usando, quindi mi è difficile aiutarti.
"Ska":
Non so che script tu stia usando, quindi mi è difficile aiutarti.
Sono riuscito a risolvere in parte il problema, utilizzo questo schema Simulink:

Uploaded with ImageShack.us
i dati che uso sono i seguenti:
$M = 10$
$C = 0.5$
$F = 20$
$g = 9.8$
$U = -g-(F/M)$
li inserisco proprio così nel workspace di matlab. Quando vado a calcolare i punti di equilibrio con il comando
[x,u,y]=trim('massamollasmorz',[-2.8;0],-11.8,-2.8)
ottengo
x =
-2.8225
0
u =
-11.8225
y =
-2.8225
Nel momento in cui vado a calcolare le matrici ottengo:
A =
0 1.0000
-0.0247 -0.0500
B =
0
-1.0000
C =
1.0000 0
D =
0
e la matrice A non si trova con quella che vado a calcolare carta e penna. Ho sbagliato il modello Simulink? Non mi trovo solo il valore $a_(2_1)$ della matrice A e il $-1$ della matrice B
Così a occhio non mi sembra ci siano errori nello schema simulink, per quanto riguarda gli stati di equilibrio io non ho mai usato trim, ho provato e però ho visto che se specifica una $u_0$ questa è solo il valore iniziale dell'ingresso, nn so perchè poi cambi :/. Io per risolvere ho tolto il pin di ingresso e lasciato la costante $U$ in ingresso. Linearizzando così però non ottengo l'informazione sul vettore $B$ che dovrebbe essere $[0 1]'$. Per ottenere quello sostituisco alla costante $U$ di equilibrio il pin di ingresso che però deve essere col segno +! ecco perchè a te risulta $-1$ poichè il pin di ingresso è col segno meno!
Per quanto riguarda la matrice $A$ a me risulta diverso il termine di posizione $(2,1)$, quindi nn saprei dirti.
Per quanto riguarda la matrice $A$ a me risulta diverso il termine di posizione $(2,1)$, quindi nn saprei dirti.