Framework de monitoramento persistente multiagente em ambientes marítimos
Aluno: Glauber Rodrigues Leite Orientador: Prof. Dr. Heitor Judiss Savino
Dissertacao_Glauber.pdf
Documento PDF (8.7MB)
Documento PDF (8.7MB)
Dissertação de Mestrado
Framework de
monitoramento
persistente
multiagente em
ambientes
marı́timos
de Glauber Rodrigues Leite
orientado por
Prof. Dr. Heitor Judiss Savino
Prof. Dr. Ícaro Bezerra Queiroz de Araújo
Universidade Federal de Alagoas
Instituto de Computação
Maceió, Alagoas
28 de Fevereiro de 2022
UNIVERSIDADE FEDERAL DE ALAGOAS
Instituto de Computação
FRAMEWORK DE MONITORAMENTO PERSISTENTE
MULTIAGENTE EM AMBIENTES MARÍTIMOS
Dissertação de Mestrado submetida ao Instituto de Computação da Universidade Federal
de Alagoas como requisito parcial para a obtenção do grau de Mestre em Informática.
Glauber Rodrigues Leite
Orientador: Prof. Dr. Heitor Judiss Savino
Coorientador: Prof. Dr. Ícaro Bezerra Queiroz de Araújo
Banca Avaliadora:
Thiago Damasceno Cordeiro
Allan de Medeiros Martins
Prof. Dr., IC-UFAL
Prof. Dr., UFRN
Maceió, Alagoas
28 de Fevereiro de 2022
Catalogação na Fonte
Universidade Federal de Alagoas
Biblioteca Central
Divisão de Tratamento Técnico
Bibliotecário: Marcelino de Carvalho Freitas Neto – CRB-4 - 1767
L533f
Leite, Glauber Rodrigues.
Framework de monitoramento persistente multiagente em
ambientes marítimos / Glauber Rodrigues Leite. – 2022.
41 f. : il.
Orientador: Heitor Judiss Savino.
Coorientador: Ícaro Bezerra Queiroz de Araújo.
Dissertação (mestrado em informática) - Universidade Federal de
Alagoas. Instituto de Computação. Maceió, 2022.
Bibliografia: f. 38-41.
1. Monitoramento ambiental. 2. Robôs cooperativos. 3. Derramamento de
óleo. 4. Busca e rastreamento. 5. Sensoriamento remoto. I. Título.
CDU: 528.8
Dedicatória
À minha famı́lia
Agradecimentos
Agradeço à minha famı́lia, meus pais Geovane e Luciene que vibram a cada conquista
que a educação proporcionou em minha vida, para além disso não há palavras que possam expressar a gratidão que tento demonstrar por ser filho deles. Igualmente à minha
noiva Elian, que consegue me ajudar a suportar as aventuras da vida acadêmica, pois
ela também as vive na sua jornada, me oferecendo a visão balanceada que preciso para
conseguir lidar com outras coisas da vida que também são importantes. Não posso deixar de agradecer a meus irmãos Gabriel e Geovane Filho, pois compartilharam alegrias
do passado e sonhos do futuro, sendo meus grandes amigos desde muito antes da vida
acadêmica. Um agradecimento especial a meu tio Antônio e minha avó Marilene, in memoriam, por terem me dado a oportunidade de ter crescido sob o olhar deles, oferecendo
lembranças que guardarei comigo pelo resto da vida.
Agradeço ao meu orientador Prof. Heitor Savino, que mesmo deixando o cargo formal
de professor, continuou me ensinando a ver além, não só através de palavras, mas de atos.
Também gostaria de destacar um agradecimento ao meu coorientador Prof. Ícaro Bezerra,
por me ensinar com sua forma de resolver as coisas e fornecer um ambiente de trabalho
completamente compatı́vel com meu estilo, sem perder a oportunidade de me corrigir no
que for necessário. Deixo meu profundo agradecimento ao restante do corpo docente do
Instituto de Computação, em especial aos professores do seguimento de Engenharia, Prof.
Davi Bibiano, Prof. Thiago Cordeiro e Prof. Tiago Vieira, pois foram pessoas que sempre
se mostraram acessı́veis, além de confiarem em mim para trabalhos que, por vezes, nem
eu acreditaria que seria capaz.
Gostaria de repetir uma agradecimento que fiz no meu trabalho de conclusão de
curso de graduação para pessoas que não deixaram de estar comigo desde aquele tempo,
começando como parceiros de aulas e construindo uma amizade, participando de aventuras, projetos e metas comigo, são eles Andressa Martins, Arthur Vangasse, Bruno Georgevich, Eduardo Miranda, Gregory Albertt, Luı́s Felipe e Maria Júlia.
Muitas pessoas estão nas entrelinhas deste trabalho, até o produto final que resultou
neste texto, contribuindo indiretamente para o desenvolvimento das técnicas aqui abordadas. Professores e autores que trouxeram clareza ao desafio que foi pretendido encarar.
Escritores, artistas e músicos que, sem saber, me ajudaram e me inspiraram a fazer o que
foi feito.
v
O presente trabalho é parte de um projeto apoiado pela Coordenação de Aperfeiçoamento de Pessoal de Nı́vel Superior - Brasil (CAPES) - Código de Financiamento
88887.469533/2019-00 e 88887.478167/2020-00 – Programa CAPES - Entre Mares.
25 de Janeiro de 2022, Maceió - AL
Now let me go (now let me go)
Away across the sea (now let me go)
The waves can’t be as high
As they pretend to be.
Silence And Distance, Angra
Resumo
Monitorar o oceano de forma eficiente é essencial para planejar estratégias que permitem
a manutenção da saúde do litoral. Isso fica evidente em cenários de desastre ambiental, como o derramamento de óleo reportado em 2019 que atingiu uma grande extensão
da costa nordestina brasileira, trazendo consequências tanto ambientais quanto socioeconômicas para os locais afetados. O evento mostrou a necessidade de expansão da rede
de monitoramento nacional, composta principalmente por boias marı́timas, que são componentes estáticos ou passivos, nessa tarefa. Com base nesta problemática, este trabalho
propõe um framework para sistema de monitoramento persistente com sensoriamento
ativo, a partir de veı́culos autônomos colaborativos envolvidos em uma missão marı́tima.
Esse sistema é capaz de gerenciar simulações de um processo de dispersão e sincronizar
agentes em uma missão, trabalhando em uma polı́tica de patrulhamento.
Palavras-chave: Monitoramento ambiental; Robôs cooperativos; Resposta a
derramamento de óleo; Busca e rastreamento; Sensoriamento remoto.
viii
Abstract
Efficiently monitoring the ocean is essential to plan strategies that enable the health of
the coast to be maintained. This is evident in environmental disaster scenarios, such
as the oil spill reported in 2019 over a large stretch of the northeastern Brazilian coast,
bringing environmental and socioeconomic consequences to the affected locations. The
event showed the need to expand the national monitoring network, composed mainly
of marine buoys, which are static or passive components in this task. Based on this
problem, this work proposes a framework for a persistent monitoring system with active
sensing from autonomous collaborative vehicles involved in a maritime mission. This
system manages simulations of a dispersion process and synchronizes agents on a mission,
working on a patrol policy.
Keywords: Environmental Monitoring ; Cooperative Robots; Oil spill response; Search and tracking ; Remote sensing.
ix
Lista de Figuras
1.1
1.2
2.1
2.2
2.3
2.4
2.5
2.6
3.1
3.2
3.3
3.4
4.1
4.2
4.3
Exemplos de danos pela presença do óleo na (a) fauna marinha e (b) ecossistemas importantes, como os manguezais. Fonte: BBC/Victor Uchôa . .
Mancha de óleo detectada em Maragogi, Alagoas.
Fonte: REUTERS/Diego Nigro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Variáveis usadas para interpolação bilinear da velocidade do vento na
direção x. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aplicação de interpolação bilinear para variável de velocidade de correntes
marı́timas em parte da costa de Alagoas. . . . . . . . . . . . . . . . . . . .
Evolução da simulação da equação de advecção e difusão com quatro fontes
de derramamento contı́nuo de óleo durante 1 dia. . . . . . . . . . . . . . .
Evolução da simulação usando modelo do GNOME com quatro fontes de
derramamento contı́nuo de óleo durante 1 dia. . . . . . . . . . . . . . . . .
Tratamento das partı́culas usando (a) histograma 2D e (b) Kernel Density
Estimation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Visualização de segmento com levantamento de ISL e alguns dos atributos
considerados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Taxonomia para problemas de target management utilizando múltiplos
robôs, segundo Robin and Lacroix (2016) . . . . . . . . . . . . . . . . . . .
Perfil de caminho gerado pela polı́tica reativa (a) sem considerar e (b)
considerando menor deslocamento da frente do robô. . . . . . . . . . . . .
Região exemplo para aplicação da polı́tica reativa adaptada, em forma (a)
poligonal e (b) discretizada em mapa de grade. . . . . . . . . . . . . . . . .
Aplicação da estratégia de patrulhamento reativa adaptada com 7 agentes.
As imagens (a) e (d) mostram também o caminho percorrido pelos agentes,
enquanto as imagens (b) e (c), apenas as posições atuais. . . . . . . . . . .
2
3
11
12
13
15
16
17
19
20
21
22
Arquitetura para sistema de monitoramento persistente. . . . . . . . . . . 23
Exemplos de regiões de interesse para simulação e missão. . . . . . . . . . . 24
Exemplos de mapas de (a) sensibilidade ambiental e de (b) concentração
aplicados em região de interesse da missão. . . . . . . . . . . . . . . . . . . 26
x
4.4
Esquema de funcionamento local de veı́culo envolvido na missão. . . . . . . 27
5.1
Regiões de (a) simulação e (b) missão no cenário 1, com foco em área de
Maragogi-AL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estado inicial da área de missão no (a) mapa de partı́culas e (b) mapa de
concentração. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Regiões de (a) simulação e (b) missão no cenário 2, com foco em área de
Natal-RN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estado inicial da área de missão no (a) mapa de partı́culas e (b) mapa de
concentração. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estado final da área de missão no (a) estudo de caso I e no (b) estudo de
caso II. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estado final da área de missão no (a) estudo de caso III e no (b) estudo de
caso IV. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Estado final da área de missão no estudo de caso V. . . . . . . . . . . . . .
5.2
5.3
5.4
5.5
5.6
5.7
xi
29
30
31
32
34
35
36
Lista de Tabelas
5.1
5.2
5.3
5.4
Resumo da configuração dos estudos de caso . . . . . . . . . . . . . . . . .
Parâmetros usados pela polı́tica reativa nos estudos de caso I e II . . . . .
Parâmetros usados pela polı́tica reativa nos estudos de caso III e IV . . . .
Parâmetros usados pela polı́tica reativa no estudo de caso V . . . . . . . .
xii
33
33
34
35
Lista de Sı́mbolos
R
Conjunto dos números reais.
x
Vetor x (escrito em minúsculo).
X
Matriz X (escrito em maiúsculo).
X>
Transposta da matriz X.
X −1
Inversa da matriz x.
diag(x1 , x2 , ..., xn )
c(X, t)
Matriz diagonal n elementos em sua diagonal principal.
Concentração de óleo na posição X e tempo t.
ki
Coeficiente de difusão.
Ts
Passo temporal de simulação.
δx
Passo espacial de simulação na coordenada x.
δy
Passo espacial de simulação na coordenada y.
∂Ω
Borda do contorno definido por Ω
∂f
∂x
Derivada parcial de primeira ordem de f em relação a x.
∂2f
∂x2
Derivada parcial de segunda ordem de f em relação a x.
∇
Vetor gradiente composto pelas derivadas parciais.
ĉkde (x)
K(·)
Estimativa de concentração usando KDE.
Função de densidade de probabilidade usada como Kernel do KDE.
κ
Ganho da polı́tica reativa.
cj
Concentração do poluente na j-ésima célula na polı́tica reativa.
sj
Sensibilidade ambiental na j-ésima célula na polı́tica reativa.
xiii
δij
Distância do i-ésimo agente à j-ésima célula na polı́tica reativa.
max{x, y}
Função máximo entre x e y.
mini6=j fi
Menor valor de fi , excluindo fj .
xiv
Lista de Abreviaturas
API
Application Programming Interface
GOOS
Global Ocean Observing System
GFS
Global Forecasting System
GNOME
General NOAA Operational Modeling Environment
HTTP
Hypertext Transfer Protocol
HYCOM
HYbrid Coordinate Ocean Model
ITOPF
International Tanker Owners Pollution Federation
ISL
Índice de Sensibilidade do Litoral
KDE
Kernel Density Estimation
KML
Keyhole Markup Language
NetCDF
Network Common Data Form
NOAA
National Oceanic and Atmospheric Administration
PIRATA
Prediction and Research Moored Array in the Tropical Atlantic
PNBOIA
Programa Nacional de Bóias Marı́timas
PIP
Point-In-Polygon
REST
Representational State Transfer
UAV
Unmanned Aerial Vehicle
xv
Sumário
1 Introdução
1.1 Acidente no Brasil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Monitoramento por veı́culos autônomos . . . . . . . . . . . . . . . . . . . .
1.3 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Organização do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
3
4
5
6
6
6
7
2 Dinâmica do óleo
2.1 Equações de advecção e difusão . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Método das diferenças finitas . . . . . . . . . . . . . . . . . . . . .
2.1.2 Interpolação bilinear . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3 Simulação de óleo . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 GNOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 KDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 ISL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
8
9
11
12
13
14
16
3 Monitoramento Persistente
3.1 Polı́tica reativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1.1 Cenário multiagente . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Polı́tica reativa adaptada . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
18
20
20
4 Arquitetura do framework
23
4.1 Simulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Missão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5 Experimentos
5.1 Funcionamento do sistema supervisor . . . . . . . . . . . . . . . . . . . . .
5.1.1 Cenário 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1.2 Cenário 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 Supervisor e polı́tica implementada . . . . . . . . . . . . . . . . . . . . . .
xvi
28
28
29
30
31
5.2.1
5.2.2
5.2.3
Estudos de caso I e II . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Estudos de casos III e IV . . . . . . . . . . . . . . . . . . . . . . . . 33
Estudo de caso V . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Conclusão
37
Bibliografia
38
xvii
Capı́tulo 1
Introdução
Um acidente de vazamento de óleo é um evento que acontece quando produtos relacionados
a óleo, em sua forma bruta ou refinada, são despejados em larga escala no ambiente em
forma de poluente, na maior parte das vezes em cenários marı́timos. Segundo De la
Huz et al. (2011), conhecer a composição quı́mica do poluente, seu comportamento, a
área afetada e metodologias de respostas aplicáveis, são caracterı́sticas que têm papel
importante na extensão do dano resultante causado pelo desastre.
A origem de um acidente de vazamento de óleo pode variar. Ela pode ser proveniente
de causas naturais, como erosão de rochas sedimentadas no fundo do mar e transtornos
climáticos. Óleo vindo debaixo do solo oceânico pode escapar para a superfı́cie através de
falhas associadas ao processo de diapirismo entre as rochas e o sal (Anderson et al., 1983).
Quando despejado a um ritmo devagar, vazamentos naturais permitem que o ecossistema
se adapte, mas é fato que todo vazamento de óleo causa impacto no ambiente marı́timo
(NOAA, 2019).
No entanto, a maioria dos impactos acontecem por ação humana, uma vez que o óleo
é um componente vital e altamente demandado pela sociedade. De acordo com a U.S.
Information Administration 1 , o consumo global de petróleo é de mais de 100 milhões de
barris, demandando maior produção, exploração e transporte do recurso. Cada um desses
processos tem chance de causar acidentes de vazamento.
As causas mais usuais de acidentes são relacionadas a situações de colisão, encalhe
(impacto do navio no solo marı́timo), falha de equipamentos durante o transporte, perfuração offshore e outras atividades relacionadas a petróleo. Em geral, esses desastres são
acompanhados de uma série de consequências negativas para o meio ambiente, economia
e a sociedade. Sistemas importantes, como manguezais, pântanos e recifes de coral são altamente afetados pelo poluente pois, uma vez depositado, ele se adere a estas superfı́cies e
raramente se move, arriscando perda permanente dessas estruturas (Guzmán et al., 1994;
Duke, 2016). A existência do poluente é prejudicial em qualquer cenário, não obstante,
1
Disponı́vel em https://www.eia.gov/outlooks/steo/report/global_oil.php
1
Acidente no Brasil
(a)
2
(b)
Figura 1.1: Exemplos de danos pela presença do óleo na (a) fauna marinha e (b) ecossistemas importantes, como os manguezais. Fonte: BBC/Victor Uchôa
ela apresenta maiores riscos nos sistemas costeiros do que em alto-mar.
A presença do poluente causa perturbação em populações de plantas e põe em risco a
fauna marinha, desde comunidades microbianas do fundo do mar a peixes, tartarugas e
aves marinhas (Bik et al., 2012; Putman et al., 2015; Beyer et al., 2016), como mostrado
na Figura 1.1.
Com relação aos impactos socioeconômicos, serviços relacionados ao mar, como turismo e a indústria alimentı́cia são gravemente afetados, considerando o nı́vel de relevância
dessas atividades na economia local e na vida dos habitantes costeiros (Garcı́a Negro et al.,
2009). Além disso, quando chega a rios, o óleo pode contaminar nascentes, ameaçando a
saúde humana e o meio ambiente.
Diversas estratégias podem ser empregadas como contramedida a tais desastres, como
controlar a fonte de derramamento, utilização de equipamentos mecânicos e dispersantes
quı́micos especializados para conter, tratar ou remover o poluente. Entretanto, para a
aplicação eficiente das demais, a primeira estratégia de resposta a ser empregada é a
supervisão e monitoramento de óleo derramado, o que permite observar e predizer o
movimento do poluente (Walker, 2017).
A integração de tecnologias de sensoriamento remoto com análises de previsão
climática, condições oceânicas e modelagem dinâmica de processos de dispersão de óleo
é um fator crucial no processo de tomada de decisões (Ornitz and Champ, 2002). Além
de auxiliar contramedidas estratégicas, a aquisição de dados do derramamento pode ser
importante para adquirir evidência legal para aplicação da lei (Fingas and Brown, 2018).
Portanto, o desenvolvimento de tecnologias eficientes para o monitoramento do mar é
fundamental para vários setores da sociedade.
Acidente no Brasil
3
Figura 1.2: Mancha de óleo detectada em Maragogi, Alagoas. Fonte: REUTERS/Diego
Nigro
1.1
Acidente no Brasil
Em 2019, um grande derramamento de óleo aconteceu na costa brasileira, afetando ao
menos 900 localidades 2 . Dentre as regiões afetadas, zonas de proteção ambiental, como a
Costa dos Corais, também estão entre os locais atingidos, como mostrado na Figura 1.2,
As primeiras manchas foram noticiadas entre meados de agosto e começo de setembro na
região nordeste, aparecendo outras manchas no decorrer dos meses, com um pico de 536
ocorrências em novembro. O poluente reapareceu em praias por vários vezes, por conta
das mudanças na dinâmica das marés relacionadas à habilidade de mover sedimentos
presos em rochas, o que demandava esforços de limpeza urgentes3 .
Quase um ano depois da detecção da primeira mancha, novos fragmentos de óleo
provenientes do mesmo derramamento foram encontrados nas costas de Alagoas e Pernambuco4 . Uma das razões que dificultaram a detecção desse derramamento, acessar a
origem e sua escala total, é a densidade do óleo bruto, que frequentemente faz com que o
poluente flutue abaixo da superfı́cie da água5 . Diversas vezes, o óleo só era detectado na
superfı́cie quando chegava à margem.
2
https://g1.globo.com/natureza/desastre-ambiental-petroleo-praias/noticia/2019/12/
07/mais-de-900-localidades-foram-atingidas-por-manchas-de-oleo-no-litoral-brasileiro-diz-ibama.
ghtml. Acessado em 20 de Março de 2020.
3
https://www.redebrasilatual.com.br/ambiente/2020/03/quase-sete-meses-depois-oleo-ainda-manchaAcessado em 20 de março de 2020.
4
https://g1.globo.com/al/alagoas/noticia/2020/06/25/analise-confirma-que-oleo-que-reapareceu-em
ghtml. Acessado em 26 de junho de 2020Accessed on June 26th, 2020.
5
https://www.reuters.com/article/us-brazil-environment-oil-explainer/
explainer-the-mysterious-oil-washing-up-on-brazilian-shores-idUSKBN1X421J.
Acessado
em 20 de março de 2020.
Monitoramento por veı́culos autônomos
4
Outro incidente, de proporções relativamente menores, ocorreu em 2020, quando 333
litros de óleo residual foi encontrado ao redor de um cargueiro encalhado a 100 quilômetros
da costa brasileira. Apesar dos tanques carregando cerca de 4000 toneladas estarem intactos, a possibilidade de vazamento estava sendo considerada6 . Esses relatos são importantes para mostrar que eventos de derramamento de óleo podem ser súbitos, desastrosos
e recorrentes, demandando estratégias de respostas rápidas e eficientes
A aquisição de dados para monitoramento oceanográfico no Brasil é operado pelo
sistema nacional chamado GOOS-Brasil, parte da aliança regional OCEATLAN GOOS.
Ela provê dados oceanográficos para pesquisas e outros propósitos práticos de grande
importância, como previsão climática e avaliação da saúde costeira e oceânica. Para
monitorar um conjunto de variáveis de processo no oceano atlântico tropical, uma rede de
observação in-situ feita por 21 bóias marı́timas fixas é mantida pelo programa PIRATA
(do inglês, Prediction and Research Moored Array in the Tropical Atlantic), através de
uma cooperação multinacional entre Brasil, França e Estados Unidos. Nessa mesma linha,
o Programa Nacional de Bóias Maritimas (PNBOIA) implementa um sistema com 22 bóias
fixas e 297 bóias à deriva.
Apesar do sistema de monitoramento existente, a detecção da mancha de óleo foi
problemática. Na maior parte das vezes as manchas de óleo só eram detectadas quando
já atingiam as praias, dificultando as tarefas de planejamento, demandando trabalhos
de limpeza urgentes, sem a elaboração de estratégias de respostas prévias otimizadas ou
eficientes. Uma expansão dessa rede de aquisição de dados oceânicos se torna essencial
para garantir a saúde climática e marı́tima nacional.
1.2
Monitoramento por veı́culos autônomos
Estratégias de sensoriamento remoto vem sendo empregadas ao redor do globo, como
radares de alta frequência, imagens de satélite e radares de abertura sintética (SAR).
Observações no local são importantes, pois sensores ópticos como câmeras operando na
faixa de luz visı́vel, infravermelho e ultravioleta podem ser instalados, da mesma forma
que sensores mais especı́ficos, como fluorosensores a laser. Isso permite que um melhor
desempenho na detecção do poluente, de acordo com as caracterı́sticas e disposição da
pluma quı́mica no ambiente. Interferências em sensores ultravioleta são diferentes das
apresentadas em sensores infravermelho, de forma que uma combinação das duas tecnologias melhora os resultados da detecção de óleo (Goodman, 1994). Fluorosensores a laser
podem ser usados tanto de dia quanto de noite, sendo capazes de distinguir a assinatura
de emissão de fluorescência de diferentes tipos de óleo (Brown et al., 2004).
Para observação in-situ, podem ser usados veı́culos aéreos comportando sensores para
6
https://g1.globo.com/ma/maranhao/noticia/2020/02/28/ibama-encontra-333-litros-de-oleo-notifica
ghtml. Acessado em 20 de março de 2020.
Justificativa
5
varredura de grandes áreas. Entretanto, a aplicação de veı́culos aéreos e de superfı́cie
autônomos em tarefas de monitoramento e rastreamento, trabalhando de forma coordenada, tem atraı́do grande interesse, pois possibilitam acompanhar em tempo real situações
de desastre ambiental por óleo ou outro poluente de forma eficiente e adaptativa. Dessa
forma, tem-se as vantagens da detecção do óleo in-situ, com a possibilidade de detectar
a mancha ainda em alto mar, onde apresenta menor risco e permite antecipar estratégias
de contenção, coleta ou dispersão.
A aplicação de robôs móveis executando atividades como busca distribuı́da em mapa,
localização de fonte de vazamento, seguimento de rastros de pluma quı́mica, entre outras
é revisada em Ishida et al. (2012). Usando um robô de superfı́cie e um subaquático trabalhando colaborativamente, Vasilijevic et al. (2017) apresentou um sistema de amostragem
oceânica com abordagem human-on-the-loop para coordenação de missões de monitoramento ambiental. Seguindo com um objetivo similar, Wang et al. (2019) propôs uma
estratégia de controle cooperativo para dois veı́culos autônomos com o objetivo de rastrear a propagação das bordas de uma pluma de poluente enquanto a mesma evoluı́a
dinamicamente, desenvolvendo um observador através das equações diferenciais do processo.
Considerando os estudos acima descritos e a aplicabilidade dessas abordagens em um
cenário como o do acidente ocorrido na costa brasileira em 2019, este trabalho apresenta
uma estrutura computacional genérica em forma de framework. Técnicas de navegação
em veı́culos autônomos existentes podem ser testadas ou novas técnicas podem ser desenvolvidas com a ajuda desse arcabouço para simular ou supervisionar atividades como
busca, patrulhamento, observação ou rastreamento de óleo.
1.3
Justificativa
A Federação Internacional de Poluição por Petroleiros (do inglês International Tanker
Owners Pollution Federation, ITOPF) relata mais de 1800 derramamentos, despejando
cerca de 5,86 milhões de toneladas como resultado de desastres com petroleiros desde 1970
em nı́vel global. Apesar do número de grandes acidentes de derramamento de óleo ter
reduzido nos últimos anos, a ocorrência de apenas um grande evento implica em resultados
catastróficos para a sociedade e o meio ambiente.
Com relação ao desastre que atingiu o litoral nordeste do Brasil em 2019, pôde ser observada ausência de respostas concretas e imediatas sobre o derramamento em questão, de
forma que houve demora para detecção e consequente planejamento de ações de resposta.
A ineficiência no monitoramento e previsão da evolução do desastre mostraram a necessidade de investimento em expansão da rede de supervisão marı́tima, como a utilização de
tecnologias de monitoramento persistente.
A construção de um framework para sistema de monitoramento persistente, supor-
Objetivos
6
tando veı́culos autônomos trabalhando de forma colaborativa, provê uma estrutura que
permitirá supervisionar áreas com maior probabilidade de concentração do poluente, priorizar visitas dos agentes em áreas mais sensı́veis e tratar o recebimento de informações
adquiridas in situ pelos veı́culos envolvidos na missão. Assim, o sistema desempenhará
um papel ativo como estratégia de resposta a desastres ambientais marı́timos, inclusive
permitindo melhor planejamento de outras ações nesse contexto.
1.4
Objetivos
Os objetivos a seguir estabelecem as intenções e delimitações do trabalho, considerando
que, por se tratar da proposta de uma arquitetura modular, algumas partes foram desenvolvidas como prova de funcionamento, mas a mudança, por exemplo, de técnica de
patrulhamento ou simulador externo é possı́vel.
1.4.1
Objetivo Geral
Desenvolver um framework para implantação de sistemas de monitoramento marı́timo
usando veı́culos autônomos em cenários de derramamento de óleo. O framework será
responsável por gerenciar a simulação da dinâmica do processo de dispersão da substância
no mar, fornecer dados do estado dos componentes de simulação e missão para veı́culos e
supervisores, e prover interface para lidar com feedback dos agentes envolvidos na missão.
1.4.2
Objetivos Especı́ficos
• Proporcionar um serviço persistente de simulação de processos de dispersão de óleo
através de web service;
• Estabelecer campos potenciais de sensibilidade ambiental a partir do Índice de Sensibilidade do Litoral (ISL);
• Adquirir, de forma recorrente, previsões climáticas para a simulação;
• Implementar interface de configuração de simulação e missão;
• Disponibilizar um mecanismo de requisições HTTP (em formato RESTful API )
para acessar e modificar variáveis de simulação e missão;
• Adaptar polı́tica reativa de patrulhamento para o contexto de ambientes variantes
no tempo, com áreas de sensibilidade e região de interesse não-quadrada.
Organização do Trabalho
1.5
7
Organização do Trabalho
O primeiro capı́tulo deste trabalho serviu para introduzir o tema a ser dissertado, explicitando histórico de acidentes, estratégias de resposta, trabalhos relacionadas, relevância
e objetivos. O Capı́tulo 2 discute como modelar e simular a dispersão do poluente, no
caso óleo bruto, usando abordagens que podem ser utilizadas no framework desenvolvido,
além de determinar quais variáveis são importantes para possibilitar simular esse processo.
O Capı́tulo 3 abrange técnicas de monitoramento persistente, descrevendo a área, uma
técnica de aplicação e uma adaptação dessa técnica para o problema deste trabalho. O
Capı́tulo 4 aborda a arquitetura do framework, onde os temas discutidos anteriormente
são encapsulados e as tecnologias envolvidas. O Capı́tulo 5 apresenta a definição de experimentos realizados para testar a ferramenta e discute os resultados obtidos. O Capı́tulo
6 fecha este trabalho trazendo uma conclusão para o que foi debatido e fornecendo uma
visão de trabalhos futuros.
Capı́tulo 2
Dinâmica do óleo
O comportamento de óleo sob água pode ser modelado de acordo com as caracterı́sticas
que se deseja observar, de forma que esse comportamento pode ser dividido em processos.
Esses processos representam as transformações fı́sicas de massa, concentração e propriedades quı́micas que o poluente vai sofrer no decorrer do tempo e do espaço em que se
localiza. De acordo com NOAA (2019), alguns exemplos de processos que afetam o derramamento de óleo são evaporação, emulsificação, sedimentação, dispersão, dissolução,
entre outros.
Nas áreas costeiras, onde o transporte de poluentes acontece em águas relativamente
rasas, a interação apresentada em fenômenos de advecção, difusão, evaporação, entre
outros, é fortemente relacionada às variáveis meteorológicas, principalmente o vento e
correntes marı́timas superficiais (Fingas, 2011; Proctor et al., 1994). Portanto, um sistema
de monitoramento eficiente deve incorporar simulações de probabilidade da concentração
de óleo, adquirir constantemente previsões climáticas e prestar interface para algoritmos
capazes de trabalhar com ambientes que mudam com o tempo.
Neste trabalho, o processo de dispersão foi priorizado por ser parte importante do
grupo de processos que focam em descrever a movimentação do óleo no ambiente (Fingas
and Brown, 2018). Duas abordagens para a modelagem dessa dispersão foram consideradas, uma a partir das equações diferenciais parciais dos fenômenos de advecção e difusão,
e outra abordagem lagrangiana, onde partı́culas de óleo interagem com a simulação computacional.
2.1
Equações de advecção e difusão
Considerando um contorno Ω, onde o fluido modelado deverá se movimentar, os fenômenos
de advecção e difusão podem ser derivados da equação de continuidade de Navier-Stokes
aplicada à concentração do óleo c em uma posição X e tempo t (Li et al., 2014). A equação
2.1 mostra essa relação, considerando ainda a velocidade v que o fluido está submetido e
um coeficiente de difusão k.
8
Equações de advecção e difusão
9
∂c(X, t)
+ v(X, t)> ∇c(X, t) = k∇2 c(X, t)
∂t
X ∈ Ω ⊂ Rn
(2.1)
A equação 2.1 pode ser dividida em três componentes, a primeira é a variação da
concentração no tempo, que poderá assumir valores diferentes de zero até o processo de
dispersão chegar em regime permanente, quando essa parcela é anulada. A componente
de advecção, v(X, t)> ∇c(X, t), é responsável pelo movimento da substância por conta da
dinâmica do fluido. Já a componente de difusão, k∇2 c(X, t), provê um comportamento
suave que expande a concentração no espaço.
Considerando que simulações de óleo podem trabalhar em 2 ou 3 dimensões, Wang
et al. (2019) adaptou a componente de difusão para forma quadrática, com coeficientes
de difusão para cada dimensão espacial. O resultado dessa adaptação pode ser observado
na equação 2.2.
∂c(X, t)
+ v(X, t)> ∇c(X, t) = ∇> D∇c(X, t)
∂t
D = diag(k1 , ..., kn )
X ∈ Ω ⊂ Rn ,
(2.2)
n = {2, 3}
Aplicando a equação 2.2 no cenário bidimensional (n = 2), podem ser explicitadas
as componentes cartesianas de posição x e y, tal como para velocidade (v x e v y ). Essa
delimitação fornece uma descrição simplificada da equação diferencial parcial mostrada
na equação 2.3, lembrando que a concentração c é uma variável escalar.
∂c(X, t)
∂c(X, t)
∂c(X, t)
∂ 2 c(X, t)
∂ 2 c(X, t)
+ v x (X, t)
+ v y (X, t)
= k1
+
k
2
∂t
∂x
∂y
∂x2
∂y 2
X∈Ω⊂R
2.1.1
(2.3)
2
Método das diferenças finitas
Para desenvolver uma simulação computacional da equação 2.3, é necessário realizar uma
tratamento numérico em forma de discretização. O método de diferenças finitas tem sido
usado na simulação de fluidos para resolver equações de Navier-Stokes (Griebel et al.,
1998), como uma alternativa discreta ao método de elementos finitos. Kajishima and
Taira (2017) explorou essa abordagem especificamente na implementação de equações de
advecção-difusão em uma região retangular.
Em duas dimensões, o método das diferenças finitas pode aplicar a discretização a
Equações de advecção e difusão
10
partir o conceito de diferenças centrais. Dessa forma, dados os parâmetros de passo de
amostragem temporal Ts e espacial δx e δy, as derivadas podem ser reescritas da seguinte
forma:
c(X, t + Ts ) − c(X, t)
∂c(X, t)
→
∂t
Ts
(2.4a)
∂c(X, t)
c(x + δx, y, t) − c(x − δx, y, t)
→
∂x
2δx
(2.4b)
∂c(X, t)
c(x, y + δy, t) − c(x, y − δy, t)
→
∂y
2δy
(2.4c)
∂ 2 c(X, t)
c(x + δx, y, t) + 2c(x, y, t) − c(x − δx, y, t)
→
2
∂x
δx2
(2.4d)
c(x, y + δy, t) + 2c(x, y, t) − c(x, y − δy, t)
∂ 2 c(X, t)
→
2
∂y
δy 2
(2.4e)
Com isso, o passo de simulação pode ser definido aplicando as equações 2.4 de diferenças centrais à equação 2.3. São definidas condições iniciais de concentração para t0 e
condições de contorno de Dirichlet para delimitar a dispersão do óleo às regiões com água.
Essas considerações podem ser resumidas no conjunto de equações 2.5.
c(x + δx, y, t) − c(x − δx, y, t)
+
adv =v x (x, y, t)
2δx
c(x, y + δy, t) − c(x, y − δy, t)
+ v y (x, y, t)
2δy
(2.5a)
c(x + δx, y, t) + 2c(x, y, t) − c(x − δx, y, t)
diff =k1
+
δx2
c(x, y + δy, t) + 2c(x, y, t) − c(x, y − δy, t)
+ k2
δy 2
(2.5b)
c(x, y, t + Ts ) = c(x, y, t) + Ts (diff − adv)
(2.5c)
c(X, t)|X∈∂Ω = 0,
t ≥ t0
c(X, t0 ) = c0 (X)
(2.5d)
(2.5e)
Fontes de derramamento de óleo podem ser definidas em posições determinadas X s ,
de forma que a concentração nesses locais tenha valor máximo cmax . A simulação pode
restringir esse vazamento a um momento inicial, um momento especı́fico ou mesmo um
vazamento contı́nuo.
Equações de advecção e difusão
2.1.2
11
Interpolação bilinear
Correntes marı́timas e ventos são fatores climáticos que influenciam na movimentação
do óleo, sendo importantes na determinação da velocidade a qual o poluente vai estar
submetido no fenômeno de advecção, presente na equação 2.5a. De fato, próximo da
costa, com ventos abaixo de 10 km/h, a velocidade que a pluma de óleo se move está
relacionada a 100% da velocidade de corrente marı́tima e 3% da velocidade do vento,
havendo, portanto, predominância da influência da corrente. Em alto mar, com ventos
atingindo velocidades próximas de 20 km/h, o vento passa a ser fator predominante no
movimento da pluma (Fingas and Brown, 2018).
O problema é que leituras de ventos e correntes fornecidas por repositórios de monitoramento de variáveis climáticas, como GFS (Global Forecast System) e HYCOM,
oferecem resolução baixa, no máximo 0,08 graus ou 8,8 quilômetros, para os propósitos
deste trabalho. Para que a simulação seja aplicável em cenário de busca de um veı́culo de
monitoramento, pretende-se realizar simulação com células de discretização de cerca de
500 metros a 1 quilômetro.
Nesse cenário bidimensional, a interpolação bilinear (Press et al., 2007) possibilita
estimar valores intermediários desconhecidos para os campos vetoriais, já desacoplados
na direção x e y, da velocidade do vento (v air,x e v air,y ) e das correntes marı́timas (v cur,x
e v cur,y ). A figura 2.1 mostra um exemplo com as variáveis necessárias para realizar a
estimação de v air,x em uma localização arbitrária.
v air,x (x1 , y2 )
v air,x (x2 , y2 )
v air,x (x, y)
v air,x (x1 , y1 )
v air,x (x2 , y1 )
Figura 2.1: Variáveis usadas para interpolação bilinear da velocidade do vento na direção
x.
Seguindo o exemplo da figura 2.1, o valor de v air,x (x, y) é calculado a partir da equação
2.6, usando dados das leituras mais próximas de velocidade do vento na direção x. O
procedimento é análogo para v air,y , v cur,x e v cur,y .
Equações de advecção e difusão
12
"
#"
#
h
i v
y2 − y
1
air,x (x1 , y1 ) v air,x (x1 , y2 )
v air,x (x, y) =
x − x x − x1
(x2 − x1 )(y2 − y1 ) 2
v air,x (x2 , y1 ) v air,x (x2 , y2 ) y − y1
(2.6)
A figura 2.2 mostra o resultado do cálculo de interpolação bilinear a partir de leituras
de correntes marı́timas provenientes do repositório HYCOM, com resolução de 0,08 graus,
aplicadas à um mapa discreto com células de 500 metros de altura e largura. O campo
vetorial azul mostra vetores reais amostrados do repositório de dados ambientais, com
leituras datadas de 03 de Novembro de 2020, às 12 horas, enquanto o campo vetorial
vermelho apresenta as estimativas computadas pela técnica de interpolação apresentada.
Figura 2.2: Aplicação de interpolação bilinear para variável de velocidade de correntes
marı́timas em parte da costa de Alagoas.
2.1.3
Simulação de óleo
Utilizando esses vetores de velocidade, uma simulação de vazamento de óleo usando as
equações de advecção-difusão pelo método das diferenças finitas pode ser gerada. Como
cenário de prova de conceito, foi considerado um derramamento persistente de óleo proveniente de quatro fontes geograficamente espaçadas, ocorrendo em um perı́odo de 24 horas.
Foram ainda configurados passo temporal de simulação Ts = 0, 01 segundos, passos espaciais δx = δy = 500 metros e coeficientes de difusão k1 = k2 = 2 m2 /s. A figura 2.3
mostra a evolução da simulação.
GNOME
13
(a) 1 hora de simulação
(b) 6 horas de simulação
(c) 12 horas de simulação
(d) 24 horas de simulação
Figura 2.3: Evolução da simulação da equação de advecção e difusão com quatro fontes
de derramamento contı́nuo de óleo durante 1 dia.
Duas fontes foram posicionadas próximo da costa, cerca de 5 km, uma em 35,153W
8,999S e outra em 35,176W 9,135S, mostrando que um derramamento com essas propriedades sob determinadas condições climáticas é capaz de chegar ao litoral no perı́odo de
um dia. As demais fontes estão localizadas em regiões mais afastadas, uma em 35,062W
9,112S e outra em 34,994W 9,248S, mas dentro da zona contı́gua do território brasileiro
(Brasil, 1993), que se estende a cerca de 38 quilômetros da costa.
2.2
GNOME
O GNOME (do inglês, General NOAA Operational Modeling Environment) é uma ferramenta de modelagem desenvolvida pelo NOAA (do inglês, National Oceanic and Atmospheric Administration), uma instituição governamental estados-unidense que trata
de assuntos ligados à administração e saúde dos oceanos. O foco do GNOME é modelar diversos aspectos de um derramamento de óleo e estimar sua movimentação. Para
isso, a ferramenta é capaz de considerar caracterı́sticas como a composição do poluente,
GNOME
14
incertezas no processo e influências climáticas.
Para realizar as predições, o GNOME usa uma abordagem de transporte Lagrangiano, que define a movimentação do derramamento a partir da interação de partı́culas
de óleo. Além da aplicação standalone para configuração e visualização de simulações, é
fornecido o pyGNOME1 um conjunto de utilitários e bindings para a linguagem Python,
que funciona de maneira independente das outras plataformas dos GNOME. A partir
do pyGNOME, as funcionalidades dos modelos de predição podem ser incorporados em
ferramentas customizadas.
Por considerar variações em partı́culas, ao invés de células de discretização, a abordagem oferecida pelo GNOME provê computação do movimento do óleo de forma mais
rápida na maioria das situações. Isso fica evidente em grandes mapas, quando o número de
células da discretização é bem maior que o número de partı́culas. Além disso, o GNOME,
por ser uma ferramente já consolidada na área de modelagem e predição de óleo, é capaz
de calcular a influência de outros fenômenos mais facilmente. A evaporação, por exemplo,
pode ser simulada como um parâmetro individual de uma partı́cula, que define seu tempo
de vida na simulação.
A figura 2.4 mostra o progresso de uma simulação com GNOME em uma região
próxima à da simulação com a técnica de diferenças finitas, entretanto com leituras meteorológicas de outro dia. Também foram consideradas quatro fontes de derramamento
contı́nuo com duração de um dia, em posições similares à simulação anterior. Dessa vez,
condições meteorológicas levaram a pluma simulada diretamente para a costa, mostrando
uma das caracterı́sticas diferenciais do GNOME, a aglutinação de partı́culas em áreas de
terra, permitindo supor áreas que possivelmente seriam afetadas.
Como parâmetros para a simulação, foram considerados um mapa da região, variáveis
climáticas de vento e correntes, além de caracterı́sticas especı́ficas da substância que
compõe o poluente. Cada fonte de derramamento é um objeto do tipo Spill, onde são configurados parâmetros como o número de partı́culas que serão expelidas a cada passo de
simulação, distribuição estatı́stica que as partı́culas devem seguir e propriedades quı́micas
do poluente, que podem ser extraı́das de uma biblioteca opcional denominada Oil Library 2 com um banco de dados de propriedades de óleo proveniente de vários eventos de
derramamentos ocorridos no decorrer da história.
2.2.1
KDE
Como o mapa da missão para os algoritmos a serem trabalhados são discretos em uma
grade de células, é necessário passar o quantitativo das partı́culas computadas nos passos
da simulação para dados de concentração em células. Considerando que cada partı́cula
tem registro de localização (longitude e latitude), é possı́vel computar uma estimação
1
2
Disponı́vel em https://github.com/NOAA-ORR-ERD/PyGnome
Disponı́vel em https://github.com/NOAA-ORR-ERD/OilLibrary
GNOME
15
(a) 1 hora de simulação
(b) 6 horas de simulação
(c) 12 horas de simulação
(d) 24 horas de simulação
Figura 2.4: Evolução da simulação usando modelo do GNOME com quatro fontes de
derramamento contı́nuo de óleo durante 1 dia.
bidimensional de concentração usando KDE (do inglês, Kernel Density Estimation) na
região de interesse da missão. Enquanto histogramas simples aglutinam amostras em
uma célula, potencialmente deixando espaços vazios em 2D e maiores dimensões, o KDE
aplica um kernel centralizada em cada amostra, representando melhor uma distribuição
probabilı́stica real na região.
A primeira abordagem de KDE focava em análise univariada Parzen (1962), sendo
posteriormente expandida para multivariada. A equação 2.7, adaptada de Scott (2015),
representa a função de distribuição de uma amostra usando KDE. No caso, ĉkde (x) é a
estimativa de concentração no plano.
n
ĉkde (x) =
1 X
K(H −1 (x − xi ))
n|H| i=1
(2.7)
Assume-se que a variável independente x = [x y]> está identicamente distribuı́da
ISL
16
(a)
(b)
Figura 2.5: Tratamento das partı́culas usando (a) histograma 2D e (b) Kernel Density
Estimation.
em n amostras {x1 , x2 , ..., xn } com função de densidade de probabilidade ĉkde (x). Uma
largura de banda H é determinada por uma matriz positiva definida, no caso, uma matriz
diagonal com valores iguais pode ser usada. Uma função de kernel K : R2 → R, como a
gaussiana 2D, é aplicada.
A figura 2.5 mostra uma comparação entre histograma bidimensional e KDE no resultado final da simulação computada pelo GNOME (figura 2.4). Pode-se observar que
a distribuição do fluido no caso do KDE tem uma forma mais suave e realı́stica, considerando que o processo de dispersão deve apresentar comportamento gaussiano. As
partı́culas que estão na costa, em terra, foram deixadas de lado nesse procedimento, pois
o objetivo do trabalho é monitorar, com os veı́culos autônomos, poluentes ainda flutuando
na água.
2.3
ISL
Apesar de todas regiões apresentarem danos quando sob contato com o poluente, algumas
regiões são consideradas mais sensı́veis que outras. O Ministério do Meio Ambiente disponibiliza dados acerca da vulnerabilidade de várias áreas costeiras através dos ı́ndices de
sensibilidade do litoral (ISL), que podem assumir valores de 0 a 10. Um ISL que atinge
10 representa uma localidade com altı́ssimo risco se exposto ao poluente. Esse ı́ndice
levanta caracterı́sticas geomorfológicas do local, considerando atributos como ecossistemas, formações rochosas, tipo de solo, unidades de conservação, dificuldade de acesso,
facilidade de absorção e dificuldade de desprendimento do poluente.
A figura 2.6 mostra uma parte das localidades com levantamento de ISL em Alagoas
(em vermelho), além de uma tabela com algumas das caracterı́sticas consideradas para
estimação desse ı́ndice nessa região. É interessante observar que, na porção de dados
apresentados, localidades de pesca e manguezais atingem o ISL máximo.
ISL
17
Conhecer o ISL de uma região é importante, não só para definir estratégias de locais
onde missões de monitoramento vão acontecer, sendo também um recurso útil para ser
incorporado em técnicas de navegação implementadas nos agentes. Essa é uma caracterı́stica a ser considerada ao adaptar técnicas provenientes de outras áreas.
Figura 2.6: Visualização de segmento com levantamento de ISL e alguns dos atributos
considerados.
O próximo capı́tulo irá detalhar a problemática desse trabalho com relação à polı́tica
de patrulhamento, que será executada como algoritmo de navegação dos veı́culos. Será a
partir dela que a verificação e monitoramento serão desempenhadas nas áreas escolhidas
como estudo de caso.
Capı́tulo 3
Monitoramento Persistente
Uma taxonomia para problemas de target management por múltiplos robôs trabalhando
de forma colaborativa foi proposta por Robin and Lacroix (2016), sumarizada na Figura
3.1. A partir dela, pode-se descrever que o foco das missões a serem empregadas no sistema
proposto se encaixam na área de patrulhamento (patrolling). Isso porque o problema se
concentra, a princı́pio, na detecção da pluma quı́mica no oceano, usando agentes móveis
em uma busca baseada na probabilidade de presença do poluente, de forma que pode
ser necessário revisitar algumas localidades de acordo com a dinâmica costeira. Mais
especificamente, quando o problema de patrulhamento envolve objetivos que não reagem
à presença dos agentes, esse tipo de missão pode ser classificada como monitoramento
persistente, ou supervisionamento persistente.
O problema de patrulhamento com sistemas multiagentes é considerado um problema
NP-Difı́cil, entrando na classe dos problemas que não podem ser resolvidos em tempo
polinomial por uma máquina determinı́stica. Uma ampla revisão na literatura em supervisionamento persistente pode ser encontrada no trabalho de Nigam (2014), focando na
utilização de um conjunto de UAVs (do inglês, Unmanned Aerial Vehicle) implementando
planejamento, decomposição espacial, padrões de busca, resolução distribuı́da de problemas, entre outros. Podem ser encontrados também trabalhos que aplicam métodos de
elementos finitos (Elwin et al., 2020) e algoritmos evolucionários (Xiong et al., 2020) em
situações de amostragem ambiental e oceanográfica.
3.1
Polı́tica reativa
Dentre as técnicas levantadas, se destaca a estratégia reativa de Nigam and Kroo (2008),
que propõe a utilização de uma polı́tica reativa de patrulhamento projetada para um
espaço de geometria quadrada. Cada célula do mapa de grade tem uma idade Aj , que
aumenta com o tempo quando não há visita do agente. Usando essa idade e a distância
do agente para a célula, uma pontuação é calculada por uma value function para essa
célula. A equação 3.1 sumariza essa função.
18
Polı́tica reativa
19
Figura 3.1: Taxonomia para problemas de target management utilizando múltiplos robôs,
segundo Robin and Lacroix (2016)
vj = max{(Aj + ω0 δj , 0)},
(3.1)
Um peso ω0 < 0 é associado à distância entre o robô e a j-ésima célula. É escolhido a
célula com maior vj , se tornando a célula objetivo, a qual o agente se move em direção a ela.
Na implementação clássica é comum acontecer de mais de uma célula apresentar os maiores
valores da polı́tica reativa (problema multimodal). Nessa situação, a direção e sentido que
a frente do agente está apontando no momento pode ser usada como desempate, ou seja,
é escolhida a célula que exige menor deslocamento da frente do robô.
As figuras 3.2a e 3.2b mostram o perfil de caminho gerado pela polı́tica reativa em um
mapa de grade 10x10, com o agente iniciando na célula (0, 0). Como o envelhecimento
das células, denotado pela variável A, cresce na mesma taxa em todo mapa, o agente só
decide voltar para o inı́cio depois de varrer toda região. Esse momento em que o agente
decide voltar para a posição inicial é apresentada pelo caminho de cor vermelha em ambas
figuras.
Para calcular a célula objetivo, a polı́tica reativa só precisa aplicar as value functions e
registrar as maiores pontuações. Esse trabalho pode ser paralelizado e não requer muitas
operações computacionais. Entretanto, o algoritmo supõe que o veı́culo é único na região.
Uma maneira de envolver mais de um agente no problema é por decomposição espacial
Polı́tica reativa adaptada
20
(a)
(b)
Figura 3.2: Perfil de caminho gerado pela polı́tica reativa (a) sem considerar e (b) considerando menor deslocamento da frente do robô.
da região, de forma que os agentes não iriam compartilhar espaço entre si.
3.1.1
Cenário multiagente
Ainda em Nigam and Kroo (2008), mas sendo explorada de maneira mais detalhada em
Nigam et al. (2012), foi proposta uma polı́tica distribuı́da, ainda projetada para espaço de
geometria quadrada, permitindo aplicar um cenário multiagente no problema de patrulhamento, com veı́culos compartilhando a mesma região. Através dessa polı́tica, também
é designada uma célula objetivo no mapa de grade, que representa a região de interesse da
missão. Dessa forma, o robô se move diretamente para a célula objetivo, que é computada
de acordo com pesos oferecidos na equação da polı́tica reativa e associados a componentes
como tempo sem visitação, distância da célula para o robô e distância da célula a um
robô vizinho.
A implementação dessa polı́tica reativa distribuı́da utiliza a seguinte formulação:
vij = max{(Aj + ωdi δji + ωni min δkj , 0)},
k6=i
(3.2)
onde cada i-ésimo agente calcula o valor de cada j-ésima célula no mapa, Aj é a idade da
célula, ωdi e ωni são pesos respectivos a distância δji do robô à célula e a distância de um
robô vizinho mais próximo à célula δkj .
3.2
Polı́tica reativa adaptada
Para a aplicação no cenário que este trabalho se propõe a atuar, a abordagem proposta
por Nigam et al. (2012) deve ser modificada para atuar em regiões poligonais arbitrárias
e levar em consideração parâmetros que importam no monitoramento marı́timo, como
probabilidade de concentração de óleo e regiões de maior sensibilidade.
Polı́tica reativa adaptada
21
(a)
(b)
Figura 3.3: Região exemplo para aplicação da polı́tica reativa adaptada, em forma (a)
poligonal e (b) discretizada em mapa de grade.
Os agentes envolvidos na missão utilizam a informação de concentração estimada pelo
KDE da região de interesse e da posição dos outros veı́culos. Tendo esses recursos, cada
robô executa localmente um algoritmo que planeja a movimentação para a próxima célula.
Desconsidera-se o tempo de visitação da célula, enquanto componentes são adicionados
para estimação de concentração do poluente cj , vindo do KDE, e sensibilidade ambiental
sj , que pode ser proximidade da costa ou através do Índice de Sensibilidade do Litoral
(ISL), resultando na formulação a seguir:
vij = max{κi + ωci cj + ωsi sj + ωdi δij + ωni min δkj , 0},
k6=i
(3.3)
de forma que κ é um valor de ganho que auxilia na movimentação do agente, e ωci e
ωsi são pesos para concentração e sensibilidade, respectivamente. Assim, torna-se possı́vel
designar agentes com configurações diferentes para cada peso, refletindo em prioridades
diferentes na missão, como células que contenham maior probabilidade de presença de
óleo, mesmo que longe da costa, ou focar em regiões mais sensı́veis.
Para resolver o problema de movimentação em áreas poligonais, ao invés de restringir
a regiões quadradas, pode-se utilizar o algoritmo de busca em grafo A∗ logo após a determinação da célula objetivo do agente. Com isso, além de planejar um caminho ótimo e
apresentar baixo custo computacional, podem-se designar áreas de voo proibido e evitar
células com presença de outros agentes.
Para aplicar essa adaptação, foi definida a região poligonal da figura 3.3, com área de
aproximadamente 1061 km2 , localizada na área de proteção ambiental Costa dos Corais.
Após um dia de simulação de derramamento de óleo na borda leste da região, foram usados
7 veı́culos divididos em dois grupos com prioridades diferentes, onde 4 veı́culos focaram
em regiões com maior concentração e 3 veı́culos focaram em regiões mais sensı́veis. Nesta
aplicação, a sensibilidade foi definida pela proximidade da costa, de forma que células com
Polı́tica reativa adaptada
22
(a)
(b)
(c)
(d)
Figura 3.4: Aplicação da estratégia de patrulhamento reativa adaptada com 7 agentes.
As imagens (a) e (d) mostram também o caminho percorrido pelos agentes, enquanto as
imagens (b) e (c), apenas as posições atuais.
partı́culas próximas da costa têm sj maior. A figura 3.4 mostra os estados da simulação
em momentos diferentes.
Como a ideia dessa simulação foi apresentar o funcionamento do algoritmo de patrulhamento, ao passar por uma célula o agente consome as partı́culas presentes na simulação
e não adiciona novas. Entretanto, é interessante observar que a concentração de óleo nas
células vai mudando no tempo, mesmo depois do inı́cio da missão, por conta da execução
em paralelo da simulação com GNOME.
Capı́tulo 4
Arquitetura do framework
Figura 4.1: Arquitetura para sistema de monitoramento persistente.
Neste trabalho foi desenvolvida uma arquitetura com estrutura modular (Figura 4.1),
de forma que os componentes desse sistema possam ser substituı́dos por outras implementações, de acordo com o cenário que o problema de monitoramento está lidando. Assim, o funcionamento de cada módulo, por exemplo, supervisor, interface web e veı́culos,
desempenha suas tarefas de forma assı́ncrona e independente dos demais, sincronizando
informações quando necessário através de uma interface.
O sistema consiste de um módulo supervisor rodando em uma estação central, onde
são instanciadas simulação e missão, sendo fornecida uma API (do inglês, Application
Programming Interface) responsável por se comunicar com veı́culos envolvidos na missão
e uma interface web a partir de requisições HTTP no padrão REST (Masse, 2011). Essa
API foi desenvolvida como um serviço usando Flask, que roda em Python. A interface
web possibilita configurar parâmetros de simulação e missão, além de visualizar posiciona23
Simulação
24
(a) Região de simulação, representando a costa (b) Região de missão, com partı́culas, na Costa
de Alagoas.
dos Corais.
Figura 4.2: Exemplos de regiões de interesse para simulação e missão.
mento dos agentes, partı́culas da simulação, entre outras variáveis. Os veı́culos recebem
informações pela API e executam uma polı́tica local de movimentação, seguindo uma
tarefa de patrulhamento.
De forma geral, dois componentes são centrais na execução do sistema supervisor, a
Simulação e a Missão. Enquanto a simulação lida com uma região maior da costa, realizando simulações de processos de dispersão de óleo de registros observados ou hipotéticos,
a missão se concentra em uma subárea, fornecendo uma interface para a aplicação de
veı́culos em tarefa de monitoramento.
A Figura 4.2 mostra exemplos de regiões de interesse em ambos os casos, aplicando no
cenário de monitoramento de uma região de preservação em Alagoas, a Costa dos Corais.
Essa abordagem permite que partı́culas nas proximidades da região de missão possam
influenciar ou entrar nessa região, de acordo com a dinâmica do processo de transporte
ou variáveis climáticas.
4.1
Simulação
O componente Simulação gerencia variáveis mais abrangentes associadas ao processo de
transporte do poluente e a sensibilidade ambiental, trabalhando em uma grande região
da costa. A simulação é implementada em forma de thread, com a definição de um tempo
ts que determina a periodicidade que o supervisor deve executar rotinas internas, seja
para tratar as partı́culas da simulação ou realizar chamadas para rodar um passo do
Simulação
25
simulador externo, no caso, o GNOME. Além disso, a Simulação responde às requisições
de API relacionadas às partı́culas, região de sensibilidade ambiental e relatos de provável
presença de óleo.
Para incorporar o GNOME na solução desenvolvida neste trabalho, foi usado o pyGNOME, que é um conjunto de utilitários e bindings para a linguagem Python e funciona
de maneira independente das outras plataformas do GNOME. Na arquitetura, foi desenvolvido o módulo GNOME Interface, servindo de comunicação entre as funcionalidades
nativas do pyGNOME e o restante do sistema supervisor. Essa interface abre espaço para
que outras implementações e ferramentas computacionais de simulação possam ser usadas
pelo sistema, sendo necessário construir apenas uma nova interface, com funcionamento
similar ao padrão de projeto Adapter (Gamma et al., 2015).
A natureza dinâmica dos oceanos afeta diretamente o transporte de óleo. Assim, relatos de derramamentos ou manchas de óleo podem se tornar menos confiáveis com o tempo,
ou mesmo durante a viagem dos agentes até a localização. Para tratar isso, essas novas
observações são inseridas na simulação em forma de novas partı́culas, se movimentando e
interagindo com as demais e o ambiente.
Variáveis de previsões meteorológicas, como intensidade e direção de vento e correntes
marı́timas de superfı́cie, podem ser adquiridas automaticamente a partir de repositórios
na internet. Alguns dos provedores dessas informações são o consórcio HYCOM (do
inglês, HYbrid Coordinate Ocean Model ) e o GFS (do inglês, Global Forecast System),
que disponibilizam leituras antigas e previsões de correntes e ventos, respectivamente,
em arquivos no formato NetCDF que são suportados no GNOME. A periodicidade tw de
aquisição desses arquivos é determinada em uma thread especı́fica denominada Condições
Climáticas.
A sensibilidade ambiental é uma caracterı́stica importante para os veı́culos que seguirão em missão na costa. O ISL é um dado que pode ser usado para computar esse
parâmetro e pode ser encontrado em todo litoral nordeste. Com isso, podem ser construı́dos campos potenciais em forma de gaussiana 2D para cada leitura de ISL, onde o
valor do ı́ndice representa a amplitude do pico localizado na latitude e longitude onde há
registro de cálculo do indicador.
Como essa tarefa pode ser realizada para toda a costa e não requer repetição, a computação dos campos potenciais é realizada no inı́cio da simulação. Ao desempenhar uma
missão, o veı́culo pode adquirir um mapa de grade do campo potencial de sensibilidade
ambiental computado na simulação, aplicado na região de interesse da missão, como mostrado na Figura 4.3a.
Uma vez que derramamentos de óleo são mais facilmente combatı́veis no alto mar,
antes de poluir o litoral, uma opção alternativa para o ISL como indicador de sensibilidade
ambiental pode ser utilizar a distância até a costa. Nesse caso, a sensibilidade de uma
determinada região no mapa de simulação pode ser calculada a partir da distância para
Missão
26
(a)
(b)
Figura 4.3: Exemplos de mapas de (a) sensibilidade ambiental e de (b) concentração
aplicados em região de interesse da missão.
o ponto mais próximo da costa.
Outra funcionalidade do sistema é a de reportar prováveis situações de derramamento
de óleo, seja por um relato de derramamento ocorrido, seja pela passagem de um navio
petroleiro ou presença de estações de extração de petróleo. Esse recurso é dos quais
permitem inserir novas partı́culas na simulação, interagindo com as partı́culas já existentes
do GNOME. Essa funcionalidade também é útil para simular uma fonte constante de
derramamento, sendo chamada periodicamente, de acordo com a vazão estimada dessa
fonte.
4.2
Missão
A Missão é a entidade que designa e administra uma região de interesse dentro da área
de simulação, onde os veı́culos devem realizar suas tarefas de monitoramento. Essa região
de interesse pode ser representada por um polı́gono arbitrário e georreferenciado, esse
polı́gono é definido a priori através de um arquivo escrito em KML (do inglês, Keyhole
Markup Language), linguagem de marcação para dados geográficos. KML é uma linguagem comum em sistemas de informação geográfica, como ArcGIS e QGIS, e demais
ferramentas que fazem uso de dados georreferenciados, como o Google Earth e o Google
Maps.
Os agentes, por sua vez, se movimentam em um mapa de grade que é uma discretização
do polı́gono. A partir da resolução definida para as células, é construı́do um mapa de grade
resolvendo um problema de PIP (do inglês, point-in-polygon), um problema clássico da
geometria computacional, onde é calculado se os pontos representados pela célula estão
Missão
27
dentro ou fora do polı́gono (Hormann and Agathos, 2001). Células do mapa que ficam
de fora da região de interesse são instanciadas com concentração cj = −1, fornecendo um
fator consequente de repulsão das mesmas para os agentes.
É papel da missão oferecer aos veı́culos envolvidos a configuração de tarefas para o
deploy, o estado da região de interesse da missão, o posicionamento dos agentes vizinhos e
sincronizar quando esses se movimentam e adquirem novas informações in situ. Considerase que essas ações possam ser realizadas a qualquer momento, de forma assı́ncrona, através
de requisições ao sistema supervisor.
Como o mapa da missão é uma grade de células, é necessário passar o quantitativo das
partı́culas trabalhadas nos passos da simulação para dados de concentração em células.
Considerando que cada partı́cula tem registro de localização (longitude e latitude), é
possı́vel computar uma estimação bidimensional de concentração usando KDE na região
de interesse da missão. A Figura 4.3b traz uma visualização do KDE de concentração
sobre a região e as partı́culas do exemplo de aplicação de missão na Costa dos Corais
(Figura 4.2b).
Através da API, os veı́culos da missão podem enviar uma requisição de sincronização
das informações obtidas. Dentro dessa requisição, o agente comunica seu posicionamento
atual e, se detectado óleo no local, a quantidade de partı́culas relativas a essa observação.
Caso não seja observada presença do poluente na célula em que o agente se encontra,
as partı́culas da simulação referenciadas na mesma são subtraı́das do processo. Essas
informações adquiridas atualizam variáveis importantes tanto da missão, por exemplo,
posicionamento do robô, como da simulação, como no caso das partı́culas envolvidas, no
sistema supervisor.
A figura 4.4 sumariza o funcionamento do robô e as chamadas de requisição usadas para sua comunicação com o sistema supervisor. As chamadas /mission/kde, /mission/env sensibility e /mission/robots pos, requisitam ao supervisor, respectivamente, o
mapa de concentração, o mapa de sensibilidade ambiental e a posição dos robôs em missão.
Já /robot fb envia à central a nova posição do agente, de acordo com o resultado do algoritmo de navegação, e registro de presença de óleo, que é convertido em partı́culas
inseridas na simulação.
Figura 4.4: Esquema de funcionamento local de veı́culo envolvido na missão.
Capı́tulo 5
Experimentos
Os testes realizados neste trabalho se dividem em duas categorias. Uma categoria avalia
o funcionamento do sistema computacional como um todo, isso é, o fluxo de definição,
configuração e acompanhamento das missões, em cenários diferentes. Outra categoria de
experimento é com relação à integração do sistema supervisor com a polı́tica implementada, usando diferentes parâmetros nos cenários definidos. Vı́deos dos experimentos estão
disponibilizados na web, através do serviço de streaming de vı́deos YouTube 1 .
5.1
Funcionamento do sistema supervisor
A meta desta fase de experimentos é testar a generalidade do sistema supervisor em
aspectos como suporte a diferentes localidades, com diferentes condições climáticas e
parâmetros de sensibilidade ambiental diferentes. Considera-se que o sistema supervisor
fica executando continuamente em uma estação central ou um servidor. A implementação
desse sistema, que foi desenvolvido em Flask, se encontra disponı́vel publicamente em
repositório do GitHub2 .
Nesta etapa foram definidos dois cenários geograficamente distintos, um nos arredores
de Maragogi - AL e outro em Natal - RN. Em cada um dos cenários, foi computada, em
momento distintos, uma simulação prévia de derramamento contı́nuo de óleo proveniente
do limite da zona territorial contı́gua. Em um intervalo de um dia, uma grande quantidade
de partı́culas foi adicionada gradualmente à simulação. O objetivo dessa simulação foi
estabelecer uma mesma condição inicial de derramamento hipotético de óleo, proveniente
de uma fonte desconhecida em alto-mar, para os estudos de casos que usarem o cenário.
Partindo desse suposto relato de aparecimento de óleo, com partı́culas computadas em
uma simulação que evolui a cada 3 minutos, é designada uma missão para que agentes
viagem por uma região arbitrária e observem in loco a presença, ou não, do poluente.
1
Playlist com vı́deos de todos os experimentos dos estudos de caso em https://youtube.com/
playlist?list=PLB179mvE3N69smaAserAXlURSEZj0OiIR
2
Disponı́vel em https://github.com/EASY-SPARC/patrol-for-oil-supervisor
28
Funcionamento do sistema supervisor
(a)
29
(b)
Figura 5.1: Regiões de (a) simulação e (b) missão no cenário 1, com foco em área de
Maragogi-AL.
5.1.1
Cenário 1
O primeiro cenário explora uma parte da área de proteção ambiental Costa dos Corais,
com foco em Maragogi, Alagoas. A região de simulação foi configurada via interface web,
com limites de coordenadas -8,5º ao norte, -11º ao sul, -34º a leste e -36,5º a oeste. Dentro
dessa região, foi definido um polı́gono irregular arbitrário e não-convexo. Esse polı́gono,
com área de cerca 1000 km2 , tem o papel de representar a área de voo para os veı́culos
envolvidos na missão. A figura 5.1 apresenta ambas regiões.
Para este cenário, o mapa de sensibilidade ambiental foi configurado para ser gerado
a partir dos campos potenciais provenientes do ISL, com distribuição gaussiana 2D e
desvio padrão σ = 0.1. Para computação dos mapas de sensibilidade e concentração, foi
considerada uma discretização em células de 1 km2 . A concentração baseada em KDE foi
designada com kernel gaussiano de duas dimensões com largura de banda de 0,2.
Enquanto o mapa de grade de sensibilidade é o mesmo que o apresentado na figura
4.3a, por se tratar do ISL, os mapas de visualização das partı́culas e de concentração são
apresentados na figura 5.2. Pode ser observada uma grande quantidade de partı́culas, não
só dentro da área da missão, como também fora. Eventualmente, essas partı́culas podem
entrar na região de interesse da missão, da mesma forma que partı́culas de óleo hipotético
que estão dentro podem sair do escopo da missão.
Ter acesso ao mapa de partı́culas da simulação antes de definir a missão foi um requisito
levantado, uma vez que ter acesso ao estado inicial esperado de um processo de dispersão
pode auxiliar em fatores de decisão importantes, como o número de agentes a serem
usados e os papéis de cada um na missão. Não obstante, esperasse que no decorrer do
funcionamento do sistema, uma nova missão possa ser configurada enquanto a simulação
Funcionamento do sistema supervisor
(a)
30
(b)
Figura 5.2: Estado inicial da área de missão no (a) mapa de partı́culas e (b) mapa de
concentração.
de partı́culas segue executando em plano de fundo.
5.1.2
Cenário 2
O segundo cenário trabalha nos arredores de Natal, capital do Rio Grande do Norte,
uma área mais ao norte da anterior, exposta a outras condições climáticas e variáveis
ambientais. A região de simulação foi configurada via interface web, com limites de
coordenadas -4,5º ao norte, -7º ao sul, -33º a leste e -36º a oeste. Um novo polı́gono foi
construı́do com área de aproximadamente 1000 km2 , desta vez com topologia diferente do
cenário anterior, por apresentar um furo em seu interior.
O furo no interior do polı́gono da missão está representando, arbitrariamente, uma
região onde a passagem de agentes não é permitida. Partı́culas dentro dessa região são
desconsideradas da missão, tais como as partı́culas no exterior do polı́gono, mas seguem
fazendo parte da área de simulação do GNOME. Eventualmente, essas partı́culas podem
entrar em uma zona de locomoção permitida, se tornando relevantes para os algoritmos
de navegação dos agentes.
Este cenário se assemelha com o outro quanto à discretização em células dos mapas de
sensibilidade e concentração em elementos de 1 km2 . Além disso, a concentração baseada
em KDE também usou kernel gaussiano de duas dimensões com largura de banda de 0,2.
Não obstante, o mapa de sensibilidade ambiental foi gerado de forma diferente, usando
a distância da célula ao ponto mais próximo da costa. Os mapas de concentração e
sensibilidade ambiental iniciais deste cenário podem ser conferidos na figura 5.4
Pode ser observado que esse cenário apresentou menos partı́culas que o anterior, isso
foi decorrente das condições de vento e corrente da região no dia em que aconteceu a
simulação, fazendo o óleo se espalhar para outros locais, com apenas alguns chegando à
costa. No cenário 1, os fatores climáticos apresentavam vetores que apontavam direta-
Supervisor e polı́tica implementada
(a)
31
(b)
Figura 5.3: Regiões de (a) simulação e (b) missão no cenário 2, com foco em área de
Natal-RN.
mente para o litoral.
5.2
Supervisor e polı́tica implementada
Durante a configuração da missão, são escolhidos a quantidade de agentes envolvidos e os
parâmetros de configuração desses agentes, para então dar inı́cio ao deploy dos veı́culos na
tarefa de monitorar a região. Entretanto, essas etapas apenas preparam o sistema supervisor para fornecer e receber dados desses veı́culos, ao invés de controlá-los diretamente.
O framework foi projetado de forma que o agente tenha independência de tecnologia ou
linguagem de programação no desempenho de sua atividade, favorecendo a computação
local do algoritmo de navegação.
É possı́vel adaptar o framework para aplicação de técnicas de navegação centralizada,
entretanto essa abordagem não foi favorecida neste trabalho por conta da natureza da
comunicação no ambiente em que os veı́culos devem realizar a missão. Em alto mar, não
se deve esperar sistemas com alta disponibilidade de comunicação, então a utilização de
técnicas descentralizadas se destacam.
O ponto central do framework neste trabalho é fornecer um arcabouço para soluções
de monitoramento persistente que, de acordo com a taxonomia apresentada anteriormente
para problemas de target management, estão dentro dos problemas de detecção de objetivo
(target detection). Assim, considera-se que o objeto de interesse, ou seja, a pluma do
poluente, não está no campo de visão do supervisor, mas existe informação probabilı́stica
de onde pode estar.
Por conta disso, nos experimentos deste trabalho, os veı́culos ao passarem por uma
célula, limpam o mapa de partı́culas dessa localidade. No caso de detecção do poluente,
Supervisor e polı́tica implementada
(a)
32
(b)
Figura 5.4: Estado inicial da área de missão no (a) mapa de partı́culas e (b) mapa de
concentração.
suas partı́culas podem ser inseridas na simulação, mas esse aspecto não é considerado como
escopo destes experimentos por requerer explorar técnicas de rastreamento de objetivo
(target tracking), que estão no outro espectro da taxinomia adotada.
Como as informações necessárias para rodar o algoritmo de navegação são fornecidas pelo supervisor através de uma API, qualquer aplicação com capacidade de realizar
requisições no padrão REST pode participar da missão como um agente. Sendo assim,
foi implementado um algoritmo em MATLAB para simular veı́culos independentes na
missão, usando recursos da Parallel Computing Toolbox com o intuito de isolar o funcionamento desses agentes. Os códigos usados nessa implementação podem ser conferidos
em repositório do GitHub3 .
Esta etapa de experimentos foi dividida em 6 estudos de caso, explorando caracterı́sticas diferentes do sistema e dos agentes envolvidos. Os casos I e II aplicam nos
cenários 1 e 2, respectivamente, agentes rodando a polı́tica reativa adaptada com todos
compartilhando os mesmos parâmetros. Os casos III e IV aplicam nos cenários 1 e 2,
respectivamente, a polı́tica reativa com agentes desempenhando papéis diferentes, alguns
priorizando a concentração enquanto outros priorizam zonas de sensibilidade. O caso V
apresenta uma situação diferente dos demais, rodando apenas no cenário 1, envolve vários
agentes com alguns apresentando maior lentidão de ciclo que os outros na viagem e na
comunicação. A Tabela 5.1 sumariza a definição desses experimentos.
5.2.1
Estudos de caso I e II
Neste experimento foram usados 7 veı́culos, todos com a mesma configuração de
parâmetros na polı́tica reativa. Os pesos utilizados estão apresentados na Tabela 5.2.
3
Disponı́vel em https://github.com/EASY-SPARC/patrol-for-oil-client
Supervisor e polı́tica implementada
Caso
I
II
III
IV
V
Cenário
1
2
1
2
1
Nº de agentes
7
7
7
7
10
33
Heterogeneidade
Não
Não
Sim
Sim
Sim
Tempo para ciclo
Igual
Igual
Igual
Igual
Diferentes
Tabela 5.1: Resumo da configuração dos estudos de caso
Robô κ
0
1
1
1
2
1
3
1
4
1
5
1
6
1
ωci
2,0
2,0
2,0
2,0
2,0
2,0
2,0
ωsi
0,1
0,1
0,1
0,1
0,1
0,1
0,1
ωdi ωni
-0,5 0,5
-0,5 0,5
-0,5 0,5
-0,5 0,5
-0,5 0,5
-0,5 0,5
-0,5 0,5
Tabela 5.2: Parâmetros usados pela polı́tica reativa nos estudos de caso I e II
A escolha dos pesos foi tomada considerando prioridade em limpar a região, sem grande
importância para zonas mais sensı́veis.
No decorrer da simulação, principalmente nos momentos iniciais, pôde ser observado
que, apesar da presença do algoritmo A* computação da polı́tica de navegação, alguns
veı́culos permaneciam compartilhando espaço em mesma célula. Isso aconteceu porque
os veı́culos iniciavam no mesmo local e estavam sincronizados. Quando computavam o
próximo passo, a informação dos vizinhos estava atrasada. Quando acontecia alguma
mudança mais significativa no mapa de partı́culas, por conta da simulação rodando em
plano de fundo, acontecia de veı́culos escolherem células diferentes. Essas mudanças
aconteciam ao mesmo tempo em que ocorria o cálculo de movimentação de alguns veı́culos.
Nessa situação, os veı́culos seguiam seus caminhos sem compartilhar o espaço outra vez
pelo restante da simulação, por conta do A*.
A figura 5.5 mostra o estado final das missões avaliadas, quando maior parte das
células com partı́culas foram visitadas. O fato de todos veı́culos apresentarem a mesma
configuração favoreceu que a maioria optasse por tomar decisões de movimentação parecidas. Esse fenômeno pode ser observado no vı́deo do experimento e, principalmente, no
estado final do segundo estudo de caso, mostrado na figura 5.5.
5.2.2
Estudos de casos III e IV
Neste experimento foram usados 7 veı́culos, dessa vez com grupos apresentando configurações diferentes de parâmetros na polı́tica reativa. Os pesos utilizados estão apresentados na Tabela 5.3. O projeto desse experimento lembra a configuração desenvolvida
Supervisor e polı́tica implementada
34
(a)
(b)
Figura 5.5: Estado final da área de missão no (a) estudo de caso I e no (b) estudo de caso
II.
Robô κ
0
2
1
2
2
2
3
2
4
2
5
2
6
2
ωci
2,0
2,0
2,0
2,0
0,3
0,3
0,3
ωsi
0,1
0,1
0,1
0,1
2,0
2,0
2,0
ωdi ωni
-0,3 0,5
-0,3 0,5
-0,3 0,5
-0,3 0,5
-0,5 0,1
-0,5 0,1
-0,5 0,1
Tabela 5.3: Parâmetros usados pela polı́tica reativa nos estudos de caso III e IV
para a aplicação-teste da polı́tica adaptada de patrulhamento presente na figura 3.4.
A figura 5.6 apresentou o resultado da aplicação da polı́tica de patrulhamento, em
conjunto com o framework desenvolvido nos cenários de Maragogi-AL e Natal-RN. Mais
uma vez a caracterı́stica de aglutinação de veı́culos com mesma configuração se deu de
forma mais evidente no segundo cenário, visto na figura 5.6b.
Apesar de ainda persistir o problema de veı́culos ocupando o mesmo espaço no inı́cio
das missões, o equilı́brio entre agentes priorizando aspectos diferentes do mapa provou ser
uma estratégia melhor que a abordagem com parâmetros idênticos para todos veı́culos,
mostrada neste trabalho. Foi observado que era necessário menos tempo para o mapa chegar em uma condição mais estável, com robôs se mexendo apenas para observar partı́culas
recém-inseridas. De forma correlata, pôde ser percebido um mapa final de missão mais
limpo, quanto à concentração de óleo provável.
Supervisor e polı́tica implementada
35
(a)
(b)
Figura 5.6: Estado final da área de missão no (a) estudo de caso III e no (b) estudo de
caso IV.
Robô
0
1
2
3
4
5
6
7
8
9
κ
2,0
2,0
2,0
2,0
2,0
2,0
2,0
2,0
2,0
2,0
ωci
2,0
3,0
0,1
0,4
1,3
0,1
0,2
0,5
0,1
2,0
ωsi
0,1
0,5
2,0
2,3
0,1
1,0
0,8
1,7
2,0
2,0
ωdi ωni
-0,1 0,5
-0,3 0,1
-0,8 0,5
-0,1 0,4
-0,2 0,1
-0,6 0,5
-0,5 0,1
-0,5 0,2
-0,3 0,5
-0,5 0,1
Tempo de ciclo
3
5
2
4
3
5
6
3
3
4
Tabela 5.4: Parâmetros usados pela polı́tica reativa no estudo de caso V
5.2.3
Estudo de caso V
Neste experimento foram usados 10 veı́culos, com ciclos operando em momentos distintos,
com parâmetros escolhidos arbitrariamente, mas seguindo o princı́pio de focar em alta
concentração de partı́culas ou sensibilidade ambiental, com exceção do último agente, que
tenta considerar ambas situações igualmente. Por padrão, nos outros estudos de caso,
foi usado mesmo tempo de ciclo de 3 segundos para todos agentes. Os pesos utilizados
nesta etapa estão apresentados na Tabela 5.3, que, se diferenciando das demais tabelas,
apresenta o tempo de ciclo (em segundos).
Essa configuração se assemelha mais de uma missão real do que os estudos de caso
anteriores, uma vez que dificilmente agentes espalhados na missão apresentariam funcionamento sincronizado. Não obstante, essa abordagem favoreceu um maior espalhamento
Supervisor e polı́tica implementada
36
Figura 5.7: Estado final da área de missão no estudo de caso V.
dos veı́culos logo no inı́cio da missão, uma vez que o atraso entre eles possibilita que o
algoritmo A* haja logo no inı́cio, evitando que agentes ocupem o mesmo espaço.
A figura 5.7 mostra o estado final da missão. Dentre as caracterı́sticas observadas
nesse estudo de caso, pode ser destacado o comportamento do último agente, que ao
tentar considerar igualmente regiões com maior concentração e de maior sensibilidade
ambiental, decidiu permanecer parado por toda missão. Isso mostra a importância, nessa
polı́tica reativa, de determinar um foco para o agente ou grupo de agentes.
Esse experimento mostrou a possibilidade de realizar uma missão, mesmo com agentes
que demoram para se comunicar. Por conta das funcionalidades de requisições assı́ncronas,
o servidor não espera enquanto um dos agentes realiza uma ação, de forma que resposta
a outra requisição não é bloqueada. Essas caracterı́sticas permitem que o veı́culo opere
independentemente, de acordo com a disponibilidade do serviço oferecido pelo supervisor
e o sistema não seja altamente comprometido por demora na resposta de algum dos
agentes.
Conclusão
Este trabalho propôs um framework para desenvolvimento de sistemas de monitoramento
oceânico usando veı́culos cooperativos. Esse sistema é separado em três módulos principais, uma estação central, uma interface web de configuração e visualização, e os veı́culos
envolvidos na missão. Alguns serviços, como a simulação de partı́culas, se mantêm em
execução permanente na central, outros são disponibilizados a partir de uma API, como
as informações de posicionamento dos agentes, fazendo com que o sistema gerencie requisições assı́ncronas de agentes independentes.
Uma polı́tica reativa distribuı́da foi implementada e adaptada para o cenário estudado. Essa polı́tica permitiu aos veı́culos computar localmente suas estratégias de movimentação. Para isso, são adquiridas informações da região de interesse da missão, como
localização outros agentes, ı́ndice de sensibilidade ambiental e estimação de concentração,
com base nas simulações que executam permanentemente na estação central. Com isso,
foi possı́vel elaborar configurações de parâmetros únicos para grupos de agentes com prioridades diferentes, seja para priorizar movimentação para áreas de maior possibilidade
de concentração de óleo, ou áreas com maior sensibilidade ao poluente,
O framework apresentado é capaz de trabalhar com outras estratégias de monitoramento e simuladores de transporte para demais substâncias, construindo aplicações
diferentes. Entretanto, percebeu-se que configurar uma missão não é uma tarefa simples,
pois uma região pode ser muito grande para um certo número de agentes, demandando
muito tempo para a varredura, ou mesmo a configuração dos agentes pode torná-los muito
conservadores para movimentação até células distantes.
Ao sincronizar observações in situ dos agentes, podem ser adquiridos registros reais da
presença de óleo. Essa funcionalidade de reportar presença do poluente está implementada no sistema, entretanto, essa leitura é inserida na simulação com outras partı́culas
do poluente hipotéticas, sem discernimento entre ambas. Outro trabalho futuro é desenvolver simulações paralelas para partı́culas de óleo hipotético e óleo observado, ou uma
abordagem de simulação hı́brida que englobe ambas as situações mantendo a diferenciação. Isso será capaz de proporcionar a utilização dessa informação nas estratégias de
movimentação dos agentes, ou aplicação de outras classes de tarefas, como rastreamento
ativo do poluente.
37
Bibliografia
RK Anderson, RS Scalan, PL Parker, and EW Behrens. Seep oil and gas in gulf of mexico
slope sediment. Science, 222(4624):619–621, 1983.
Jonny Beyer, Hilde C. Trannum, Torgeir Bakke, Peter V. Hodson, and Tracy K. Collier.
Environmental effects of the Deepwater Horizon oil spill: A review. Marine Pollution
Bulletin, 110(1):28–51, 2016. ISSN 0025326X. doi: 10.1016/j.marpolbul.2016.06.027.
URL http://dx.doi.org/10.1016/j.marpolbul.2016.06.027.
Holly M. Bik, Kenneth M. Halanych, Jyotsna Sharma, and W. Kelley Thomas. Dramatic
shifts in benthic microbial eukaryote communities following the deepwater horizon oil
spill. PLoS ONE, 7(6), 2012. ISSN 19326203. doi: 10.1371/journal.pone.0038550.
Brasil. Lei nº 8.617, de 4 de janeiro de 1993. dispõe sobre o mar territorial, a zona
contı́gua, a zona econômica exclusiva e a plataforma continental brasileiros, e dá outras
providências. Diário Oficial [da] República Federativa do Brasil, 1993. ISSN 1677-7042.
URL http://www.planalto.gov.br/ccivil_03/leis/l8617.htm.
CE Brown, MF Fingas, and R Marois. Oil spill remote sensing: laser fluorosensor demonstration flights off the east coast of canada. In ARCTIC AND MARINE OILSPILL
PROGRAM TECHNICAL SEMINAR, volume 1, pages 317–334. Environment Canada;
1999, 2004.
R. De la Huz, M. Lastra, and J. López. Oil spills. In J.O. Nriagu, editor, Encyclopedia
of Environmental Health, pages 251 – 255. Elsevier, Burlington, 2011. ISBN 978-0444-52272-6. doi: https://doi.org/10.1016/B978-0-444-52272-6.00568-7. URL http:
//www.sciencedirect.com/science/article/pii/B9780444522726005687.
Norman C. Duke. Oil spill impacts on mangroves: Recommendations for operational
planning and action based on a global review. Marine Pollution Bulletin, 109(2):700–
715, 2016. ISSN 18793363. doi: 10.1016/j.marpolbul.2016.06.082. URL http://dx.
doi.org/10.1016/j.marpolbul.2016.06.082.
Matthew L. Elwin, Randy A. Freeman, and Kevin M. Lynch. Distributed Environmental
Monitoring with Finite Element Robots. IEEE Transactions on Robotics, 36(2):380–
398, 2020. ISSN 19410468. doi: 10.1109/TRO.2019.2936747.
38
Bibliografia
39
Merv Fingas and Carl E Brown. A review of oil spill remote sensing. Sensors, 18(1):91,
2018.
Mervin Fingas. Oil Spill Science and Technology – Prevention, Response, and Cleanup.
Gulf Professional Publishing, 2011.
E. Gamma, R. Helm, R.E. Johnson, and J. Vlissides. Design Patterns: Elements of
Reusable Object-oriented Software. Pearson Education, 2015. ISBN 9789332555402.
URL https://books.google.com.br/books?id=vqp2AQAACAAJ.
M. C. Garcı́a Negro, S. Villasante, A. Carballo Penela, and G. Rodrı́guez Rodrı́guez.
Estimating the economic impact of the Prestige oil spill on the Death Coast (NW
Spain) fisheries. Marine Policy, 33(1):8–23, 2009. ISSN 0308597X. doi: 10.1016/j.
marpol.2008.03.011.
Ron Goodman. Overview and future trends in oil spill remote sensing. Spill Science &
Technology Bulletin, 1(1):11–21, 1994.
Michale Griebel, Thomas Dornseifer, and Tilman Neunhoeffer. Numerical Simulation in
Fluid Dynamics. Society for industrial and Applied Mathematics, 1998.
Héctor M Guzmán, Kathryn A Burns, and Jeremy BC Jackson. Injury, regeneration
and growth of caribbean reef corals after a major oil spill in panama. Marine Ecology
Progress Series, pages 231–241, 1994.
Kai Hormann and Alexander Agathos. The point in polygon problem for arbitrary
polygons. Computational Geometry, 20(3):131–144, 2001. ISSN 0925-7721. doi:
https://doi.org/10.1016/S0925-7721(01)00012-8. URL https://www.sciencedirect.
com/science/article/pii/S0925772101000128.
H. Ishida, Y. Wada, and H. Matsukura. Chemical sensing in robotic applications: A
review. IEEE Sensors Journal, 12(11):3163–3173, 2012.
Takeo Kajishima and Kunihiko Taira. Finite-difference discretization of the advectiondiffusion equation. pages 23–72. Springer International Publishing, 2017. ISBN
9783319453040. doi: 10.1007/978-3-319-45304-0 2. URL http://link.springer.com/
10.1007/978-3-319-45304-0_2.
Shuai Li, Yi Guo, and Brian Bingham. Multi-robot cooperative control for monitoring
and tracking dynamic plumes. In 2014 IEEE International Conference on Robotics and
Automation (ICRA), pages 67–73. IEEE, 2014.
Mark Masse. REST API Design Rulebook: Designing Consistent RESTful Web Service
Interfaces. ”O’Reilly Media, Inc.”, 2011.
Bibliografia
40
Nikhil Nigam. The multiple unmanned air vehicle persistent surveillance problem: A
review. Machines, 2(1):13–72, January 2014. doi: 10.3390/machines2010013. URL
https://doi.org/10.3390/machines2010013.
Nikhil Nigam and Ilan Kroo. Control and design of multiple Unmanned Air Vehicles for
a persistent surveillance task. In 12th AIAA/ISSMO Multidisciplinary Analysis and
Optimization Conference, MAO. American Institute of Aeronautics and Astronautics
Inc., 2008. ISBN 9781563479472. doi: 10.2514/6.2008-5913.
Nikhil Nigam, Stefan Bieniawski, Ilan Kroo, and John Vian. Control of Multiple UAVs
for Persistent Surveillance: Algorithm and Flight Test Results. IEEE Transactions on
Control Systems Technology, 20(5):1236–1251, sep 2012. ISSN 1063-6536. doi: 10.1109/
TCST.2011.2167331. URL http://ieeexplore.ieee.org/document/6045299/.
NOAA. What is an oil seep? https://oceanservice.noaa.gov/facts/oilseep.html,
2019. Online; accessed 14 April 2020.
NOAA.
Weathering processes affecting spills.
https://response.
restoration.noaa.gov/oil-and-chemical-spills/oil-spills/
weathering-processes-affecting-spills, 2019. Online; Acessado 18 de Julho 2020.
Barbara Ornitz and Michael Champ. Oil spills first principles: prevention and best response. Elsevier, 2002. ISBN 9780080537962.
Emanuel Parzen. On Estimation of a Probability Density Function and Mode. The Annals
of Mathematical Statistics, 33(3):1065 – 1076, 1962. doi: 10.1214/aoms/1177704472.
URL https://doi.org/10.1214/aoms/1177704472.
W.H. Press, S.A. Teukolsky, W.T. Vetterling, and B.P. Flannery. Numerical Recipes 3rd
Edition: The Art of Scientific Computing. Cambridge University Press, 2007. ISBN
9780521880688. URL https://books.google.com.br/books?id=1aAOdzK3FegC.
Roger Proctor, Roger A Flather, and Alan J Elliott. Modelling tides and surface drift in
the arabian gulf—application to the gulf oil spill. Continental Shelf Research, 14(5):
531–545, 1994.
Nathan F. Putman, F. Alberto Abreu-Grobois, Iñaky Iturbe-Darkistade, Emily M. Putman, Paul M. Richards, and Philippe Verley. Deepwater Horizon oil spill impacts on
sea turtles could span the Atlantic. Biology Letters, 11(12), 2015. ISSN 1744957X. doi:
10.1098/rsbl.2015.0596.
Bibliografia
41
Cyril Robin and Simon Lacroix. Multi-robot target detection and tracking: taxonomy and
survey. Autonomous Robots, 40(4):729–760, apr 2016. ISSN 0929-5593. doi: 10.1007/
s10514-015-9491-7. URL http://link.springer.com/10.1007/s10514-015-9491-7.
David W Scott. Multivariate density estimation: theory, practice, and visualization. John
Wiley & Sons, 2015.
A. Vasilijevic, D. Nad, F. Mandic, N. Miškovic, and Z. Vukic. Coordinated navigation of
surface and underwater marine robotic vehicles for ocean sampling and environmental
monitoring. IEEE/ASME Transactions on Mechatronics, 22(3):1174–1184, 2017.
Ann Walker. Oil Spills and Risk Perceptions, pages 1–70. Gulf Professional Publishing,
01 2017. ISBN 9780128094136. doi: 10.1016/B978-0-12-809413-6.00001-1.
Jun-Wei Wang, Yi Guo, Muhammad Fahad, and Brian Bingham. Dynamic plume tracking
by cooperative robots. IEEE/ASME Transactions on Mechatronics, PP:1–1, 01 2019.
doi: 10.1109/TMECH.2019.2892292.
Chengke Xiong, Di Lu, Zheng Zeng, Lian Lian, and Caoyang Yu. Path Planning of
Multiple Unmanned Marine Vehicles for Adaptive Ocean Sampling Using Elite GroupBased Evolutionary Algorithms. Journal of Intelligent & Robotic Systems, 2020. ISSN
0921-0296. doi: 10.1007/s10846-020-01155-7.
