feat: Replace images with custom ones generated using MATLAB
@@ -188,7 +188,11 @@ In ogni caso osserviamo un problema dato dal secondo punto. Ricordiamo però che
|
|||||||
\subsection{Introduzione sulla progettazione della funzione ad anello}
|
\subsection{Introduzione sulla progettazione della funzione ad anello}
|
||||||
Osserviamo che in genere la funzione ad anello a bassa frequenza tende ad infinito per inseguire il riferimento, mentre ad alta frequenza tende a zero. Per avere il modulo che va all'infinito a bassa frequenza è necessario inserire dei poli nell'origine.
|
Osserviamo che in genere la funzione ad anello a bassa frequenza tende ad infinito per inseguire il riferimento, mentre ad alta frequenza tende a zero. Per avere il modulo che va all'infinito a bassa frequenza è necessario inserire dei poli nell'origine.
|
||||||
|
|
||||||
\includegraphics[scale=0.3]{plotljw}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{plotljw.png}
|
||||||
|
\caption{Loop function su diagramma di }
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Il diagramma di Bode del guadagno è globalmente decrescente. Un punto interessante è dove $\abs{L(j \omega_c)} = 1$ ($\omega_c$ si chiama \emph{pulsazione di crossover}) (notare che $\abs{T(j\omega_c)}=\abs{S(j\omega_c)}$). Questo parametro è molto importante per la progettazione perché è legato, nel diagramma di Nyquist, a dove il modulo passa da essere maggiore di uno a essere minore di uno. Per evitare d'incircolare il punto critico (caso PoL=0) la fase attorno alla frequenza $\omega_c$ deve essere superiore rispetto a -180°, in modo che la curva una volta arrivata a $\omega_c$ non abbia ancora disegnato un semicerchio. Per garantire la robustezza la fase deve essere sufficientemente grande quando mi avvicino a $\omega_c$.
|
Il diagramma di Bode del guadagno è globalmente decrescente. Un punto interessante è dove $\abs{L(j \omega_c)} = 1$ ($\omega_c$ si chiama \emph{pulsazione di crossover}) (notare che $\abs{T(j\omega_c)}=\abs{S(j\omega_c)}$). Questo parametro è molto importante per la progettazione perché è legato, nel diagramma di Nyquist, a dove il modulo passa da essere maggiore di uno a essere minore di uno. Per evitare d'incircolare il punto critico (caso PoL=0) la fase attorno alla frequenza $\omega_c$ deve essere superiore rispetto a -180°, in modo che la curva una volta arrivata a $\omega_c$ non abbia ancora disegnato un semicerchio. Per garantire la robustezza la fase deve essere sufficientemente grande quando mi avvicino a $\omega_c$.
|
||||||
|
|
||||||
@@ -205,7 +209,11 @@ Ad alta frequenza $S \sim 1$, mentre a bassa frequenza $S \to 0$.
|
|||||||
|
|
||||||
Sia la S che la T a medie frequenze mostrano un picco di risonanza.
|
Sia la S che la T a medie frequenze mostrano un picco di risonanza.
|
||||||
|
|
||||||
\includegraphics[scale = 0.3]{lts.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{lts.png}
|
||||||
|
\caption{Confronto tra $L(j \omega)$, $T(j \omega)$ e $S(j \omega)$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\section{Definizione dei vincoli di progetto}
|
\section{Definizione dei vincoli di progetto}
|
||||||
Siccome il sistema di controllo è lineare, si può applicare il principio di sovrapposizione degli effetti. Pertanto si possono analizzare i disturbi singolarmente in modo da ottenere uno o più vincoli per ogni disturbo.
|
Siccome il sistema di controllo è lineare, si può applicare il principio di sovrapposizione degli effetti. Pertanto si possono analizzare i disturbi singolarmente in modo da ottenere uno o più vincoli per ogni disturbo.
|
||||||
@@ -249,7 +257,16 @@ Si dimostra, applicando il teorema del valore finale e svolgendo il limite, che
|
|||||||
\end{cases} \]
|
\end{cases} \]
|
||||||
Per i diversi tipi di segnali e del sistema vale la tabella:
|
Per i diversi tipi di segnali e del sistema vale la tabella:
|
||||||
|
|
||||||
\includegraphics[scale=0.2]{tabellainseguimento.png}
|
\begin{center}
|
||||||
|
\begin{tabular}{ ||c || c | c | c || }
|
||||||
|
\hline System type & Step input & Ramp input & Parabola input \\
|
||||||
|
Input order & (order 0) & (order 1) & (order 2) \\ \hline
|
||||||
|
0 & $\frac{K_d^2 R_0}{K_d + K_p K_c G_a}$ & $\infty$ & $\infty$ \\ \hline
|
||||||
|
1 & 0 & $\frac{K_d^2 R_0}{K_p K_c G_a}$ & $\infty$ \\ \hline
|
||||||
|
2 & 0 & 0 & $\frac{K_d^2 R_0}{K_p K_c G_a}$ \\ \hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
dove il \textbf{tipo del sistema} è definito come $\nu + p$.
|
dove il \textbf{tipo del sistema} è definito come $\nu + p$.
|
||||||
|
|
||||||
Da questo requisito si estrae un vincolo del tipo $\abs{K_c} > K_{c,inf}$, nonché un vincolo su $\nu \geq \nu_{inf}$.
|
Da questo requisito si estrae un vincolo del tipo $\abs{K_c} > K_{c,inf}$, nonché un vincolo su $\nu \geq \nu_{inf}$.
|
||||||
@@ -335,7 +352,11 @@ In genere, siccome il sistema è progettato in modo approssimato, risulta essere
|
|||||||
|
|
||||||
L'obiettivo è minimizzare il transitorio, in modo che l'uscita rispecchi il prima possibile il riferimento. Anche la qualità della risposta è importante, perché nel transitorio l'uscita non deve allontanarsi troppo dal valore in regime permanente.
|
L'obiettivo è minimizzare il transitorio, in modo che l'uscita rispecchi il prima possibile il riferimento. Anche la qualità della risposta è importante, perché nel transitorio l'uscita non deve allontanarsi troppo dal valore in regime permanente.
|
||||||
|
|
||||||
\includegraphics[scale=0.3]{transitorio.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{transitorio.png}
|
||||||
|
\caption{Risposta al gradino di un sistema. Notare sovraelongazione e tempo di salita}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Definiamo alcuni parametri:
|
Definiamo alcuni parametri:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
@@ -351,7 +372,12 @@ Assumiamo la funzione $T(s)$ come
|
|||||||
Il guadagno stazionario è 1, non ha zeri e ha due poli in generale complessi e coniugati.
|
Il guadagno stazionario è 1, non ha zeri e ha due poli in generale complessi e coniugati.
|
||||||
Il parametro $\xi \in (0,1]$ è detto \emph{smorzamento}. Quando vale uno il polinomio ha due radici reali coincidenti. Se è compreso tra $(0,1)$ le radici sono complesse coniugate, mentre se è zero le radici sono immaginarie pure (caso che escludiamo perché il sistema deve essere stabile).
|
Il parametro $\xi \in (0,1]$ è detto \emph{smorzamento}. Quando vale uno il polinomio ha due radici reali coincidenti. Se è compreso tra $(0,1)$ le radici sono complesse coniugate, mentre se è zero le radici sono immaginarie pure (caso che escludiamo perché il sistema deve essere stabile).
|
||||||
|
|
||||||
\includegraphics[scale=0.2]{rispostasecondoordine.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{rispostasecondoordine.png}
|
||||||
|
\caption{Risposta al gradino di una funzione prototipo del secondo ordine, al variare di $\xi$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
La $\omega_n$ determina la frequenza del seno.
|
La $\omega_n$ determina la frequenza del seno.
|
||||||
|
|
||||||
La risposta al gradino è
|
La risposta al gradino è
|
||||||
@@ -363,16 +389,24 @@ Si nota che la sovraelongazione dipende solo dallo smorzamento. In particolare l
|
|||||||
\[ t_r = \frac{1}{\omega_n \sqrt{1-\xi^2}} \left( \pi - \arccos \xi \right) \]
|
\[ t_r = \frac{1}{\omega_n \sqrt{1-\xi^2}} \left( \pi - \arccos \xi \right) \]
|
||||||
\[ t_{s,\alpha\%} = - \frac{\ln \alpha}{\omega_n \xi} \]
|
\[ t_{s,\alpha\%} = - \frac{\ln \alpha}{\omega_n \xi} \]
|
||||||
|
|
||||||
\includegraphics[scale=0.3]{bodeT.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{bodeT.png}
|
||||||
|
\caption{Diagramma di bode della funzione $T(j \omega)$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Calcoliamo il picco di risonanza:
|
Calcoliamo il picco di risonanza per la $T(j \omega)$:
|
||||||
\[ T_p = \max_\omega \abs{T(j \omega)}_{dB} \]
|
\[ T_p = \max_\omega \abs{T(j \omega)}_{dB} \]
|
||||||
calcoliamo la banda del sistema a -3dB:
|
calcoliamo la banda del sistema a -3dB:
|
||||||
\[ \omega_B: T(j \omega_b)_{dB} = -3 dB \]
|
\[ \omega_B: T(j \omega_b)_{dB} = -3 dB \]
|
||||||
|
|
||||||
\includegraphics[scale=0.3]{bodeS.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{bodeS.png}
|
||||||
|
\caption{Diagramma di bode della funzione $S(j \omega)$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Calcoliamo il picco di risonanza:
|
Calcoliamo il picco di risonanza per la $S(j \omega)$:
|
||||||
\[ S_p = \max_\omega \abs{S(j \omega)}_{dB} \]
|
\[ S_p = \max_\omega \abs{S(j \omega)}_{dB} \]
|
||||||
calcoliamo la banda del sistema a -3dB:
|
calcoliamo la banda del sistema a -3dB:
|
||||||
\[ \omega_{BS}: S(j \omega_{BS})_{dB} = -3 dB \]
|
\[ \omega_{BS}: S(j \omega_{BS})_{dB} = -3 dB \]
|
||||||
@@ -426,9 +460,13 @@ La rete \lead è utilizzata per aumentare modulo e fase con una rete fisicamente
|
|||||||
\[ R_d (s) = \frac{1 + \frac{s}{z_d}}{1 + \frac{s}{m_d z_d}} \quad m_d > 1 \]
|
\[ R_d (s) = \frac{1 + \frac{s}{z_d}}{1 + \frac{s}{m_d z_d}} \quad m_d > 1 \]
|
||||||
Scegliendo $m_d > 1$ si garantisce che il polo compaia sempre a una frequenza maggiore dello zero. Più $m_d$ cresce più il comportamento della rete \lead assomiglia al comportamento di una rete con un solo zero.
|
Scegliendo $m_d > 1$ si garantisce che il polo compaia sempre a una frequenza maggiore dello zero. Più $m_d$ cresce più il comportamento della rete \lead assomiglia al comportamento di una rete con un solo zero.
|
||||||
|
|
||||||
\includegraphics[scale=0.3]{retelead.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{retelead.png}
|
||||||
|
\caption{Diagramma di una rete lead normalizzata, al variare del parametro $m_d$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Notare che un questi diagrammi di Bode si rappresenta la risposta in frequenza normalizzata su $z_d$. In questo modo la frequenza normalizzata $1$ corrisponde la frequenza dello zero $z_d$.
|
Notare che in questi diagrammi di Bode si rappresenta la risposta in frequenza normalizzata su $z_d$. In questo modo la frequenza normalizzata $1$ corrisponde la frequenza dello zero $z_d$.
|
||||||
|
|
||||||
La rete \lead permette di aumentare il modulo di una quantità finita (che cresce con il crescere di $m_d$). L'andamento della fase è sempre a campana, ovvero si può aumentare la fase solo all'interno di un certo range di frequenze. Il guadagno di fase cresce con $m_d$.
|
La rete \lead permette di aumentare il modulo di una quantità finita (che cresce con il crescere di $m_d$). L'andamento della fase è sempre a campana, ovvero si può aumentare la fase solo all'interno di un certo range di frequenze. Il guadagno di fase cresce con $m_d$.
|
||||||
|
|
||||||
@@ -436,12 +474,22 @@ La rete \lead permette di aumentare il modulo di una quantità finita (che cresc
|
|||||||
\[ R_z(s) = \left(1 + \frac{s}{z}\right) \]
|
\[ R_z(s) = \left(1 + \frac{s}{z}\right) \]
|
||||||
La rete \zero è la migliore delle reti \lead possibili (è il caso limite $m_d \to \infty$). Pertanto è la scelta preferenziale tutte le volte che ho $\nu \geq 1$. In particolare, dato $\nu$, è sempre possibile inserire se necessario fino ad numero massimo di reti \zero pari a $\nu$. Il guadagno di fase massimo è di 90°.
|
La rete \zero è la migliore delle reti \lead possibili (è il caso limite $m_d \to \infty$). Pertanto è la scelta preferenziale tutte le volte che ho $\nu \geq 1$. In particolare, dato $\nu$, è sempre possibile inserire se necessario fino ad numero massimo di reti \zero pari a $\nu$. Il guadagno di fase massimo è di 90°.
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{retezero.png}
|
||||||
|
\caption{Diagramma di una rete zero normalizzata}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\paragraph{Necessità di aggiungere poli} In alcuni casi non è sufficiente diminuire $K_c$ per soddisfare i vincoli sulla frequenza di crossover (a causa dei vincoli su $K_c$). Quindi si devono inserire dei poli per diminuire il modulo alla frequenza $\omega_{c,des}$. Inserendo solamente dei poli la fase diminuisce in modo eccessivo portando $L(s)$ nella regione proibita, quindi per ogni polo si deve anche inserire uno zero.
|
\paragraph{Necessità di aggiungere poli} In alcuni casi non è sufficiente diminuire $K_c$ per soddisfare i vincoli sulla frequenza di crossover (a causa dei vincoli su $K_c$). Quindi si devono inserire dei poli per diminuire il modulo alla frequenza $\omega_{c,des}$. Inserendo solamente dei poli la fase diminuisce in modo eccessivo portando $L(s)$ nella regione proibita, quindi per ogni polo si deve anche inserire uno zero.
|
||||||
|
|
||||||
\paragraph{Rete \lag}
|
\paragraph{Rete \lag}
|
||||||
\[ R_i(s) = \frac{1+\frac{s}{m_i p_i}}{1+ \frac{s}{p_i}} \quad m_i > 1 \]
|
\[ R_i(s) = \frac{1+\frac{s}{m_i p_i}}{1+ \frac{s}{p_i}} \quad m_i > 1 \]
|
||||||
|
|
||||||
\includegraphics[scale=0.3]{retelag.png}
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{retelag.png}
|
||||||
|
\caption{Diagramma di una rete lag normalizzata, al variare del parametro $m_i$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
Anche in questo caso il diagramma è normalizzato sulla frequenza del polo.
|
Anche in questo caso il diagramma è normalizzato sulla frequenza del polo.
|
||||||
|
|
||||||
@@ -487,6 +535,12 @@ Può essere necessario evitare che combinando più reti \lead uguali la funzione
|
|||||||
\[ K_c^\text{new} = K_c^\text{old} 10^{\frac{\text{modulo da guadagnare in dB}}{20}} \]
|
\[ K_c^\text{new} = K_c^\text{old} 10^{\frac{\text{modulo da guadagnare in dB}}{20}} \]
|
||||||
Il modulo da guadagnare può essere sia positivo che negativo. Nel caso sia negativo è necessario verificare che il nuovo $K_c$ rispetti il vincolo sul limite inferiore.
|
Il modulo da guadagnare può essere sia positivo che negativo. Nel caso sia negativo è necessario verificare che il nuovo $K_c$ rispetti il vincolo sul limite inferiore.
|
||||||
|
|
||||||
|
\begin{figure}
|
||||||
|
\centering
|
||||||
|
\includegraphics[scale=0.5]{esempionichols.png}
|
||||||
|
\caption{Esempio della progettazione di un controllore. La funzione è stata prima spostata a destra con una rete \zero ed una \lead e poi è stato modificato il modulo di $K_c$}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\section{Verifica delle specifiche}
|
\section{Verifica delle specifiche}
|
||||||
L'ultimo passaggio della progettazione di un sistema di controllo è la verifica delle specifiche, ovvero la verifica che il sistema progettato soddisfi effettivamente i requisiti.
|
L'ultimo passaggio della progettazione di un sistema di controllo è la verifica delle specifiche, ovvero la verifica che il sistema progettato soddisfi effettivamente i requisiti.
|
||||||
|
|
||||||
|
|||||||
119
images/Immagini.m
Normal file
@@ -0,0 +1,119 @@
|
|||||||
|
%% Rete lead
|
||||||
|
clear
|
||||||
|
clf
|
||||||
|
s = tf('s');
|
||||||
|
|
||||||
|
figure(1)
|
||||||
|
for m_d = 3:16
|
||||||
|
Rz = (1+s)/(1+s/m_d);
|
||||||
|
bode(Rz)
|
||||||
|
grid on
|
||||||
|
hold on
|
||||||
|
end
|
||||||
|
title("Lead network")
|
||||||
|
saveas(gcf,'retelead.png')
|
||||||
|
|
||||||
|
%% Rete lag
|
||||||
|
clear
|
||||||
|
clf
|
||||||
|
s = tf('s');
|
||||||
|
|
||||||
|
figure(2)
|
||||||
|
for m_d = 3:16
|
||||||
|
Rz = (1+s/m_d)/(1+s);
|
||||||
|
bode(Rz)
|
||||||
|
grid on
|
||||||
|
hold on
|
||||||
|
end
|
||||||
|
title("Lag network")
|
||||||
|
saveas(gcf,'retelag.png')
|
||||||
|
|
||||||
|
%% Rete zero
|
||||||
|
clear
|
||||||
|
clf
|
||||||
|
s = tf('s');
|
||||||
|
|
||||||
|
figure(3)
|
||||||
|
Rz = (1+s);
|
||||||
|
bode(Rz)
|
||||||
|
grid on
|
||||||
|
|
||||||
|
title("Zero network")
|
||||||
|
saveas(gcf,'retezero.png')
|
||||||
|
|
||||||
|
%% Plots riguardo ad un generico sistema ad anello
|
||||||
|
clear
|
||||||
|
clf
|
||||||
|
omega_c = 690;
|
||||||
|
s = tf('s');
|
||||||
|
L = (1.498e14*s^2 + 8.615e16*s + 1.189e19)/(79350*s^5 + 3.468e08*s^4 + 2.732e11*s^3 + 7.539e13*s^2 + 6.611e15*s)
|
||||||
|
T = L/(1+L);
|
||||||
|
S = 1/(1+L);
|
||||||
|
|
||||||
|
figure(1)
|
||||||
|
bodemag(T)
|
||||||
|
hold on
|
||||||
|
grid on
|
||||||
|
[mag,~,wout] = bode(T,omega_c);
|
||||||
|
text(wout,mag2db(mag),'Tp','Color','red','FontSize',14, 'VerticalAlignment','bottom')
|
||||||
|
title("T(j \omega)")
|
||||||
|
xline(omega_c, '--b', "\omega_c", 'LabelOrientation','horizontal','LabelVerticalAlignment','bottom','FontSize',14)
|
||||||
|
saveas(gcf,'bodeT.png')
|
||||||
|
|
||||||
|
|
||||||
|
figure(2)
|
||||||
|
bodemag(S);
|
||||||
|
hold on
|
||||||
|
grid on
|
||||||
|
[mag,~,wout] = bode(S,omega_c);
|
||||||
|
text(wout,mag2db(mag),'Sp','Color','red','FontSize',14, 'VerticalAlignment','bottom')
|
||||||
|
xline(omega_c, '--b', "\omega_c", 'LabelOrientation','horizontal','LabelVerticalAlignment','bottom','FontSize',14)
|
||||||
|
title("S(j \omega)")
|
||||||
|
saveas(gcf,'bodeS.png')
|
||||||
|
|
||||||
|
figure(3)
|
||||||
|
bodemag(L)
|
||||||
|
hold on
|
||||||
|
grid on
|
||||||
|
bodemag(S)
|
||||||
|
bodemag(T)
|
||||||
|
xline(omega_c, '--b', "\omega_c", 'LabelOrientation','horizontal','LabelVerticalAlignment','bottom','FontSize',14)
|
||||||
|
legend
|
||||||
|
saveas(gcf,'lts.png')
|
||||||
|
|
||||||
|
figure(4)
|
||||||
|
bode(L)
|
||||||
|
hold on
|
||||||
|
xline(omega_c, '--b', "\omega_c", 'LabelOrientation','horizontal','LabelVerticalAlignment','bottom','FontSize',14)
|
||||||
|
title("L(j \omega)")
|
||||||
|
grid on
|
||||||
|
saveas(gcf,'plotljw.png')
|
||||||
|
|
||||||
|
%% Step response
|
||||||
|
clear
|
||||||
|
clf
|
||||||
|
s = tf('s');
|
||||||
|
T = 6.9846e09*s*(s+3450)*(s+2760)*(s+400)*(s+345)*(s+230)*(s+175)/(s*(s+4410)*(s+3450)*(s+2760)*(s+400)*(s+175)*(s^2 + 557.1*s + 7.863e04)*(s^2 + 1818*s + 1.598e06));
|
||||||
|
figure(1)
|
||||||
|
step(T)
|
||||||
|
hold on
|
||||||
|
grid on
|
||||||
|
xline(0.00292, '--b', "t_r", 'LabelOrientation','horizontal','LabelVerticalAlignment','bottom','FontSize',14)
|
||||||
|
yline(1, '--b', "y_\infty", 'LabelOrientation','horizontal','LabelVerticalAlignment','bottom','FontSize',14)
|
||||||
|
yline(1.05, '--b', "y_{max}", 'LabelOrientation','horizontal','LabelVerticalAlignment','top','FontSize',14)
|
||||||
|
saveas(gcf,'transitorio.png')
|
||||||
|
|
||||||
|
%% Step response second order system
|
||||||
|
clear
|
||||||
|
clf
|
||||||
|
s = tf('s');
|
||||||
|
t = linspace(0,20,1000);
|
||||||
|
figure(1)
|
||||||
|
for xi = 0:0.1:1
|
||||||
|
Rz = 1/(1+2*xi*s+s^2);
|
||||||
|
step(Rz,t)
|
||||||
|
hold on
|
||||||
|
grid on
|
||||||
|
end
|
||||||
|
title("Step response of prototype second order system")
|
||||||
|
saveas(gcf,'rispostasecondoordine.png')
|
||||||
BIN
images/bodeS.png
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 42 KiB |
BIN
images/bodeT.png
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 42 KiB |
BIN
images/esempionichols.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
images/lts.png
|
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 124 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 201 KiB After Width: | Height: | Size: 108 KiB |
BIN
images/retezero.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 184 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 114 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 31 KiB |