COORDENAÇÃO DE VEÍCULOS AÉREOS NÃO TRIPULADOS UTILIZANDO INTELIGÊNCIA DE ENXAMES - PDF
Download "COORDENAÇÃO DE VEÍCULOS AÉREOS NÃO TRIPULADOS UTILIZANDO INTELIGÊNCIA DE ENXAMES"
Luciano Coradelli Batista
1 COORDENAÇÃO DE VEÍCULOS AÉREOS NÃO TRIPULADOS UTILIZANDO INTELIGÊNCIA DE ENXAMES Trabalho de Conclusão de Curso Engenharia de Computação Aluno: Diego Marconi Pinheiro Ferreira Silva Orientador: Prof. Dr. Carmelo José Albanez Bastos Filho
2 Diego Marconi Pinheiro Ferreira Silva Coordenação de veículos aéreos não tripulados utilizando inteligência de enxames Monografia apresentada para obtenção do Grau de Bacharel em Engenharia de Computação pela Universidade de Pernambuco Orientador: Prof. Dr. Carmelo José Albanez Bastos Filho GRADUAÇÃO EM ENGENHARIA DE COMPUTAÇÃO ESCOLA POLITÉCNICA DE PERNAMBUCO UNIVERSIDADE DE PERNAMBUCO Recife - PE, Brasil Novembro de 2011
4 iii Resumo Este trabalho de conclusão de curso apresenta um simulador construído para possibilitar a visualização da coordenação de múltiplos veículos aéreos não tripulados (UAVs) utilizando inteligência de enxames. O objetivo do simulador contruído foi utilizar conceitos de inteligência de enxames e enxames de robôs na modelagem de UAVs, tendo como objetivo a realização de atividades de patrulha territorial e rastreamento de alvos móveis. Foram utilizados mecanismos de locomoção utilizando dinâmica física, mecanismos sensoriais anti-colisão, de percepção ambiental, mecanismos para evitar a saída do espaço aéreo, retorno à base quando necessário, etc. Os UAVs iniciam suas atividades em ambientes desconhecidos e devem encontrar outros UAVS durante o estado de agrupamento e formar com eles uma rede de comunicações ad hoc, se tornando ponte de roteamento do enxame em que se encontram. Após conectados, os UAVS iniciam as atividades de patrulha e, ao encontrarem algum alvo, iniciam o rastreamento. Todas as atividades são executadas de forma coordenada. Os resultados evidenciaram que a comunicação existente determina a efetividade do sistema. Também foi posto em evidência que múltiplos UAVs coordenando suas atividades com as estratégias, mecanismos e abordagens propostas são mais efetivos que um único UAV ou múltiplos UAVs descoordenados. Houveram resultados visuais interessantes como, por exemplo, a formação natural, a partir das posições dos UAVs, de figuras geométricas simétricas, a saber, triângulos equiláteros, quadrados, pentágonos e hexágonos, dependendo do número de UAVs envolvidos no rastreamento. Outro resultado visual interessante foi a formação, também natural, de sub-enxames, tendo como consequência o aumento da área territorial coberta e a possibilidade do rastreamento de mais de um alvo paralelamente.
5 iv Abstract This works presents a simulator built for enable the visualization of multiple unmanned aerial vehicles (UAVs) coordination using swarm intelligence. The built simulator s purpose was to model UAVs using swarm intelligence and swarm robots concepts, in order to perform territorial patrolling and mobile targets tracking activities. Mechanisms were used for locomotion, such as physics dynamics, anti-collision sensory mechanisms, environment perception, avoids airspace s exit mechanisms, and, when needed, return to base, etc. All UAVs starts theirs activities in a unknown envirionment and must find other UAVs while in group state and create with them an ad hoc communication network, becoming a router bridge in the swarm. Once connected, the UAVs starts their patrolling activities and if a target was found, starts the targets tracking. All activities are performed well coordinated. The results showed that the communication s existence determines the system s effectiveness. It was also evidenced that multiple UAVs coordinating their activities are more effective than a single UAV or multiple uncoordinated UAVs. There were interesting visual results, such as natural formation, from the UAVs positions, of symmetric geometric figures, namely equilateral triangles, squares, pentagons and hexagons, depending on the number of UAVs involved in the tracking. Another result was the formation, also natural, of subswarms. The consequences were the increased covered area and track more than one target in parallel.
6 Dedicatória Dedico este trabalho a todos, principalmente os brasileiros, que acreditam, e fazem outros acreditarem, que podem fazer a diferença, sendo agentes da mudança para uma nação melhor.
7 vi Agradecimentos Primeiramente, agradeço a conclusão deste trabalho ao meu Senhor e meu Deus, o Cristo Jesus e a sua mãe, e minha também, Nossa Senhora, Maria Santíssima. Agradeço a toda minha família, especialmente, a minha mãe Anita Márcia Pinheiro Ferreira Silva e ao meu pai Marconi José Ferreira Silva, aos meus irmãos Victor e Marcianita, pois, sempre estiveram ao meu lado em todas as ocasiões e me apoiaram em tudo. Agradeço também à minha namorada Erika Lemos, pela compreensão e carinho durante quase todo o curso e, principalmente, no período deste trabalho. Agradeço ao meu colega de pesquisa, Luiz Oliveira, pelo empenho e envolvimento para que este projeto se concretizasse. Agradeço ao meu orientador, o professor Carmelo J. A. Bastos-Filho, por ter sido um ótimo orientador, fonte de motivação neste projeto e ser, atualmente, a minha referência de docência e pesquisa. Agradeço ao professor Fernando Buarque de Lima Neto por ter sido o principal motivador, desde o primeiro período da Universidade na cadeira de Introdução à Engenharia, da minha decisão pela carreira acadêmica. Agradeço também aos professores que contribuíram de forma significativa para a minha formação e, especialmente, aos professores Sérgio Campello, Denis Silveira, Gustavo Carvalho e Mêuser Valença. Agradeço aos amigos que fiz na Universidade e que participaram de uma das fases mais importantes de minha vida, pricipalmente, Erick Barboza, David Alain, Marcelo Lacerda e Paulo Roger.
8 Amarás o Senhor teu Deus de todo o teu coração, e de toda a tua alma, e de todo o teu pensamento. Este é o primeiro e grande mandamento; e o segundo, semelhante a este é: Amarás teu próximo como a ti mesmo. Mateus 22, 37-39
9 Sumário Lista de Figuras xi Lista de Algoritmos xi Lista de Abreviaturas e Siglas xii 1 Introdução Motivação e Caracterização do Problema Hipóteses e Objetivos Objetivos Gerais Organização do Documento Fundamentação teórica Fundamentos de inteligência de enxames Fundamentos de enxames de robôs Descrição dos componentes do sistema Modelo do ambiente Modelo do agente Mecanismo de localização Mecanismo de locomoção Mecanismo anti-colisão Mecanismos de comunicação Mecanismo de percepção do ambiente
10 3.2.6 Outros mecanismos Descrição do comportamento do sistema Máquina de estados do UAV Estratégia de sincronismo Estratégia de agrupamento Estratégia de patrulha Estratégia de rastreamento Estratégia de retorno à base Rotina principal Apresentação do simulador proposto e suas funcionalidades Indrodução à ferramenta computacional Parâmetros de simulação Ambiente UAV Sensor anti-colisão Sensor de percepção do ambiente Sensor de percepção dos limites do ambiente Sensor de comunicação Alvos Obstáculos Simulação Ações do simulador Estatísticas da simulação Experimentos e resultados das simulações Resultados visuais
11 6.1.1 Formação de figuras geométricas simétricas Formação de sub-enxames Resultados numéricos Conjunto experimental Conjunto experimental Discussões dos resultados obtidos Conclusões e Trabalhos Futuros 62 Referências Bibliográficas 63 Apêndice A -- Especificação de requisitos do simulador 67
12 Lista de Figuras 3.1 Ambiente virtual: Fronteira do Brasil com o Paraguai UAV: Veículo Aéreo Não Tripulado Alvo: Um invasor no ambiente Obstáculo: Qualquer estrutura fixa no ambiente Base terrestre Raio de atuação dos sensores do UAV Cálculo da intensidade de atuação do sensor anti-colisão Cálculo da intensidade de atuação do sensor de comunicação Máquina de estados do UAV Visão geral do simulador Painel de simulação Parâmetros do ambiente Parâmetros dos UAVs Parâmetros do sensor de colisão Parâmetros do sensor de percepção do ambiente Parâmetros do sensor de percepção dos limites do ambiente Parâmetros do sensor de comunicação Parâmetros dos alvos Parâmetros dos obstáculos Ações do simulador Exemplo das estatísticas de simulação
13 xii 6.1 Triângulo equilátero, contendo o alvo em seu centro, formado por três UAVs em estado de rastreamento Quadrado, contendo o alvo em seu centro, formado por quatro UAVs em estado de rastreamento Pentágono regular, contendo o alvo em seu centro, formado por quatro UAVs em estado de rastreamento Hexágono simétrico não regular, contendo o alvo em seu centro, formado por quatro UAVs em estado de rastreamento Pentágono regular, contendo dois UAVs e o alvo em seu centro, formado por sete UAVs em estado de rastreamento Hexágono regular,contendo dois UAVs e o alvo em seu centro, formado por oito UAVs em estado de rastreamento Formação de sub-enxames: conectividade global existente Formação de sub-enxames: conectividade global baixa Formação de sub-enxames: conectividade global crítica Formação de sub-enxames: conectividade global inexistente Experimento 1: Efetividade do sistema em relação à colisões, cobertura territorial e alvos rastreados quando v alvomax = v uavmax Experimento 1: Efetividade do sistema em relação à colisões, cobertura territorial e alvos rastreados quando v alvomax > v uavmax Experimento 2: Efetividade do sistema em relação à colisões, cobertura territorial e alvos rastreados quando v alvomax = v uavmax Experimento 2: Efetividade do sistema em relação à colisões, cobertura territorial e alvos rastreados quando v alvomax > v uavmax
14 xi Lista de Algoritmos 1 Pseudocódigo do PSO Estratégia de sincronismo Estratégia de agrupamento Estratégia de patrulha Estratégia de rastreamento Estratégia de retorno à base Rotina principal de cada UAV
15 xii Lista de Abreviaturas e Siglas ACO Ant Colony Optimization BDI Belief-Desire-Intention GPS Global Point System PSO Particle Swarm Optimization RADAR Radio Detection And Ranging(Detecção e Telemetria pelo Rádio) SI Sistemas internacional SMA Sistemas multiagentes UAV Unmanned Aerial Vehicle
16 1 1 Introdução Enquanto mais me aprofundo nas ciências, mais me aproximo de Deus. Albert Einstein. Neste trabalho de conclusão de curso, foi construído um simulador para tornar possível observar a coordenacão, projetar ações e desenvolver algoritmos para enxame de UAVs (Veículo Aéreo Não Tripulado) considerando os seguintes fatores: dinâmica dos UAVs, como por exemplo, aceleração e direcionamento; inteligência de enxames na coordenação dos UAVs (Veículos Aéreos não Tripulados), como por exemplo, afastamento, colisão, rastreamento de alvos e compartilhamento de informação; e comunicação entre os UAVs, utilizando o paradigma de comunicação ad hoc. O simulador pode auxiliar no projeto, simulação e implantação de um enxame real de UAVs em campo. Este capítulo apresenta a introdução deste documento, e está organizado em 3 seções. Na Seção 1.1, é apresentada a motivação para a realização deste trabalho, bem como o problema abordado pelo mesmo. Em seguida, na Seção 1.2 são apresentados os objetivos gerais e específicos. Por fim, na Seção 1.3 é descrita a estrutura do restante do documento. 1.1 Motivação e Caracterização do Problema Os UAVs tem recebido bastante interesse da comunidade científica nos últimos anos e graças aos investimentos em computação embarcada, comunicações, sensores e redução consumo de energia, os UAVs estão cada vez mais capazes de desempenhar tarefas bastante complexas e sofisticadas. Como não são ocupados por nenhum humano, os UAVs são geralmente mais simples e de um custo menor quando comparados com outros veículos aéreos, sendo adequados para missões longas e
17 1.1 Motivação e Caracterização do Problema 2 perigosas, como monitoramento de tráfico urbano, operações militares de busca e salvamento e patrulha de fronteira [1]. Existem vários tipos de UAVs para diferentes propósitos, como os acima mencionados, utilizados e construídos por vários países, principalmente, Estados Unidos e Israel [2]. No entanto, implantar um enxame real de UAVs requer um alto investimento, visto que o hardware necessário para o enxame terá de ser implementado inicialmente. Um ambiente que pudesse ser capaz de simular o comportamento do enxame, poderia reduzir o custo envolvido para implantação e oferecer, previamente, informações acerca do comportamento do enxame de UAVs. Para permitir que os UAVs se engajem em missão de longa durações, não tendo que recarregar sua energia frequentemente, o consumo de energia não poderá ser alto. Dessa forma, uma comunicação de longo alcance, que por sua vez requer transmissores de alta potência, se torna inviável por conta do consumo de energia. Esse problema pode ser resolvido utilizando um paradigma de comunicação ad hoc, onde todos os UAVs podem funcionar como roteador. Ao invés de transmitir a informação direto para o destino, a informação é transmitida para o UAV imediatamente vizinho, e assim sucessivamente, até que a informação chegue ao destino. Uma ferramenta computacional que simula a inspeção de dutos submarinos utilizando inteligência de enxames em robôs aquáticos foi proposto em [3], que por sua vez mostra que múltiplos robôs podem realizar a inspeção de forma mais efetiva que um único robô e que, dependendo das características do ambiente, a partir de um determinada quantidade de robôs, também foi mostrado em [3] que aumentar demasiadamente o número de robôs não gera benefícios adicionais relevantes, somente custos. Um simulador de UAVs, utilizando inteligência de enxame, considerando os aspectos de comunicação, colisão, afastamento e rastreamento de alvos, ajudaria, também, a guiar o projeto e configuração do enxame necessário para implantação real em campo. O relato de algumas experiências com UAVs, inclusive de implementação prática, podem ser verificados em [1] [4] [5]. Entretanto, nenhum destes trabalhos propôs um mecanismo de coordenação autônomo de um enxame de UAVs considerando colisão, afastamento, comunicação ad hoc e rastreamento de alvos móveis ao mesmo tempo.
18 1.2 Hipóteses e Objetivos Hipóteses e Objetivos Neste simulador será analisado o desempenho dos UAVs mediante a variação no número de indivíduos no enxame, e qual o impacto na efetividade da tarefa que lhes foi designada Objetivos Gerais O objetivo geral deste trabalho de conclusão de curso é construir um simulador que, fazendo uso de algoritmos de inteligência de enxames, seja capaz de prover um ambiente onde se possa observar o comportamento autônomo de UAVs, que compartilham informações entre si utilizando comunicação ad hoc. São objetivos específicos: Aplicar técnicas de inteligência de enxame na coordenação dos UAVs; Construir algoritmos de coordenação de enxame de UAVs; Construir uma ferramenta computacional que simule o comportamento de um enxame de UAVs para patrulha territorial; Realizar simulações levando em conta a dinâmica dos UAVs, sensores de percepção ambiental, anti-colisão e comunicação; Analisar os resultados em relação às métricas de colisões, cobertura territorial e alvos rastreados. 1.3 Organização do Documento O trabalho está organizado em 7 capítulos. No Capítulo 2 serão abordados os conceitos de inteligência de enxames bem como de enxames de robôs. Em seguida, no Capítulo 3, serão descritos os componentes do sistema, a saber, o modelo do ambiente e o modelo dos agentes e seus mecanismos. O Capítulo 4 especifica o comportamento do sistema, as estratégias de patrulha, rastreamento dos UAVs e os procedimentos de comunicação. No Capítulo 5 serão apresentados os componentes e funcionalidades do simulador. No Capítulo 6 serão descritos os experimentos realizados, os resultados obtidos nas simulações e as considerações finais sobre os
19 1.3 Organização do Documento 4 mesmos. Por fim, no Capítulo 7, serão apresentadas as principais conclusões desse trabalho, bem como propostas para trabalhos futuros.
20 5 2 Fundamentação teórica A menos que se admita a existência de Deus, a questão que se refere ao propósito para a vida não tem sentido. Bertrand Russel. Neste capítulo é apresentada a base necessária para o entendimento do simulador desenvolvido. A seção 2.1 apresenta os fundamentos de inteligência de enxames, de modo especial, otimização por enxame de partículas. A seção 2.2 apresenta os fundamentos relativos aos de enxames de robôs. 2.1 Fundamentos de inteligência de enxames A metáfora de insetos sociais para solução de problemas se tornou uma linha de pesquisa em alta nos últimos 15 anos, visto que essa abordagem coloca em ênfase aspectos como distributividade, interação direta e indireta entre agentes relativamente simples, flexibilidade e robustez [6]. O número de aplicações de sucesso utilizando tal metáfora cresce exponencialmente em otimização combinatorial, redes de comunicação e robótica. Muitos pesquisadores estão interessados nessa nova maneira de alcançar tal forma de inteligência, cunhada como inteligência de enxames. Inteligência de enxames (Swarm Intelligence) teve sua origem a partir de estudos em colônias, ou enxames de organimos simples. Os estudos em enxames de organismos sociais levaram à construção de algoritmos de otimização e agrupamento bastante eficientes [7]. Por exemplo, os estudos da elegante, mas imprevisível, coreografia de bandos de pássaros levou ao desenvolvimento do algoritmo de otimização baseado em enxame de partículas (PSO) e o estudo de colônias de formigas em suas atividades como construção de estruturas, proteção da rainha, busca por fontes de al-
21 2.1 Fundamentos de inteligência de enxames 6 imentos e estratégias de ataques, levou ao desenvolvimento do algoritmo de otimização baseado em colônia de formigas (ACO) [8]. Em 1995, James Kennedy e Russel Eberhart, criaram uma técnica de otimização estocástica chamada PSO para simular graficamente o comportamento de um bando de pássaros [9]. Um enxame pode ser descrito como uma coleção estruturada de organismos interativos (ou agentes), onde cada indivíduo é extremamente simples, no entanto, o comportamento coletivo apresentado se torna bastante complexo. O comportamento global do enxame de organismos sociais, portanto, emerge de maneira não linear através do comportamento dos indivíduos dentro do enxame, existindo assim um forte acoplamento entre o comportamento individual e o comportamento do enxame inteiro. Dessa forma, o comportamento coletivo dos indivíduos especifica o comportamento do enxame. No entanto, o comportamento do enxame não é determinado somente pelo comportamento dos indivíduos, independentemente de outros indivíduos. Em vez disso, a interação entre indivíduos desempenha o papel vital para a formação do comportamento do enxame [8]. Um aspecto que dirige o PSO é a interação social, onde indivíduos dentro do enxame aprendem uns com os outros e, baseado no conhecimento obtido, cada indivíduo, move-se com o objetivo de tornar-se mais próximo de seus melhores vizinhos. Tal estrutura social é determinada pela formação de vizinhanças, onde os indivíduos, dentro dos limites dessa vizinhança, comunicam-se uns com os outros. Existem diferentes tipos de vizinhanças que foram definidas e estudadas, como por exemplo: topologia em estrela (star topology) [10], onde cada partícula pode comunicar-se com qualquer outra dentro do enxame, formando um rede social totalmente conectada; e a topologia em anel (ring topology) [10], onde cada partícula comunica-se com o seus n vizinhos imediatos e o valor de n é um inteiro não negativo menor que o tamanho do enxame. Em um enxame, cada partícula representa uma solução potencial. As partículas voam pela hiperespaço, modificando seu posicionamento baseado em sua própria experiência e nas experiência de seus vizinhos. Cada partícula armazena as seguintes informações: x i (t) (posição atual) um vetor de valores reais que são os parâmetros para a solução do problema; v i (t) (velocidade) um vetor que determina como se dará a movimentação das
22 2.1 Fundamentos de inteligência de enxames 7 partículas; P besti (t) a melhor posição encontrada pela partícula; G besti (t) a melhor posição encontrada pelo enxame, ou seja, o P best (t) da melhor partícula; fitness o valor que define a partícula qualitativamente. Geralmente, é o retorno da função a ser otimizada. A posição x i (t) é modificada pela adição do vetor velocidade v i (t) ao seu posicionamento. O comportamento do PSO consiste em, a cada iteração, alterar o vetor velocidade da partícula de acordo com as posições P best (t) e o G best (t). A velocidade das partículas, no PSO, é regida pela seguinte equação [9] v i (t + 1) = ω v i (t) + c 1 r 1 [ P besti x i (t)] + c 2 r 2 [ G best x i (t)], (2.1) onde v i (t +1) será a nova velocidade da partícula P i, enquanto v i (t) e x i (t) são, respectivamente, a velocidade atual e posição atual da partícula. Existem dois componentes que influenciam o comportamento do PSO: o primeiro é o componente cognitivo c 1, que denota a influência cognitiva individual da partícula em relação a melhor posição encontrada a partir de sua experiência pessoal, P best, no cálculo de sua velocidade; o segundo é o componente social c 2, que especifica a influência social em relação à melhor posição encontrada pelo grupo, G best, no cálculo de sua velocidade. Para conceder a característica contínua ao PSO, no cálculo da velocidade, são escolhidos dois coeficientes aleatórios r 1 e r 2 no intervalo [0,1], associados respectivamente ao componente cognitivo e social. Por fim, o fator de inércia ω provê o balanceamento entre a busca em amplitude e profundidade tendo aumentado a eficácia das soluções encontradas em um grande número de aplicações [11]. A velocidade da partícula, após efetuado seu cálculo, é utilizada no cálculo da nova posição da partícula. A posição atual é somada à nova velocidade, gerando assim a posição final da partícula, como apresentado na Equação (2.2): x i (t + 1) = v i (t + 1) + x i (t). (2.2) Como o tempo é a unidade de iteração e possui valor unitário no PSO, não é levado em consideração como um fator que multiplica a velocidade. A atualização das velocidades e posições no PSO é realizada de tal maneira que
23 2.2 Fundamentos de enxames de robôs 8 esse tipo de técnica mostra-se eficiente na resolução de problemas em que o espaço de variável é contínuo. Dessa maneira, as principais propriedades identificadas na inteligência coletiva são: Adaptabilidade: habilidade de adaptação à variações ambientais; Estabilidade: nem todas as variações afetam o comportamento de um agente; Diversidade: habilidade de reação à situações inesperadas; Qualidade: capacidade de avaliação comportamental por parte dos agentes; Proximidade: capacidade de interação por parte dos agentes. Em resumo, o PSO funciona de acordo com o pseudocódigo apresentado no Algoritmo 1. Algorithm 1: Pseudocódigo do PSO Inicialize aleatoriamente as partículas no espaço e busca; Avalie o fitness de cada partícula; Determine o G best ; enquanto critério de parada não for alcançado faça para cada partícula faça Atualize velocidade e posição (Equação 2.1 e 2.2); Avalie o fitness da partícula; Atualize o P besti ; Atualize o G best ; Retorne o G best. 2.2 Fundamentos de enxames de robôs Enxames de robôs é uma nova abordagem para coordenação de um grande número de robôs relativamente simples, autônomos, não controlados de maneira centralizada, capazes de se comunicar localmente e que operam baseados em inspiração biológica [12]. Enxames de robôs pode ser definido como o estudo de como um grande número de agentes corporificados relativamente simples fisicamente podendo ser projetados de forma que o comportamento coletivo desejado venha emergir através das
24 2.2 Fundamentos de enxames de robôs 9 interações locais entre os agentes e entre os agentes e o ambiente. Inteligência de enxames pode ser entendida como uma propriedade de um sistema de robôs não inteligentes exibindo coletivamente um comportamente inteligente [13]. A aplicação dos princípios de inteligência de enxames em uma coleção de robôs pode ser denominada como enxame de robôs (Swarm robotics) [12]. Segundo [14], um enxame de robôs deve apresentar três propriedades funcionais que são observadas em enxames naturais e permanecem como propriedades desejadas em um sistema multi-robôs. São elas: 1. Robustez A propriedade robustez apresenta a capacidade de continuar suas operações apesar de distúrbios no ambiente ou falha de algum indivíduo. Primeiro, os enxames são inerentemente sistemas redundantes; a perda de um indivíduo não causa uma falha no sistema, podendo aquele ser substituído por outro. Segundo, a coordenação é descentralizada, então é improvável que a destruição de uma parte particular do enxame comprometa sua operação. Terceiro, os indivíduos que compõe o enxame são relativamente simples, tornando-os menos propensos à falhas. Quarto, a percepção é distribuída, por isso, o sistema é robusto contra pertubações locais no ambiente. 2. Flexibilidade A propriedade flexibilidade apresenta indivíduos com a habilidade de coordenar seus comportamentos de modo que sejam capazes de enfrentar tarefas de diferentes naturezas. Por exemplo, a capacidade que os indivíduos em uma colônia de formigas possuem de encontrar o menor caminho entre o ninho e a fonte de alimento ou transportar uma presa grande através da utilização de diferentes estratégias de coordenação. 3. Escalabilidade A propriedade escalabilidade apresenta a capapacidade de operar com grupos de tamanho variados e em um amplo intervalo, suportando também um número demasiado grande de indivíduos sem impactar o desempenho consideravelmente. Sendo assim, os mecanismos e estratégias de coordenação a serem desenvolvidos em um sistema de enxame de robôs devem assegurar a operação do enxame sob variados tamanhos de enxames. Dentro dessas propriedades, o maior interesse dos pesquisadores é a resolução
25 2.2 Fundamentos de enxames de robôs 10 de problemas de cobertura e exploração de ambientes de maneira eficiente, controle distribuído, difusão e interação. As áreas de pequisa em inteligência de enxames foram organizadas em [15], levando em consideração os níveis de pesquisa relacionados. São elas: Inspiração biológica; Comunicação; Controle; Mapeamento e localização; Transporte e manipulação de objetos; Robôs reconfiguráveis; Coordenação de movimento; Aprendizado; Alocação de tarefas. Devido a limites de espaço, serão apenas brevemente apresentadas algumas pesquisas nestas áreas. Os mecanismos mais importantes em enxame de robôs contidos nessas pequisas são os de agregação, dispersão, forragem, auto-montagem, movimentação conectada, transporte cooperativo e formação de padrões. [14] 1. Inspiração biológica Enxame de robôs e, o conceito relacionado, inteligência de enxames, estão fundamentados nos mecanismos descentralizados que permeiam os enxames naturais de abelhas, formigas, pássaros, peixes, lobos e até mesmo humanos. Os insetos sociais possuem os melhores exemplos de comportamento biológicos auto-organizável. Por meio de comunicação local e limitada, são capazes de realizar tarefas impressionantes como, por exemplo, manutenção da saúde da colônia, cuidado com os menores e reação a invasões [16]. Em [17], é apresentado um grupo de robôs com o objetivo de localização de alvos em um ambiente desconhecidos utilizando como inspiração biológica a quimiotaxia, que é o processo de locomoção em direção a um gradiente químico. Alguns tipos de bactérias como, por exemplo, E. coli, exibem esse comportamento através da
26 2.2 Fundamentos de enxames de robôs 11 mudança da direção de rotação de seus flagelos. A quimiotaxia inspirou estratégias de busca com robôs efetivamente no passado [18]. A adoção do feromônio como inspiração biológica foi utilizada em [19] em um enxame de robôs distribuídos sendo proposto um mecanismo de feromônio virtual como um esquema de coordenação da troca de messagem entre os robôs. 2. Comunicação Em qualquer tarefa que requeira cooperação, existirá uma necessidade de comunicação entre os agentes participantes. Embora existam debates em torno do nível de comunicação permitida para tais sistemas, a maior parte das referências faz distinção entre comunicação implícita/indireta e explícita/direta. Comunicação implícita, algumas vezes chamada de estigmergia (stigmergy), é um método de comunicação através do ambiente. A comunicação através da utilização do feromônio é um tipo de comunicação implícita [7] [19]. Comunicação explícita é o tipo de comunicação na qual os robôs trocam mensagens diretamente uns com os outros [7]. A comunicação entre os robôs pode multiplicar suas capacidades e aumentar sua eficiência. Embora não existam conclusões claras acerca de qual tipo de comunicação seja melhor para um enxame de robôs, a maioria das pesquisas visam a comunicação indireta devido à sua robustez. 3. Controle Existem duas formas de controle: centralizado e distribuído. O controle centralizado é caracterizado pela presença de um agente líder que está no comando da organização do trabalho entre os outros robôs. O líder está envolvido no processo de tomada de decisão para todo o grupo, enquanto o resto do grupo age de modo a concordar com as decisões tomadas pelo líder. O controle descentralizado, pelo contrário, é caracterizado pela completa autonomia presente em todos os agentes no processo de tomada de decisão respeitando uns aos outros. Nesse tipo de controle, não existe um líder. 4. Mapeamento e localização Mapeamento é a representação do ambiente físico através da informações sensoriais do robô móvel em modelos espaciais. Localização é definido como encontrar a localização absoluta ou racional do robô nos modelos espaciais gerados. Um dos maiores problemas nesta área, enquanto obtendo um mapa do ambiente desconhecido através de um robô móvel, é localizar este mesmo robô
27 2.2 Fundamentos de enxames de robôs 12 relativamente ao mapa obtido. Em [20] foi proposto, simulado e implantado com bons resultados, um algoritmo de exploração de mapas baseado em fronteiras (frontier-based) utilizando o PSO para coordenação entre os robôs. Um algoritmo utilizado na coordenação de robôs móveis para encontrar alvos desejados sem depender de uma informação global de posicionamento precisa foi proposto por [21]. O algoritmo inspira-se no PSO para guiar os robôs através das missões de busca e é baseado em geometria cartesiana para unificar um sistema de coordenadas relativas. 5. Transporte e manipulação de objetos Habilitar os robôs a transportar e manipular objetos cooperativamente foi uma das primeiras metas estabelecidas. No entanto, esta se mostra muito difícil de se alcançar pois, embora muitos projetos lidaram com aspectos como esses, poucos tiveram resultados plausíveis em robôs reais. Aspectos relevantes nesta área estão relacionados com a capacidade que os robôs tem de realizar a movimentação com ou sem restrições, movimentação conectada (isto é, locomoção com os robôs conectados uns aos outros), modelos baseados em sistemas globais versus sistemas distribuídos, dupla de robôs versus enxame de robôs, etc. As pesquisas nesta área classificaram em três tipos os métodos para manipulação de objetos: grasping (agarrar), pushing (empurrar) e caging (prender). A técnica de grasping incorpora técnicas de form closure e force closure. Força de fechamento é uma condição que implica que o agarramento é capaz de resistir a qualquer força externa aplicado ao objeto. A técnica de pushing, por sua vez, não garante form closure ou force closure, mas necessita que forças externas, tais como peso e atrito, sejam aplicadas ao objeto. A técnica de pushing possui as vantagens de não necessitar agarrar o objeto e mover múltiplos objetos ao mesmo tempo. A técnica de caging introduz um área móvel limitada (ou de fronteira), tornando o planejamento de locomoção e controle simplificado e robusto. Essa forma é chamada de object closure (fechamento do objeto). Em [22] foi utiliza a técnica de object closure para locomover objetos utilizando a cooperação entre robôs móveis e em [23] é apresentado um grupo de robôs móveis transportanto cooperativamente um objeto pesado utilizando a técnica de grasping. 6. Robôs reconfiguráveis As pesquisas nesta área visam capacitar os robôs à alterarem sua forma através
28 2.2 Fundamentos de enxames de robôs 13 do rearranjamento da conectividade de suas partes, com o objetivo de adaptarse à novas circunstâncias, desempenhar novas tarefas ou recuperar-se de alguma avaria. Em [24] é apresentado, simulado e implantado, a habilidade de auto-montagem em um enxame de robôs. 7. Coordenação de movimento Dentro desta área, planejamento de trajetória é o tema com o maior número de pesquisas. Vários algoritmos foram desenvolvidos para enfrentar os problemas de planejamento de trajetória como, por exemplo, lógica difusa [25], PSO. [26] Existe, também, o problema de geração de formação, que é definido como a coordenação de um grupo de robôs para entrar e manter uma formação com determinada configuração como, por exemplo, uma linha, uma circunferência, etc. [27] 8. Aprendizado O aprendizado pode ser supervisionado ou não supervisionado. O aprendizado supervisionado requer a utilização de um supervisor externo. No aprendizado supervisionado, os robôs tem o conhecimento de quais são as melhores saídas em uma dada situação através da correção fornecida pelo supervisor, utilizando, por exemplo, árvores de decisão, redes neurais artificiais, etc. O aprendizado não supervisionado é um método que requer um mínimo, ou mesmo nenhum, feedback corretivo do ambiente. Para tal forma de aprendizado, pode-se utilizar, por exemplo, computação evolucionária, algoritmos genéticos, etc. Esse tipo de método é útil por permitir que os robôs se adaptem à situações onde o ambiente ou as tarefas não são conhecidos ou estão em constante mudança. Em [28] é apresentada uma aplicação utilizando redes neurais. 9. Alocação de tarefas Consiste na atribuição de tarefas entre os robôs de maneira produtiva e eficiente. A alocação realizada não deve assegurar apenas o cumprimento da missão global, mas também que as tarefas sejam bem distribuídas entre os robôs. Um abordagem efetiva na alocação de tarefas deve considerar os recursos disponíveis, os atributos que serão otimizados (tempo, energia, etc), as capacidades dos robôs, etc. O problema de alocação de tarefas multi-robôs tem sido investigado utilizando diferentes técnicas como, por exemplo, planejamento distribuído [29].
29 14 3 Descrição dos componentes do sistema Atingimos a perfeição não quando nada pode acrescentar-se a um projeto, mas quando nada pode retirar-se. Saint-Exupery Neste capítulo serão apresentados o modelo do ambiente e o modelo de agentes e seus mecanismos, a saber, o mecanismo de localização, o mecanismo de locomoção, o mecanismo anti-colisão, o mecanismo de comunicação e o mecanismo de percepção do ambiente. 3.1 Modelo do ambiente O mapeamento de ambientes é uma atividade de alta importância entre as atividades de um robô. Sua capacidade de exploração ambiental, geralmente, determina o sucesso de seus objetivos. Como mecionado anteriormente em 2.2, os robôs podem, ou não, possuir uma representação interna do ambiente. Todo UAV apenas possui conhecimento a respeito de sua localização atual e não possui representação interna do ambiente em que se encontra neste simulador. Dessa forma, o modelo utilizado pode ser considerado como um modelo de robô reativo, ou seja, o UAV não raciocina sobre a representação interna do ambiente para planejar trajetórias ou definir suas ações, mas apenas sobre informações adquiridas de seus sensores de percepção, comunicação, obstáculos, etc. O ambiente virtual é determinado pelos seguintes parâmetros: Área de extensão (A ambiente ) Esse parâmetro determina em metros quadrados, a área do ambiente virtual, cujos lados possuem tamanho A ambiente.
30 3.1 Modelo do ambiente 15 Quantidade de UAVs (Q uavs ) Esse parâmetro determina o número de UAVs que serão colocados no ambiente em posições aleatórias. Quantidade de alvos (Q alvos ) Esse parâmetro determina o número de alvos que serão colocados no ambiente em posições aleatórias. Quantidade de obstáculos (Q obstaculos ) Esse parâmetro determina o número de obstáculos que serão colocados no ambiente em posições aleatórias. O ambiente virtual consiste em um ambiente de 2 (duas) dimensões. As dimensões usadas nos eixos são parâmetros do simulador. Foi utilizado uma imagem que representa a fronteira do Brasil com o Paraguai apenas como ilustração. Tal fronteira estende-se desde Foz do Iguaçu, no Paraná, até Corumbá, em Mato Grosso do Sul, num total de 1.365,4 Km. O modelo do ambiente virtual é visualizado em 600x600 pixels independente de seu tamanho. A escala visual do ambiente, nos dois eixos, é 1: A ambiente. A escala visual dos outros elementos como, alvos, obstáculos, UAVs, base terrestre, por questões de visualização, não são alteradas com a modificação da área (A ambiente ) e pode apresentar, visualmente, incoerência de dimensões. A figura 3.1 ilustra o ambiente virtual. Figura 3.1: Ambiente virtual: Fronteira do Brasil com o Paraguai. Tal ambiente possui:
31 3.1 Modelo do ambiente UAVs O UAVs são os agentes principais do simulador, pois é a coordenação entre os UAVs que permititá a realização da patrulha e rastreamento de forma eficiente. A figura 3.2 ilustra um UAV no ambiente. Figura 3.2: UAV: Veículo Aéreo Não Tripulado. 2. Alvos É considerado um alvo toda entidade que trafega através do ambiente sem permissão. Esse alvos são percebidos pelo sensor de percepção ambiental do UAV e representam invasões que devem ser comunicadas aos UAVs vizinhos e rastreadas durante toda sua permanência no ambiente. A figura 3.3 ilustra um alvo no ambiente. Figura 3.3: Alvo: Um invasor no ambiente. 3. Obstáculos É considerado um obstáculo qualquer estrutura fixa no ambiente como, por exemplo, uma antena de comunicação, que esteja nas proximidades do UAV. Esses obstáculos são percebidos pelo sensor anti-colisão do UAV e devem ser contornados. A figura 3.4 ilustra um obstáculo no ambiente. Figura 3.4: Obstáculo: Qualquer estrutura fixa no ambiente.
32 3.2 Modelo do agente Base terrestre A base terrestre está presente no ambiente para dar suporte quando possível, devido as restrições de comunicação, e necessário. Todo UAV possui o conhecimento da localização, x base, de sua base terrestre. Tal informação é utilizada para retornar à base quando se fizer necessário. O UAV deseja retornar à base quando, por exemplo, invadir o espaço aéreo vizinho e perder a comunicacão com seus vizinhos. A figura 3.5 ilustra a base terrestre dos UAVs. Figura 3.5: Base terrestre. 5. Limites Por fim, o modelo do ambiente possui limites nos sentidos norte, sul, leste e oeste. Tal propriedade é importante para configurar uma saída do UAV de seu espaço aéreo e consequente invasão do espaço aéreo vizinho. 3.2 Modelo do agente O simulador foi construído utilizando o modelo de agente. Um agente é uma entidade que percebe o ambiente a partir de sensores, processa e raciocina sobre as informações obtidas desses mesmos sensores e conhecimentos a priori e atua no ambiente. Os UAVs foram modelados no simulador como agentes com suas respectivas propriedades. Para realizar as atividades de patrulha, os UAVs devem possuir algumas habilidades de vital importância. Primeiramente, eles devem possuir a habilidade de locomoção dentro do ambiente e possuir algum conhecimento de sua localização. Geralmente, os UAVs apresentam limitações de locomoção como, por exemplo, o ângulo de rotação, velocidade máxima, aceleração máxima, etc. Os mecanismos de localização e locomoção estão descritos nas seções e 3.2.2, respectivamente. No entanto, tal locomoção deve ser realizada de maneira segura. O fator segu-
33 3.2 Modelo do agente 18 rança pode ser entendido como evitar colisões durante suas operações. O mecanismo anti-colisão está descrito na seção Para realizar a patrulha e rastreamento de maneira efetiva, os UAVs precisam comunicar-se uns com os outros. O mecanismo de comunicação é descrito na seção São propostos em [30] os seguintes critérios para distinguir uma arquitetura de um enxame de robôs: Quantidade de indivíduos relativamente alta, dependendo da aplicação; Homogeneidade entre os indivíduos; Cada indivíduo possui autonomia; Indivíduos simples, ou seja, relativamente incapazes ou ineficientes para realizar suas tarefas sozinhos; Indivíduos possuem sensoriamento local e capacidade de comunicação. A partir desses critérios, foi elaborado um modelo para os UAVs desse simulador e as seções a seguir descrevem os principais mecanismos de tal modelo considerado neste simulador Mecanismo de localização Como mencionado anteriormente, umas das pricipais atividades dos robôs móveis e, consequentemente, dos UAVs, é a exploração do ambiente em que se encontram. No caso específico dos UAVs, os mesmos possuem o objetivo de patrulhar o ambiente em que se encontram e rastrear eventuais alvos. Para tal, os UAVs não armazenam internamente informações a respeito do ambiente como, por exemplo, um mapa. No entanto, os UAVs tem o conhecimento de sua localização no ambiente, x uav. Tal informação possibilita o UAV locomover-se no ambiente, tomar decisões, retornar à base, evitar colisões e sair de seu espaço aéreo, rastrear possíveis álvos e atuar de maneira a manter-se conectado aos seus vizinhos. É importante observar que nenhum UAV possui conhecimento a priori do ambiente. A consequência dessa característica é a adaptabilidade dos UAVs a qualquer ambiente em que estão inseridos.
34 3.2 Modelo do agente 19 Para implementação em UAVs reais, tal premissa pode ser alcaçada a partir da utilização de um módulo GPS em cada UAV Mecanismo de locomoção Embora o mecanismo de locomoção dos UAVs esteja relacionado com aerodinâmica, serão abstraídos diversos fatores ligados com aerodinâmica, no entanto, podem ser encontrados maiores detalhes em [31]. Não serão considerados os seguintes items: Física da força de sustentação e seus respectivos princípios físicos como a terceira lei de Newton e o princípio de Bernulli, pressões dinâmicas de escoamento de fluido; Número de Reynolds, utilizado em mecânica dos fluidos para cálculo regime de escoamento de determinado fluido sobre uma superfície; Teoria do perfil aerodinâmico, ângulo de ataque, ângulo de incidência, etc.; Forças aerodinâmicas e momentos em perfis, bem como a capacidade que um perfil aerodinâmico possui de gerar essas forças; Centro de pressão e centro aerodinâmico do perfil; Formas geométricas e localizações dos componentes do UAV; Arrasto em aeronaves; Serão considerados os seguintes atributos para dinâmica dos UAVs: Aceleração horizontal (a), expressa em metros/unidade de tempo ao quadrado; Aceleração horizontal máxima (a max ), expressa em metros/unidade de tempo ao quadrado; Velocidade horizontal (v), expressa em metros/unidade de tempo; Velocidade máxima, (v max ), expressa em metros/unidade de tempo; Direção, expressa em graus. Em UAVs reais pode-se utilizar uma bússola.
35 3.2 Modelo do agente 20 Em suas operações, os UAVs apresentam: Sincronismo; Atuando de forma a afastar-se se sua distância ultrapassar um limite mínimo de aproximação (ver 3.2.3); Atuando de forma a se aproximar se sua distância ultrapassar um limite máximo de afastamento (ver 3.2.4). Cognição; De maneira estocástica quando em estado de Patrulha; Perseguindo e comunicando as posições dos alvos quando em estado de Rastreamento. Social; Considerando o direcionamento para o qual o grupo como um todo está se movendo. Pode-se definir o vetor de sincronismo como o vetor calculado pela equação (3.1) a sincronismo = a anticolisao + a comunicacao (3.1) Pode-se definir o vetor do enxame como o vetor calculado pela equação 3.2 a enxame = a cognitivo + a social (3.2) A aceleração resultante pode ser entendida de acordo com a equação (3.3). a(t + 1) = a sincronismo + a enxame (3.3) O vetor a(t + 1) deve respeitar a inequação (3.4) a(t + 1) <= a max (3.4) A velocidade resultante pode ser entendida de acordo com a equação (3.5) v(t + 1) = v(t) ω + a(t + 1) (3.5) onde:
36 3.2 Modelo do agente 21 v(t + 1) nova velocidade; v(t) velocidade anterior; ω fator de inércia; a anticolisao calculado em função do sensor anti-colisão descrito em 3.2.3; a comunicacao calculado em função do do sensor de comunicação descrito em 3.2.4; a cognitivo calculado em função do sensor de percepção do ambiente do UAV; a social calculado em função do direcionamento dos vizinhos para o melhor local. O vetor v(t + 1) deve respeitar a inequação 3.6 v(t + 1) <= v max (3.6) eles: Além desses direcionamentos, podem surgir, eventualmente, outros dois. São a limitecruzado surge quando o UAV está prestes a sair de seus espaço aéreo e invadir o espaço aéreo vizinho; a base calculado em função da localização da base e surge quando o UAV invade o espaço aéreo vizinho, se perde, ou qualquer outra situação adversa ocorre. Uma vez definida o vetor velocidade, v(t + 1), a posição do UAV é atualizada conforme a equação (3.7). x(t + 1) = x(t) + v(t + 1) (3.7) Como a unidade de iteração é unitária, o fator tempo é omitido nas equações. Dependendo da intensidade de cada direcionamento, a ordem de prioridade é estabelecida de acordo com a Equação (3.8). prioridade( a anticolisao ) > prioridade( a limitecruzado ) > prioridade( a comunicacao ) (3.8) Sendo prioridade( a) um função que determina a prioridade de um direcionamento a e um maior valor configura uma maior prioridade.
37 3.2 Modelo do agente 22 Quando o sensor anti-colisão fornece um direcionamento utilizando como intensidade o valor da velocidade máxima, v max, provavalmente, uma colisão está prestes a ocorrer. Dessa forma, todos os outros direcionamentos são desconsiderados e o UAV atua considerando apenas a anticolisao. Os raios de atuação dos três mecanismos, descritos adiante, podem ser visualizados no simulador de acordo com a figura 3.6. A cor vermelha representa o sensor anticolisão, a verde representa o sensor de comunicação e, por fim, a cor azul representa o sensor de percepção do ambiente. Os valores de cada raio, como apresentado no Capítulo 5, são parâmetros do simulador. No exemplo da figura 3.6, foram utilizados os valores 1500m para o sensor anti-colisão, 1000m para o sensor de comunicação e 500m para o sensor de percepção. Figura 3.6: Raio de atuação dos sensores do UAV Mecanismo anti-colisão O UAV possui um sensor anti-colisão para possibilitar uma locomoção segura através do ambiente. Obstáculos podem ser entendidos como, por exemplo, estruturas fixas e outros UAVs. O sensor anti-colisão possui os seguintes parâmetros: 1. Raio de alcance (r anticolisao ); Esse parâmetro determina o raio de alcance do sensor anti-colisão expresso em metros. A distância entre qualquer obstáculo e o UAV é calculada pelo sensor
38 3.2 Modelo do agente 23 anti-colisão de acordo com a equação d anticolisao = x uav x obstaculo (3.9) O sensor anti-colisão é sensibilizado quando a inequação (3.10) é satisfeita. d anticolisao <= r anticolisao (3.10) onde x uav é a posição atual do UAV obtida através do mecanismo de localização descrito em e x obstaculo é a posição de qualquer obstáculo presente no ambiente. 2. Limiar (l colisao ); Esse parâmetro determina o início da atuação efetiva do sensor anti-colisão. Embora o sensor de colisão possua um raio de atuação r anticolisao, pode ser desejado iniciar a atuação a partir de l colisao metros, onde l anticolisao <= r anticolisao (3.11) 3. Segurança (s anticolisao ); Determina uma distância mínima de segurança na qual é desejado atuar com intensidade igual a a max e s anticolisao <= l anticolisao (3.12) A intensidade de atuação do sensor anti-colisão é calculada de acordo com as equações (3.13), (3.14), (3.15), (3.16) e (3.17). A intensidade de atuação pode ser verificada no gráfico presente na figura 3.7. no intervalo (s anticolisao,l anticolisao ), onde a anticolisao = A d anticolisao + B (3.13) A = a max s anticolisao l anticolisao (3.14) e B = A l anticolisao (3.15) a anticolisao = a max (3.16)
39 3.2 Modelo do agente 24 no intervalo [0,s anticolisao ] e a anticolisao = 0 (3.17) no intervalo [l anticolisao,+ ]. Figura 3.7: Cálculo da intensidade de atuação do sensor anti-colisão. Dado que n obstaculos é o número de obstáculos no raio do sensor anti-colisão, a direção e o sentido da atuação do sensor anti-colisão é a mesma do vetor resultante da equação (3.18) a anticolisao = n obstaculos i=1 x uav x obstaculoi (3.18) Devido a sua simplicidade e menor consumo de processamento, foi utilizada uma função linear como modelo para calcular a intensidade de atuação do sensor anticolisão no intervalo de (s anticolisao,l anticolisao ), outras funções como, por exemplo, a sigmoidal logística, tangente hiperbólica, ou aproximações destas, podem ser utilizadas. Dado que e obstaculo é o raio da extensão do obstáculo e e uav é o raio da extensão do UAV considerando uma modelagem circular, uma colisão fica estabelecida quando a inequação (3.19) é satisfeita. d anticolisao <= e obstaculo + e uav (3.19)
40 3.2 Modelo do agente Mecanismos de comunicação A comunicação utilizada em robôs móveis, geralmente, é sem fio devido, principalmente, à característica dinâmica do ambiente. Embora exista UAV que utiliza um sistema de comunicação satélite [32], neste simulador foi proposto um sistema de comunicação sem fio com uma topologia ad hoc, ou seja, cada UAV é ponte de roteamento, baseado no padrão IEEE [33]. É importante observar que o sensor de comunicação sensibiliza os atuadores do UAV com o objetivo de evitar a perda de comunicação que ocorre quando a inequação (3.32) é satisfeita. Todo UAV possui um dispositivo de comunicação sem fio com os seguintes parâmetros: 1. Raio de alcance (r comunicao ); Esse parâmetro determina o raio de alcance de comunicação expresso em metros. A distância entre qualquer vizinho e o UAV é calculada pelo sensor de comunicação de acordo com a equação d comunicao = x uav x vizinho (3.20) Um UAV está no raio de comunicação quando a inequação (3.21), d comunicacao <= r comunicacao (3.21) é satisfeita, onde x uav é a posição atual do UAV obtida através do mecanismo de localização descrito em e x vizinho é a posição de qualquer vizinho no raio de comunicação. 2. Número máximo de vizinhos (n vizinhosmax ) Esse parâmetro determina o número máximo de vizinhos que um UAV possui. É importante observar que para garantir o roteamento n vizinhosmax > 1 (3.22) Um UAV é considerado n-conectado, quando n vizinhos = n vizinhosmax (3.23) dado que n vizinhos é o número de vizinhos conectados no momento.
41 3.2 Modelo do agente Limiar (l comunicacao ); Esse parâmetro determina o início da atuação efetiva do sensor de comunicação. Embora o sensor de comunicação possua um raio de atuação r comunicacao, pode ser desejado iniciar a atuação com o objetivo de manter a conexão a partir de l comunicacao metros, onde l comunicacao <= r comunicacao (3.24) 4. Segurança (s comunicacao ); Determina uma distância mínima de segurança na qual é desejado atuar com intensidade igual a a max e s comunicacao >= l comunicacao (3.25) A intensidade de atuação do sensor de comunicão é calculada de acordo com as equações 3.26, 3.27, 3.28, 3.29 e A intensidade de atuação pode ser verificada no gráfico presente na figura 3.8. no intervalo (l comunicacao,s comunicacao ), onde a comunicacao = A d comunicacao + B (3.26) A = a max l comunicacao s comunicacao (3.27) e B = A s comunicacao (3.28) no intervalo [s comunicacao,r comunicacao ] e no intervalo [,l comunicacao ]. a comunicacao = a max (3.29) a comunicao = 0 (3.30) A direção e o sentido da atuação do sensor de comunicação é a mesma do vetor resultante da equação 3.31 a comunicacao = n vizinhos i=1 x vizinhoi x uav (3.31) Devido a sua simplicidade e menor consumo de processamento, foi utilizada uma
42 3.2 Modelo do agente 27 Figura 3.8: Cálculo da intensidade de atuação do sensor de comunicação. função linear como modelo para calcular a intensidade de atuação do sensor de comunicação no intervalo de (l comunicacao,s comunicacao ), outras funções como, por exemplo, a sigmoidal logística, tangente hiperbólica, ou aproximações destas, podem ser utilizadas. Uma conexão é considerada perdida e, consequentemente, o UAV vizinho é excluído do conjunto de vizinhos, quando d comunicacao > r comunicacao (3.32) Mecanismo de percepção do ambiente Várias técnicas podem ser utilizadas na percepção ambiental como, por exemplo, a utilização de RADAR ou processamento digital de imagens, embora essa última técnica necessite de uma maior poder de processamento. O sensor de percepção ambiental é determinado pelos seguintes parâmetros: Raio de percepcão (r percepcao ) Esse parâmetro especifica o alcance do sensor de percepção do ambiente e determina a visibilidade de patrulha e rastreamento dos alvos. Um alvo é detectado quando a inequação (3.33) é satisfeita. d alvo <= r percepcao (3.33)
43 3.2 Modelo do agente 28 dado que d alvo = x uav x alvo (3.34) l percepcao Esse parâmetro determina a distância mínima que se deseja chegar do alvo em metros. A presença desse limiar evita colisões nas proximidades do alvo, pois é utilizado no rastreamento, quando a equação (3.35) é satisfeita, para evitar que o UAV atue no sentido do alvo quando já se encontrar nas proximidades do mesmo. d alvo <= l percepcao (3.35) Para o cálculo da equação (3.2), presente no Algoritmo 1, é necessária a avaliação de uma função chamada fitness. Uma das funções fitness mais simples é a distância euclidiana. Para o problema em questão, é desejado calcular a distância euclidiana entre o UAV e o alvo detectado. Tal cálculo é dado pela equação (3.36) fitness uav (t) = d alvo (t) = [x uav (t) x alvo (t)] 2 + [y uav (t) y alvo (t)] 2 (3.36) onde as informações a respeito do posicionamento do alvo são fornecidas pelo sensor de percepção do ambiente. É importante observar que a função fitness uav (t) não é, necessariamente, invariante no tempo, como ocorre, geralmente, nas utilizações clássicas do PSO. Dado que o ambiente de um problema dinâmico pode sofrer alterações de diversas formas [34], o ambiente em questão, por exemplo, em relação ao sensor de percepção, já se configura como um ambiente dinâmico, visto que o ótimo da função é a distância entre o UAV e os alvos e que esses mesmos alvos possuem a capacidade de locomoção. Dessa forma, é muito proválvel que fitness(t) não seja invariante no tempo para todo t, salvo nas situações em que o alvo possuir velocidade nula ( v alvo = 0). No ambiente em questão, as alterações que ocorrem são mudanças não dimensionais [35], onde tanto a posição quanto o valor do ótimo local sofrem modificações com o tempo [36]. Quando em rastreamento, dado que o ambiente é dinâmico, os UAVs conectados devem possuir as seguintes habilidades : Habilidade de detectar a mudança do ótimo e encontrar sua nova posição [37]:
44 3.2 Modelo do agente 29 essa habilidade é alcançada através do compartilhamento de informação entre os vizinhos; Habilidade de seguir o ótimo do problema [38]: essa habilidade é alcançada utilizando a Equação (3.3). Wicker [39] propõe três objetivos principais para os algoritmos de otimização de problemas dinâmicos. São eles: Precisão: mede o quão próxima a solução encontrada está da solução global. Para o problema da coordenação entre os UAVs, a solução é local aos UAVs conectados de forma ad hoc; Estabilidade: um algoritmo é considerado estável se mudanças no ambiente não impactam seriamente na sua precisão; Reação: mede a capacidade de reação do algoritmo às mudanças que ocorrem no ambiente. As três propriedades acima puderam ser verificadas nas simulações realizadas e apresentadas no Capítulo 6, tanto de forma visual, como apresentado na seção 6.1, quanto de forma numérica e estatística, como apresentado na seção Outros mecanismos Existem outros dois mecanismos que compõe o modelo dos UAVs, a saber, o mecanismo responsável por garantir que o UAV retorne à base e o mecanismo responsável por não permitir a invasão do espaço aéreo vizinho por parte do UAV. O primeiro mecanismo atua com o objetivo de locomover o UAV na direção e sentido da base, dado pela equação (3.37). a base = x base x uav (3.37) Um UAV entende que chegou na base quando a inequação (3.38) é satisfeita. x base x uav < l percepcao (3.38)
45 3.2 Modelo do agente 30 E o segundo mecanismo é utilizando para evitar que o UAV ultrapasse seu espaço aéreo. Para tal, é gerada uma repulsão a limitecruzado. Embora pudesse ter sido utilizada, para tal mecanismo, uma modelagem circular em relação à base, para não criar o direcionamente da vários UAVs para uma mesma posição, foi utilizado outra abordagem. O UAV entende a sua direção e sentido atuais como sendo os responsáveis por estarem o colocando para fora de seu espaço aéreo. Sendo assim, a aceleração gerada para impedir que o UAV saia de seu espaço aéreo é dada pela equação (3.39) utilizando coordenadas polares. a limitecruzado = (a limitecruzado,θ v(t) o ) (3.39) onde θ v(t) é o ângulo, em coordenadas polares, da velocidade atual ( v(t)) do UAV. A intensidade a limitecruzado é calculada de forma semelhante às equações (3.13), (3.14), (3.15), (3.16) e (3.17). No entanto, são utilizados os parâmetros l limitecruzado e s limitecruzado.
46 31 4 Descrição do comportamento do sistema...quem despreza o que se faz e se atém ao que deveria ser feito aprenderá a maneira de se arruinar, e não a defender-se. Maquiavel Neste capítulo serão abordados os comportamentos do simulador. A seção 4.1 apresenta detalhes dos estados nos quais o UAV pode se encontrar. A seção 4.2 apresenta a estratégia de sincronização dos UAVs para evitar colisão e perda de comunicação durante todas as operações. A seção 4.3 apresenta a estratégia de agrupamento. A seção 4.4 apresenta a estratégia de patrulha. A seção 4.5 apresenta a estratégia de rastreamento utilizando inteligência de enxame. Por fim, a seção 4.7 apresenta a rotina de coordenação distribuída executada por cada UAV. 4.1 Máquina de estados do UAV O UAV pode assumir quatro estados durante toda a missão: 1. Estado de agrupamento (GroupState); 2. Estado de patrulha (PatrolState); 3. Estado de rastreamento (TrackingState); 4. Estado de retorno à base (BaseReturnState). Todos os UAVs iniciam suas operações no estado de agrupamento e encerram quando a missão é finalizada ou quando se envolvem em colisões. Neste simulador, o fim da missão é estabelecido pelo número máximo de iterações.
47 4.2 Estratégia de sincronismo 32 A condição de guarda da transição do estado de agrupamento para o estado de patrulha é a restrição imposta pela equação (3.23). Ao entrar no estado de rastreamento, o UAV passa a comunicar a presença do alvo e, enquanto houver alvo detectado, o mesmo é comunicado aos UAVs vizinhos. É possível visualizar os estados, ações, e condições de guarda do UAV na figura 4.1. Figura 4.1: Máquina de estados do UAV. 4.2 Estratégia de sincronismo A locomoção dos UAVs é realizada de forma sincronizada, no que diz respeito a evitar colisões, perda de comunicações e invasão do espaço aéreo vizinho. A estratégia de sincronismo é executada em todos os estados do UAV e possui três objetivos: Afastar-se de obstáculos, inclusive UAVs, de forma à evitar colisões; Aproximar-se de UAVs conectados, de forma à evitar perda de conexões; Atuar de forma à evitar sair do espaço aéreo.
48 4.3 Estratégia de agrupamento 33 Além dos três objetivos acima mencionados, existe a priorização destes de acordo com a Equação (3.8). A estratégia de sincronismo é apresentada no Algoritmo 2 Algorithm 2: Estratégia de sincronismo Calcular o vetor anti-colisão a anticoliso (Equação (3.18)) Calcular o vetor de comunicação a comunicacao (Equação (3.31)) Calcular o vetor de percepção dos limites do ambiente a limitecruzado se a anticoliso = a max então Retornar a anticoliso se a limitecruzado = a max então Retornar a limitecruzado se a comunicacao = a max então Retornar a comunicacao 10 Retornar a anticoliso + a comunicacao + a limitecruzado 4.3 Estratégia de agrupamento O objetivo dos UAVs neste simulador é patrulhar o ambiente e rastrear possíveis alvos. No entanto, antes de iniciar as atividades de patrulha e rastreamento, os UAVs devem encontrar, estabelecer e manter comunicações com outros n vizinhomax UAVs. Essas atividades iniciais são chamadas de atividades de agrupamento. Como os UAVs são inicializados no ambiente em posições e com velocidades aleatórias, para realizar o agrupamento, o UAV realiza sua locomoção, quando possível, sempre em frente. A estratégia de agrupamento é importante, pois possibilita a formação de redes de comunicação ad hoc em qualquer ambiente desconhecido, desde que os UAVs vizinhos implementem o mesmo padrão de comunicação. A estratégia de agrupamento é apresentada no Algoritmo 3. Neste simulador, foi adotada a priorização do agrupamento em relação ao rastreamento. Ou seja, quando um UAV perceber um alvo em suas proximidades e estiver no estado de agrupamento, o alvo será ignorado, pois o UAV só iniciará as atividades de rastreamento quando estiver conectado à outros n vizinhomax UAVs e estiver no estado de patrulha.
49 4.4 Estratégia de patrulha 34 Algorithm 3: Estratégia de agrupamento Calcular vetor de sincronismo a sincronismo (Algoritmo 2) se n vizinhos = n vizinhosmax (Equação 3.23) então Transicionar para o estado de patrulha (Algoritmo 4) senão Verificar a presença de UAVs (Equação (3.21)) Calcular a agrupamento = v(t) a max v(t) Retornar a sincronismo + a agrupamento 4.4 Estratégia de patrulha Quando um UAV está conectado de acordo com a Inequação (3.23), seu estado é transicionado para o estado de patrulha. Conforme mencionado em 3.2.1, os UAVs modelados nesse simulador não armazenam internamente representações do ambiente no qual se encontram para realizar planejamento de rotas, evitar patrulha redundante, etc. A estratégia de patrulha é locomover-se sempre em uma direção aleatória. Embora tal estratégia seja simples e em conformidade com o modelo de agentes reativos, pelos componentes aleatórios introduzidos, como posições e velocidades iniciais, é possível estabelecer coberturas territoriais satisfatórias conforme apresentado na seção 6.2 do Capítulo 6. A estratégia de patrulha é apresentada no Algoritmo 4 e a patrulha representa a estratégia de patrulha. Algorithm 4: Estratégia de patrulha Calcular vetor de sincronismo a sincronismo (Algoritmo 2) se d alvo <= r percepcao (Equação 3.33) então Transicionar para o estado de rastreamento Calcular a patrulha = v(t) a max v(t) Retornar a sincronismo + a patrulha 4.5 Estratégia de rastreamento A execução da estratégia de rastreamento tem início quando, de acordo com a Equação (3.33), um alvo é detectado. Nesse estado, o UAV que detectou e está rastreando algum alvo, comunica constantemente este alvo para seus n vizinhomax vizinhos.
50 4.5 Estratégia de rastreamento 35 Estes também o comunicam e dessa forma o alvo é comunicado por toda a rede de maneira ad hoc. O UAV neste simulador, prioriza o alvo mais próximo, visto que a probabilidade de perdê-lo é menor. Mesmo que o UAV esteja presente em um rede onde está sendo comunicado o rastreamento de um alvo, mas este mesmo alvo está fora de seu alcance, conforme a Equação (3.33), não se faz necessário a execução da estratégia de rastreamento, pois a mesma é garantida por a sincronismo. Ou seja, os UAVs atuam no sentido de ficar conectados ao enxame e, consequentemente, acompanhar o rastreamento de um possível alvo. Contudo, a consequência da utilização desta estratégia é a formação de subenxames, como será apresentado na seção 6.1 do Capítulo 6. Tal formação tem origem quando um segundo alvo entra no raio de percepção de UAVs em estado de patrulha e localizados, geralmente, nas periferias do enxame formado pela rede de comunicações ad hoc. Estes detectam o alvo, iniciam seu rastreamento, se desligam do enxame original e formam entre si um novo enxame. Este segundo enxame é formado por UAVs que executam a estratégia de rastreamento para o segundo alvo e, geralmente, é menor que o enxame original. Então, embora a estratégia utilizada reduza o número total de comunicações em todo sistema, devido a formação de sub-enxames, a utilização da mesma produz dois comportamentos desejados: 1. Aumento da cobertura territorial patrulhada; 2. Rastreamento de mais de um alvo paralelamente. Todos os dois comportamentos acima mencionados e considerados inteligentes ocorrem com pouca cognição cooperativa, principalmente, quando comparada com a cognição presente, geralmente, nos agentes Belief-Desire-Intention (BDI) em sistemas multiagentes (SMA). Esses comportamentos inteligentes emergem da interação e compartilhamento de informação entre os UAVs: inteligência de enxames. A estratégia de rastreamento é apresentada no Algoritmo 5.
51 4.6 Estratégia de retorno à base 36 Algorithm 5: Estratégia de rastreamento Calcular vetor de coordenação a sincronismo (Algoritmo 2) se d alvo >= r percepcao (Equação 3.33) então Transicionar para o estado de patrulha senão Atualizar fitness Comunicar alvo aos vizinhos Calcular a enxame (Equação 3.2) se d alvo <= l percepcao então a enxame = 0 Retornar a sincronismo + a enxame (Equação (3.3)) 4.6 Estratégia de retorno à base A última estratégia é executado quando o UAV se encontra em situações adversas. Neste simulador, a única situação adversa é quando o UAV ultrapasse seu espaço aéreo, consequentemente, invadindo o espaço aéreo vizinho. A partir do conhecimento da localização de sua base terrestre, x base, o UAV atua para retornar à base. A estratégia de retorno à base é apresentada no Algoritmo 6. Algorithm 6: Estratégia de retorno à base Calcular vetor de coordenação a sincronismo (Algoritmo 2) se x base x uav < l percepcao (Equação (3.38)) então Transicionar para o estado de agrupamento senão Calcular vetor para retorno à base a base (Equação (3.37)) Retornar a sincronismo + a base (Equação (3.3)) Health Monitoring é o mecanismo que cuida da saúde do UAV. O termo saúde deve ser entendido como possíveis avarias, mal funcionamento de algum componente ou quantidade de energia abaixo do seguro para retornar à base. O mecanismo acima não foi implementado neste simulador por razões de escopo. No entanto, a estratégia de retorno à base em questão será útil quando utilizado tal mecanismo.
52 4.7 Rotina principal Rotina principal A composição de todos as estratégias anteriormente mencionadas formam a rotina principal, que é uma rotina de coordenação distribuída de UAVs. A rotina principal é apresentada no Algoritmo 7. Como consequência da utilização de máquina de estados para modelar o comportamento do UAV, a aceleração do UAV, a(t + 1), é calculada em função de seu estado. Algorithm 7: Rotina principal de cada UAV Calcular a(t + 1) a partir do estado atual (Algoritmos 3, 4, 5 e 6) se a(t + 1) > a max (Equação (3.4)) então a(t + 1) = a(t + 1) ( a max a(t+1) ) Atualizar v(t + 1) utilizando a(t + 1) se v(t + 1) > v max (Equação (3.6)) então v(t + 1) = v(t + 1) ( v max v(t+1) ) Atualizar x(t + 1) (Equação 3.7)
53 38 5 Apresentação do simulador proposto e suas funcionalidades Se você quiser educar um homem, comece pela avó dele. Victor Hugo Este capítulo apresenta a ferramenta computacional construída, os módulos que a compõem e explica detalhes de sua utilização. 5.1 Indrodução à ferramenta computacional O presente simulador, denominado Swarm Unmanned Aerial Vehicle Simulator (SUAVS), foi construído utilizando a plataforma JAVA e os conceitos de Orientação à Objetos. A figura 5.1 apresenta uma visão geral do simulador. Basicamente, o usuário deve informar os parâmetros, presentes nos campos de textos ao lado esquerdo, e acionar a simulação. É possível visualizar os resultados numéricos e estatísticas da simualação conforme apresentado na seção 5.4. Quando o número de simulações for igual a 1 (um), é possível, também, visualizar graficamente a simulação no lado direito do simulador conforme apresentado na figura 5.2, incluindo o raios dos sensores e velocidade em coordenadas polares de cada UAV. O simulador possui uma interface gráfica que permite ao usuário entrar com os parâmetros desejados, acionar a simulação, observar a simulação visualmente e obter os resultados numéricos e estatísticos da simulação. Na construção da interface gráfica foram utilizados os seguintes componentes: 1. Biblioteca Swing: essa biblioteca foi utilizada para criar os campos de texto, rótulos, botões, desenho dos UAVs, alvos, obstáculos, raio dos sensores e do
54 5.1 Indrodução à ferramenta computacional 39 Figura 5.1: Visão geral do simulador. ambiente; 2. Biblioteca AWT : essa biblioteca foi utilizada para capturar as ações dos componentes acima mencionados, possibilitando a animação da simulação; 3. Padrão de projeto State: esse padrão foi utilizado na implementação do UAV baseada na máquina de estados apresentada na seção 4.1 [40]; 4. Padrão de projeto Strategy: esse padrão de projeto foi utilizado na implementação dos sensores anti-colisão, comunicação e percepção [40]. Esse padrão de projeto foi utilizado também na implementação da topologia de comunicação ad hoc utilizada nesse simulador; 5. Padrão de projeto Observer: esse padrão de projeto foi utilizado na implementação dos seguintes eventos: Colisão ocorreu; Comunicação estabelecida; Comunicação perdida; Alvo encontrado; Alvo perdido;
55 5.2 Parâmetros de simulação 40 Figura 5.2: Painel de simulação. Alvo comunicado. 6. Java Threds; Threds Java são utilizadas quando o número de simulações desejadas é maior que 1 (um). Dessa forma, é possível executar todas as simulações em paralelo. Embora Java Threds tenham sido utilizadas para permitir mais de 1 (uma) simulação em paralelo, o simulador construído não foi implementado de forma assíncrona onde, por exemplo, cada UAV é executado dentro de uma Thread Java. No entanto, foi evitado o tratamento de cada UAV de forma sequencial padrão: dentro de cada iteração, o tratamento de cada UAV foi realizado de forma aleatória. 5.2 Parâmetros de simulação Para que o usuário informe os parâmetros necessários à simulação, devido à quantidade de parâmetros envolvidos, os mesmos foram agrupados por coerência funcional. A seguir são detalhados os parâmetros em seus respectivos agrupamentos.
56 5.2 Parâmetros de simulação Ambiente Os parâmetros relativos ao ambiente são: Dimensão: esse parâmetro não é editável, mas está aqui presente para simulações em três dimensões em futuras evoluções do simulador; Área: esse parâmetro determina a área do ambiente em m 2 ; Número de UAVs: esse parâmetro determina o número de UAVs que serão colocados inicialmente no ambiente. Os UAVs são distribuídos de maneira estatisticamente representativa. Os parâmetros do ambiente são apresentado na figura 5.3. Figura 5.3: Parâmetros do ambiente UAV Os parâmetros relativos ao UAV são: Velocidade máxima: esse parâmetro especifica a velocidade máxima dos UAVs em m/s; Inércia: esse parâmetro especifica o fator de inércia utilizado para atualização da velocidade dos UAVs; Aceleração máxima: esse parâmetro especifica a aceleração máxima dos UAVs em m/s 2 ; Aceleração cognitiva: esse parâmetro especifica o fator aceleração cognitiva dos UAVs; Aceleração social: esse parâmetro especifica o fator aceleração social dos UAVs;
57 5.2 Parâmetros de simulação 42 Raio de extensão: esse parâmetro especifica o raio de extensão dos UAVs em metros considerando uma modelagem circular. Os parâmetros do UAV são apresentados na figura 5.4. Figura 5.4: Parâmetros dos UAVs Sensor anti-colisão Os parâmetros relativos ao sensor anti-colisão são: Raio de alcance: esse parâmetro determina o raio de alcance do sensor de acordo com as especificações da seção 3.2.3; Limiar: esse parâmetro determina o limiar do sensor de acordo com as especificações da seção 3.2.3; Segurança: esse parâmetro determina a segurança do sensor de acordo com as especificações da seção Os parâmetros do sensor anti-colisão são apresentados na figura 5.5. Figura 5.5: Parâmetros do sensor de colisão.
58 5.2 Parâmetros de simulação Sensor de percepção do ambiente Os parâmetros relativos ao sensor de percepção do ambiente são: Raio de alcance: esse parâmetro determina o raio de alcance do sensor de acordo com as especificações da seção 3.2.5; Limiar: esse parâmetro determina o limiar do sensor de acordo com as especificações da seção 3.2.5; Segurança: esse parâmetro determina a segurança do sensor de acordo com as especificações da seção Os parâmetros do sensor de percepção do ambiente são apresentados na figura Figura 5.6: Parâmetros do sensor de percepção do ambiente Sensor de percepção dos limites do ambiente Os parâmetros relativos ao sensor de percepção dos limites do ambiente são: Raio de alcance: esse parâmetro determina o raio de alcance do sensor de acordo com as especificações da seção 3.2.6; Limiar: esse parâmetro determina o limiar do sensor de acordo com as especificações da seção 3.2.6; Segurança: esse parâmetro determina a segurança do sensor de acordo com as especificações da seção Os parâmetros do sensor de percepção dos limites do ambiente são apresentados na figura 5.7.
59 5.2 Parâmetros de simulação 44 Figura 5.7: Parâmetros do sensor de percepção dos limites do ambiente Sensor de comunicação Os parâmetros relativos ao sensor de comunicação são: Raio de alcance: esse parâmetro determina o raio de alcance do sensor de acordo com as especificações da seção 3.2.4; Limiar: esse parâmetro determina o limiar do sensor de acordo com as especificações da seção 3.2.4; Segurança: esse parâmetro determina a segurança do sensor de acordo com as especificações da seção 3.2.4; Número máximo de comunicações: esse parâmetro determina o número máximo de comunicações de acordo com as especificações da seção Os parâmetros do sensor de comunicação são apresentados na figura 5.8. Figura 5.8: Parâmetros do sensor de comunicação Alvos Os parâmetros relativos aos alvos são:
60 5.2 Parâmetros de simulação 45 Quantidade: esse parâmetro determina o número de alvos que serão colocados inicialmente no ambiente. Os alvos são distribuídos de maneira estatisticamente representativa; Velocidade máxima: esse parâmetro especifica a velocidade máxima dos alvos em m/s; Aceleração máxima: esse parâmetro especifica a aceleração máxima dos alvos em m/s 2. Os parâmetros dos alvos são apresentados na figura 5.9. Figura 5.9: Parâmetros dos alvos Obstáculos Os parâmetros relativos aos obstáculos são: Quantidade: esse parâmetro determina o número de obstáculos que serão colocados inicialmente no ambiente. Os obstáculos são distribuídos de maneira estatisticamente representativa; Raio de extensão: esse parâmetro especifica o raio de extensão dos obstáculos em metros considerando uma modelagem circular. Os parâmetros dos obstáculos são apresentados na figura Figura 5.10: Parâmetros dos obstáculos.
61 5.3 Ações do simulador Simulação Os parâmetros relativos à simulação são: Número de simulações: esse parâmetro determina o número de simulações paralelas para os parâmetros informados; Número de iterações para recalcular a área de cobertura: esse parâmetro determina o número de iterações para recalcular a área de cobertura; Número de iterações: esse parâmetro determina o número de iterações, caracterizando o tempo de missão. 5.3 Ações do simulador O simulador possui as seguintes ações: Simular: essa ação dispara o processo de simulação considerando os parâmetros acima mencionados; Limpar todos: essa ação apaga os valores de todos os parâmetros acima mencionados; Padrão: essa ação carrega os valores padrões para os parâmetros acima mencionados. Esses valores são configurados pelo usuário; Parar simulação: essa ação aborta a simulação atual; Salvar resultados: essa ação salva os resultados das simulações em formato CSV (Comma-Separated Values); Exibir painel de simualação: essa ação, quando o número de simulações for igual a um, exibe ou não o painel de simulação; Exibir sensores: essa ação exibe ou oculta os raios dos sensores anti-colisão, comunicação e percepção do ambiente; Exibir velocidades: essa ação exibe ou oculta as informações relativas às velocidades em coordenadas polares de cada UAV no painel de simulação. As ações são apresentadas nas figuras 5.11 e 5.12.
62 5.4 Estatísticas da simulação Estatísticas da simulação Figura 5.11: Ações do simulador. Quando o número de simulações é igual a um, são apresentadas as estatísticas da simulação. Um exemplo das estatísticas de simulação é apresentado na figura Figura 5.12: Exemplo das estatísticas de simulação. As informações da simulação são: Número de iterações; Percentual do tempo acumulado de saídas do espaço aéreo em relação ao tempo total de simulação; Percentual de UAVs que colidiram em relação ao total de UAVs inicialmente no ambiente; Comunicação; Percentual do número de comunicações estabelecidas no momento em relação ao total de possíveis conexões; Percentual da média de comunicações estabelecidas em relação ao total de possíveis conexões;
63 5.4 Estatísticas da simulação 48 Percentual do número máximo de comunicações estabelecidas em relação ao total de possíveis conexões; Percentual do número de comunicações estabelecidas em relação às comunicações perdidas. Área de cobertura; Percentual da área coberta no momento em relação à área total do ambiente; Percentual da média área coberta no momento em relação à área total do ambiente; Percentual da máxima área coberta no momento em relação à área total do ambiente; Percentual da mínimo área coberta no momento em relação à área total do ambiente. Rastreamento de alvos; Percentual do número de alvos rastreados no momento em relação ao número total de alvos; Percentual da média de alvos rastreados no momento em relação ao número total de alvos; Percentual do número máximo de alvos rastreados no momento em relação ao número total de alvos; Percentual do número de de alvos rastreados em relação aos alvos perdidos.
64 49 6 Experimentos e resultados das simulações Deus não joga dados. Albert Einstein Esse capítulo apresenta os experimentos elaborados, os resultados visuais e numéricos das simulações realizadas bem como realiza uma discussão em cima dos mesmos. 6.1 Resultados visuais Antes de abordar a simulação numérica, é interessante a apresentação de resultados visuais plausíveis Formação de figuras geométricas simétricas O primeiro comportamento que emerge da interação entre os UAVs é, principalmente, quando em estado de rastreamento, a formação de figuras geométricas simétricas a partir da configuração de suas posições. Tais figuras variam com o número de UAVs envolvidos no rastreamento. As seguir, são apresentadas as figuras geométricas simétricas formadas para o número de UAVs variando de três à oito durante qualquer simulação visual. A formação dessas figuras é um comportamento que emerge das interações entre os UAVs. Três UAVs; As posições de três UAVs rastreando um alvo configuram um triângulo equilátero
65 6.1 Resultados visuais 50 com o alvo em seu centro. Tal resultado pode ser verificado na figura 6.1. Figura 6.1: Triângulo equilátero, contendo o alvo em seu centro, formado por três UAVs em estado de rastreamento. Quatro UAVs; As posições de quatro UAVs rastreando um alvo configuram um quadrado com o alvo em seu centro. Tal resultado pode ser verificado na figura 6.2. Figura 6.2: Quadrado, contendo o alvo em seu centro, formado por quatro UAVs em estado de rastreamento. Cinco UAVs; As posições de cinco UAVs rastreando um alvo configuram um pentágono regular com o alvo em seu centro. Tal resultado pode ser verificado na figura 6.3. Seis UAVs; As posições de seis UAVs rastreando um alvo configuram um hexágono simétrico
66 6.1 Resultados visuais 51 Figura 6.3: Pentágono regular, contendo o alvo em seu centro, formado por quatro UAVs em estado de rastreamento. não regular com o alvo em seu centro. Tal resultado pode ser verificado na figura 6.4. Figura 6.4: Hexágono simétrico não regular, contendo o alvo em seu centro, formado por quatro UAVs em estado de rastreamento. Sete UAVs; As posições de sete UAVs rastreando um alvo configuram um pentágono regular com dois UAVs e o alvo em seu centro. Tal resultado pode ser verificado na figura 6.5. Oito UAVs; As posições de oito UAVs rastreando um alvo configuram um hexágono regular com dois UAVs e o alvo em seu centro. Tal resultado pode ser verificado na figura 6.6. Outros dois comportamentos foram observados:
67 6.1 Resultados visuais 52 Figura 6.5: Pentágono regular, contendo dois UAVs e o alvo em seu centro, formado por sete UAVs em estado de rastreamento. Figura 6.6: Hexágono regular,contendo dois UAVs e o alvo em seu centro, formado por oito UAVs em estado de rastreamento. Rotação das figuras geométricas formadas; Durante a locomoção do alvo, é possível observar a rotação de tais figuras geométricas tanto em torno de um UAV, consequência da diminuição da velocidade do UAV, quanto em torno do alvo rastreado, visando manter a formação de rastreamento. Adaptabilidade à velocidade do alvo. Durante o rastreamento, ocorre o comportamento cibernético descrito na equação (6.1), v uav v alvo (6.1) ou seja, mesmo a velocidade do alvo sendo desconhecida, os UAVs calibram sua velocidade de forma que ela atinja a direção, sentido e magnitude da velocidade do alvo rastreado.