Controle Supervisório de SEDs:
Controle Supervisório de SEDs:
Introdução
Introdução
Antonio Eduardo Carrilho da Cunha
Antonio Eduardo Carrilho da Cunha
Rio de Janeiro, 4 de junho de 2003
Rio de Janeiro, 4 de junho de 2003 Instituto Militar de Engenharia
Instituto Militar de Engenharia
Departamento de Engenharia Elétrica (DE/3)
Departamento de Engenharia Elétrica (DE/3)
Programa de Pós-Graduação em Engenharia Elétrica
Sumário
Sumário
• Introdução
• O controle supervisório de SEDs: generalidades
• Modelagem do problema
• O Problema de controle supervisório
• Comentários
Introdução
“
“
Novos” sistemas dinâmicos
Novos” sistemas dinâmicos
• Surgidos com a evolução das tecnologias de computação, comunicação e sensoreamento
• Sistemas tecnológicos e altamente complexos
– Redes de computadores e de comunicação – Sistemas de manufatura automatizados
– Sistemas de C3I (comando, controle, comunicação e informação)
altamente integrados
– Sistemas de transporte inteligentes
– Sistemas avançados de controle e monitoração de veículos e edifícios – Sistemas de software distribuídos
– Sistemas de controle de tráfego aéreo – ...
Dinâmica dirigida a eventos
Dinâmica dirigida a eventos
• Uma parcela significativa da atividade destes sistemas é
governada por regras operacionais projetadas por
humanos
• A dinâmica do sistema é caracterizada por ocorrência
assíncrona de eventos discretos
– Eventos controláveis
• apertar uma tecla, ligar um equipamento, enviar um pacote de mensagens etc.
– Eventos não controláveis
• Falhas espontâneas de equipamentos, perda de pacotes de mensagens etc.
O que são Sistemas a Eventos
O que são Sistemas a Eventos
Discretos?
Discretos?
• Um sistema a eventos discreto (SED) é um
sistema dinâmico discreto e dirigido a eventos,
isto é, com espaço de estados discreto e cuja
evolução de estado depende inteiramente da
ocorrência assíncrona de eventos discretos.
Modelagem de SEDs
Modelagem de SEDs
• O arsenal matemático centrado nas equações
diferenciais e a diferenças é inadequado ou
simplesmente inapropriado para os sistemas a
eventos discretos
Ferramentas e Teorias
Ferramentas e Teorias
• Necessita-se de uma abordagem
multidisciplinar
• Teoria de controle
– para otimização do desempenho por controle
(realimentação)
• Ciência da computação
– para modelagem e verificação de processos dirigidos a
eventos
• Pesquisa operacional
– para análise e simulação de modelos estocásticos de
SEDs
Ferramentas e Teorias
Ferramentas e Teorias
• Necessitam-se de novas formas de modelagem, técnicas de análise e procedimentos de controle
– Teoria de linguagens e autômatos – Redes de Petri
– Teoria de filas – Álgebra (max,+) – Cadeias de Markov – ...
• Necessitam-se de novos paradigmas para combinar técnicas matemáticas com o processamento de dados experimentais
– Verificação a estado discreto – Programação linear
Oportunidades de pesquisa de SEDs
Oportunidades de pesquisa de SEDs
• Área recente e em desenvolvimento
• Surgimento constante e crescente de
aplicações
• Complexidade dos sistemas crescente
• Necessidade de métodos poderosos para
– Melhorar os procedimentos de projeto
– Prevenir falhas
• que podem ser catastróficas quando os sistemas atingem
certo nível de complexidade
O controle supervisório de SEDs:
O controle supervisório de SEDs:
generalidades
Generalidades
Generalidades
• Abordagem introduzida por Ramadge e Wonham (1989)
– Abordagem Ramadge-Wonham (RW)
• Destina-se ao controle lógico de sistemas a eventos
discretos
– Aspectos temporais incluídos em extensões à teoria básica
• Baseado na teoria de linguagens formais e autômatos
• Tratam-se problemas básicos da teoria de controle
Generalidades
Generalidades
• Questões
– Pode-se restringir o comportamento de um sistema para que este atenda a certas especificações?
– Pode-se proibir a ocorrência de uma dada seqüência de eventos?
– Poder-se impedir que o sistema alcance a um dado estado?
• Fornece um método formal para síntese de controladores
para tais sistemas
• Otimalidade
– Controlador gerado corresponde ao comportamento
Esquema de controle
Esquema de controle
• Planta
– Gera eventos espontaneamente – Dotada de estrutura de controle
• Supervisor
– Agente controlador
– Observa seqüência de eventos gerada pela planta – Aplica entradas de controles
Planta
Supervisor
Exemplo - Célula de manufatura
Exemplo - Célula de manufatura
CLP
entradas saídas furadeira esteira mesa circular teste manipulador armazém de saída armazém de entrada P1 P2 P3 P4Exemplo - Célula de manufatura
Exemplo - Célula de manufatura
• Condição de controle
– Não há informação da
presença da peça na posição Pi.
• Nível de abstração do controle
– Observa-se e controla-se o
início e o fim de funcionamento
dos equipamentos CLP entradas
saídas furadeira esteira mesa circular teste manipulador armazém de saída armazém de entrada P1 P2 P3 P4
• Objetivo
– Projetar o programa do CLP
Exemplo - Célula de manufatura
Exemplo - Célula de manufatura
•Requisitos operacionais
–Evitar rotação da mesa circular sem que as peças em P2, P3 e P4 não estejam furadas, testadas e removidas respectivamente.
–Evitar operação da esteira, furador, testador ou robô ao
mesmo tempo que a mesa girar. –Tratar o fluxo de peças da mesa
• Evitar overflow de peças em P1
• Furar ou testar uma peça duas vezes • Furar, testar ou pegar sem peças em
P2, P3 ou P4 respectivamente • Girar a mesa quando estiverem
todas as posições vazias
CLP entradas saídas furadeira esteira mesa circular teste manipulador armazém de saída armazém de entrada P1 P2 P3 P4 • Requisitos adicionais
– Operar com o máximo número de peças o possível
– Otimalidade = controle minimamente restritivo
Modelagem do problema
Autômatos de estados finitos
Autômatos de estados finitos
• Dispositivo que representa linguagens de acordo com
regras específicas
• Um autômato de estados finitos é uma quíntupla G = (
Σ
, Q,
δ
, q
0, Q
m) onde:
Σ é um conjunto finito de etiquetas – Q é um conjunto finito de estados
δ é uma função de transição (possivelmente parcial)
∀ δ : Q ×Σ→ Q
– q0 é o estado inicial (q0 ∈ Q)
– Qm é um conjunto de estados finais (Qm ⊆ Q)
Diagramas de transição de estados
Diagramas de transição de estados
• Forma de representação gráfica de autômatos
de estados finitos
• Grafos direcionados onde os nós representam
os estados e os arcos etiquetados representam
as transições de estados
Exemplo - autômato de estados finitos
Exemplo - autômato de estados finitos
G = ( Σ, Q, δ, q0, Qm) Σ = { a, b, c} Q = { 0, 1, 2} q0 = 0 Qm = { 0, 2} símbolos δ a b c 0 0 - 2 1 0 1 2 1 2 1es ta d os Observe que δ (0,b) e δ(1,c) não estão definidos 0 1 2 a a c b c a bG
Linguagens associadas a um autômato
Linguagens associadas a um autômato
• Linguagem gerada por G
– L(G) = { u∈Σ* | δ(q
0,u)!}
– Representa o conjunto de todos as possíveis seqüências de símbolos que G pode gerar
• Linguagem marcada por G
– Lm(G) = { u∈L(G) | δ(q0,u)∈Qm}
– representa o subconjunto de seqüências que terminam num estado marcado
• Propriedades
– L(G) é prefixo-fechada (L(G) = L(G)) – Lm(G) ⊆ L(G)
Exemplo - Linguagens associadas a
Exemplo - Linguagens associadas a
um autômato
um autômato
Lm(G) = (a*cb*(a+c)b*a)*(a* + a*cb*)
L(G) = (a*cb*(a+c)b*a)*(a* + a*cb* + a*cb*(a+c)b*)
0 1 2 a a c b c a b
G
Notação para expressões regularesAutômatos como modelos para SEDs
Autômatos como modelos para SEDs
• O autômato G = (
Σ
, Q,
δ
, q
0, Q
m) representa um
SED
Σ
representa o conjunto de eventos gerados pelo
sistema
– L(G) representa todas as seqüências de eventos
geradas pelo sistema
– L
m(G) representa todas as seqüências de eventos
geradas pelo sistema que correspondem a
tarefas
completas
do sistema
• Referencia-se a G como sendo o próprio
sistema
Estrutura de controle
Estrutura de controle
• Partição de
Σ
em conjuntos
Σ
ce
Σ
ncΣc é o conjunto de eventos controláveis
• podem ser desabilitados (inibidos, proibidos de ocorrer)
Σnc é o conjunto de eventos não controláveis
• não podem ser desabilitados (inibidos, proibidos de ocorrer)
• Entradas de controle
γ∈Σ
– Se σ∈γ, então σ está habilitado por γ – Caso contrário, σ está desabilitado – Propriedade
• Eventos não controláveis não podem ser desabilitados (Σnc ⊆γ )
Exemplo - SED
Exemplo - SED
SED G – máquina num sistema de manufatura
G
Peça bruta Peça processada
Três estados P – parada T – trabalhando Q – quebrada Quatro eventos α - início de operação β - fim de operação λ - quebra µ - conserto
Alguns eventos podem ser impedidos de ocorrer Modelo da planta Alfabeto Σ = { α, β, λ, µ} Comportamento L(G) = ((αβ)* + (αλµ)*)*(ε +α+αλ) Lm(G) = ((αβ)* + (αλµ)*)* α β λ µ P T Q G Estrutura de controle Σc = {α, µ} Σnc = {β, λ} (notação no grafo)
Modelos de SEDs compostos
Modelos de SEDs compostos
• Sistemas compostos
– Diversos componentes G
1, G
2, ... e G
n– Alfabetos possivelmente não disjuntos
• Modelo do sistema composto
– Produto síncrono dos modelos dos componentes
– G = G
1|| G
2|| ... || G
nExemplo - célula de manufatura
Exemplo - célula de manufatura
CLP entradas saídas furadeira (G2) esteira (G1) mesa circular (G0) teste (G3) manipulador (G4) armazém de saída armazém de entrada P1 P2 P3 P4
Planta
Gi, i ∈ {0,1,2,3,4} ai bi Gi 0 1Modelos dos componentes
G = G0|| G1|| G2 || G3 || G4 Modelo do sistema completo
Modelagem das especificações
Modelagem das especificações
• Escrevem-se especificações para o comportamento do
sistema em malha fechada
• Requisitos comuns
– Segurança, vivacidade e justiça
• Construção das especificações
– Especificações locais
• Especificações Ei envolvendo seqüências de eventos relevantes • Conjunção de todas as especificações locais E = E1 || ... || En
– Especificações globais
• Tipicamente de estado proibido
• Obtidas por análise e corte de estados de G
Exemplo - especificações para a célula
Exemplo - especificações para a célula
Evitar rotação da mesa circular sem que as peças em P2, P3 e P4 não estejam furadas, testadas e
removidas respectivamente (Ea) CLP entradas saídas furadeira esteira mesa circular teste manipulador armazém de saída armazém de entrada P1 P2 P3 P4 b1, b2, b3 a0 Ea 0 1 b1, b2, b3
Evitar operação da esteira, furador, testador ou robô ao mesmo tempo que a mesa girar (Eb)
0 1
a0, ai
b0, bi
Ebi i ∈ {1, 2, 3, 4}
Exemplo - especificações para a célula
Exemplo - especificações para a célula
• Tratar o fluxo de peças da mesa (Ec)
– Evitar overflow de peças em P1 – Furar ou testar uma peça duas
vezes
– Furar, testar ou pegar sem peças em P2, P3 ou P4 respectivamente
– Girar a mesa quando estiverem todas as posições vazias
CLP entradas saídas furadeira esteira mesa circular teste manipulador armazém de saída armazém de entrada P1 P2 P3 P4 bi Eci a 0 bi 0 1 2 3 a0 Ec = Ec1 || Ec2 || Ec3 Especificação global: (296, 745, 10) Linguagem alvo:
Supervisor
Supervisor
• Representado por um autômato S = (
Σ
,Y,
ϕ
,y
0,Y
m)
• O supervisor S segue a evolução da planta G = (
Σ
, Q,
δ
, q
0,
Q
m)
• A ação de controle de S sobre G está implícita na estrutura
de transição de S
– Num dado estado y de S e q de G, os eventos desabilitados de G são os eventos σ tais que δ(q,σ)! e ϕ(y,σ) não definido
• Sistema em malha fechada (S/G)
– Descrito pelo produto síncrono S||G
• L(S/G) = L(S||G) • Lm(S/G) = Lm(S||G)
Supervisor não bloqueante
Supervisor não bloqueante
• Em geral L
m(S/G)
⊆
L(S/G)
– O que quer dizer Lm(S/G) ⊂ L(S/G)?
– O que esta condição corresponde no sistema em malha fechada?
• Supervisor não bloqueante
– Lm(S/G) = L(S/G)
– Todas as seqüências de eventos admitidas em malha fechada são prefixos de tarefas completas do sistema
Exemplo - supervisor para a célula
Exemplo - supervisor para a célula
0 1 2 3 4 5 6 7 8 9 10 11 12 13 a1 b1 a0 b0 a2 b2 a0 b0 a3 b3 a0 b0 a4
Avança esteira até haver peça em P1
Gira a mesa 90o (peça vai para P2)
Fura peça em P2
Gira a mesa 90o (peça vai para P3) Pega peça em P4
e deposita no armazém de saída
b4
Exemplo - supervisor para a célula
Exemplo - supervisor para a célula
• Atende às especificações
– L
m(S
1/G)
⊂
K
• Supervisor não bloqueante
• Política de controle conservadora
O problema de controle supervisório
Enunciado
Enunciado
• Problema de controle supervisório (PCS)
– Dados uma planta G e uma especificação K
⊆
Σ
*Controlabilidade e existência de
Controlabilidade e existência de
supervisores
supervisores
• Para uma planta G com conjunto de eventos
não controláveis
Σ
nc, a linguagem K
⊆
Σ
*é dita
controlável em relação a (e.r.a.) L(G) e
Σ
ncse
– K
Σ
nc∩
L(G)
⊆
K.
• Fato
– Existe um supervisor não bloqueante S tal que L
m(S/G)
= K se e somente se K
⊆
L
m(G) e K for controlável
Solução do PCS
Solução do PCS
• Conjunto de linguagens controláveis contidas em K
– C(K) = { J ⊆ K | J Σnc ∩ L(G) ⊆ J } – Subentende-se L(G) e Σnc
• Fatos sobre C(K)
– Não vazio
– Fechado para a união
– Contém um único elemento supremo, denotado sup C (K)
• sup C (K)
– Máxima linguagem controlável (e.r.a. L(G) e Σnc) contida em K
• Fato
Máxima linguagem controlável
Máxima linguagem controlável
• Representa o comportamento minimamente
restritivo em malha fechada que atende às
especificações
• O supervisor S tal que L
m(S/G) = sup C (K) é
dito supervisor ótimo
Cálculo da máxima linguagem
Cálculo da máxima linguagem
controlável
controlável
• Existe um algoritmo para cálculo da máxima
linguagem controlável em um número finito de
passos para planta e especificações expressas
em termos de autômatos de estados finitos
• Algoritmo com
complexidade polinomial
em
relação ao número de estados do autômato
produto da planta com as especificações
Método de síntese de supervisores
Método de síntese de supervisores
• Modelar o comportamento em malha
aberta do sistema
– Planta
• Modelar as especificações
– Linguagem alvo
• Sintetizar o supervisor ótimo
– Calcular a máxima linguagem controlável
contida na linguagem alvo
Exemplo - supervisor para a célula
Exemplo - supervisor para a célula
• Supervisor sintetizado a partir das
especificações
– 151 estados e 350 transições
– Permite até 4 peças sendo processadas na
mesa simultaneamente
Comentários
Resumo
Resumo
• SEDs
– Crescendo em número de aplicações e complexidade
– Necessidade de métodos formais
• Controle supervisório de SEDs
– Fornece um método de síntese de controladores lógicos
para SEDs
Limitações
Limitações
• Complexidade computacional
– Algoritmo de síntese com complexidade polinomial em
relação ao número de estados do autômato produto de planta com especificações
– Número de estados do autômato produto cresce
exponencialmente com a adição de componentes da planta e novas especificações
• Implementação dos supervisores
– Métodos ainda não consolidados
– Supervisor monolítico da abordagem básica possui número imenso de estados mesmo para pequenos sistemas reais – Ilegibilidade dos programas de controle gerados
Ferramentas
Ferramentas
• Em geral acadêmicas e de pesquisa
• Síntese
– TCT - Universidade de Toronto
– UMDES software library - Universidade de Michigan – DESCO - universidade de Chelmers
– VALID - Siemens
– CONDES - Universidade Federal de Santa Catarina – GRAIL - Universidade Federal de Santa Catarina
• Automatização da implementação
– CONCEL - Universidade Federal de Santa Catarina – SUPREMICA - Universidade de Chelmers
Aplicações
Aplicações
• Sistemas flexíveis de manufatura
• Protocolos de comunicação
• Serviços adicionais para centrais digitais
• Sistemas de transações para bancos de dados
• Sistemas de transporte inteligentes
Extensões
Extensões
• SEDs com eventos forçados • SEDs temporizados
• SEDs com observação parcial • Controle modular • Controle descentralizado • Controle hierárquico • Exploração da simetria • Controle robusto • Controle adaptativo
• Controle de sistemas híbridos
Áreas de interesse
Áreas de interesse
• Automatização da implementação de supervisores em
CLPs
– Aplicação a sistemas flexíveis de manufatura ou sistemas supervisórios
• Controle supervisório de sistemas híbridos
– Aplicação ao controle de processos
• Aplicações específicas
– Logística
– Sistemas de C3I
– Jogos de guerra