Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni22 pagine

Utilizzare MATLAB e Simulink Per

Il documento fornisce una panoramica sull'uso di MATLAB e Simulink per la simulazione e progettazione di sistemi di controllo, con particolare attenzione ai sistemi dinamici e alla piattaforma Pan-Tilt. Viene discussa la linearizzazione delle equazioni di moto non lineari e l'analisi delle risposte del sistema, oltre a come incorporare il controllo e gestire il campionamento nei sistemi digitali. Infine, si sottolinea l'importanza di tradurre specifiche qualitative in quantitative e di sviluppare un diagramma Simulink per il design del progetto.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
5 visualizzazioni22 pagine

Utilizzare MATLAB e Simulink Per

Il documento fornisce una panoramica sull'uso di MATLAB e Simulink per la simulazione e progettazione di sistemi di controllo, con particolare attenzione ai sistemi dinamici e alla piattaforma Pan-Tilt. Viene discussa la linearizzazione delle equazioni di moto non lineari e l'analisi delle risposte del sistema, oltre a come incorporare il controllo e gestire il campionamento nei sistemi digitali. Infine, si sottolinea l'importanza di tradurre specifiche qualitative in quantitative e di sviluppare un diagramma Simulink per il design del progetto.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Usando MATLAB e Simulink per

Simulazione e Progettazione dei Sistemi di Controllo

1/29/03
Schema

•Panoramica (e recensione) di MATLAB e Simulink


•Utilizzando MATLAB e Simulink per sistemi dinamici
analisi e simulazione, e progettazione del controllo

•Simulazione e analisi non lineare vs. lineare


Applicazione alla piattaforma Pan-Tilt
Ultima volta

Equazione di moto per sistemi dinamici:


1-link: (I+N 2 "" "
I)θ+(B+NB)θ=Nτ+mg!sinθ
! m! ! m! m c !

"" " " "


General: M(θ)θ+B(θ)+C(θ,θ)θ+G(θ)=τ

Come sistema di controllo, possiamo considerare τ come l'input, θlè


l'output. Oggi, vedremo come utilizzare MATLAB
e Simulink per simulare la risposta del sistema
per una data traiettoria di input.
MATLAB
Un potente pacchetto con funzioni matematiche integrate, array
e capacità di manipolazione delle matrici, tracciamento e molto altro
di toolbox aggiuntivi (ad es., controllo, elaborazione delle immagini, )
manipolazione simbolica, programmazione a blocchi
ossia, Simulink, ecc.)
MATLAB
• Vettori: theta=[theta_1;theta_2];
• Matrici: M=[M11 M12; M21 M22];
• Polinomi: p=[a3 a2 a1 a0];
• Funzioni di trasferimento: G=tf(num,den);
• Simulazione lineare:
• risposta al gradino: step(G);
• risposta all'impulso: impulso(G);
• risposta generale: y=lsim(G,u,t);
MATLAB (Continua)
"differenziale ordinaria
• Risolvere l'equazione x=f(t,x)

[t,x]=ode23('func',[0 tf],xinit); f=func(t,x)


• Tracciamento: plot(t,x1,t,x2);xlabel('tempo (sec)');ylabel('theta
(deg)'); title('theta(t)'); legend('B8_1','B8_2');
• Stampa (su stampante o file)
stampa -f -d<tipo di dispositivo> <nome del file>
• Utilizzo di m-file in MATLAB
usa qualsiasi editor (o l'editor integrato di MATLAB, basta digitare inmodifica)
funzione f=func(t,x)...
• Ottenere aiuto in MATLAB: help <nome funzione> oppure semplicemente help

tutorial online[Link]
Applicazione alla piattaforma Pan-Tilt

pantilt.m fornisce l'espressione simbolica per


M (matrice di massa 2x2)

C (coppia di coriolis/centrifuga 2x1)


G (vettore di gravità 2x1)

Per il calcolo numerico, dai un'occhiata a


pantiltmodel.m: imposta I, p, m per i due corpi
[Link] M(θ)
[Link] " "
C(θ,θ)θ
gravità.m G(θ)
Simulazione
Considera l'input come i torques del motore τ(2x1) e l'output come
gli angoli articolari (link)θ(2x1). La simulazione implica trovare il
output risposta per una data traiettoria.
Utilizzerai una simulazione ad alta fedeltà per convalidare il tuo design
(inclusa la non linearità, l'attrito, la saturazione, ecc.). Per il tuo
per la progettazione del controllo, sarà necessario utilizzare un modello linearizzato.

τ pan-tilt θ
dinamiche
Linearizzazione
L'equazione del moto è non lineare (M, C, Gare non lineari)
funzioni di θ). Per facilitare la progettazione del sistema di controllo,
"
per prima cosa linearizziamo attorno a un punto di funzionamento(θ,θ)=(θ,0)
d
Linearizzazione: esempio 1-D
Espansione in serie di Taylor attorno a " ,0)
(θ,θ)=(θd

e mantenere il termine lineare. Considera l'esempio 1-D


dall'ultima lezione:
"" "
Iθ+Fsgnθ+Fθ−mgl" sinθ=τ
c v g

senθ=senθd+cosθd(θ−θd)−0.5sinθd(θ−θd) 2+#
Sistema linearizzato:
I ∆ θ""+ F ∆v θ −" m g l gcosθd∆θ=τ+mglg sinθd
$%&%'
potrebbe essere annullato o
trattato come una perturbazione

∆θ=(θ−θD)
Linearizzazione: Sistemi Meccanici Generali
"" " ∂G
M(θd)θ+Dθ+(θd)(θ−θd=τ−G(θd)
∂θ cancellato o
trattato come
disturbo
∂G1∂G1
∂G ∂θ1∂θ2
=
∂θ ∂G2∂G2
∂θ1∂θ2

Per la piattaforma pan-tilt, l'input è la coppia del motore τ(2x1), l'output


isθ(2x1).
τ linearizzato θ
pan-tilt
dinamiche
Descrizione dei sistemi LTI

Input/Output Cosa significa LTI?


(differenziale
equazione)

Frequenza
Spazio degli stati
Dominio
stato

Input output
Descrizione dei sistemi LTI
"" " )(θ−θ )=τ
M(θd)θ+Dθ+G(θd θ d

Input/Output
(differenziale
equazione)

x1 θ−θ d
x= =
x2 θ"

Frequenza
Spazio degli stati
Dominio
0 Io 0
"
x= x+ τ
−M G−M D
−1 −1
M −1

∆θ(s)=(s2 M(θd+Ds+G(θd))−1θτ(s) $%%%&%%%' $&'


$%%%%%&%%%%%' A B
G(s)
[$&' ]
y=I0x+0τ (
D
C
Descrizione di LTI in MATLAB

Ogni LTI è trattato come un oggetto con una varietà di


descrizione possibile:
funzione di trasferimento: tf(num, den)(numeratore e
polinomi denominatori
polo/zero guadagno:zpk(z,p,k)(zeri, poli, guadagno)
spazio degli stati:ss(A,B,C,D)(parametri dello spazio degli stati)

Dai un'occhiata a pantilt_init.mon sulla pagina web


Risposta del Sistema Lineare a Circuito Aperto

Risposta all'impulso: Grafico di Bode:

y=impulso(G) y=bode(G)
risposta all'impulso: poli/zeri/ammortizzamenti
y=passo(G) polo(G), zero(G), smorzamento(G)

general response: trama polo/zero:


y=lsim(G,u,t) pzmap(G)
margine di guadagno/fase
(robustezza):
margine(G)
Incorporazione del Controllo

Interconnessione dei sistemi LTI:

r + τ θ
F K G
-

Gcl = feedback(G*K,H)*F
Simulink
Invece di inserimenti da riga di comando, potrebbe essere più facile usare
uno strumento di programmazione a diagramma a blocchi

Blocco LTI

Dai un'occhiata a [Link] per linearizzato


pan-tilt sotto controllo PID
Effetto del campionamento

La maggior parte dei sistemi di controllo al giorno d'oggi è di natura digitale, quindi
il campionamento è inherente (attraverso A/D per il sensore, che
contiene un campionatore e un D/A per attuatori, che
contiene un mantenitore di ordine zero).

Per analizzare l'effetto del campionamento, possiamo trovare il


sistema equivalente a tempo discreto:
Gd = c2d(G,ts);%ts=periodo di campionamento (sec)

Gd è anche un oggetto LTI e i comandi per LTI possono


essere applicato.
Aggiunta di campionamento al diagramma Simulink

Per aggiungere campionamento alla tua simulazione nel tempo continuo,


aggiungi semplicemente un blocco di mantenimento di ordine zero (nel tempo discreto
sistema della biblioteca) all'input, quindi impostare il tempo di campionamento.
Simulazione di sistemi non lineari

G(s) può essere sostituito da un blocco non lineare


Cosa devi fare
! Trasforma le tue specifiche qualitative in specifiche più quantitative
in termini di velocità e precisione, capacità di rifiutare
disturbo, ecc.
! Sviluppa un diagramma Simulink per la tua iterazione di design.
•Usa il diagramma Simulink online come punto di partenza
modello.
Aggiungi parametri del motore e del riduttore al pan-tilt
scheletro (generare composito, I, pper ogni corpo).
•Utilizza i tuoi parametri di design per la simulazione.
L'input desiderato dovrebbe essere basato sulle tue specifiche.

•Devi anche modificare i controllori (ad esempio, la gravità


compensazione, rimuovendo il accoppiamento della matrice di massa
regola i guadagni per ciascun asse, evita la saturazione, ecc.)
Oggi alle 17:00, Martedì prossimo, 2/4 (17:00)
Mercoledì prossimo 2/5 (17:00)

•Work on your project proposal (include preliminary


progettazione utilizzando MATLAB/Simulink)

Mercoledì prossimo, 2/5 (9:00)


•Componenti dei sistemi di controllo: amplificatore, codificatore,
motore

Potrebbero piacerti anche