Enciclopédia de Automática Controle & Automação Volume 3 Luis Antonio Aguirre
Lançamento 2007 ISBN: 9788521204107 Páginas: 472 Formato: 17x24 cm Peso: 0.973 kg
Sumário Prefácio .................................................................................................................................. 7 Apresentação ........................................................................................................................ 9 I
Estimação e filtragem .................................................................................................. 21
1
Introdução à identificação de sistemas dinâmicos ................................................ 24 1.1 Objetivos de identificação de processos ..........................................................25 1.1.1 Definição do problema ..........................................................................25 1.1.2 Exemplos de aplicações .......................................................................30 1.2 Modelos para sistemas dinâmicos ....................................................................31 1.2.1 Sinais .....................................................................................................31 1.2.2 Sistemas e modelos ...............................................................................33 1.2.3 Modelos não-lineares e modelos lineares ............................................35 1.3 Estimação de parâmetros .................................................................................38 1.3.1 Modelos em regressão ..........................................................................38 1.3.2 Exemplos de modelos em regressão ....................................................39 1.3.3 Erro de predição ...................................................................................42 1.3.4 Minimização de critérios e algoritmos básicos ....................................42 1.4 Identificação determinística .............................................................................49 1.4.1 Métodos gráficos para a resposta ao degrau........................................49 1.4.2 Um método numérico para resposta ao degrau ..................................50 1.5 Excitação persistente .......................................................................................51 1.6 Conclusões ........................................................................................................55
2
Métodos não-paramétricos ........................................................................................ 56 2.1 Uma visão global de métodos de identificação ................................................56 2.2 Métodos de identificação temporais ................................................................58 2.2.1 Método da resposta ao degrau .............................................................59 2.2.2 Método da convolução finita.................................................................61 2.2.3 Método das correlações ........................................................................63 2.3 Métodos de identificação freqüenciais .............................................................67 2.3.1 Método da varredura em freqüência ....................................................67 2.3.2 Método das densidades espectrais.......................................................69 2.4 Estudo de Caso .................................................................................................78 2.5 Comentários gerais ...........................................................................................81
3
Algoritmos para estimação paramétrica de sistemas lineares ............................. 84 3.1 Descrição de sistemas lineares discretos ........................................................85 3.1.1 Família de modelos paramétricos lineares ..........................................86 3.2 Métodos de identificação paramétrica .............................................................88 3.2.1 Estimador dos mínimos quadrados e propriedades ............................88 3.2.2 Estimador MQ com restrições lineares ................................................92 3.2.3 Estimador dos mínimos quadrados recursivo .....................................93 3.2.4 Mínimos quadrados para sistemas variantes no tempo ......................94 3.3 Outros algoritmos recursivos de estimação .....................................................96 3.3.1 MQ estendido e da máxima verossimilhança.......................................96 3.3.2 Método da variável instrumental..........................................................97 3.3.3 Algoritmos da projeção e da aproximação estocástica .......................98
16
Enciclopédia de Automática
3.3.4 Filtro de Kalman como estimador de sistemas dinâmicos..................99 3.4 Estudo de caso em um sistema trocador de calor ........................................100 3.5 Conclusão ........................................................................................................103 4
Modelosnão-lineares ................................................................................................ 104 4.1 Estruturas dinâmicas não-lineares.................................................................106 4.1.1 Modelos NARX ....................................................................................106 4.1.2 Modelos NARMAX ..............................................................................106 4.1.3 Modelos NOE ......................................................................................107 4.1.4 Modelos NFIR ......................................................................................108 4.1.5 Modelos NOBF ....................................................................................109 4.1.6 Modelos Wiener e Hammerstein ........................................................111 4.2 Realizações não-lineares .................................................................................112 4.2.1 Modelos polinomiais ...........................................................................112 4.2.2 Modelos racionais................................................................................114 4.2.3 Modelos de Volterra ............................................................................114 4.2.4 Modelos fuzzy ......................................................................................116 4.2.5 Modelos neurais ..................................................................................119 4.3 Conclusões ......................................................................................................121
5
Aspectos práticos de identificação de sistemas ................................................... 123 5.1 Pré-processamento dos dados .......................................................................124 5.1.1 Pré-filtragem .......................................................................................125 5.1.2 Retirando tendências, sazonalidades, outliers ..................................125 5.2 Escolha do sinal de excitação.........................................................................127 5.2.1 Escolha das entradas ..........................................................................127 5.2.2 Escolha dos sinais de excitação .........................................................128 5.2.3 Escolha do tempo de amostragem .....................................................130 5.3 Implementação numericamente robusta dos algoritmos de estimação .......131 5.3.1 Definição do problema ........................................................................132 5.3.2 O algoritmo de mínimos quadrados ortogonais .................................132 5.4 Determinação da estrutura do modelo ..........................................................134 5.4.1 Ordem e estrutura do modelo – complexidade .................................135 5.4.2 Métodos de seleção de estrutura .......................................................137 5.4.3 Taxa de redução do erro.....................................................................138 5.5 Identificação em malha fechada .....................................................................140 5.5.1 Um sistema em malha fechada é identificável? .................................141 5.5.2 Procedimentos para identificação em malha fechada .......................142 5.6 Estimação de sistemas variantes no tempo ...................................................143 5.7 Métodos de validação do modelo ...................................................................145 5.7.1 Validação estatística............................................................................146 5.7.2 Validação dinâmica .............................................................................149 5.8 Estudo de caso ................................................................................................150
6
Observadores de Estado e Filtro de Kalman......................................................... 158 6.1 Observadores de Estado .................................................................................158 6.1.1 Introdução ...........................................................................................158 6.1.2 Observador de ordem completa .........................................................159 6.1.3 Observador de ordem reduzida ..........................................................161 6.1.4 Princípio da separação........................................................................162 6.1.5 Observador não-linear ........................................................................164
SUMÁRIO
17
6.1.6 Projeto .................................................................................................166 6.1.7 Conclusões ..........................................................................................168 6.2 Estimação de estado: Filtro de Kalman .........................................................168 6.2.1 Introdução ...........................................................................................168 6.2.2 Filtro de Kalman: caso contínuo-discreto..........................................169 6.2.3 Filtro Estendido de Kalman ...............................................................175 6.2.4 Procedimentos adaptativos ................................................................176 6.2.5 Outros procedimentos e conclusões ..................................................180 7
Filtragem – conceitos e aplicações ........................................................................ 182 7.1 Representação.................................................................................................183 7.1.1 Representação no tempo ....................................................................183 7.1.2 Representação na freqüência .............................................................185 7.1.3 Representação generalizada ...............................................................187 7.1.4 Representação por estados ................................................................188 7.2 Processamento de sinais.................................................................................189 7.2.1 Filtragem e equalização ......................................................................189 7.2.2 Especificação.......................................................................................189 7.2.3 Aproximação .......................................................................................191 7.2.4 Realização ............................................................................................192 7.3 Filtros digitais .................................................................................................193 7.3.1 Aspectos gerais ...................................................................................193 7.3.2 Noções de projeto ...............................................................................195 7.3.3 Aspectos de implementação...............................................................198 7.3.4 Processamento analógico x processamento digital ...........................201 7.4 Processamento digital de sinais .....................................................................202 7.4.1 Amostragem e representação.............................................................202 7.4.2 DFT e filtragem rápida .......................................................................204 7.4.3 Análise espectral .................................................................................206 7.5 Processamento de sinais aleatórios ...............................................................207 7.5.1 Caracterização.....................................................................................208 7.5.2 Modelos simples de sinais...................................................................209 7.5.3 Aplicação prática ................................................................................210 7.6 Tópicos complementares................................................................................211 7.6.1 Processamento multitaxa ...................................................................211 7.6.2 Filtragem adaptativa ...........................................................................214 7.7 Conclusão ........................................................................................................215
II
Sistemas inteligentes ................................................................................................. 216
8
Sistemas inteligentes na automática ...................................................................... 219 8.1 O que é Inteligência Artificial? .......................................................................220 8.2 Por que IA é importante na área de Automática? .........................................223 8.3 Que ferramentas de IA são disponíveis atualmente? ....................................225 8.4 Que tópicos correlatos são importantes no desenvolvimento de Sistemas Inteligentes? ...............................................................................229 8.5 Há exemplos reais de Sistemas Inteligentes? ................................................230 8.6 Como está a realidade brasileira?...................................................................234
9
Computação Bioinspirada em Controle de Processos ........................................ 237 9.1 Introdução .......................................................................................................238
18
Enciclopédia de Automática
9.2 Computação digital e computação bioinspirada............................................238 9.3 Bioinspiração e estratégias avançadasde controle de processos .................240 9.4 Histórico da computação bioinspirada...........................................................242 9.4.1 Redes neurais artificiais ......................................................................244 9.4.2 Computação evolutiva ........................................................................245 9.4.3 Inteligência coletiva ............................................................................247 9.4.4 Sistemas imunológicos artificiais .......................................................248 9.5 Descrição das técnicas....................................................................................250 9.5.1 Técnicas para modelagem de controladores .....................................250 9.5.2 Ajuste dos parâmetros dos controladores .........................................255 9.6 Aplicações em controle autônomode robôs móveis ......................................259 9.6.1 Estudo de caso: redes neurais artificiais ...........................................262 9.6.2 Estudo de caso: sistemas imunológicos artificiais .............................265 9.6.3 Estudo de caso: sistemas classificadores com aprendizado .............268 9.6.4 Estudo de caso: inteligência coletiva .................................................272 9.6.5 Estudo de caso: sistemas homeostáticos artificiais...........................276 9.7 Outros trabalhos na área e a realidade brasileira ..........................................280 9.8 Considerações finais .......................................................................................281 10 Modelagem e controle nebuloso ............................................................................. 283 10.1 Introdução..................................................................................................284 10.2 Conjuntos nebulosos .................................................................................286 10.2.1 Conceitos básicos ................................................................................286 10.2.2 Funções de pertinência ......................................................................289 10.2.3 Operações com conjuntos nebulosos .................................................291 10.2.4 Propriedades das operações...............................................................292 10.3 Relações nebulosas ....................................................................................293 10.3.1 Composição de relações .....................................................................295 10.3.2 Projeção e Extensão Cilíndrica ..........................................................297 10.4 Variáveis lingüísticas .................................................................................298 10.4.1 Proposições nebulosas ........................................................................300 10.5 Inferência ...................................................................................................304 10.5.1 Conceitos Básicos ...............................................................................304 10.5.2 Mecanismos de inferência ..................................................................307 10.6 Sistemas baseados em regras e inferência nebulosa ...............................310 10.7 Controle nebuloso com modelo lingüístico ..............................................313 10.8 Modelos funcionais ....................................................................................318 10.8.1 Modelos nebulosos Takagi-Sugeno ....................................................319 10.8.2 Representação aproximada de sistemas não-lineares com modelos fuzzy Takagi-Sugeno ...........................................................................322 10.9 Conclusões .................................................................................................323 11 Redes neurais em modelagem de sistemas ........................................................... 325 11.1 Redes neurais e modelagem .....................................................................325 11.1.1 Estrutura da rede neural ....................................................................326 11.1.2 Treinamento ........................................................................................327 11.1.3 Detalhes do treinamento de redes neurais ........................................328 11.1.4 Sistemas com não-linearidades fracas ...............................................328 11.2 Modelos e submodelos híbridos neural-fenomenológicos .......................329 11.2.1 Interpretação neural dos modelos fenomenológicos ........................329
SUMÁRIO
19
11.2.2 Erro dos blocos ...................................................................................330 11.2.3 Análise e correção dos submodelos ...................................................332 11.3 Sistemas dinâmicos ...................................................................................334 11.3.1 Sistemas discretos no tempo ..............................................................334 11.3.2 Sistemas SISO .....................................................................................334 11.3.3 Sistemas dinâmicos .............................................................................335 11.3.4 Modelos para sistemas dinâmicos ......................................................335 11.3.5 Dimensão dos modelos .......................................................................337 11.3.6 Estabilidade e precisão dos modelos .................................................338 11.3.7 Preditores e operações em paralelo e em série-paralelo ..................338 11.3.8 Detalhes específicos do treinamento de modelos neurais para sistemas dinâmicos .....................................................................339 11.3.9 Exemplos .............................................................................................341 11.4 Outros trabalhos na área ...........................................................................344 III Robótica ...................................................................................................................... 345 12 Robôs manipuladores .............................................................................................. 349 12.1 Manipulador mecânico ..............................................................................350 12.2 Cinemática .................................................................................................352 12.2.1 Cinemática de um manipulador robótico ..........................................352 12.2.2 Cinemática direta ................................................................................354 12.2.3 Espaço das juntas e espaço operacional ............................................356 12.3 Cinemática diferencial...............................................................................357 12.3.1 Jacobiano geométrico .........................................................................357 12.3.2 Jacobiano analítico ..............................................................................357 12.4 Controle cinemático ..................................................................................358 12.4.1 Controle cinemático de um manipulador robótico ...........................359 12.5 Dinâmica ....................................................................................................360 12.6 Controle de movimento de robôs .............................................................361 12.6.1 Controle independente de juntas.......................................................361 12.6.2 Controle PD com compensação da gravidade ...................................363 12.6.3 Controle PD com torque computado .................................................363 12.7 Controle de força .......................................................................................365 12.7.1 Controle de rigidez .............................................................................365 12.7.2 Controle de impedância ......................................................................366 12.7.3 Controle híbrido posição/força ...........................................................367 12.8 Tópicos especiais .......................................................................................367 13 Robôs móveis ............................................................................................................ 369 13.1 Locomoção .................................................................................................370 13.1.1 Cinemática...........................................................................................371 13.1.2 Controle ...............................................................................................374 13.2 Programação ..............................................................................................375 13.2.1 Deliberativo .........................................................................................375 13.2.2 Reativo .................................................................................................375 13.2.3 Híbrido .................................................................................................376 13.3 Planejamento de caminhos .......................................................................377 13.3.1 Espaço de configurações ....................................................................378 13.3.2 Campos de potencial...........................................................................379 13.3.3 Métodos baseados emgrafos ...............................................................379
20
Enciclopédia de Automática
13.3.4 Localização e mapeamento.................................................................381 13.4 Cooperação entre múltiplos robôs............................................................382 13.4.1 Coordenação .......................................................................................383 13.4.2 Navegação ...........................................................................................383 13.4.3 Enxames de robôs...............................................................................384 13.5 Conclusão ............................................................................................385 14 Percepção Robótica ................................................................................................. 387 14.1 Sensores comumente usados em robótica ...............................................389 14.1.1 Sensores para robôs manipuladores ..................................................389 14.1.2 Sensores para robôs móveis ...............................................................393 14.2 Representação de incertezas ....................................................................403 14.3 Integração sensorial ..................................................................................405 14.3.1 Guiagem de sensores ..........................................................................405 14.3.2 Fusão sensorial ...................................................................................406 14.4 Tópicos especiais .......................................................................................408 15 Visão robótica ........................................................................................................... 410 15.1 Formação da imagem ................................................................................411 15.1.1 Câmera de orifício e projeção perspectiva ........................................411 15.1.2 Lentes ..................................................................................................412 15.1.3 Calibração de sistemas ópticos ..........................................................413 15.1.4 Imagens digitais ..................................................................................413 15.2 Processamento de imagens .......................................................................414 15.2.1 Filtragem .............................................................................................414 15.2.2 Operadores lineares e convolução .....................................................414 15.2.3 Detecção de descontinuidades...........................................................415 15.2.4 Segmentação de imagens ...................................................................417 15.3 Recuperação tridimensional empregando visão ......................................419 15.3.1 Uso de estereoscopia ..........................................................................420 15.3.2 Uso do movimento ..............................................................................421 15.4 Controle baseado em visão .......................................................................422 15.5 Visão ativa ..................................................................................................424 15.6 Rastreamento visual ..................................................................................425 15.7 Visão de máquina .......................................................................................426 Referências Bibliográficas ............................................................................................... 428 Índice remissivo ................................................................................................................ 459
Estima¸ c˜ ao e filtragem Wagner Caridori Amaral
A crescente complexidade dos processos de produ¸c˜ao e a demanda por alta eficiˆencia em processos industriais imp˜oem restri¸c˜oes cada vez maiores aos sistemas de controle associados. Como o objetivo de aprimorar o desempenho dos sistemas industriais, v´arias estrat´egias de controle tˆem sido propostas e utilizadas e, dentre as mais recentes, destacam-se aquelas que utilizam modelos matem´aticos do processo a ser controlado. Nesta se¸c˜ao da enciclop´edia s˜ao apresentadas t´ecnicas de modelagem, filtragem e identifica¸c˜ao de sistema que podem ser utilizadas n˜ao somente em controle de processos, mas tamb´em em processamento de sinais, previs˜ao de s´eries temporais e em ´areas nas quais seja necess´aria a utiliza¸c˜ao de modelos do sistema. Desde o ano de 1960, tem-se verificado uma tendˆencia crescente no desenvolvimento e utiliza¸c˜ao de t´ecnicas de Identifica¸c˜ao de Sistemas. Em 1967 ocorreu o primeiro Simp´ osio de Identifica¸c˜ao de Sistemas em Praga. Quarenta anos depois no u ´ltimo Congresso Mundial do IFAC, tamb´em em Praga, a ´area de Identifica¸c˜ao, Modelagem, Filtragem e Processamento de Sinais teve o maior n´ umero de trabalhos publicados, e um n´ umero bem maior de trabalhos do que as outras a´reas de Controle (Ljung e Vicino, 2005). No Brasil no I CBA, realizado em S˜ao Paulo em 1976, publicaram-se cerca de 10 trabalhos nas ´ areas de Modelagem, Identifica¸c˜ao, Filtragem e Processamento de Sinais e nos u ´ltimos Congressos da Sociedade Brasileira de Autom´atica tem tido a apresenta¸c˜ao de cerca de 50 trabalhos nestas ´areas. Neste per´ıodo tamb´em tivemos diversos livros publicados internacionalmente. No Brasil nos u ´ltimos anos foram publicados os livros (Aguirre, 2004; Coelho e Coelho, 2004a; Garcia, 2005; Faleiros e Yoneyama, 2002a; Monteiro, 2002). Atualmente em quase todas as institui¸c˜oes de pesquisa e Universidades, existem grupos de pesquisa atuando nesta ´area. Esta se¸c˜ao da enciclop´edia inicia-se com o Cap´ıtulo 1 que apresenta uma introdu¸c˜ao aos aspectos b´asicos de modelagem e identifica¸c˜ao de sistemas e s˜ao apresentados os m´etodos cl´assicos de estima¸c˜ao. Segue-se, Cap´ıtulo 2, com uma revis˜ao sobre os m´etodos de identifica¸c˜ao n˜ ao-param´etricos. No
Cap. 1
˜o a ` identifica¸ ˜ o de sistemas dina ˆmicos Introdu¸ ca ca
37
fun¸c˜oes matem´aticas f e g apenas possuem restri¸c˜oes quanto ao dom´ınio ou continuidade, na maioria das vezes (ver Cap´ıtulo 4). Um modelo ´e linear se obedece `a propriedade da superposi¸c˜ao, isto ´e, dados u1 e u2 , tais que u = u1 + u2 , ent˜ ao y = y1 + y2 , em que y1 e y2 s˜ao as sa´ıdas respectivas `as entradas u1 e u2 . Ele ´e dito invariante no tempo quando um deslocamento temporal na entrada u provoca o mesmo deslocamento na sa´ıda y, isto ´e, dados u (t) e u (t − a) como entrada, ent˜ ao y (t) = y (t − a) , enquanto ´e causal se a sa´ıda num determinado instante de tempo n˜ ao depende de entradas futuras. Modelos lineares podem ser constru´ıdos a partir de modelos n˜ ao-lineares atrav´es de compensa¸c˜ao da n˜ ao-linearidade ou da aproxima¸c˜ao linear em torno de um ponto de opera¸c˜ao. Modelos lineares de interesse para identifica¸c˜ao s˜ao discutidos em detalhes no Cap´ıtulo Algoritmos de Estima¸c˜ao Param´etrica para Sistemas Lineares Um modelo cont´ınuo, causal, linear e invariante no tempo pode ser representado (no dom´ınio do tempo) por sua resposta ao impulso g (t) atrav´es da integral de convolu¸c˜ao ∞ g (τ ) u (t − τ ) dτ, y (t) = τ =0
por uma equa¸c˜ao diferencial, y (n) (t) + an−1 y (n−1) (t) + ... + a1 y (1) (t) + a0 y (t)
=
bm u(m) (t) + · · ·
· · · +b1 u(1) (t) + b0 u (t) , com s(k) (t)
d(k) s (t) , dtk
por um operador racional G (p) =
pk s (t)
d(k) s (t) dtk
N (p) , D (p)
ou por uma equa¸c˜ao matricial em espa¸co de estados x˙ (t) = Ax (t) + Bu (t) y (t) = Cx (t) + Du (t) .
No dom´ınio da freq¨ uˆencia, pode ser representado pela fun¸c˜ao de Transferˆencia, no dom´ınio de Laplace, N (s) Y (s) = G (s) = . U (s) D (s) ou pela resposta em freq¨ uˆencia Y (jω) = G (jω) U (jω) com ω a freq¨ uˆencia em radianos por segundos. Neste caso, pode-se fazer uma interpreta¸c˜ao de G (jω) como o sinal de sa´ıda obtido para uma entrada u (t) = sen (ωt), ou y (t) = |G (jω)| sen (ωt + φ)
Cap. 1
(b) 1.5
1
1
0.5
0.5
Amplitude
Amplitude
(a) 1.5
0 −0.5
0 −0.5
−1 −1.5
−1 0
2
4 6 Tempo [seg]
8
−1.5
10
0
2
4 6 Tempo [seg]
(c)
10
1.5 Magnitude normalizada
Magnitude normalizada
8
(d)
1.5
1
0.5
0
49
˜o a ` identifica¸ ˜ o de sistemas dina ˆmicos Introdu¸ ca ca
0
2
4 Harmônica
1
0.5
0
6
0
2
4 Harmônica
6
Figura 1.6: Exemplo de identifica¸c˜ao usando pontos da resposta em freq¨ uˆencia. M´ etodo das vari´ aveis instrumentais Na presen¸ca de ru´ıdo o m´etodo dos m´ınimos quadrados resulta em medi¸c˜oes polarizadas. Um m´etodo que elimina este problema ´e obtido a partir da defini¸c˜ao de um vetor ζ (t) com a mesma dimens˜ao de ϕ (t), mas com dados n˜ao correlacionados com y (t). A estimativa pelo m´etodo da vari´ avel instrumental ´e dada por IV = θˆN
N t=1
−1 T
ζ (t) ϕ (t)
N
ζ (t) y (t) .
t=1
Existem diversas maneiras de se obter ζ (t) .O mais direto ´e construir um modelo estimado ˆ ˆ LS (q) = BLS (q) , G AˆLS (q) para construir, em seguida, a partir de simula¸c˜ao, o sinal ˆ LS (q) u (t) , z (t) = G
56
Enciclop´edia de Autom´ atica
Exemplo 1.3 Considere u(t) consistindo da soma de n sinais senoidais diferentes u (t) =
n
µk cos (ωk t) ,
k=1
com ωk = ωj for k = j, ωk = 0 e ωk = π. Este sinal ´e excitante persistentemente de ordem 2n, pois cada componente senoidal tem uma linha espectral em ωk e −ωk .
1.6
Conclus˜ oes
Neste cap´ıtulo foi apresentada uma introdu¸c˜ao `a identifica¸c˜ao de sistemas dinˆ amicos. Foram apresentados os passos para um procedimento de identifica¸c˜ao e os fundamentos te´ oricos b´ asicos associados. Exemplos simples foram apresentados para ilustrar aplica¸c˜oes de identifica¸c˜ao. Nos cap´ıtulos seguintes os conceitos introduzidos aqui ser˜ ao apresentados em mais detalhes e com maior rigor matem´ atico. S˜ ao discutidos os m´etodos n˜ao-param´etricos, a identifica¸c˜ao param´etrica usando modelos lineares, a identifica¸c˜ao usando modelos n˜ ao-lineares e aspectos pr´aticos de identifica¸c˜ao. Tamb´em s˜ao apresentados observadores de estado, filtro de Kalman e processamento de sinais.
68
Enciclop´edia de Autom´ atica
ordem J se a matriz de correla¸c˜ao R de dimens˜ao J × J correspondente for n˜ ao-singular. Portanto, um sinal deste tipo bastaria para dar sentido ao m´etodo das correla¸c˜oes para um sistema cuja resposta ao impulso fosse um vetor de dimens˜ ao J. De volta para o dom´ınio de freq¨ uˆencias, essa no¸c˜ao implica que para qualquer fun¸c˜ao de transferˆencia na forma H(z) = h(0) + h(1)z −1 + · · · + h(J − 1)z J−1 tem-se que |H(ejω )|2 φu (ω) = 0 somente se |H(ejω )|2 = 0, vide (Aguirre, 2004, cap. 4). Pode-se concluir que um sinal de entrada que seja formado por uma seq¨ uˆencia de vari´ aveis aleat´orias independentes entre si e igualmente distribu´ıdas ´e um sinal adequado para a identifica¸c˜ao. Uma maneira de produzir este tipo de entrada ´e adotar um sinal bin´ ario com dois n´ıveis apropriados, e sortear de forma independente o valor do n´ıvel para cada instante. A vantagem de se excitar atrav´es de n´ıveis fixos, em vez de sortear-se vari´aveis aleat´orias cont´ınuas e n˜ao limitadas como por exemplo a gaussiana, ´e a de se evitar que sinais de excita¸c˜ao possivelmente com grandes amplitudes possam ser gerados. Uma implementa¸c˜ao simples de um sinal bin´ ario com essas caracter´ısticas ´e produzida por circuitos bin´ arios de f´ acil constru¸c˜ao, que geram as chamadas seq¨ uˆencias de comprimento m´ aximo. Esses sinais s˜ao denominados sinais uˆencia gerada ´e de fato determin´ıstica e bin´ arios pseudo-aleat´orios5 e a seq¨ peri´ odica. Por´em, o per´ıodo ´e conhecido e pode ser escolhido de forma a ser suficientemente longo, vide (Aguirre, 2004, cap. 4) para mais detalhes.
2.3
M´ etodos de identifica¸ c˜ ao frequ ¨ enciais
O objetivo desta classe de m´etodos n˜ao-param´etricos ´e a estima¸c˜ao das caracter´ısticas do sistema no dom´ınio da freq¨ uˆencia, em particular da resposta em freq¨ uˆencia do sistema. Ser˜ ao abordados dois m´etodos: varredura em freq¨ uˆencia e densidades espectrais. Enquanto o m´etodo da varredura emprega sinais senoidais como entrada do sistema, o m´etodo das densidades espectrais emprega sinais com caracter´ısticas estoc´asticas adequadas.
2.3.1
M´ etodo da varredura em frequ encia ¨ˆ
A rela¸c˜ao entre a entrada e a sa´ıda de um sistema linear cont´ınuo, invariante no tempo e est´avel ´e descrita em (2.1a). Ao se calcular a transformada de Fourier desta rela¸c˜ao obt´em-se Y (jω) = H(jω) U (jω) + E(jω),
(2.14)
em que U (jω), Y (jω) e E(jω) s˜ao, respectivamente, as transformadas da entrada, da sa´ıda e da perturba¸c˜ao, e H(jω) ´e a transformada da resposta ao impulso, denominada de resposta em freq¨ uˆencia do sistema. 5
Conhecidos pelo acrˆ onimo PRBS do inglˆes.
Cap. 2
´todos na ˜ o-parame ´tricos Me
75
mediado quando se disp˜ oe de apenas uma realiza¸c˜ao do sinal u. Este sinal dispon´ıvel {u(k)}k=0,1,...,T ´e dividido em I trechos com comprimentos L e com sobreposi¸c˜ao entre trechos de, tipicamente, 50% ou 75%. Calcula-se um periˆ iu (ω) para cada trecho e calcula-se a m´edia aritm´etica dos mesmos. odograma Φ Esta media¸c˜ao reduz a variˆ ancia do Periodograma de forma semelhante `aquela da express˜ao (2.36), por´em com um fator menor que I, uma vez que os segmentos n˜ao s˜ao independentes. Embora o periodograma de Welch seja bem sucedido na redu¸c˜ao da variˆ ancia, h´ a um pre¸co a pagar: ocorre um aumento da polariza¸c˜ao e, conseq¨ uentemente, uma redu¸c˜ao da resolu¸c˜ao espectral, pois agora os segmentos tˆem comprimento L < T + 1. A pr´ atica do uso do periodograma de Welch recomenda a realiza¸c˜ao de diversos ensaios com valores de L distintos, partindose de L = T + 1, de modo a gerar uma gama de estimativas com caracter´ısticas distintas. Al´em destes fatores, o periodograma de Welch emprega janelas diferentes da retangular para delimitar os segmentos com comprimento L. O uso de janelas produz dois novos fatores conflitantes: quanto mais suave o comportamento da janela no tempo, maior ´e a redu¸c˜ao da variˆ ancia do estimador, por´em, menor ´e a resolu¸c˜ao em freq¨ uˆencia. Isto ocorre porque o comportamento suave no tempo reduz a amplitude dos l´ obulos laterais do espectro da janela, o que reduz a variˆ ancia da estimativa espectral. Por´em, esta redu¸c˜ao dos l´ obulos laterais ´e acompanhada de um aumento da largura do l´ obulo central, o que reduz a resolu¸c˜ao. Assim, por exemplo, ao se trocar a janela retangular pela janela de Blackman (vide Figura 2.3), ganha-se em termos de variˆ ancia mas perde-se em termos de resolu¸c˜ao e, portanto, de polariza¸c˜ao. Coment´ ario 2.3 Resolu¸c˜ ao espectral na identifica¸c˜ ao de sistemas alise espectral. A O conceito de resolu¸c˜ao espectral ´e bastante usado na an´ identifica¸c˜ao de sistemas tamb´em pode se beneficiar deste conceito quando a resposta em freq¨ uˆencia apresenta picos ou vales estreitos, como nos sistemas com ressonˆancias agudas. Nestes casos, a resolu¸c˜ao espectral fornece um indicativo importante sobre a dura¸c˜ao do intervalo de tempo, no qual a entrada e a sa´ıda devem ser observadas, de modo a garantir que os picos ou vales da resposta em freq¨ uˆencia sejam adequadamente discernidos. Este indicativo ´e fornecido pela seguinte regra: o tempo de observa¸c˜ao deve ser maior que 2π/∆ω, onde ∆ω ´e a diferen¸ca entre as freq¨ uˆencias a serem discriminadas.
Coment´ ario 2.4 Intervalo de confian¸ca Trata-se aqui da defini¸c˜ao de intervalos de confian¸ca para a estimativa do periodograma, isto ´e, da defini¸c˜ao de uma regi˜ ao ao redor de uma estimativa ˆ Φu (ω) na qual se tem uma probabilidade predefinida de se encontrar o verdadeiro valor Φu (ω). Demonstra-se (Jenkins e Watts, 1968) que o intervalo
84
Enciclop´edia de Autom´ atica
(independente e identicamente distribu´ıda) produzindo uma seq¨ uˆencia ru´ıdo branco.
Coment´ ario 2.11 Associada `a id´eia da invers˜ ao da matriz R de amostras da FAC da entrada u, pode-se analisar a quest˜ao de escolha do sinal de excita¸c˜ao do ponto de vista num´erico. A indica¸c˜ao ´e que a matriz R deva ser do tipo diagonal dominante para se garantir a inversibilidade de R, e neste sentido a entrada de ru´ıdo branco ser´ a condizente com esta exigˆencia, produzindo uma matriz diagonal estrita. Esta an´ alise veda, por exemplo, o uso dos sinais de excita¸c˜ao peri´ odicos por gerarem FAC’s tamb´em peri´odicas.
92
Enciclop´edia de Autom´ atica
iii. A esperan¸ca matem´atica m´ınima da fun¸c˜ao custo dos m´ınimos quadrados pode ser calculada utilizando-se as equa¸c˜oes (3.18) e (3.25), ou seja, ˆ E{JM Q (θ)} = = = = =
1 E{YNT YN − YˆNT YˆN } 2 −1 T 1 E{ENT (I − φN φTN φN φN EN } 2 −1 T 1 T φN )EN EN )} E{tr((IN ×N − φN φTN φN 2 1 (trIN ×N − trIp×p )σe2 2 1 2 ˆ = σ2, (N − p)σe2 ⇒ E{ˆ JM Q (θ)} σe2 } = E{ e 2 N −p
em que trI ´e o tra¸co da matriz identidade (Wellstead e Zarrop, 1991; Johansson, 1993a). Exemplo 3.1 Estima¸c˜ ao de um sistema de primeira ordem. Seja um sistema representado pela seguinte equa¸c˜ao a diferen¸cas ARX: y(k) = −a1 y(k − 1) + b1 u(k − 1) + e(k),
(3.31)
ao s˜ao conhecidos e devem ser estiem que os coeficientes a1 = 0,9 e b1 = 0,1 n˜ mados. Admitem-se 1000 amostras para gera¸c˜ao das medidas {y(k)} e {u(k)} do sistema (Figura 3.1), as seq¨ uˆencias u(k) e e(k) s˜ao vari´ aveis aleat´orias de 2 2 m´edia nula com variˆ ancias σu = σe = 1, e adota-se o seguinte modelo de regress˜ao linear:
a ˆ1 ˆ ˆ = ϕT (k)θ. y(k) = −ˆ a1 y(k − 1) + b1 u(k − 1) = [−y(k − 1) u(k − 1)] ˆ b1 (3.32) As estimativas finais de a ˆ1 e ˆb1 , obtidas pelo m´etodo dos m´ınimos quadrados, s˜ao dadas para
a ˆ1 0,892 ˆ = (3.33) θ= ˆ 0,083 b1 e os valores num´ericos da fun¸c˜ao custo, da estimativa da variˆ ancia do ru´ıdo e da matriz de covariˆ ancia s˜ao
−1 0,212 −0,087 ˆ = 498,33; σ ˆe2 = 1,002; σ ˆe2 φTN φN = ×10−3 . JM Q (θ) −0,087 0,973 (3.34) Estes resultados de simula¸c˜ao mostram estimativas adequadas para o tipo de ru´ıdo presente no sistema.
Cap. 3
˜o parame ´trica de sistemas lineares101 Algoritmos para estima¸ ca
O filtro de Kalman, equa¸c˜ao (3.64), para o modelo da equa¸c˜ao (3.65), assume a forma ( ) ˆ + 1) = θ(k) ˆ + K(k) y(k) − ϕT (k)θ(k) ˆ θ(k K(k) = P (k)ϕ(k) r2 + ϕT (k)P (k)ϕ(k)
!−1
P (k + 1) = P (k) + r1 − P (k)ϕ(k) r2 + ϕT (k)P (k)ϕ(k)
!−1
ϕT (k)P (k), (3.66) que ´e um excelente m´etodo para a identifica¸c˜ao de sistemas variantes no tempo. Observe que as constantes r1 e r2 s˜ao importantes parˆ ametros de projeto associados `as varia¸c˜oes temporais de θ(k) e `as observa¸c˜oes do ru´ıdo, respectivamente (Johansson, 1993a).
3.4
Estudo de caso em um sistema trocador de calor
No estudo de caso utiliza-se o processo trocador de calor de vapor de l´ıquido-saturado, onde a a´gua ´e aquecida pelo vapor saturado pressurizado atrav´es de um tubo de cobre. A vari´ avel controlada ´e a temperatura aveis de entrada s˜ ao: a no terminal de sa´ıda do trocador, Tout . As vari´ taxa de fluxo do l´ıquido, Q, a temperatura do vapor, Tsat , e a temperatura do l´ıquido no terminal de entrada, Tin . No experimento a temperatura do vapor e a temperatura no terminal de entrada s˜ ao mantidas constantes nos valores nominais (Bittanti e Piroddi, 1997). As medidas reais e simuladas para verifica¸c˜ao e compara¸c˜ao dos algoritmos de identifica¸c˜ao est˜ao dispon´ıveis na base dados DAISY (data base for system identification at http://www.esat.kuleuven.ac.be/∼tokka/daisydata.html). A Figura 3.3 ilustra a planta e a distribui¸c˜ao das medidas de sa´ıda e entrada. Na estima¸c˜ao dos polinˆ omios A(q), B(q), C(q) empregam-se os algoritmos dos m´ınimos quadrados recursivo (MQR), m´ınimos quadrados recursivo estendido (MQRE) e vari´ avel instrumental (VI). O ambiente computacional System Identification Toolbox do software Matlab ´e aplicado no estudo de caso (Ljung, 1994b). Para estima¸c˜ao e valida¸c˜ao dos modelos as medidas de sa´ıda e entrada s˜ ao divididas da seguinte forma: na estima¸c˜ao do modelo utilizam-se os dados correspondentes ao intervalo de tempo de 34 − 66 min e na valida¸c˜ao do modelo os dados no intervalo de tempo de 0 − 33 min. Os resultados de identifica¸c˜ao s˜ao apresentados em ordem decrescente em rela¸c˜ao ao coeficiente de correla¸c˜ao m´ ultipla (CCM) e est˜ ao mostrados na Tabela 3.2. Algoritmo MQRE VI MQR
na 6 6 6
nb 3 3 3
nc 1 0 0
CCM 0,6051 0,4477 0,3843
104
Enciclop´edia de Autom´ atica
Em termos de outros trabalhos em desenvolvimento ou a serem desenvolvidos deve-se: i) priorizar a implanta¸c˜ao da disciplina de identifica¸c˜ao nos cursos de engenharia pela necessidade industrial de modelos param´etricos que visam a montag em de supervis´orios e na calibra¸c˜ao de controladores PID (controlador proporcional, integral e derivativo) digitais (parte laboratorial e aplicativos via web); ii) pode ser estendida para o tratamento e aplica¸c˜ao em sistemas n˜aolineares e/ou multivari´ aveis na s´ıntese de controladores preditivos; iii) seja na calibra¸c˜ao de determinados parˆ ametros do estimador ou na hibridiza¸c˜ao de t´ecnicas de identifica¸c˜ao pode-se aplicar a soft computing (l´ ogica nebulosa, redes neurais, algoritmos gen´eticos); iv) pelas complexidades de sistemas industriais busca-se o desenvolvimento de softwares para supervis˜ ao e controle com interface homem-m´aquina extremamente amig´avel; v) em aplica¸c˜oes de m´ ultiplos modelos estimados com chaveamento entre modelos, por exemplo, pela l´ ogica nebulosa na calibra¸c˜ao da representa¸c˜ao das medidas do sistema; vi) em aplica¸c˜oes de m´etodos de subespa¸co para modelos de espa¸co de estados determin´ısticos/estoc´asticos e multivari´aveis; vii) no tratamento de incertezas param´etricas e/ou estruturais para controle robusto (Ljung, 2003; Klerk e Craig, 2004; S¨ oderstr¨ om et al., 2005).
112
Enciclop´edia de Autom´ atica
Dumont, 2000; Nelles, 2001a; Campello, 2002; Heuberger et al., 2005).
4.1.6
Modelos Wiener e Hammerstein
Duas classes historicamente importantes de modelos n˜ao-lineares s˜ao os modelos de Wiener e Hammerstein. Modelos de Wiener s˜ao todos aqueles que podem ser descritos como uma dinˆamica linear seguida de uma n˜ao-linearidade est´atica, conforme ilustrado na Figura 4.2-a. Modelos Hammerstein, por sua vez, s˜ao modelos descritos por uma n˜ao-linearidade est´ atica seguida de uma dinˆ amica linear (Figura 4.2-b). Figura 4.2: Modelos de Wiener e Hammerstein: dinˆ amica linear − aqui na forma de uma fun¸c˜ao de transferˆencia G(q) − seguida de um mapeamento est´atico f (·) e vice-versa.
Exemplo 4.3 Modelos Wiener e Hammerstein Considere os sistemas dinˆamicos abaixo: y(k) = 0,6y(k − 1) + 0,4w(k − 1) ;
w(k) = u(k)2
(4.12)
w(k) = 0,8u(k − 1) + 0,2u(k − 2) ;
y(k) =
1 w(k)
(4.13)
O sistema em (4.12) segue a descri¸c˜ao Hammerstein. Note que se trata tamb´em de uma representa¸c˜ao NARX, o que fica claro reescrevendo as equa¸c˜oes em (4.12) como y(k) = 0,6y(k − 1) + 0,4u(k − 1)2 . No que diz respeito ao sistema em (4.13), tem-se que se trata ao mesmo tempo de uma representa¸c˜ao de Wiener e tamb´em NFIR.
Os modelos de Wiener e Hammerstein s˜ao modelos com orienta¸c˜ao a blocos que foram amplamente investigados antes da populariza¸c˜ao das abordagens de modelagem caixa preta − veja (Billings, 1980) e referˆencias inclusas. A principal raz˜ ao ´e que a tradicional abordagem de modelagem caixa branca de processos n˜ao raramente leva a uma dessas representa¸c˜oes. Processos com dinˆamicas aproximadamente lineares mas com forte n˜ao-linearidade em seus atuadores (p. ex., v´ alvulas n˜ ao-lineares), podem ser representados como Hammerstein. Nesses casos, disp˜oe-se de um conjunto de equa¸c˜oes que descrevem o processo, mas cujos coeficientes (p. ex., viscosidade, atrito, etc.) s˜ao desconhecidos e devem ser estimados.
Cap. 4
119
˜ o-lineares Modelos na
algoritmos de programa¸c˜ao n˜ ao-linear ou abordagens evolutivas de otimiza¸c˜ao devem ser utilizados para a determina¸c˜ao global do modelo (Delgado, 2002). Um exemplo de um modelo TS est´atico com uma u ´nica vari´ avel de entrada e trˆes regras ´e ilustrado na Figura 4.3. As regras do modelo s˜ ao dadas abaixo: ˜ R1 : SE x ´e Pequena ENTAO y = a1 + b1 x 2 ˜ ENTAO y = a2 + b2 x R : SE x ´e M´edia 3 ˜ R : SE x ´e Grande ENTAO y = a3 + b3 x
(4.28)
onde Pequena, M´edia e Grande s˜ao r´ otulos ling¨ u´ısticos associados a conjuntos fuzzy definidos sobre o universo de discurso da vari´ avel de entrada, conforme ilustrado na Figura 4.3. Esses conjuntos determinam, atrav´es da equa¸c˜ao (4.26), o n´ıvel (e conseq¨ uentemente a regi˜ao) de ativa¸c˜ao de cada regra, isto ´e, o peso de cada modelo local no c´alculo ponderado da sa´ıda dado pela equa¸c˜ao (4.25).
1
a
+ a2
=
=
y
y
+
1
b
x
y
x b2 y
x + b3 a 3 =
x
1
Pequena
Média
Grande
x
Figura 4.3: Modelo TS est´atico com 3 regras (modelos locais afins). Modelos TS dinˆ amicos possuem exatamente a mesma formula¸c˜ao descrita acima, exceto que os modelos locais s˜ao dinˆ amicos ao inv´es de est´aticos. Em princ´ıpio, os modelos locais podem possuir qualquer estrutura dinˆ amica. Por exemplo, para modelos locais lineares com estrutura FIR, basta redefinir as vari´ aveis da premissa como sendo x1 = u(k − τd ), · · · , xn = u(k − τd − n + 1). Nesse caso, o modelo resultante ´e NFIR, com as equa¸c˜oes (4.25), (4.26) e (4.27) descrevendo o mapeamento H em (4.1) e cada vari´ avel da premissa xi = u(k −τd −i+1) representando um elemento do vetor de regressores ϕ em (4.8). Embora usualmente sejam constru´ıdos segundo a topologia NARX, modelos fuzzy com estrutura dinˆ amica NOBF tamb´em tˆem sido investigados (Oliveira, Campello e Amaral, 1999; Nelles, 2001a; Campello, 2002; Medeiros, 2006).
Cap. 4
˜ o-lineares Modelos na
123
caso an´alogo na modelagem de sistemas lineares. J´a as estruturas Wiener e Hammerstein s˜ao orientadas a blocos, isto ´e, s˜ao formadas pelo encadeamento de um sistema linear com um operador est´atico n˜ ao-linear, e diferem entre si pela posi¸c˜ao do operador n˜ ao-linear em rela¸c˜ao `a parte linear do modelo. As realiza¸c˜oes de modelos est˜ao relacionadas com a constru¸c˜ao do operador est´ atico n˜ ao-linear que mapeia o vetor de regressores na sa´ıda prevista, e s˜ao: realiza¸c˜oes Polinomiais, Racionais, de Volterra, Fuzzy e Neurais. As realiza¸c˜oes n˜ao-lineares Polinomiais e de Volterra geram modelos lineares nos parˆ ametros, sendo que o modelo de Volterra ´e uma generaliza¸c˜ao do modelo linear de resposta ao impulso (somat´orio de convolu¸c˜ao). A realiza¸c˜ao tipo Racional ´e formada pela raz˜ ao de dois modelos Polinomiais. Uma manipula¸c˜ao associada a uma transforma¸c˜ao de vari´ aveis do modelo permite tamb´em escrever este modelo em um formato linear nos parˆametros. A utiliza¸c˜ao de t´ecnicas comumente associadas `a IA (Inteligˆencia Artificial), como a l´ ogica fuzzy e as redes neurais, completaram as realiza¸c˜oes de modelos n˜ao-lineares ˆ apresentadas. Enfase foi dada aos modelos fuzzy tipo TS (Takagi-Sugeno) e a`s redes neurais RBF (Radial Basis Functions) e MLP (Multi-Layer Perceptron). Todas as realiza¸c˜oes citadas permitem representar uma ampla gama de sistemas n˜ao-lineares, sendo que cada uma apresenta um conjunto particular de vantagens e desvantagens no que tange a aspectos como parcimˆonia e grau de ` exce¸ca˜o do modelo de Volterra, que dificuldade de estima¸c˜ao, dentre outros. A requer estrutura NFIR ou NOBF (e pode tamb´em ser visto como um modelo com estrutura Wiener), as outras realiza¸c˜oes s˜ao independentes da estrutura escolhida. Outras estruturas e realiza¸c˜oes menos usuais de modelos n˜ao-lineares, al´em daquelas apresentadas neste cap´ıtulo, s˜ ao tamb´em discutidas em (Sj¨oberg, Zhang, Ljung, Benveniste, Delyon, Glorennec, Hjalmarsson e Juditsky, 1995).
Cap. 5
5.7
´ ticos de identifica¸ ˜ o de sistemas Aspectos pra ca
147
M´ etodos de valida¸ c˜ ao do modelo
O procedimento de valida¸c˜ao ´e usado para acessar a qualidade e, possivelmente, aceitar ou rejeitar um determinado modelo diante do prop´ osito em quest˜ao. A maneira como o modelo ser´a utilizado define o prop´ osito do mesmo. Diante das caracter´ısticas determinadas como sendo essenciais para o modelo identificado, o processo de valida¸c˜ao vai determinar a adequacidade do mesmo. Ljung (1994a) declara que a valida¸c˜ao do modelo pode ser vista como a etapa essencial do processo de identifica¸c˜ao, enquanto a estima¸c˜ao como apenas o meio pelo qual s˜ao obtidos modelos candidatos a` valida¸c˜ao. O modelo identificado ´e adequado se, e somente se, reproduz as caracter´ısticas de interesse. Nos casos simulados, ´e f´ acil mostrar que um modelo identificado ´e uma boa representa¸c˜ao do sistema original. Entretanto, quando n˜ ao existe qualquer conhecimento pr´evio do sistema, a tarefa de se determinar a adequacidade do modelo ´e bem mais dif´ıcil. Nest˜ao se¸c˜ao ser˜ao discutidas duas baterias de testes de valida¸c˜ao: os testes estat´ısticos e os testes dinˆamicos.
5.7.1
Valida¸ c˜ ao estat´ıstica
Para a valida¸c˜ao estat´ıstica dos modelos identificados, v´ arios procedimentos foram propostos (Box e Jenkins, 1976; Bohlin, 1978; Billings e Voon, 1986; Billings e Tao, 1991; S¨ oderstr¨ om e Stoica, 1989b). Um dos m´etodos mais usados ´e baseado no conceito de que, se o modelo ´e correto, os res´ıduos devem ser semelhantes ao ru´ıdo branco e conseq¨ uentemente uma seq¨ uˆencia de valores independentes e identicamente distribu´ıdos. No caso de modelos n˜ao-lineares, procura-se testar a presen¸ca de n˜ aolinearidade nos dados de entrada como tamb´em nos res´ıduos obtidos durante o processo de estima¸c˜ao dos parˆ ametros. Muitos dos testes dispon´ıveis utilizam as fun¸c˜oes de correla¸c˜ao de alta ordem (Subba Rao e Grabr, 1980; McLeod e Li, 1983; Hinich, 1982; Ashley, Patterson e Hinich, 1986; Billings e Zhu, 1994b; Billings e Zhu, 1994a). Embora os testes de valida¸c˜ao estat´ıstica n˜ ao dˆeem nenhuma informa¸c˜ao sobre a dinˆ amica do modelo, eles indicam que a ausˆencia de termos do modelo que poderiam auxiliar na explica¸c˜ao da dinˆ amica de interese. A seguir, alguns dos testes s˜ao revistos e discutidos. Testes de correla¸ c˜ ao Na teoria de sistemas lineares, o procedimento estat´ıstico para valida¸c˜ao dos modelos identificados consiste na verifica¸c˜ao da fun¸c˜ao de autocorrela¸c˜ao dos res´ıduos e da fun¸c˜ao de correla¸c˜ao cruzada entre os res´ıduos e a entrada (S¨ oderstr¨ om e Stoica, 1989b). Sabe-se que a predi¸c˜ao em diferentes conjuntos de dados do modelo identificado ´e adequada se o mesmo for n˜ao-polarizado. Se a estrutura do modelo e os parˆ ametros estimados estiverem corretos, ent˜ao
156
Enciclop´edia de Autom´ atica (b) 1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2 Φ uξ
Φξ ξ
(a) 1
0
0
−0.2
−0.2
−0.4
−0.4
−0.6
−0.6
−0.8
−0.8
−1
0
10
20
τ
30
40
−1
50
−20
−10
1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
0 −0.2
−0.4 −0.6
−0.8
−0.8
10
20
0 τ
10
20
0
−0.6
0
20
−0.2
−0.4
−1
10
(d)
1
Φ (u u)’ (ξ)
Φξ (ξ u)
(c)
0 τ
τ
30
40
50
−1
−20
−10
(e) 1 0.8 0.6
Φ (u u)’ (ξ ξ)
0.4 0.2 0 −0.2 −0.4 −0.6 −0.8 −1
−20
−10
0 τ
10
20
Figura 5.4: Testes de Correla¸c˜ao dos res´ıduos da estima¸c˜ao de parˆ ametros do modelo linear: (a) Φξξ , (b) Φuξ , (c) Φξ(ξu) , (d)Φ(uu) (ξ) e (e) Φ(uu) (ξξ) .
A valida¸c˜ao dinˆ amica cruzada dos modelos n˜ao-linear e linear ´e mostrada nas Figuras 5.5 e 5.6, respectivamente. Claramente, o modelo n˜ao-linear reproduz a dinˆ amica do sistema, mesmo em dados n˜ao utilizados para a defini¸c˜ao da estrutura e da estima¸c˜ao dos parˆ ametros.
158
Enciclop´edia de Autom´ atica (a)
1.8 1.6 1.4
Amplitude
1.2 1 0.8 0.6 0.4 0.2 0
0
1000
2000
3000
4000 t (s)
5000
6000
7000
8000
(b)
2 1.8 1.6
Amplitude
1.4 1.2 1 0.8 0.6 0.4 0.2 0
0.6
0.8
1
1.2
1.4
t (s)
1.6 4 x 10
Figura 5.6: Modelo linear: (a) Valida¸c˜ao Dinˆ amica com os dados usados para a estima¸c˜ao de parˆ ametros e (b) Valida¸c˜ao Cruzada com dados que n˜ ao foram usados para a detec¸c˜ao de estrutura e estima¸c˜ao de parˆ ametros. 0.45 Real Linear Não−linear
0.4 0.35 0.3
y
0.25 0.2 0.15 0.1 0.05 0 0
0.2
0.4
0.6
0.8
u
Figura 5.7: Curvas est´aticas: medidas e identificadas.
1
Cap. 6
Observadores de Estado e Filtro de Kalman
169
a matriz A de dinˆ amica da planta n˜ ao satisfaz esta equa¸c˜ao caracter´ıstica, isto ´e, ∆(A) = 0. Avaliando-se as potˆencias de Ad = A − LC utilizando-se as duas rela¸c˜oes anteriores, obt´em-se ⎡ ⎤ 0 ⎢ .. ⎥ ⎢ ⎥ L = ∆(A) (O (C,A))−1 ⎢ . ⎥ (6.28) ⎣ 0 ⎦ 1 onde ∆(s) ´e o polinˆ omio caracter´ıstico desejado para o observador, dado por (6.26). Conv´em ressaltar que a f´ormula de Ackerman ´e um dos m´etodos utilizados pelo MATLAB (MathWorks, 2005) para aloca¸c˜ao de p´ olos, mediante comando acker(). M´ etodo 3: Aloca¸c˜ao robusta (Kautsky, Nichols e Van Dooren, 1985): este m´etodo ´e naturalmente formulado para aplica¸c˜ao em sistema MIMO, sendo robusto a varia¸c˜oes param´etricas nas matrizes A e C. Constitui-se no principal m´etodo de aloca¸c˜ao de p´ olos utilizado pelo MATLAB, mediante comando place(). A implementa¸c˜ao do m´etodo ´e particularmente sofisticada, demandando como passos intermedi´arios uma decomposi¸c˜ao em valores singulares ou uma decomposi¸c˜ao QR, seguida por uma decomposi¸c˜ao LU para a solu¸c˜ao de um sistema linear de equa¸c˜oes. Para maiores detalhes, vide Se¸c˜ao 3 de (Kautsky et al., 1985). Otimiza¸ c˜ ao A motiva¸c˜ao para esta t´ecnica de projeto ´e a seguinte: a estrutura do observador (6.2) ´e similar `aquela do Filtro de Kalman da Se¸c˜ao 6.2, na qual o ganho que multiplica o erro de estima¸c˜ao depende das matrizes de densidades espectrais de potˆencia Q e R dos ru´ıdos de estado e de medida, respectivamente. A determina¸c˜ao deste ganho ´e efetuada via otimiza¸c˜ao com custo quadr´ atico, que conduz a uma equa¸c˜ao de Riccati. Aplicando-se procedimento similar para o problema do observador, conclui-se que o ganho ´e dado por: L(t) = P (t)C T R−1
(6.29)
com P (t) satisfazendo a equa¸c˜ao de Riccati P˙ (t) = AP (t) + P (t)AT − P (t)C T R−1 CP (t) + Q
(6.30)
e tipicamente utiliza-se em (6.29) apenas a solu¸c˜ao em regime de (6.30). Mais precisamente, sup˜oe-se P˙ = 0 e resolve-se a equa¸c˜ao alg´ebrica de Riccati resultante, utilizando-se, por exemplo, o comando are() do MATLAB (MathWorks, 2005), obtendo-se a matriz P . A seguir, determina-se o valor em regime do ganho em (6.29), isto ´e, L = P C T R−1
(6.31)
Cap. 6
Observadores de Estado e Filtro de Kalman
175
Ap´ os algumas manipula¸c˜oes, usando-se identidades de matrizes (Jazwinski, 1970) pode-se obter a forma equivalente de Kalman: K(ti ) = P¯ (ti )H T (ti )[H(ti )P¯ (ti )H T (ti ) + R(ti )]−1 ¯(ti ) + K(ti )[y(ti ) − H(ti )¯ x(ti )] x ˆ(ti ) = x ¯ ¯ P (ti ) = P (ti ) − K(ti )H(ti )P (ti )
(6.52) (6.53) (6.54)
Portanto, o Filtro de Kalman cont´ınuo discreto ´e recursivo e tem duas etapas. Uma, a partir de um instante inicial onde se tem uma estimativa a priori avaliada e uma observa¸c˜ao feita, que ´e uma etapa de atualiza¸c˜ao ou filtragem. Outra que ´e uma etapa de propaga¸c˜ao ou previs˜ ao, conforme resumido na Tabela 6.1. Tabela 6.1: Filtro de Kalman Cont´ınuo-Discreto.
Atualiza¸ c˜ ao: para i = 0,1,2, ..., usam-se a estimativa a priori, x ¯(ti ) e P¯ (ti ), e a ocorrˆencia da observa¸c˜ao da sa´ıda do sistema dinˆ amico, y(ti ), para atualizar a estimativa. Previs˜ ao: para i = 1,2,..., geram-se numericamente as estimativas a priori, a partir da propaga¸c˜ao dinˆ amica das estimativas em ti−1 .
K(ti ) = P¯ (ti )H T(ti )[H(ti )P¯ (ti )H T(ti )+R(ti )]−1 x ˆ(ti ) = x ¯(ti ) + K(ti )[y(ti )−H(ti )¯ x(ti )] P (ti ) = P¯ (ti ) − K(ti )H(ti )P¯ (ti ) = [I n −K(ti )H(ti )]P¯ (ti )[I n −K(ti )H(ti )]T +K(ti )R(ti )K T (ti ) P¯˙ = P¯ F T (t) + F (t)P¯ + G(t)Q(t)GT (t); + P¯ (ti−1 ) = P (ti−1 ) ˆ(ti−1 ) x ¯˙ = F (t)¯ x + L(t)u(t); x ¯(t+ i−1 ) = x
A natureza recursiva do algoritmo de filtragem, junto com a condi¸c˜ao de ru´ıdo branco dos erros de observa¸c˜ao, com componentes n˜ao correlacionadas, permite o processamento componente a componente do vetor de observa¸c˜ao, de modo que a invers˜ ao nos c´alculos dos respectivos ganhos de Kalman seja sempre a de um escalar (Jazwinski, 1970). Tudo acontece como se entre uma componente e outra do vetor de observa¸c˜oes se tivesse uma dinˆamica sem ru´ıdo de processo, com transi¸c˜ao dada por uma matriz identidade, em que, portanto, as informa¸c˜oes a priori, relativas ao estado e `a matriz de covariˆancias, s˜ao as estimativas que resultaram do processamento da componente anterior do vetor de observa¸c˜oes, conforme indicado no algoritmo de atualiza¸c˜ ao seq¨ uencial em trˆes passos a seguir. Passo 1: para i = 0,1,2, ..., considere x ˆ(ti , 0) = x ¯(ti ),
P (ti ,0) = P¯ (ti )
(6.55)
182
Enciclop´edia de Autom´ atica
onde α deve ser calibrado de acordo com o problema, e o razo´ avel ´e tom´a-lo ¯ suficientemente pequeno de modo que αP jj (t0 ) represente a variˆ ancia do erro tolerado e ou conseguido para a estimativa x ˆ(ti ). Nestas condi¸c˜oes, pode-se usar um Filtro Associado de Kalman para estimar a dosagem do ru´ıdo, conforme Tabela 6.3. Tabela 6.3: Filtro Associado de Kalman para Dosagem Adaptativa de Ru´ıdo de Estado. Previs˜ ao: para i = 1, 2, ..., geram-se numericamente as estimativas a priori, a partir da propaga¸c˜ao dinˆ amica das estimativas em ti−1 .
Atualiza¸ c˜ ao: para i = 1, 2, ..., usam-se a estimativa a priori, q¯(ti ) e P¯ q (ti ), e a ocorrˆencia da pseudoobserva¸c˜ao z(ti ), para atualizar a estimativa.
6.2.5
q¯(ti ) = qˆ(ti−1 ), P¯ q (ti ) = P q (ti−1 ) + Qq (ti ), q¯(t0 ) = 0, P q (t0 ) = diag{P qjw jw (t0 ) : jw = 1,2,...,nw }, Pjqw jw (t0 ) = (αP¯ jj (t0 )/∆2 t1 )2 , α < 1 α calibrado de modo que αP¯jj (t0 ) represente a variˆ ancia do erro tolerado e ou conseguido para a estimativa x ˆ(ti ). Qq (ti ) = diag{qkq (ti ) : k = 1,2,...,nw } qkq (ti ) = max{(¯ qk (ti )/3)2 , 10−2p } q q K q (ti ) = P¯ (ti )M T (ti )[M (ti )P¯ (ti )M T (ti )+ +Rq (ti )]−1 qˆ(ti ) = q¯(ti ) + K q (ti )[z(ti ) − M (ti )¯ q (ti )] qˆjw (ti ) = max{ˆ qjw (ti ), 0} q q P q (ti ) = P¯ (ti ) − K q (ti )M (ti )P¯ (ti ) q = [I nw − K q (ti )M (ti )]P¯ (ti )× T ×[Inw −K q (ti )M (ti )] + +K q (ti )Rq (ti )K qT (ti )
Outros procedimentos e conclus˜ oes
Outros procedimentos tˆem sido desenvolvidos com o prop´ osito de estima¸c˜ao de estado, na tentativa de lidar satisfatoriamente com as n˜ ao-linearidades na dinˆ amica e nas observa¸c˜oes, assim como com os ru´ıdos de processo dinˆamico e de observa¸c˜oes. No caso de integra¸c˜ao adaptativa de sensores, veja-se, por exemplo, (Cardoso, Hemerly, Cˆamara e Grundling, 2004). Merecem tamb´em destaque procedimentos com abordagens alternativas. Veja-se, por exemplo, o procedimento que, adotando o conceito de dualidade, explora a propriedade de controlabilidade em estima¸c˜ao para estimar o estado indiretamente atrav´es de um controle virtual (Fleury e Rios Neto, 1987). Veja-se tamb´em o procedimento que, com uma abordagem estat´ıstica, lida naturalmente com as n˜ aolinearidades, o chamado “Unscented Filter” (Julier e Uhlmann, 2004; Aguirre, Teixeira e Tˆorres, 2005). Merecem tamb´em men¸c˜ao os procedimentos desenvolvidos para outras aplica¸c˜oes, com abordagem estoc´astica e baseados em filtragem de Kalman. Tais como: otimiza¸c˜ao de fun¸c˜oes sujeita a v´ınculos com erros ((Rios e Pinto, 1987; Rios Neto, Carvalho e Pinto, 1993; Madeira e Rios Neto, 2000)); solu¸c˜ao se-
Cap. 7
7.2
191
˜ es Filtragem – conceitos e aplica¸ co
Processamento de sinais
Esta se¸c˜ao discute conceitos gerais associados ao processamento de sinais, atrav´es dos quais introduz aspectos de filtragem anal´ogica (Daryanani, 1976; Brackett e Sedra, 1977).
7.2.1
Filtragem e equaliza¸ c˜ ao
Como j´a foi dito, processar um sinal ´e simplesmente modific´a-lo segundo um objetivo predeterminado, o que soa excessivamente gen´erico. Os termos filtro e equalizador podem descrever um sem-n´ umero de instˆ ancias de processamento de sinais. A filtragem pressup˜oe que o sistema deixa passar a informa¸c˜ao de interesse e bloqueia a informa¸c˜ao indesejada. A equaliza¸c˜ao objetiva corrigir alguma caracter´ıstica de outro sistema, tornando-a constante ´ usual, contudo, referir-se genericamente a qualquer (ou igual, da´ı o nome). E processamento como filtragem. O projeto de um filtro envolve trˆes etapas: especifica¸c˜ao, aproxima¸c˜ao e realiza¸c˜ao. A seguir, discutem-se essas trˆes etapas no contexto mais familiar de filtragem anal´ ogica, aproveitando-se o ensejo para apresent´ a-la brevemente.
|H (jω)|
|H (jω)|
passa-baixas
passa-altas 1
1
− ωc
0
ω
ωc
|H (jω)| passa-faixa
ω
ωc
0
|H (jω)| rejeita-faixa
1
− ω c2 − ω c10 ω c2
− ωc
1
ω c1
ω
− ω c2 − ω c10
ω c2
ω c1
ω
Figura 7.3: Respostas de m´odulo de alguns filtros anal´ ogicos ideais.
7.2.2
Especifica¸ c˜ ao
Na especifica¸ c˜ ao faz-se a defini¸c˜ao das caracter´ısticas de desempenho a serem obedecidas pelo filtro. Na maior parte dos casos, a especifica¸c˜ao dos sistemas que realizar˜ao o processamento de sinais ´e feita no dom´ınio da freq¨ uˆencia, em vez de no dom´ınio do tempo. Isso equivale a dizer que o projetista
214
Enciclop´edia de Autom´ atica
A decima¸ c˜ ao de um sinal pelo fator M , cujo s´ımbolo se vˆe na Figura 7.15, consiste em manter uma a cada M amostras suas, dividindo, assim, sua taxa de amostragem por M . No tempo, xd [n] = x[nM ].
(7.80)
Na freq¨ uˆencia, Xd (ejΩ ) =
M −1 Ω−2πk 1 X(ej M ). M
(7.81)
k=0
X (ejΩ)
x[m]
0 2 4 6 8 10 12 14 16
m
− 2π
2π
0
Ω
Xd (ejΩ)
xd[n]
0 2 4 6 8 10 12 14 16
n
− 2π
2π
0
Ω
Figura 7.16: Decima¸c˜ao por 2. A Figura 7.16 ilustra os efeitos da decima¸c˜ao por 2, no tempo e na freq¨ uˆencia. ´ f´ E acil deduzir que para que n˜ ao ocorra aliasing ´e preciso garantir que o π π espectro de x[n] esteja limitado a Ω ∈ − M , M . Por isso, a decima¸c˜ao ´e geralmente precedida de um filtro passa-baixas Hd (z) que limite convenientemente o espectro de x[n]. x[m]
L
xi[n]
Figura 7.17: Bloco representativo da interpola¸c˜ao por L. A interpola¸ c˜ ao de um sinal pelo fator L, cujo s´ımbolo se vˆe na Figura 7.17, consiste em inserir L − 1 zeros entre cada duas amostras suas, multiplicando, assim, sua taxa de amostragem por L. No tempo, n x L , n = mL, m ∈ Z . (7.82) xi [n] = 0, em caso contr´ario
Parte II
Sistemas inteligentes
219
Cap. 8
´tica Sistemas inteligentes na automa
229
produtos comercializados. • Linguagens Especiais: Considerando-se que a grande maioria dos sistemas que empregam IA fazem uso de computadores digitais, foram desenvolvidas diversas linguagens voltadas para ela. S˜ ao exemplos o LISP, OPS5 e PROLOG, entre outros. H´ a alguns arcabou¸cos pr´oprios para o desenvolvimento de Sistemas Especialistas (de diversos tipos) como, por exemplo, BNG, STRATEGIST, DXPRESS, IDEAL, SPIRIT, HUGIN, BOL, BABYLON, ES, GEST, CLIPS, RT-Expert, ANALYSER, EXSYS, KEE, M4, OPS83 e XpertRule, entre outros. • Redes Neurais Artificiais: Processadores simples, chamados de neurˆ onios, podem ser conectados entre si, formando uma rede, eventualmente capaz de realizar tarefas bastante mais sofisticadas do que cada elemento operando isoladamente. Hoje em dia, existem diversos tipos de redes, como os perceptrons de m´ ultiplas camadas, redes de Hopfield, rede de Kohonen, SVM e outros. Algumas delas s˜ ao tratadas com detalhes no Cap´ıtulo 11. Algumas redes neurais buscam estabelecer estreita analogia com os sistemas neurais biol´ogicos. Outros preservam apenas a id´eia de conex˜ ao massiva de processadores de fina granularidade. As redes neurais, de modo geral, armazenam conhecimentos na forma de valores de alguns parˆ ametros. O processo de aprendizado por parte de uma rede neural, nestes casos, consiste em ajustar convenientemente estes parˆametros. Diz-se que o aprendizado ´e do tipo supervis˜ ao forte quando se fornecem diretamente os valores destes parˆametros ou ´e apresentado um grande n´ umero de amostras da rela¸c˜ao entrada-sa´ıda desejada e os parˆametros s˜ao ajustados de modo que a rede neural apresente um mapeamento semelhante. Por outro lado, diz-se que o aprendizado ´e do tipo supervis˜ ao fraca quando se fornecem poucas informa¸c˜oes externas, como o caso de se utilizar uma estrat´egia “puni¸c˜ao ou recompensa” ou “auto-organiza¸c˜ao” (Braga et al., 2000; Azevedo, Brasil e Oliveira, 2000; Valen¸ca, 2005; Kovacs, 2002). • Sistemas Nebulosos: Na linguagem do dia-a-dia ´e freq¨ uente o uso de termos do tipo “muito escura”, “temperatura baixa”, “velocidade grande” e outros similares. Entretanto, mesmo em uma situa¸c˜ao espec´ıfica, ´e dif´ıcil caracterizar se a condi¸c˜ao do objeto pertence ou n˜ ao a uma determinada categoria ou conjunto. Por exemplo, considere o conjunto de tintas “muito escuras”. A tinta preta certamente pertence a este conjunto e a branca n˜ ao. Parece plaus´ıvel que a tinta de cor azul-marinho perten¸ca a este conjunto. Mas, ser´a que a tinta “laranja” pertence a este conjunto? Mesmo quando existem instrumentos de medida que permitem leituras precisas, como o termˆometro, seria question´ avel se ´e conveniente classio ficar um objeto com t = 200 C de “temperatura alta” e com t = 199,5o C de “temperatura baixa” (Shaw e Godoy, 1999). O Cap´ıtulo 10 trata em
Cap. 8
´tica Sistemas inteligentes na automa
237
• Servi¸cos P´ ublicos: T´ecnicas de IA tˆem sido aplicadas em uma diversidade de servi¸cos p´ ublicos, incluindo sistemas de apoio `a decis˜ao em hospitais, ensino a` distˆ ancia em escolas, detec¸c˜ao de fraudes em o´rg˜ aos de arrecada¸c˜ao de tributos, monitora¸c˜ao e controle de epidemias e previs˜oes meteorol´ogicas, entre outros. Um sistema de sem´aforos inteligentes pode, por exemplo, reduzir consideravelmente o problema de congestionamento do tr´ afego. • Sistemas B´elicos: As t´ecnicas de IA j´a est˜ao presentes em todos os n´ıveis hier´ arquicos de um sistema de defesa, desde equipamentos mais simples de uso individual at´e sistemas de planejamento e controle de miss˜oes. Um exemplo t´ıpico de aplica¸c˜ao de IA em um equipamento militar ´e o de m´ısseis cruzadores que possuem a capacidade para realizar navega¸c˜ao autˆ onoma e atingir o alvo designado com grande acur´ acia. Um outro exemplo ´e o de monitoramento inteligente de sinais de radar, de modo a se ter uma detec¸c˜ao r´ apida de amea¸cas, distinguindo vˆ oos comerciais, viola¸c˜oes do espa¸co a´ereo por parte de avi˜ oes inimigos ou com´ercio ilegal aerotransportado.
8.6
Como est´ a a realidade brasileira?
O Brasil possui diversos grupos de trabalho atuando na a´rea, tanto no ˆambito de Universidades e Centros de Pesquisas, como em Setores ligados `as Empresas e Organiza¸c˜oes Sociais. A Sociedade Brasileira de Autom´ atica (SBA) possui um Comitˆe T´ecnico de Sistemas Inteligentes. A SBA organiza, a cada dois anos, o Simp´ osio Brasileiro de Automa¸c˜ao Inteligente (SBAI), al´em de sess˜oes espec´ıficas no aˆmbito do Congresso Brasileiro de Autom´atica (CBA). O CBA ´e um evento bianual. A SBA edita a revista Controle e Automa¸c˜ao, distribu´ıda gratuitamente aos seus s´ocios. A Sociedade Brasileira de Computa¸c˜ao (SBC) conta com a Comiss˜ao Especial de Inteligˆencia Artificial que re´ une o grupo de s´ ocios da SBC interessados em aspectos te´oricos e pr´aticos da ´area de Inteligˆencia Artificial, incluindo potenciais aplica¸c˜oes em Autom´atica. Esta Comiss˜ao ´e o respons´avel pela organiza¸c˜ao do Simp´ osio Brasileiro de Inteligˆencia Artificial (SBIA) e do En´ tamcontro Nacional de Inteligˆencia Artificial (ENIA), em anos alternados. E b´em respons´avel pelo JAIA/MCIA – Jornada de Atualiza¸c˜ao em Inteligˆencia Artificial/Minicursos em Inteligˆencia Artificial. A Sociedade Brasileira de Redes Neurais (SBRN) foi fundada em 2001, a partir do Conselho Brasileiro de Redes Neurais, constitu´ıdo em 1992 e que congregava a SBA – Sociedade Brasileira de Autom´ atica, SBEB – Sociedade Brasileira de Engenharia Biom´edica, SBF – Sociedade Brasileira de F´ısica, SBMAC – Sociedade Brasileira de Matem´ atica Aplicada e Computacional e SBT – Sociedade Brasileira de Telecomunica¸c˜oes. A SBRN organiza, bianual-
Cap. 9
˜ o bioinspirada em Controle de Processos 271 Computa¸ ca
tˆem como objetivo demonstrar a viabilidade da transferˆencia do controle para ambientes reais, a capacidade de coordena¸c˜ao da rede obtida atrav´es do processo evolutivo e a aplicabilidade das redes imunol´ ogicas a sistemas de controle. Conforme pode ser visto no experimento da Figura 9.13, o robˆ o ´e submetido `a tarefa de navegar por um ambiente que possui um beco sem sa´ıda. Nesta situa¸c˜ao, o robˆ o encontra-se cercado e encontrar a sa´ıda sem colidir ´e uma tarefa bastante dif´ıcil. No entanto, a rede imunol´ ogica obtida via evolu¸c˜ao e em ambientes simulados, mostrou-se capaz de controlar o robˆo de forma bem-sucedida, escapado do beco sem colidir. A seq¨ uˆencia de imagens da figura mostra claramente que o sistema desempenha corretamente seu papel no ambiente real. Assim, pode-se concluir que o sistema imunol´ ogico evolu´ıdo ´e robusto pelo fato de atuar eficientemente tanto em simula¸c˜ao quanto em ambientes reais.
9.6.3
Estudo de caso: sistemas classificadores com aprendizado
Ficha t´ ecnica • Problema: desviar de obst´ aculos e capturar alvos; • Abordagem: sistemas classificadores com aprendizado; • Fonte do material: disserta¸c˜ao de mestrado de Renato Reder Cazangi; • Publica¸c˜oes: Cazangi e Figueiredo (2001), Cazangi e Figueiredo (2002), Cazangi, Von Zuben e Figueiredo (2003b), Cazangi, Von Zuben e Figueiredo (2003a) e Cazangi (2004); • Autonomia: Tipo III; • Aprendizagem : on-line; • Sensores do robˆ o: 6 sensores de distˆancia a obst´ aculos e 8 de luminosidade do alvo; • Atuadores do robˆ o: ajuste de dire¸c˜ao (-15o a 15o ) e ajuste incremental de velocidade.
Figura 9.13: Seq¨ uˆencia de imagens de um experimento real com o robˆo Khepera II.
Cap. 9
˜ o bioinspirada em Controle de Processos 279 Computa¸ ca
2 3
1 4
5
6 7
8 10
9 11
12
Figura 9.20: Instˆ ancia do caixeiro viajante com 12 cidades resolvida como um problema de navega¸c˜ao de robˆ os. Tabela 9.1: Dados resultantes da simula¸c˜ao com 4 robˆos. n˜ ao existia uma ordem fixa para captura de alvos. Quatro robˆ os foram utilizados, tendo que capturar todos os alvos mas podendo fazˆe-lo em qualquer seq¨ uˆencia. Observe na Figura 9.20, a` esquerda, o circuito o´timo indicado em vermelho e, `a direita, o circuito obtido pelos robˆ os como resultado de sua navega¸c˜ao. Eles realmente foram capazes de encontrar a solu¸c˜ao ´otima. Entretanto, devido a` dinˆ amica do processo de navega¸c˜ao, o comprimento total do circuito obtido foi de 2.673 contra 2.340 do o´timo te´orico (15% acima).
9.6.5
Estudo de caso: sistemas homeost´ aticos artificiais
Ficha t´ ecnica • Problema: desviar de obst´ aculos e recarga de bateria quando necess´ario; • Abordagem: sistemas homeost´aticos artificiais e redes neurais artificiais; • Fonte do material: tese de doutorado de Patr´ıcia Amˆancio Vargas; • Publica¸c˜oes: Vargas (2005) e Vargas, Moioli, de Castro, Timmis, Neal e Von Zuben (2005); • Autonomia: Tipo II; • Aprendizagem: off-line; • Sensores do robˆ o: 6 sensores de distˆancia a obst´ aculos e 8 de luminosidade do alvo; • Atuadores do robˆ o: ajuste de dire¸c˜ao.
Cap. 9
˜ o bioinspirada em Controle de Processos 283 Computa¸ ca
RNAs, que o robˆ o deve seguir em dire¸c˜ao `a luz (para recarregar sua bateria). Assim que o robˆ o chega bem pr´ oximo a` luz, seu n´ıvel hormonal come¸ca a decrescer e o robˆo volta para o comportamento de seguir paredes.
9.7
Outros trabalhos na ´ area e a realidade brasileira
H´a no Brasil v´ arios grupos de pesquisa que trabalham com rob´ otica autˆ onoma, enfatizando diversas linhas espec´ıficas de atua¸c˜ao. Em geral, esses grupos tˆem pontos de vista que divergem em alguns aspectos dos trabalhos realizados pelos autores e colaboradores deste Cap´ıtulo, principalmente no que tange a` quest˜ao de autonomia e capacidade de aprendizagem dos sistemas de controle desenvolvidos. Nem todos os grupos de pesquisa brasileiros em atividade na ´area de rob´ otica autˆ onoma ser˜ao mencionados a seguir, sendo que o crit´erio adotado para inclus˜ ao de alguns grupos foi a diversidade de linhas de atua¸c˜ao que os caracteriza e, em alguns casos, a similaridade de enfoque com a presente proposta. Na UFMG, o VerLAB (Laborat´ orio de Vis˜ ao Computacional e Rob´otica), coordenado pelo Prof. Dr. Mario Campos, o enfoque b´ asico est´a na implementa¸c˜ao de sistemas rob´oticos (m´oveis e fixos) dotados de vis˜ ao computacional. Tamb´em s˜ao temas de pesquisa a rob´otica coletiva e os dirig´ıveis autˆ onomos. Outro grupo importante se encontra na UFRGS e ´e coordenado pelo Prof. Dr. Dante Barone. Trata-se do LRI (Laborat´orio de Rob´ otica Inteligente), em que se investigam dois temas principais: a intera¸c˜ao homem-robˆo e a rob´ otica m´ovel com planejamento de trajet´orias. Um terceiro grupo de destaque situa-se na USP e tem como respons´avel a Profa. Dra. Anna Reali. Al´em de tamb´em ser bastante voltado para vis˜ ao computacional, este grupo atua em v´arias ´areas como aprendizagem artificial, rob´ otica coletiva, particularmente futebol de robˆ os, e mapeamento de ambientes. De forma mais isolada, existem pesquisadores brasileiros com hist´orico relevante no estudo de sistemas autˆonomos para robˆ os m´oveis. A seguir, alguns deles s˜ao citados. O Prof. Dr. Leandro dos Santos Coelho trabalha na PUCPR e tem um projeto de pesquisa voltado ao desenvolvimento de sistemas bioinspirados aplicados ao planejamento, controle e coopera¸c˜ao de robˆ os m´oveis. Sob uma perspectiva mais pr´ oxima dos trabalhos desenvolvidos no LBiC pe-
Figura 9.23: Experimento em que o robˆ o segue uma fonte luminosa.
300
Enciclop´edia de Autom´ atica
10.3.2
Proje¸ c˜ ao e Extens˜ ao Cil´ındrica
Proje¸c˜ao e extens˜ao cil´ındrica s˜ ao opera¸c˜oes sobre rela¸c˜oes que afetam suas dimens˜oes. Proje¸c˜ao reduz a dimens˜ao enquanto que extens˜ ao a aumenta. Estas opera¸c˜oes s˜ao necess´arias para inferˆencia, compress˜ao de informa¸c˜ao, entre outras circunstˆ ancias (Pedrycz e Gomide, 1998b). Seja R uma rela¸c˜ao nebulosa definida em X × Y . A proje¸c˜ao de R sobre X ´e definida como: µRX (x, y) = P rojX R = sup[µR (x, y)] Y
Analogamente, a proje¸c˜ao de R sobre Y ´e µRY (x, y) = P rojY R = sup[µR (x, y)] X
Estas defini¸c˜oes podem ser estendidas para proje¸c˜oes n-´arias. A proje¸c˜ao em um dos subespa¸cos ´e obtida tomando-se o supremum da fun¸c˜ao de pertinˆencia com rela¸c˜ao a`s vari´ aveis relativas aos outros subespa¸cos. Observe-se que, no caso bidimensional, a proje¸c˜ao ´e um conjunto nebuloso. Por exemplo, considere-se uma rela¸c˜ao P dada pela matriz relacional abaixo. Suas proje¸c˜oes em X e Y, PX e PY , s˜ao mostradas na Figura 10.6. ⎡ ⎤ ⎧ 1 ⎪ ⎪ ⎤ ⎡ ⎪ ⎣ ⎪ 0, 2 1 0, 8 1 ⎨ µPX (x, y) = 1 ⎦ 1 µP (x, y) = ⎣ 1 0, 1 0 0, 5 ⎦ ⇒ ⎪ ⎪ 0, 5 0, 9 0, 5 1 ⎪ ⎪ ⎩ µPY (x, y) = 1 1 0, 8 1
y P (x,
y) P
y4 y3
1
(x , y )
PX
(x , y )
PY
(x , y )
y2 y1 x1
x2
x3
x
Figura 10.6: Proje¸c˜ao de rela¸c˜oes nebulosas. A extens˜ao cil´ındrica aumenta a dimens˜ ao da fun¸c˜ao sobre a qual ela opera, elevando um conjunto nebuloso para uma rela¸c˜ao, uma rela¸c˜ao nebulosa bidimensional para uma tridimensional e assim sucessivamente. Por exemplo, a
312
Enciclop´edia de Autom´ atica R i : se x é Ai e y é B i então z é C i
1
min
1
Ai
Bi
1 Ci C i*
x
x'
y'
z
y
j
R : se x é A j e y é B j então z é C min
1
1 Aj
j
1
Bj
Cj C
x'
y'
x 1 C *j
max
C i*
y
z
1 C*
z
* j
C i*
C *j
z
Figura 10.17: Regra de inferˆencia max-min com modelo Mamdani. da Figura 10.16-(a) e 10.16-(b), respectivamente, e se aplicam a bases de regras com um n´ umero finito de regras nebulosas. Modelos funcionais (Takagi e Sugeno, 1985) s˜ ao tratados de forma similar aos modelos ling¨ u´ısticos, pois a contribui¸c˜ao de cada regra ´e proporcional ao seu grau de ativa¸c˜ao. Contudo, como os conseq¨ uentes das regras s˜ao fun¸c˜oes das vari´ aveis do antecedente, a inferˆencia decorrente de uma base de regras ´e uma fun¸c˜ao obtida pela m´edia das fun¸c˜oes de cada uma das regras, ponderadas pelos respectivos graus de ativa¸c˜ao. A Figura 10.19 ilustra o procedimento. Modelos funcionais s˜ ao freq¨ uentemente denominados modelos TakakiSugeno.
10.6
Sistemas baseados em regras e inferˆ encia nebulosa
Sistemas baseados em regras nebulosas tˆem a estrutura mostrada na Figura 10.20, onde est˜ao identificados os principais m´ odulos que o comp˜ oem e suas fun¸c˜oes. Sistemas com esta estrutura podem representar modelos ou controladores. Embora n˜ ao obrigat´ orio, considerar-se-˜ao entradas n˜ ao nebulosas, ou precisas - resultantes de medi¸c˜oes ou observa¸c˜oes (dados) -, que ´e o caso da grande maioria das aplica¸c˜oes pr´aticas. Em virtude disto, ´e necess´ario efetuar-se uma transforma¸c˜ ao destes dados precisos em termos de conjuntos nebulosos relevantes, o que ´e realizado no est´agio de fuzzifica¸ c˜ ao. O mecanismo de fuzzifica¸c˜ao mais simples ´e aquele que transforma um valor num´erico x’ em um conjunto nebuloso unit´ ario, isto ´e, um conjunto nebuloso particular cuja
Cap. 10
10.8.2
325
Modelagem e controle nebuloso
Representa¸ c˜ ao aproximada de sistemas n˜ ao-lineares com modelos fuzzy Takagi-Sugeno
A seguir ser´a ilustrada a aproxima¸c˜ao obtida pelos modelos nebulosos TS para uma fun¸c˜ao n˜ ao-linear utilizando fun¸c˜oes de pertinˆencia do tipo triangular. Considere a fun¸c˜ao n˜ ao-linear f (x) descrita na Figura 10.26. Note que esta fun¸c˜ao pode ser aproximada, para x ≈ x0 = 0, por f1 (x) = a1 x, que ´e a reta tangente desta curva em x = 0. x 1 f11= x a1 x
f(x)
x 2 f12= x a1 x
f(x) xx
(x)
0 x 0
x1 f(x)⬇x f (x) 1 (a 1 x) 2(a2x)
1
f1 1= a1 x
x
f1 2= a1 x
0
Figura 10.26: Ilustra¸c˜ao da aproxima¸c˜ao obtida por modelos nebulosos TS. Uma aproxima¸c˜ao linear para esta fun¸c˜ao, para x ≈ x1 , ´e f2 (x) = a2 x; observe-se que esta segunda aproxima¸c˜ao linear n˜ ao ´e t˜ao boa quanto a primeira, pois, por ser uma aproxima¸c˜ao linear, ela deve passar pela origem, o que impede que coincida com a reta tangente de f (x) em x = x1 . Adotando-se f1 (x) e f2 (x) como modelos locais, e as fun¸c˜oes α1 (x), α2 (x) definidas na Figura 10.26 (observe-se que α1 (x) e α2 (x) s˜ao positivas e que α1 (x)+α2 (x) = 1), um modelo nebuloso TS para f (x) seria ff (x) = α1 (x)f1 (x)+ α2 (x)f2 (x), como ilustrado na Figura 10.26. ao α1 ≈ 1, α2 ≈ 0 e ff (x) ≈ f1 (x) e Pode-se observar que, se x ≈ x0 , ent˜ se x ≈ x1 , ent˜ ao α2 ≈ 1, α1 ≈ 0 e ff (x) ≈ f2 (x). Finalmente, verifica-se que ff (x) proporciona uma melhor aproxima¸c˜ao da fun¸c˜ao f (x) do que as fun¸c˜oes f1 (x) ou f2 (x) (lineariza¸c˜ao em torno de um ponto de opera¸c˜ao) para, por exemplo, x0 ≤ x ≤ x1 . Obviamente, se o n´ umero de modelos locais for aumentado, a aproxima¸c˜ao torna-se melhor. Esse exemplo simples mostra o potencial dos modelos nebulosos TS no tratamento de fun¸c˜oes ou de sistemas n˜ao-lineares.
Cap. 11
Redes neurais em modelagem de sistemas
335
Uma vez calculadas as influˆencias dos erros de cada bloco, σi2 , no erro da sa´ıda global do modelo, s˜ ao identificados os blocos cr´ıticos, isto ´e, aqueles com maior σi2 , maior influˆencia. Estes blocos devem ent˜ao ser modificados para melhorar a eficiˆencia dos submodelos e, conseq¨ uentemente, do modelo global.
11.2.3
An´ alise e corre¸c˜ ao dos submodelos
Um submodelo pode ser inadequado por duas raz˜ oes principais: a equa¸c˜ao que o representa ´e inadequada ou as entradas do bloco s˜ ao insuficientes para determinar sua sa´ıda, isto ´e, falta informa¸c˜ao na entrada do bloco. Se o erro na sa´ıda de cada bloco cr´ıtico mantiver correla¸c˜ao significativa com qualquer uma de suas vari´ aveis de entrada, isto significa que a equa¸c˜ao do bloco ou submodelo n˜ ao ´e adequada para represent´ a-lo e, neste caso, necessita ser modificada. Se esta correla¸c˜ao n˜ ao existe, provavelmente falta informa¸c˜ao na entrada do bloco, que pode estar contida em outras vari´ aveis. Quando a sa´ıda de um bloco ´e calculada est˜ao dispon´ıveis, al´em de suas vari´aveis de entrada, as vari´ aveis de entrada da rede e outras vari´ aveis internas do modelo global, sa´ıdas de outros blocos, j´ a calculadas anteriormente. Se algumas destas vari´aveis apresentam correla¸c˜ao significativa com o erro na sa´ıda do bloco em quest˜ ao, ent˜ ao elas podem ser utilizadas como entradas adicionais ao bloco para reduzir o erro ´ poss´ıvel que o erro na sa´ıda do bloco seja causado na sa´ıda do mesmo. E pelas duas raz˜ oes citadas anteriormente. Neste caso, as vari´aveis candidatas a entradas adicionais devem ser descorrelacionadas das vari´aveis de entrada do bloco que apresentam correla¸c˜ao significativa com o erro em sua sa´ıda. Estas vari´ aveis descorrelacionadas devem ent˜ao ser novamente testadas para verificar se mantˆem correla¸c˜ao significativa com o erro na sa´ıda do bloco. Caso positivo, as vari´ aveis originais, n˜ ao-descorrelacionadas, devem ser aceitas como poss´ıveis novas entradas do bloco. Este u ´ltimo passo, envolvendo a descorrela¸c˜ao, n˜ ao ´e essencial, mas evita a adi¸c˜ao de novas entradas que n˜ ao trazem informa¸c˜ao adicional ao bloco, e preserva o m´ aximo poss´ıvel os submodelos fenomenol´ ogicos. O processo acima permite determinar os blocos cr´ıticos, que necessitam de corre¸c˜oes, e eventuais vari´aveis adicionais que devem ser utilizadas no c´alculo destas corre¸c˜oes. A corre¸c˜ao para manter o modelo como fenomenol´ ogico deve ser feita alterando a equa¸c˜ao dos submodelos cr´ıticos, o que n˜ ao ´e uma tarefa f´ acil na maioria dos casos. Uma alternativa ´e utilizar um modelo h´ıbrido fenomenol´ ogico-neural para o bloco. Uma rede neural ´e colocada em paralelo com cada bloco cr´ıtico, conforme ilustrado na Figura 11.6. A rede ´e alimentada pelas entradas do bloco que tˆem correla¸c˜ao com o erro na sa´ıda, caso o erro seja devido a` equa¸c˜ao inadequada, pelas entradas adicionais que tˆem correla¸c˜ao com o erro na sa´ıda, caso o erro seja devido `a falta de informa¸c˜ao na entrada ou por ambas, caso o erro tenha ambas as causas. As redes neurais auxiliares devem ser treinadas simultaneamente, imersas no modelo fenomenol´ ogico. Se o treinamento ´e feito por retropropaga¸c˜ao do
Cap. 11
11.3.6
Redes neurais em modelagem de sistemas
341
Estabilidade e precis˜ ao dos modelos
O modelo NMA apresentado na Figura 11.8 n˜ ao inclui realimenta¸c˜ao e ´e portanto estruturalmente est´ avel, e mant´em o erro entre a sa´ıda da planta e a sa´ıda do modelo ε(t) = y(t) − y˜(t) com m´odulo aproximadamente da mesma ordem de grandeza, a` medida que o tempo evolui. O modelo NARMA apresentado na Figura 11.10 inclui realimenta¸c˜ao e ´e potencialmente inst´ avel. Praticamente, se a fun¸c˜ao ϕ(·) n˜ ao for determinada muito precisamente a sa´ıda y˜(t) do modelo diverge da da planta y(t) ap´ os um certo n´ umero de passos de opera¸c˜ao. Isto limita a dura¸c˜ao da simula¸c˜ao, e nos obriga a reinicializar o modelo ap´ os um per´ıodo de tempo, e retomar a simula¸c˜ao a partir deste ponto. Note que, embora inconveniente, no caso do modelo NARMA isto ´e simples de realizar, porque seu estado real ´e facilmente determinado a cada instante.
11.3.7
Preditores e opera¸ c˜ oes em paralelo e em s´ erie-paralelo
H´a casos, e.g. em controle preditivo ou em previs˜ao de s´eries temporais, em que desejamos que a sa´ıda do modelo no instante atual t estime a sa´ıda do sistema em um instante futuro t + k, k > 0. Neste caso, a equa¸c˜ao do modelo NARMA pode ser escrita: y˜(t + k) = ϕ[x(t), x(t − 1), · · · , x(t − M ), y(t), · · · , y(t − N )]
(11.20)
e implementada por uma estrutura an´ aloga a` da Figura 11.10, com os valores de y(·) substitu´ıdos pelos de y˜(·) (opera¸c˜ao com planta e modelo em paralelo) ou pela estrutura da Figura 11.11 (opera¸c˜ao com planta e modelo em uma estrutura s´erie-paralelo).
x(t)
Y(t)
Planta
T
T Rede Neural
T
T
y(t k)
T
Figura 11.11: Opera¸c˜ao em configura¸c˜ao s´erie-paralelo. Na opera¸c˜ao em paralelo a informa¸c˜ao das sa´ıdas atrasadas ´e fornecida a` rede neural pela aproxima¸c˜ao feita pela pr´ opria rede, eventualmente – provavel-
346
Enciclop´edia de Autom´ atica Considere um sistema dinˆamico regido pela seguinte equa¸c˜ao a diferen¸ca.
y(t) =
y(t − 1)y(t − 2)y(t − 3)x(t − 2) [y(t − 3) − 1] + x(t − 1) 1 + y 2 (t − 3) + y 3 (t − 2)
(11.24)
Para este exemplo foi utilizado o processo de destacar o erro em altas freq¨ uˆencias descrito na Se¸c˜ao 11.3.8. O sistema foi excitado por uma entrada x(t) composta por um simples sinal senoidal com freq¨ uˆencia baixa, dentro da banda da planta, e amplitude alta, cobrindo toda a faixa dinˆ amica da sa´ıda da planta. A esta sen´oide foi adicionado um pequeno ru´ıdo “branco”: uma onda quadrada com amplitude da ordem de 2% da amplitude da sen´ oide e duty cycle aleat´orio. Na sa´ıda da planta tamb´em foi adicionado um ru´ıdo branco com amplitude similar. As condi¸c˜oes acima s˜ao desconhecidas do modelista do sistema, e foram utilizadas apenas para gerar as tabelas num´ericas com as trˆes colunas, o tempo t, a seq¨ uˆencia de entrada x(t) e a seq¨ uˆencia de sa´ıda y(t). Desta tabela foram extra´ıdos os pares entrada-sa´ıda dos conjuntos de treinamento e valida¸c˜ao. Ap´ os algumas observa¸c˜oes e simula¸c˜oes iniciais arbitramos para o modelo NARMA que deveria simular o sistema M = 4, N = 5 atrasos e Q = 7 neurˆ onios para a camada intermedi´ aria da rede neural. O treinamento da rede neural foi bastante cuidadoso no tocante a` precis˜ao da aproxima¸c˜ao. Ap´ os dois treinamentos e elimina¸c˜ao das entradas pouco relevantes foram encontrados os valores corretos de N = 3 e M = 2. Para dificultar a tarefa de modelagem, para o conjunto de teste foi usado como entrada um sinal complexo:
⎧ ⎪sen k π , ⎪ 25 ⎪ ⎪ ⎨+1,
k < 250 250 ≤ k ≤ 375 x(k) = ⎪ −1, 375 ≤ k ≤ 500 ⎪ ⎪ ⎪ ⎩0,3sen k π + 0,1sen k π + 0,6sen k π , 500 ≤ k ≤ 900 25 32 10
A Figura 11.16 mostra a resposta da planta e do modelo operando em modo paralelo, isto ´e, auto-realimentado. O modelo preserva a estabilidade e precis˜ao mesmo ap´os 900 passos de opera¸c˜ao, devido a` boa qualidade da aproxima¸c˜ao provida pela rede neural.
Parte III
Rob´ otica
349
Cap. 12
355
ˆ s manipuladores Robo
ocasionalmente pneum´aticos. Sensores que medem o estado do manipulador e se for necess´ario o estado do ambiente (e.g. encoders, potenciometros, tacˆ ometros, cˆameras, sensores de torque/for¸ca). O sistema de controle, encarregado pelo controle e supervis˜ ao do movimento do manipulador. Desta forma, um manipulador pode ser representado esquematicamente como uma cadeia cinem´atica de corpos r´ıgidos (elos) conectados por meio de juntas. Um extremo da cadeia est´a fixado a uma base, enquanto um efetuador est´ a montado na outra extremidade permitindo a manipula¸c˜ao de objetos (Figura 12.2). Junta 2 Junta 3 Elo 2 Junta 1 Elo 1
Junta 4 Elo 3 Elo 4
Elo 0
Figura 12.2: Descri¸c˜ao dos elos e juntas de um robˆ o manipulador. Em rob´ otica, geralmente se utilizam dois tipos b´asicos de junta: junta de rota¸c˜ ao e junta prism´ atica (transla¸c˜ao). O movimento das juntas gera o movimento do efetuador, sendo que o grau de mobilidade est´a associado com uma junta articulada. Numa cadeia cinem´ atica aberta1 cada junta adiciona um grau de mobilidade que equivale a um grau de liberdade 2 . Os manipuladores podem ser classificados pela sua estrutura mecˆ anica. As principais configura¸c˜oes b´asicas s˜ao (Sciavicco e Siciliano, 2000): • Cartesianos (3 juntas prism´ aticas): realizam movimentos lineares em 3D, o modelo cinem´atico ´e simples e atuadores pneum´ aticos de baixo custo podem ser utilizados. No entanto necessitam de grande espa¸co para operar e o seu espa¸co de trabalho ´e relativamente pequeno (n˜ ao consegue atingir regi˜ oes sob objetos). • Cil´ındricos (2 juntas prism´ aticas e 1 de revolu¸c˜ao): o modelo cinem´atico ´e simples, tem bom acesso em cavidades, no entanto o espa¸co de trabalho ´e restrito. • Esf´ericos (1 junta prism´atica e 2 de revolu¸c˜ao): o espa¸co de trabalho ´e relativamente grande, podendo-se at´e inclinar para pegar objetos do ch˜ ao. No entanto, o modelo cinem´atico ´e mais complexo. • Revolu¸c˜ao ou articulados (3 juntas de revolu¸c˜ao): emulam as caracter´ısticas do bra¸co humano, possuindo grande flexibilidade. No entanto, a cinem´atica e o controle n˜ao s˜ao triviais. 1
Existe somente uma seq¨ uˆencia de elos conectando ` as extremidades da cadeia. N´ umero m´ınimo de vari´ aveis independentes necess´ arias para determinar unicamente a configura¸ca ˜o do sistema. 2
362
Enciclop´edia de Autom´ atica
¯ uma vez que a velocidade ´e diferente do operador Jacobiano Geom´etrico J, ˙ angular ω n˜ ao ´e dada por φ. Uma vez que a rela¸c˜ao entre ω e φ˙ seja estabelecida, o jacobiano anal´ıtico pode ser relacionado ao jacobiano geom´etrico como:
I 0 x˙ = V = Tr (x) V , (12.14) 0 Jφ (φ) que em vista de (12.9) e (12.12), conduz a ¯ Ja (θ) = Tr (x) J(θ)
(12.15)
onde, de acordo com (12.14), tem-se que p˙ = v .
12.4
Controle cinem´ atico
Considera-se o problema de controle cinem´atico de um manipulador rob´ otico. Assume-se aqui que a dinˆamica do manipulador pode ser desprezada. Esta hip´ otese ´e aceit´avel para manipuladores que apresentam elevados fatores de redu¸c˜ao nas engrenagens ou quando baixas velocidades s˜ ao utilizadas durante a realiza¸c˜ao de tarefas. Ent˜ ao, considerando que a maioria dos manipuladores geralmente possui uma malha de controle de velocidade em n´ıvel de juntas (Figura 12.6), para uma entrada u = θ˙d e um controle de alto ganho, isto ´e, K → ∞, tem-se que ˙ e → 0 e conseq¨ uentemente u ≈ θ. K
v
PWM
τ
Robô
.
e
J+( u)
.
u
x
e
x
Figura 12.6: Malha de controle de velocidade de um manipulador rob´ otico. Portanto, o movimento do manipulador pode ser descrito por θ˙i = ui ,
i = 1, · · · ,n ,
(12.16)
onde ui ´e um sinal de controle de velocidade aplicado ao motor da i -´esima junta. Supondo que o objetivo de controle para uma dada tarefa seja levar a configura¸c˜ao do manipulador de uma condi¸c˜ao inicial ( p ,R ) para uma condi¸c˜ao desejada ( pd ,Rd ), ´e preciso estabelecer uma m´etrica para o erro. O erro de posi¸ca ˜o do efetuador ´e dado simplesmente por ep = pd − p ,
(12.17)
onde pd e p representam a posi¸c˜ao desejada e a posi¸c˜ao atual do efetuador, respectivamente.
Cap. 12
369
ˆ s manipuladores Robo
Nesses casos, controle de posi¸c˜ao apenas ´e insuficiente. Um pequeno erro de posi¸c˜ao num manipulador r´ıgido pode ser perigoso (p. ex., amassar a ponta da caneta, estragar o efetuador, etc). H´ a necessidade, portanto, de uma realimenta¸c˜ao de for¸ca. O controle de for¸ca pode ser realizado utilizando um sensor de for¸ca no punho do manipulador. Alternativamente, no caso de atuadores el´etricos, as correntes consumidas est˜ao relacionadas com for¸ca/toques nos eixos dos motores. No entanto, como a medi¸c˜ao ´e indireta, qualquer erro de modelagem influenciar´ a grandemente a medi¸c˜ao.
12.7.1
Controle de rigidez
Para ilustrar uma estrat´egia de controle de for¸ca ser´a considerado um u ´nico grau de liberdade do sistema da Figura 12.9. Considera-se que o manipulador est´a em contato com o ambiente com posi¸c˜ao dada por xa na Figura 12.9.
X Efetuador
Xd Superficie de Contato
Xe
Figura 12.9: Intera¸c˜ao de um manipulador com o ambiente. ao a for¸ca exercida sobre o ambiSe a posi¸c˜ao do manipulador x > xa , ent˜ ente ´e dada por fa = ka (x − xa ) (12.33) onde ka ´e a rigidez do ambiente. Esta rigidez inclui a do manipulador, do seu suporte, da ferramenta; assim como tamb´em a rigidez da superf´ıcie de contato. Ent˜ ao, a equa¸c˜ao dinˆ amica do sistema ´e da forma: m¨ x + ka (x − xa ) = f ; onde f ´e a for¸ca de entrada. Este sistema de segunda ordem pode ser estabilizado utilizando uma lei de controle PD dada por: ˙ f = kp (xd − x) − kd x;
kp > 0, kd > 0
O sistema resultante ´e est´avel e a posi¸c˜ao e for¸ca em regime s˜ao dadas por f∞ =
kp ka (xd − xa ); kp + ka
x∞ =
kp xd + ka xa kp + ka
Se a rigidez do ambiente for grande (ka >> kp ), tem-se que f∞ = kp (xd − xa ) e x∞ = xa , onde kp passa a ser a rigidez desejada do manipulador (vide (12.33)).
370
Enciclop´edia de Autom´ atica
No caso geral de n graus de liberdade, a complacˆencia pode ser definida com respeito ao sistema de coordenadas Ec = { xc , yc , ZZc } com origem Oc , onde o efetuador est´ a em contato com a superf´ıcie. Tem-se que a for¸ca de restaura¸c˜ao desejada para uma constante de rigidez Kx ∈ IR6×6 ´e dada por: f = Kx δx que ´e fun¸c˜ao do deslocamento δx. Considerando a cinem´ atica diferencial (δx = J(θ) δθ; τ = J T (θ)f ), o torque nas juntas ´e dado por: τ = J T Kx J δθ = Kq (θ) δθ onde Kq = J T Kx J ´e chamada matriz de rigidez das juntas. Uma lei de controle para obter a rigidez desejada ´e dada por: τ = J T Kx J (θd − θ) + τb onde τb ´e um termo estabilizante (e.g: termo PD para proporcionar amortecimento adicional ou para compensar gravidade, etc.). Em estado estacion´ ario, considerando que o sistema ´e est´avel, tem-se que a for¸ca na superf´ıcie ´e dada por f = Kx δx.
12.7.2
Controle de impedˆ ancia
Uma outra estrat´egia para controle de for¸ca ´e conhecida como controle de impedˆ ancia, onde ´e especificada uma rela¸c˜ao de impedˆancia entre for¸ca e velocidade (ou posi¸c˜ao), isto ´e, Fa (s) = Z(s) V (s)
ou
Fa (s) = sZ(s) X(s)
onde s ´e a vari´ avel de Laplace, Fa , V, X, Z s˜ao a for¸ca, velocidade, posi¸c˜ao e impedˆ ancia, respectivamente. No caso linear, a impedˆancia desejada poderia ser: sZ(s) = −(Md s2 + Kd s + Kp ) que define a resposta desejada do manipulador a uma for¸ca exercida pelo efetuador: Md x ¨ + Kd x˙ + Kp x = −fa (12.34) Para resolver o problema de regula¸c˜ao, considere o modelo dinˆ amico (12.24). A impedˆ ancia desejada Z(s) (agora matricial diagonal) pode ser obtida utilizando uma lei de controle (Spong e Vidyasagar, 1989) ¯ (x)u + C¯ x˙ + G, ¯ f = fext + M
u = −Md−1 [Kp (x − xd ) + Kd x˙ − fa ] (12.35)
onde fext ´e a for¸ca medida no efetuador. Esta lei de controle pode ser implementada no espa¸co de juntas utilizando a rela¸c˜ao τ = J T (θ)f . Desta forma, a resposta a uma entrada de for¸ca fa tem a forma desejada (12.34).
374
Enciclop´edia de Autom´ atica
Vaisset, 1984), e a dupla Stanford Cart e CMU Rover (Moravec, 1983), nas d´ecadas de 70 e 80. A partir de meados da d´ecada de 80, v´arios robˆ os m´oveis foram constru´ıdos em diversas universidades e laborat´ orios de pesquisa. Algumas empresas tamb´em passaram a desenvolver e comercializar robˆos m´oveis voltados para pesquisa (Active Media Robotics, 2005; Evolution Robotics, 2005) e mais recentemente, voltados para usu´arios dom´esticos como aspiradores de p´ o (IRobot, 2005) e cortadores de grama autˆonomos (Friendly Robotics, 2005) e robˆ os para o entretenimento (Sony AIBO, 2005). Este cap´ıtulo pretende dar uma vis˜ ao geral sobre essa importante ´area dentro da rob´ otica. Ser˜ ao abordados t´ opicos importantes como locomo¸c˜ao, paradigmas de programa¸c˜ao, planejamento de caminhos, localiza¸c˜ao, mapeamento e coopera¸c˜ao entre m´ ultiplos robˆ os. O foco principal estar´ a nos robˆ os terrestres, mas alguns dos t´opicos abordados tamb´em se aplicam a outras categorias de robˆ os m´oveis.
13.1
Locomo¸ c˜ ao
Os robˆ os m´oveis podem ser classificados de diversas maneiras que incluem a forma de locomo¸c˜ao, os tipos de tarefas executadas e o seu grau de autonomia. Neste cap´ıtulo, os robˆ os ser˜ao classificados principalmente pela forma como se locomovem em seu ambiente. De forma geral, os robˆos m´oveis podem pertencer a trˆes grandes grupos: terrestres, aqu´ aticos e a´ereos. Dentro de cada grupo, pode-se caracterizar os robˆos de acordo com seus sistemas de locomo¸c˜ao. Por exemplo, os robˆ os a´ereos podem ser helic´opteros, dir´ıg´ıveis ou avi˜ oes, cada qual com caracter´ısticas distintas de locomo¸c˜ao. Um grande n´ umero de caracter´ısticas influencia a escolha do sistema de locomo¸c˜ao a ser utilizado em uma tarefa. Entre elas pode-se citar: manobrabilidade, controlabilidade, estabilidade, eficiˆencia e tra¸c˜ao (Everett, 1995a). O sistema de locomo¸c˜ao de um robˆ o m´ovel pode ser representado por modelos cinem´aticos e dinˆamicos. Apesar de o modelo dinˆamico ser importante para o controle de alguns tipos de robˆ os, principalmente os robˆ os a´ereos e aqu´aticos, este cap´ıtulo apresentar´ a somente sua modelagem cinem´atica. A justificativa para este fato ´e que grande parte dos sistemas de controle de movimento ´e baseado apenas na cinem´atica dos robˆ os. Al´em disso, vale ressaltar que, uma vez desenvolvido um modelo cinem´atico, a dinˆ amica pode ser adicionada por meio de t´ecnicas de modelagem apresentadas em outras partes deste manual.
13.1.1
Cinem´ atica
Um robˆ o m´ovel pode ser especificado em seu espa¸co de trabalho por seu vetor de configura¸c˜oes q(t). A dimens˜ ao de q(t) ´e o n´ umero de graus de liberdade (degrees of freedom – DOF) do robˆ o e representa o n´ umero m´ınimo de vari´ aveis independentes que, juntamente com a sua geometria, s˜ ao necess´arias para especificar completamente o robˆo. Por exemplo, um robˆ o terrestre em forma de carro possui trˆes graus de liberdade e pode ser ser especificado pela
Cap. 13
ˆ s mo ´ veis Robo
387
resgate (Jennings, Whelan e Evans, 1997), mapeamento (Thrun, 2001) e manipula¸c˜ao (Pereira, Kumar e Campos, 2004). As pr´oximas subse¸c˜oes discutem alguns aspectos importantes da rob´ otica cooperativa, bem como novas tendˆencias da ´area. Uma vis˜ao geral da a´rea pode ser encontrada em (Parker, 2000).
13.4.1
Coordena¸ c˜ ao
Para executar tarefas cooperativas, os robˆ os devem ser coordenados. Basicamente, as a¸c˜oes de cada membro do grupo em cada fase da coopera¸c˜ao devem ser definidas considerando-se diversos aspectos tais como caracter´ısticas dos robˆ os, do ambiente e os requisitos da tarefa. Al´em disso, a sincroniza¸c˜ao e comunica¸c˜ao entre robˆ os s˜ao geralmente necess´arias na execu¸c˜ao da tarefa, devendo portanto fazer parte do mecanismo de coordena¸c˜ao. Em geral, uma tarefa cooperativa pode ser dividida em subtarefas que, por sua vez, ser˜ ao distribu´ıdas pelos v´arios membros do time. Algumas subtarefas podem ser realizadas de forma completamente independente, enquanto outras v˜ ao depender fortemente de uma maior intera¸c˜ao entre os robˆ os. Um dos trabalhos seminais na coordena¸c˜ao de m´ ultiplos robˆ os ´e a arquitetura Alliance (Parker, 1998). Nessa arquitetura, os robˆ os s˜ao capazes de detectar falhas em seus colegas e alterar seus comportamentos dinamicamente para completar a tarefa. Uma outra t´ecnica para a coordena¸c˜ao de m´ ultiplos robˆ os ´e a aloca¸c˜ao dinˆ amica de pap´eis (Chaimowicz, Kumar e Campos, 2004). Um papel ´e uma fun¸c˜ao que cada robˆ o executa durante a execu¸c˜ao da tarefa cooperativa e define o comportamento do robˆ o a cada momento, especificando, entre outras coisas, os controladores, as vari´aveis e o fluxo de informa¸c˜ao de cada um. Os robˆ os podem modificar seus pap´eis dinamicamente durante a tarefa, adaptando suas a¸c˜oes `as informa¸c˜oes que eles possuem sobre os outros robˆ os, o ambiente e a execu¸c˜ao da tarefa. Outros m´etodos de coordena¸c˜ao baseiam-se em leil˜oes nos quais robˆos oferecem lances pelas tarefas tentando obter “lucro”, ou seja, maximizar alguma fun¸c˜ao de utilidade que indica o benef´ıcio de realizar aquela tarefa (Gerkey e Mataric, 2002; Dias, Zlot, Kalra e Stentz, 2005). Um fato interessante discutido em (Gerkey e Mataric, 2004) ´e que todos esses m´etodos de coordena¸c˜ao s˜ao de certa forma relacionados e podem ser analisados sob a o´tica de algoritmos de otimiza¸c˜ao.
13.4.2
Navega¸ c˜ ao
Quando se trabalha com grupos de n robˆ os, o i-´esimo robˆo possui o seu pr´ oprio espa¸co de configura¸c˜oes livre Cf reei e o problema de planejamento de caminhos transforma-se no problema de encontrar um caminho para todo o grupo no espa¸co composto Cf ree = Cf ree1 × Cf ree2 · · · × Cf reen . Observe que a dimens˜ ao de Cf ree passa a ser n vezes maior que a dimens˜ao do espa¸co para um u ´nico robˆ o. De forma a lidar com esta dificuldade, metodologias descentralizadas e/ou distribu´ıdas devem ser desenvolvidas. Metodologias distribu´ıdas geralmente envolvem dois passos: (i) trajet´ orias individuais s˜ ao planejadas independentemente para cada robˆ o e (ii) as tra-
392
Enciclop´edia de Autom´ atica
com obst´aculos em seu caminho. O uso de sensores externos permite ao robˆo m´ovel detectar a presen¸ca dos obst´ aculos e alterar sua trajet´ oria, de forma a evit´ a-los, enquanto se dirige ao seu destino. Ao se escolher um sensor, por´em, deve-se avaliar algumas caracter´ısticas determinantes do seu desempenho, como: 1. Sensibilidade, definida como a raz˜ ao entre a varia¸c˜ao da sa´ıda e a varia¸c˜ao da entrada. Por exemplo, se um deslocamento de 0,001 mm causa na sa´ıda do sensor uma varia¸c˜ao de tens˜ao de 0,02 V, ent˜ ao sua sensibilidade ´e de 20 V/mm; 2. Linearidade, que ´e uma medida de qu˜ ao constante ´e a rela¸c˜ao entre a varia¸c˜ao da sa´ıda e a varia¸c˜ao da entrada. Um sensor perfeitamente linear teria uma reta como gr´ afico de sa´ıda versus entrada. Em outras palavras, considerando a equa¸c˜ao Y = bX, a rela¸c˜ao entre Y e X ´e linear se b ´e constante. Se b varia com o valor de X, ent˜ ao a rela¸c˜ao ´e n˜ ao-linear; 3. Faixa dinˆ amica, que ´e a diferen¸ca entre os valores m´ınimo e m´aximo que o sensor pode medir. Como exemplo, considere-se um extensˆometro medindo valores de for¸ca entre 0,1 N e 10 N e um sensor ultra-sˆonico medindo distˆ ancias entre 30 cm e 5 m; 4. Tempo de resposta, que ´e o tempo necess´ario para que uma mudan¸ca na entrada produza uma mudan¸ca est´avel na sa´ıda. Pode-se medir, ent˜ ao, o tempo de resposta desde o in´ıcio de uma mudan¸ca na entrada at´e quando a sa´ıda alcan¸ca uma faixa especificada; 5. Exatid˜ ao, definida como a diferen¸ca entre os valores medidos e o valor real. Uma exatid˜ ao de 0,001 mm significa que a m´axima diferen¸ca entre o valor real e o valor medido ´e de 0,001 mm (em m´odulo); 6. Repetitividade, que ´e uma medida da diferen¸ca entre duas medidas su´ importante diferenciar cessivas tomadas sob as mesmas condi¸c˜oes. E repetitividade e exatid˜ ao: um dado sensor pode ter, por exemplo, alta repetitividade, mas pouca exatid˜ ao; 7. Resolu¸c˜ ao, que ´e uma medida do n´ umero de valores distintos que o sensor pode fornecer, dentro de sua faixa dinˆ amica. A resolu¸c˜ao tamb´em indica o valor do menor incremento na entrada que ´e percept´ıvel na sa´ıda. Ela pode ser dada, tamb´em, em valores percentuais: por exemplo, alguns sensores de ultra-som possuem resolu¸c˜ao de 1 por cento da medida de distˆ ancia; 8. Tipo de sa´ıda, que diz se a sa´ıda do sensor ´e um movimento mecˆanico, uma corrente ou uma tens˜ao el´etrica, uma press˜ao ou um n´ıvel de l´ıquido, um n´ıvel de luz, etc. Outros aspectos importantes a serem considerados s˜ao:
Cap. 14
397
˜o Robo ´ tica Percep¸ ca
extensˆometros, que s˜ao capazes de medir a for¸ca (ou press˜ao) exercida sobre um objeto. O princ´ıpio fundamental de sua opera¸c˜ao ´e que uma deforma¸c˜ao mecˆanica produz uma mudan¸ca de resistˆencia el´etrica, que est´a relacionada com a for¸ca aplicada. Um extensˆometro simples consiste de uma base de pl´ astico ou outro material flex´ıvel n˜ ao condutor, cuja superf´ıcie superior est´a coberta por uma fina camada de material condutor (por exemplo, alum´ınio ou cobre), tal como mostrado na Figura 14.4(a). Se a camada condutiva tem uma se¸c˜ao transversal A uniforme, ent˜ ao a resistˆencia el´etrica do sensor ´e dada por Rg =
L , Aσ
(14.1)
onde σ ´e a condutividade do material condutor e L ´e o comprimento do extensˆometro. Para detectar a varia¸c˜ao na resistˆencia deste sensor, ´e usada uma Ponte de Wheatstone para produzir uma tens˜ ao de sa´ıda V0 como resultado da varia¸c˜ao da resistˆencia Rg , conforme mostrado na Figura 14.4(b). Se a ponte est´a balanceada, ou seja, Rg Rb = R1 R2 , (14.2) sua tens˜ao de sa´ıda ser´ a V23 = 0, e da´ı V0 = 0. Qualquer varia¸c˜ao em Rg , causada por deforma¸c˜ao do extensˆometro, desbalancear´ a a ponte e far´ a com que V23 = 0, e da´ı V0 = 0, e seu valor ser´a proporcional a` for¸ca que causou a deforma¸c˜ao.
14.1.2
Sensores para robˆ os m´ oveis
Nesta subse¸c˜ao s˜ao abordados os sensores mais comumente usados em conex˜ ao com robˆos m´oveis terrestres. Neste caso, s˜ao considerados tanto robˆ os m´oveis a rodas, o caso mais freq¨ uente, quanto robˆ os m´oveis a patas. No primeiro caso, os sensores internos s˜ao comumente usados para propiciar a informa¸c˜ao odom´etrica (informa¸c˜ao de velocidade e de posi¸c˜ao do robˆ o), sendo que o sensor mais comumente utilizado ´e o mesmo codificador ´optico j´ a abordado na subse¸c˜ao 14.1.1. Dentre os sensores externos n˜ao-visuais, os mais comumente utilizados incluem os sensores de distˆancia a` base de ultra-som e `a base de LASER . Ambos s˜ao utilizados em aplica¸c˜oes como navega¸c˜ao, detec¸c˜ao e desvio de obst´aculos, constru¸c˜ao de mapas do ambiente, etc. Em se tratando de robˆ os a patas, por´em, tamb´em encontram muita aplica¸c˜ao os sensores de for¸ca, em situa¸c˜oes como detectar se uma pata est´a apoiada no solo ou tocou algum degrau de escada ou outro tipo de saliˆencia. Outros casos de robˆos m´oveis que demandam sensores espec´ıficos s˜ao os robˆ os m´oveis submarinos e os dirig´ıveis a´ereos. Nestes dois casos, sensores de inclina¸c˜ao (inclinˆ ometros), acelera¸c˜ao (acelerˆometros), orienta¸c˜ao (b´ ussolas) e mesmo de posi¸c˜ao absoluta (GPS) s˜ ao bastante comuns. Vale destacar, tamb´em, que alguns destes sensores encontram aplica¸c˜ao nos casos de robˆos m´oveis a rodas, principalmente em aplica¸c˜oes em que o robˆo deve trabalhar em um ambiente exterior (o GPS, por exemplo, ´e importante, neste caso).
410
Enciclop´edia de Autom´ atica
grupo de sensores para acionar outro sensor. Um exemplo bastante ilustrativo de guiagem de sensores corresponde ao trabalho relatado em (Bastos-Filho et al., 1999), em que a informa¸c˜ao obtida a partir de um anel de sensores ultra-sˆonicos ´e utilizada para acionar uma cˆ amara respons´avel pela captura de imagens utilizadas para reconhecer um obst´ aculo em frente ao robˆ o. Como a cˆamara s´o pode obter imagens de objetos a uma certa distˆancia do robˆ o, para a aplica¸c˜ao implementada, a informa¸c˜ao sobre a distˆ ancia robˆ o-objeto ´e medida por um grupo de sensores ultra-sˆonicos, e o valor retornado por tais sensores ´e usado para decidir se a cˆ amara deve ser acionada ou n˜ ao. Um outro exemplo sugestivo que ilustra muito bem a guiagem de sensores ´e relatado em (Freitas, Santos-Victor, Sarcinelli-Filho e Bastos-Filho, 2004), onde duas cˆ amaras s˜ao usadas como sensores a bordo de um robˆo m´ovel. Uma delas ´e uma cˆamara onidirecional, que detecta a presen¸ca de pessoas no ambiente observado por um robˆ o m´ovel que est´a parado. Detectando a presen¸ca de movimento no ambiente observado, a cˆamara onidirecional aciona uma cˆamara perspectiva dotada de controles de aˆngulo de pan e de tilt, a qual rastreia a pessoa em movimento, determinando poss´ıveis trajet´ orias livres a partir do caminho seguido pelas pessoas.
14.3.2
Fus˜ ao sensorial
O tratamento de dados provenientes de sensores diferentes pode ser feito por meio de fus˜ ao sensorial. A fus˜ ao sensorial ´e um caso particular de integra¸c˜ao sensorial que exige que os dados provenientes dos diversos sensores sejam representados atrav´es de um mesmo tipo de dados. Realmente, se os dados a serem fundidos (ou fusionados), provenientes de diferentes sensores, n˜ ao fossem representados atrav´es de uma mesma grandeza, como se poderia fundir informa¸c˜ao visual com medi¸c˜ao de distˆ ancia atrav´es de sensores ultrasˆonicos? Por outro lado, fundir diversas medi¸c˜oes de distˆancia, provenientes de diferentes sensores ultra-sˆonicos ou mesmo de sensores ultra-sˆonicos e sensores a LASER, seria bastante mais simples, j´a que todos os sensores tˆem sua informa¸c˜ao representada atrav´es de um mesmo tipo de dados, a saber distˆ ancia. O resultado mais importante da fus˜ ao sensorial, j´ a consagrado na literatura, ´e que a inclus˜ ao de mais sensores sempre permite obter uma informa¸c˜ao mais precisa, ou seja, reduz a incerteza associada ao valor medido. Vale mencionar, inclusive, que mesmo um segundo sensor com uma incerteza maior que o primeiro contribui para reduzir a incerteza associada a` informa¸c˜ao resultante da fus˜ ao. Em outras palavras, o desvio padr˜ ao associado ao resultado da fus˜ ao de dados ´e menor que o menor desvio padr˜ ao dos sensores cujos dados foram fundidos (Hong, 1999). Este ´e o principal motivo para se utilizar a fus˜ ao sensorial, principalmente em casos em que a fonte de informa¸c˜ao fornece medidas com muita incerteza. Trˆes bons exemplos, tratando de fus˜ ao de dados provenientes de sensores distintos, s˜ao os casos relatados em (Sandi-Lora, Hemerly
416
Enciclop´edia de Autom´ atica
invers˜ ao, de forma que algumas restri¸c˜oes podem ser impostas para resolver satisfatoriamente a ambig¨ uidade inerente ao processo visual. Al´em disso, um robˆ o n˜ ao precisa saber tudo acerca do ambiente para poder atuar com sucesso: dependendo da aplica¸c˜ao, somente alguns aspectos s˜ao necess´arios. Em tarefas de navega¸c˜ao, por exemplo, s˜ ao necess´arias t˜ ao somente informa¸c˜oes que possibilitem encontrar um caminho livre, evitar obst´ aculos ou localizar um alvo. Gra¸cas ao baixo custo e `a grande disponibilidade dos sensores e dispositivos, aliados aos progressos cient´ıficos e algor´ıtmicos na ´area, o uso de vis˜ao computacional vem se difundindo em diversas tarefas como manipula¸c˜ao, inspe¸c˜ao, classifica¸c˜ao e navega¸c˜ao, entre outras. Este cap´ıtulo visa fornecer os princ´ıpios b´ asicos que relacionam as medidas efetuadas por sensores visuais (tipicamente cˆameras) `as propriedades e a` estrutura da cena, assim como descrever algumas aplica¸c˜oes usuais da vis˜ao em rob´ otica e automa¸c˜ao.
15.1
Forma¸ c˜ ao da imagem
Sistemas de vis˜ao tipicamente consistem de dois componentes principais: um sistema ´optico que coleta a luz irradiada em um campo visual e a focaliza em um plano de imagem, e um sistema optoeletrˆonico que transforma esta luz do plano de imagem em um sinal digital apropriado para ser processado em um computador. Estes dois componentes s˜ao respons´ aveis pelo processo de forma¸c˜ao de imagens. Normalmente, o sensor envolvido ´e uma cˆamera que registra uma medida relacionada com a estrutura e as propriedades da cena. A inferˆencia de tais propriedades e estrutura a partir das medidas dos sensores pode ser extremamente dif´ıcil, requerendo a modelagem apropriada do processo de aquisi¸c˜ao das imagens.
15.1.1
Cˆ amera de orif´ıcio e proje¸ c˜ ao perspectiva
Diversos modelos est˜ao envolvidos no processo de aquisi¸c˜ao das imagens, incluindo os modelos geom´etricos de cˆameras. Talvez o modelo mais largamente utilizado seja o modelo de cˆamera de orif´ıcio (pinhole). Idealmente, este dispositivo possui um orif´ıcio extremamente pequeno, por onde a luz penetra na cˆ amera, formando uma imagem geometricamente invertida no plano ´ um modelo geom´etrico u de imagem. E ´til para descrever o sensoriamento de uma cena est´atica, em que toda a imagem est´a em foco e o tempo de exposi¸c˜ao pode ser longo para que uma quantidade adequada de luz penetre na cˆ amera pelo orif´ıcio. A geometria envolvida neste processo ´e bem modelada pela proje¸ c~ ao perspectiva, que ´e a proje¸c˜ao de uma cena tridimensional em uma superf´ıcie bidimensional, determinada por retas que passam por um u ´nico ponto, chamado centro de proje¸ c~ ao. No modelo da cˆ amera de orif´ıcio, a distˆ ancia do centro de proje¸c˜ao ao plano de imagem (ou plano focal) ´e chamada dist^ ancia focal f . O modelo geom´etrico de cˆamera de orif´ıcio e seu correspondente
Cap. 15
423
˜o robo ´ tica Visa
y
c 1 p
p
(x1 ,y1)
1
(x2 ,y2) x
Espaço imagem
(mp ,cp )
2
2
m
Espaço paramétrico
Figura 15.3: Transformada de Hough: (x1 , y1 ) no espa¸co da imagem corresponde a c = −mx1 + y1 no espa¸co param´etrico. Da mesma forma, (x2 ,y2 ) tamb´em tem uma reta correspondente. Se (x1 , y1 ) e (x2 ,y2 ) pertencerem `a mesma reta na imagem, suas retas correspondentes no espa¸co param´etrico ir˜ ao se cruzar em (mp ,cp ) e a reta na imagem ser´a y = mp x + cp . quantos pontos da imagem comp˜ oem a referida reta. H´ a diversos outros m´etodos, como: conex˜ao por similaridade de pixels de borda (por exemplo, similaridade na dire¸c˜ao do gradiente), seguidor de bordas por busca em grafo, utilizando programa¸c˜ao dinˆ amica, etc. (Ballard e Brown, 1982). Segmenta¸ c˜ ao por similaridades A abordagem baseada em similaridade para segmenta¸c˜ao ´e dual da abordagem anterior. Como nenhuma apresenta resultados perfeitos, elas podem cooperar entre si para alcan¸car resultados melhores. A abordagem por similaridade consiste em agregar pixels com caracter´ısticas similares (no caso, brilho) em regi˜oes. Um ponto xi em uma regi˜ao R est´a conectado a xj se existir uma seq¨ uˆencia xi ,..., xj tal que xk e xk+1 , k = i,i + 1,...,j − 1 s˜ao conectados e todos os pontos est˜ao em R. R ´e uma regi˜ao conectada se todos os pontos x ∈ R formarem pares de pontos conectados. Uma imagem ser´a a uni˜ ao de todas as regi˜oes I = ∪Rk . As regi˜oes s˜ao disjuntas, isto ´e, Ri ∩ Rj = φ, com i = j. Limiariza¸ c~ ao ´e um dos processos mais simples de dividir uma imagem em regi˜oes. A binariza¸ c~ ao ´e o caso particular da limiariza¸c˜ao, onde a imagem ´e dividida em duas regi˜ oes (0 ou 1, branco ou preto), de acordo com um valor de limiar L; assim, pixels com valores acima de L recebem valor 1 (ou branco) e recebem 0 (ou preto) no caso contr´ario. Tipicamente, o valor de limiar ´e estabelecido a partir da an´ alise do histograma da imagem: se o objeto de interesse apresentar grande contraste com o fundo, o histograma configurarse-´a bimodal e o valor de limiar pode ser estabelecido no ponto de m´ınimo entre os dois m´aximos do histograma. O m´ etodo de dividir-e-agregar consiste em dividir em regi˜oes disjuntas qualquer regi˜ ao onde o crit´erio de homogeneidade n˜ ao for satisfeito. A seguir, agregam-se quaisquer regi˜oes adjacentes, para as quais o crit´erio de homogeneidade seja satisfeito. Repete-se o procedimento at´e que n˜ ao seja mais
EXCELÊNCIA E INOVAÇÃO EM
ENGENHARIA ELETRÔNICA