• Nenhum resultado encontrado

Adaptação de veículos autónomos e inteligentes e análise de desempenho no Fligth Simulator X

N/A
N/A
Protected

Academic year: 2021

Share "Adaptação de veículos autónomos e inteligentes e análise de desempenho no Fligth Simulator X"

Copied!
118
0
0

Texto

(1)

Adaptação de Veículos Autónom

Inteligentes e Análise de D

Abel Fernando Neto Moreira dos Santos

Mestrado Integrado em Engenharia Informática

Orientador: Luís Paulo Gonçalves dos Reis (Professor Auxiliar, FEUP)

Co-Orientador: Daniel Augusto Gama de Castro Silva

Adaptação de Veículos Autónom

Inteligentes e Análise de Desempenho no

Flight Simulator X

Abel Fernando Neto Moreira dos Santos

Mestrado Integrado em Engenharia Informática e Computação Luís Paulo Gonçalves dos Reis (Professor Auxiliar, FEUP)

Orientador: Daniel Augusto Gama de Castro Silva

Junho de 2010

Adaptação de Veículos Autónomos e

esempenho no

Abel Fernando Neto Moreira dos Santos

e Computação Luís Paulo Gonçalves dos Reis (Professor Auxiliar, FEUP)

(2)
(3)

Análise de desempenho no Flight Simulator X

Abel Fernando Neto Moreira dos Santos

Mestrado Integrado em Engenharia Informática e Computação

Aprovado em provas públicas pelo Júri:

Presidente: Rosaldo José Fernandes Rossetti (Professor Auxiliar Convidado, FEUP) Vogal Externo: Artur José Carneiro Pereira (Professor Auxiliar, UA)

Orientador: Luís Paulo Gonçalves dos Reis (Professor Auxiliar, FEUP)

____________________________________________________

(4)

O Homem, cada vez mais, apercebe-se da importância de colocar máquinas remotamente operadas a efectuar trabalhos perigosos, a desenvolver soluções para melhorar a sua qualidade de vida e a sua produtividade, chegando mesmo a utilizar ambientes simulados para testar novas tecnologias, novas metodologias.

Este projecto surge no âmbito de um projecto de maior dimensão, centrado no estudo da coordenação de agentes em missões de vigilância, procura e salvamento e, como tal, necessita de um ambiente simulado para as realizar, para as testar.

Assim, primeiramente, utilizando o simulador Flight Simulator X como base de trabalho, são adaptados novos veículos, terrestres, marítimos e submergíveis ao mesmo, garantindo que estes novos veículos tenham um comportamento tal como os veículos a que se predispõem a simular e, dessa forma, que possam efectuar missões conjuntas de veículos heterogéneos na plataforma de simulação.

Numa segunda fase, com os novos veículos criados, são efectuadas missões compostas por grupos de veículos autónomos aéreos, terrestres, marítimos e submergíveis. Todos os comportamentos dos veículos e acções efectuadas são registadas em ficheiros (uma telemetria dos veículos) que por sua vez são analisados, consoante as missões que os veículos estão a executar, e assim elabora-se uma análise de desempenho sobre a mesma, permitindo dessa forma tentar perceber quais os algoritmos de controlo de veículos que possuem melhor desempenho para determinada tarefa. Esta análise de desempenho, permite também tirar ensinamentos para se melhorarem os algoritmos de controlo de veículos autónomos.

Este documento, faz um estudo do que está feito nas áreas necessárias para atingir os objectivos acima mencionados e apresenta soluções funcionais para os problemas em análise.

(5)

Abstract

Man is increasingly realizing the importance of placing remotely operated machines to perform dangerous work, to develop solutions to improve quality of life and productivity, such that it has to consider the use of simulated environments to test new technologies and methodologies.

This project comes as a part of a larger project focused on studying the coordination of agents in surveillance, search and rescue missions, and thus it requires a simulated environment to carry out and test such missions.

On a first stage, Flight Simulator X is used as a base, with new and adapted land, sea and submersible types of vehicles, ensuring that these behave just like the vehicles they are simulating, thus being able to perform joint missions with heterogeneous vehicles in the simulation platform.

On a second step, the newly created vehicles are used to undertake missions composed by groups of autonomous vehicles by air, land, sea and submersible. All the behaviors of these vehicles, as well as actions taken, are registered on files (a telemetry of the vehicles), which are then analyzed, depending on what missions they are undertaking, and a performance analysis is prepared, allowing to understand which vehicle control algorithms perform better for such a task. This performance analysis also allows drawing lessons to improve autonomous vehicles control algorithms.

This paper presents a study of what is already done in the areas needed to achieve the objectives mentioned earlier and provides solutions to the problems analyzed.

(6)

Agradecimentos

Gostava de agradecer aos orientadores do projecto, orientador Luís Paulo Gonçalves dos Reis e co-orientador Daniel Augusto Gama de Castro Silva, este último de uma forma especial por ser o mentor do projecto global em que este trabalho assenta e pelas longas reuniões e debates muito construtivos que tivemos ao longo do projecto assim como a disponibilidade demonstrada para me aconselhar nas diversas situações que ocorreram durante o mesmo.

Um muito obrigado!

(7)

Índice

1 - Introdução ... 1 1.1 Contexto e Motivação ... 1 1.2 Objectivos ... 2 1.3 Estrutura da Dissertação ... 2 2 - Revisão Bibliográfica ... 4 2.1 Adaptação de veículos ... 4 2.1.1 Agentes ... 4

2.1.2 Simuladores de veículos terrestres e marítimos ... 6

2.2 Análise de desempenho ... 10

2.3 Trabalho prévio ... 11

2.3 Resumo ... 13

3 – Integração no Projecto Global ... 14

3.1 Arquitectura ... 14

3.2 Adaptação de veículos ... 15

3.2.1 SDL ... 17

3.2.2 TDL ... 21

3.3 Análise de desempenho dos agentes ... 23

3.4 Aplicações Desenvolvidas ... 24

3.4.1 Painel de Controlo ... 24

3.4.2 Ferramenta de Controlo do Agente ... 25

3.5 Resumo ... 27

4 – Adaptação de Novos Veículos ... 28

4.1 Configuração do cenário ... 28

4.1.1 Extensão da linguagem SDL ... 28

4.1.2 Aplicação de configuração do cenário ... 39

4.2 Configuração de equipas ... 48

4.2.1 Definição da linguagem TDL ... 48

4.2.2 Aplicação de configuração de equipas ... 51

4.3 Integração com o FSX ... 53

4.3.1 Controlo de veículos ... 54

4.3.2 Veículos Submergíveis ... 55

4.3.3 Características de Navegação Submersa ... 56

4.4 Resumo ... 61

5 – Análise de Desempenho ... 62

(8)

5.2 Métricas... 63

5.3 Perfil ... 64

5.4 Aplicação ... 65

5.6 Resumo ... 68

6 – Conclusões e Trabalho Futuro ... 69

6.1 Satisfação dos Objectivos ... 69

6.2 Trabalho Futuro ... 70

Referências ... 72

Anexo A: Exemplo de uma SDL ... 75

(9)

Lista de Figuras

Figura 1 – Ambiente do simulador 3D Driving School ... 7

Figura 2 - Imagens do simulador naval Ship Simulator 2008 ... 7

Figura 3 - Um dos veículos participantes no Darpa Grand Challenge de 2007 ... 8

Figura 4 – Submarino Robótico ... 10

Figura 5 – Flight Simulator X ... 12

Figura 6 – Simulador X-Plane ... 12

Figura 7 – Simulador Flight Gear ... 13

Figura 8 – Simulador 2D Piccolo... 13

Figura 9 – Arquitectura do projecto, adaptada de [44] ... 15

Figura 10 – Representação dos novos tipos de veículos a incluir no simulador ... 16

Figura 11 – Plano de desenvolvimento da adaptação dos novos tipos de veículos ... 16

Figura 12 – Definição do elemento Scenario ... 17

Figura 13 – Definição do elemento de bases de operações ... 18

Figura 14 – Definição do elemento aeroporto ... 19

Figura 15 – Definição do elemento de Controladores ... 20

Figura 16 – Definição do elemento de Áreas de não Circulação ... 20

Figura 17 – Definição do elemento de Tipo de Agentes ... 21

Figura 18 – Definição do elemento de Equipa ... 22

Figura 19 – Definição do elemento Agente, pertencente à equipa ... 22

Figura 20 – Fluxo de informação gerado durante uma simulação ... 23

Figura 21 – Plano de desenvolvimento da Análise de Desempenho ... 24

Figura 22 – Interface da aplicação de configuração do Cenário ... 25

Figura 23 – Interface da aplicação de configuração das Equipas ... 26

Figura 24 – Interface da aplicação de Controlo de Agente. Configuração de manobras .... 26

Figura 25 – Definição do elemento de base de operações estendida para os novos tipos de veículos ... 29

Figura 26 – Definição do elemento Porto ... 30

Figura 27 – Exemplo das estruturas referenciadas num Porto ... 30

Figura 28 – Definição do elemento Via de Navegação ... 31

Figura 29 – Definição do elemento Cais ... 31

Figura 30 – Definição do elemento Berths ... 31

Figura 31 – Definição de Espaço de Atracagem ... 32

Figura 32 – Definição do elemento de uma rampa de acesso ... 32

Figura 33 – Definição do elemento Doca Seca ... 33

Figura 34 - Definição do elemento de Base Terrestre ... 34

Figura 35 – Definição do elemento Estrada ... 35

Figura 36 – Definição do elemento Parque de Estacionamento ... 35

(10)

Figura 38 – Definição do elemento de Características Físicas dos Veículos. ... 37

Figura 39 – Definição do elemento de Características de Performance dos Veículos ... 38

Figura 40 – Interface de Configuração do Porto ... 41

Figura 41 – Interface de configuração de uma Via de Navegação ... 41

Figura 42 – Interface de configuração de Espaços de Atracagem ... 42

Figura 43 – Interface de configuração de Cais ... 42

Figura 44 – Interface de configuração de uma Doca Seca ... 43

Figura 45 – Interface de configuração de uma Rampa de Acesso ... 43

Figura 46 – Interface de configuração de uma Base Terrestre... 44

Figura 47 – Interface de configuração de Estradas ... 45

Figura 48 – Interface de configuração de um veículo marítimo ... 46

Figura 49 – Interface de configuração de Veículo Submergível... 47

Figura 50 – Interface de configuração de um Veículo Terrestre ... 47

Figura 51 – Extensão da definição do elemento de Estado para suportar novos veículos .. 50

Figura 52 – Extensão do elemento de veículo real simulado de forma a suportar novos tipos de veículos ... 50

Figura 53 – Interface de configuração do estado de um Veículo Marítimo ... 51

Figura 54 - Interface de configuração do estado de um Veículo Submergível ... 52

Figura 55 – Interface de configuração do estado de um Veículo Terrestre ... 52

Figura 56 – Interfaces de comunicação com o simulador ... 53

Figura 57 - Processo de configuração de veículos no FSX. ... 54

Figura 58 - Rota a efectuar pelo veículo. O círculo é o ponto de referência de chegada .... 55

Figura 59 - Processo de controlo de um submarino. ... 56

Figura 60 - Componente horizontal e vertical da velocidade do veículo. ... 57

Figura 61 - À esquerda, exemplo de uma manobra de um submarino e respectivos pontos de referência. À direita, exemplo da variação da altitude do submarino entre o local de partida e o ponto de referência seguinte... 57

Figura 62 - Demonstração dos pontos de referência e raio de acção considerado como ponto de referência pelo FSX ... 58

Figura 63 - Gráfico de cálculo da altura do veículo na posição em que se encontra pelo segundo método de resolução ... 58

Figura 64 - Possibilidade do veículo ainda se encontrar a caminho do ponto de referência 1 (wp1) mas devido a ter entrado no raio de acção wp1, o simulador considera que o veículo já se encontra a caminho de wp2 ... 59

Figura 65 – Vista de topo do percurso efectuado por um submarino ... 60

Figura 66 – Vista em perspectiva do percurso efectuado pelo submarino ... 60

Figura 67 – Exemplo esquemático de uma simulação em relação ao tempo. Cada veículo pode executar várias missões na mesma simulação ... 63

Figura 68 – Cada simulação efectuada regista os logs dentro de uma pasta específica ... 65

Figura 69 – Interface principal da aplicação da Análise de Performance ... 66

Figura 70 – Interface de configuração de Métricas pertencentes à avaliação de uma Missão ... 67

(11)

Lista de Tabelas

Tabela 1 – Unidades de medida suportadas ... 40 Tabela 2 – Terminologias diferentes para mesmas propriedades ... 49

(12)

Abreviaturas e Símbolos

FSX Flight Simulator X. Simulador de voo da Microsoft e ferramenta base de desenvolvimento deste trabalho

API Application programming interface

SDL Scenario Description Language. Linguagem desenvolvida para definição do cenário do mundo

TDL Team Description Language. Linguagem desenvolvida para especificação de equipas de veículos

XML eXtensible Markup Language. Framework para definir linguagens de anotação XML

Schema

eXtensible Markup Language Schema. Linguagem para definição de regras de validação de documentos XML

C# Linguagem de programação desenvolvida pela Microsoft ATC Air Traffic Control

(13)

1 - Introdução

Este documento pretende analisar o que existe desenvolvido na área de estudo, simulação de veículos e análise de desempenho de veículos autónomos e demonstrar soluções que preencham as falhas encontradas.

Neste capítulo analisa-se o contexto em que surge o trabalho de forma a enquadrar o projecto, além de se apresentarem as motivações e objectivos do mesmo, identificando assim os problemas a resolver.

Os dois principais desafios deste projecto são o desenvolvimento de novos tipos de veículos para o simulador Flight Simulator X e o desenvolvimento de uma aplicação que permita efectuar uma análise de desempenho sobre missões efectuadas por veículos autónomos.

No final do capítulo, procede-se a uma descrição dos assuntos abordados nos restantes capítulos do documento.

1.1 Contexto e Motivação

Desde os seus primórdios, que o Homem tenta melhorar a sua forma de viver, a sua forma de sobreviver, seja na descoberta de novos utensílios que facilitam o seu quotidiano, seja na interacção social que faz entre os seus, tornando-se uma criatura menos vulnerável e mais forte.

Essa posição torna-se bastante visível com a revolução industrial, onde as inovações eram maioritariamente para melhorar a produtividade em relação ao trabalho humano, tornando-o mais rápido e barato, ou seja, com a criação de máquinas para fazerem trabalhos repetitivos.

Mais recentemente, tomou-se consciência da importância de máquinas para substituir pessoas em locais de difícil acesso ou perigosos. Sentiu-se assim a necessidade de criar máquinas que substituíssem as pessoas e, para tal, teriam de ser operados remotamente ou autónomos. Consciente da extrema importância deste paradigma, a DARPA criou a DARPA Grand Challenge com o objectivo de promover a investigação e promoção de agentes autónomos, neste caso, de carros autónomos que têm de, sem interacção humana, fazer uma longa viagem[1].

A extrema importância deste novo paradigma de evolução não se fica por aqui. Existem invenções e projectos-piloto que não podem ser implementados e testados devido aos custos monetários enormes e à grande probabilidade de falharem ou mesmo, como acontece nas missões espaciais, de haver apenas uma hipótese para executar a missão. Surgiu assim a necessidade de criação de simuladores que tentam ser representações o mais pormenorizadas

(14)

possíveis do mundo real, onde os agentes são executados e testados permitindo assim que esses agentes simulados estejam a um pequeno passo de poderem executar missões na realidade.

Devido a essas vantagens, há alguns anos que também são usados agentes para controlar barcos e aviões, seja para testes de aviões civis como militares ou mesmo para a criação e implementação de veículos operados remotamente, não simulados, para executarem missões militares, de monitorização e de sobrevivência. O departamento de defesa dos Estados Unidos da América tem investido milhões de dólares e continuará a investir nos próximos anos para a evolução deste tipo de veículos[2].

Cientes da importância desta temática no presente e no futuro, cada vez mais investigadores se debruçam nesta problemática, de controlo de veículos autónomos e surge assim o projecto de Coordenação Dinâmica de Agentes para Operações de Vigilância, Busca e Salvamento.

Perante este projecto global, surgiu a necessidade de se criar/utilizar uma plataforma de simulação que permitisse efectuar os estudos na área do controlo autónomo de veículos. A plataforma, idealmente deveria suportar vários tipos de veículos (aéreos, terrestres, marítimos e submergíveis) que pudessem interagir entre si e executassem missões conjuntas.

Dessa necessidade, surge então este projecto, inserido no projecto de maior dimensão focado no estudo da coordenação de agentes em missões de vigilância, procura e salvamento.

No âmbito desta necessidade de desenvolvimento de novos produtos, de novas metodologias, torna-se assim importante o desenvolvimento de um inovador sistema de simulação com suporte para vários tipos de veículos e com suporte de execução de missões multi-veículos, de forma a se conseguir responder aos desafios que surgem.

Como complemento do desenvolvimento, para teste e melhoria dos controlos autónomos de veículos, torna-se necessário a avaliação da simulação efectuada e das metodologias utilizadas.

1.2 Objectivos

No contexto do projecto de maior dimensão, este projecto tem explicitamente duas vertentes de desenvolvimento:

• Numa primeira fase, de forma a responder à necessidade encontrada, o objectivo é adaptar novos veículos ao simulador Flight Simulator X (carros, barcos e submarinos) e, com estes novos veículos e com os aviões presentes no projecto principal, torna-se possível a elaboração de missões conjuntas entre veículos terrestres (carros e camiões), marítimos (barcos e submarinos) e aéreos (aviões), seja em missões de busca, salvamento, monitorização ou de outra.

• Uma segunda parte do projecto consiste na análise de desempenho dos agentes de forma a optimizar, tal como um bando de pássaros optimiza a sua táctica de voo em grupo, o desempenho dos agentes em diferentes tipos de missões. Para tal, pretende-se criar uma aplicação que utilizando toda a informação produzida pelos agentes autónomos durante as suas missões (sejam eles os aviões já existentes ou os novos que são adaptados, nomeadamente veículos terrestres, marítimos e submergíveis), apresente uma análise de desempenho do veículo ao longo do tempo, permitindo verificar quais os aspectos que devem ser melhorados. Toda a informação recolhida é armazenada para que se possa fazer repetição das missões, caso necessário.

1.3 Estrutura da Dissertação

(15)

O capítulo 2 faz uma análise do Estado da Arte, que engloba o estudo do ambiente de simulação a utilizar, o estudo de agentes para controlo de veículos e um estudo sobre alguns tipos de simulação/simuladores existentes nas áreas de veículos terrestres e marítimos. Numa segunda parte do Estado da Arte, é analisado o trabalho que existe feito na análise de desempenho, tendo em atenção que não se pretende verificar tendências durante simulações mas sim, para cada simulação, verificar qual o desempenho que ela obteve.

No capítulo 3 é apresentada a arquitectura global do trabalho em que este projecto se insere, é feita uma revisão do que esse trabalho já tem desenvolvido e faz-se uma análise da arquitectura daquilo que é necessário desenvolver.

Os capítulos 4 e 5 contêm o desenvolvimento efectuado neste projecto. No capítulo 4 é descrito todo o processo necessário e efectuado para o desenvolvimento dos novos tipos de veículos no simulador, desde a concepção até ao seu funcionamento e no capítulo 5 é descrito o trabalho efectuado na avaliação de desempenho dos veículos e das simulações, tanto a nível da aplicação desenvolvida como das métricas existentes.

Por fim, no capítulo 6 apresentam-se as conclusões do projecto e perspectivas de trabalho futuro.

(16)

2 - Revisão Bibliográfica

Este trabalho foca-se na extensão de um simulador de veículos aéreos, seleccionado entre vários existentes e pretende que o simulador passe a dispor de veículos terrestres (carros), veículos marítimos (barcos) e veículos submergíveis (submarinos) controláveis autonomamente e com características idênticas às dos veículos que se pretende simular, tornando assim a plataforma mais diversificada em termos de veículos disponíveis e com um leque de simulação muito mais alargada, com a possibilidade de execução de tarefas mais diversificadas para a coordenação e cooperação de múltiplos agentes. Um segundo ponto consiste na análise de desempenho que os agentes simulados conseguem obter na concretização das suas missões.

Sendo assim, de seguida faz-se um estudo sobre potenciais simuladores aéreos que sirvam de base a este trabalho, de simuladores de veículos terrestres, marítimos e submergíveis existentes, ao desenvolvimento de agentes e metodologias para análise de desempenho.

2.1 Adaptação de veículos

Nesta secção são abordados os temas do estado da arte referentes à adaptação de veículos, nomeadamente um estudo sobre agentes e, mais relevante, que tipos de simulação, simuladores e projectos existem que utilizem veículos terrestres, marítimos e submergíveis.

2.1.1 Agentes

No mundo que não pára de se desenvolver e de evoluir, as habituais arquitecturas lineares começam a perder força. Surgem cada vez mais os agentes que permitem resolver os problemas de forma autónoma, mantendo o controlo das suas decisões e do seu conhecimento, além de poderem ser utilizados em ambientes distribuídos[3].

Os agentes têm sido reconhecidos e essencialmente utilizados em áreas de Inteligência Artificial, para problemas de planeamento, extracção de conhecimento, problemas de lógica e negociação de multi-atributos, além da obrigatória comunicação que existe entre agentes.

Podemos definir então agente como uma entidade computacional que tem potencialidade de perceber o cenário em que actua, de comunicar com o mesmo e de comunicar com outros agentes, decidindo e actuando consoante as suas percepções.

(17)

Isso é possível graças aos sensores que o agente tem, que lhe permitem analisar o meio e obter as suas percepções sobre o mesmo, agindo de seguida consoante os seus conhecimento e decidindo então qual a melhor estratégia de implementação[4-5].

As principais propriedades de um agente são então a sua autonomia, ou seja, a capacidade do agente agir autonomamente, sem intervenção humana, a partir do seu conhecimento [6], a comunicação (e compreensão, obviamente) e interacção com outros agentes do cenário. São reactivos perante alterações de condições do cenário, alteração de comportamento de outros agentes ou de qualquer tipo de condições que afectam a sua missão, pró-activo na medida que pode e deve adaptar a sua missão consoante os objectivos que pretende executar e podem ir sofrendo alterações com o passar do tempo. A mobilidade que, tal como já foi referido anteriormente, consiste na possibilidade dos agentes terem possibilidade de serem executados de forma distribuída, em máquinas e locais diferentes. A cooperação entre agentes, possibilitada pela comunicação que existe entre eles, permite que os agentes cooperem e definam entre si estratégias, de forma a melhorar o seu desempenho nas tarefas que têm de efectuar. Finalmente, a aprendizagem em que o agente, com base em acções passadas, consegue perceber quais as melhores acções, perante uma determinada situação, que deve executar para obter os melhores resultados.

Em termos de ambiente onde os agentes operam, de onde recolhem informação que vai interferir nas suas decisões, existem algumas propriedades que devem ser destacadas [7].

O cenário pode então ser totalmente visível pelo agente ou parcialmente visível, caso haja propriedades no cenário que o agente não tem possibilidade de aceder. Pode ser estático, ou seja, não sofre qualquer alteração ao longo do tempo, por exemplo, numa representação do mundo real a velocidade e direcção do vento é sempre constante ou dinâmico, em que as condições vão mudando consoante as decisões dos agentes, como por exemplo, a velocidade e direcção do vento estão constantemente a sofrer alterações. Essas condições podem ser discretas, caso mudem em momentos predefinidos ou então de forma contínua, em que as propriedades do cenário vão mudando e actualizando em tempo de execução (vento está constantemente a sofrer alterações), numa simulação perfeita do mundo real. O cenário pode ser determinista no caso de, independentemente da acção efectuada o resultado esperado ser previsível ou não determinista quando o efeito das acções efectuadas não é completamente determinado. As acções efectuadas podem também ser episódicas, ou seja, singulares ou então podem num determinado momento provocar alterações nas decisões do futuro (apagar um incêndio vai provocar alterações de poluição e vento). Por fim, o cenário pode conter apenas um único agente autónomo ou então, e o mais comum e útil, vários agentes. Esses agentes, como anteriormente também foi referido, recolhem informação do cenário, comunicam entre si, podem ser cooperativos e trabalhar em equipa ou então serem competitivos entre si.

No presente trabalho, o cenário espera-se parcialmente visível aos agentes, com acções dinâmicas em que as acções efectuadas podem interferir no futuro e nas acções futuras, num ambiente dinâmico, em constante alteração e composto por vários agentes que cooperam entre si.

Em termos de arquitectura de agentes, existem várias propostas apresentadas por diferentes estudos. A escolha da arquitectura ideal, não tem uma resposta óbvia, dependendo do tipo de sistema e acções que se pretendem.

Assim, Wooldridge [8] apresentou três arquitecturas, a deliberativa, uma abordagem clássica de inteligência artificial que possui modelos simbólicos explícitos do mundo, a reactiva, que não utiliza o raciocínio lógico a apenas reage em tempo real e uma arquitectura híbrida, que combina as características referidas anteriormente, a deliberativa e a reactiva.

Posteriormente, Russel e Norving propuseram cinco arquitecturas de agentes[7]. Propuseram então uma arquitectura reflexiva simples que é a igual à reactiva, proposta por Wooldridge e referida anteriormente. Uma arquitectura de representação do estado do mundo que consiste na representação do estado do mundo que é actualizada dinamicamente pelo agente. Esta arquitectura permite, a partir da mesma percepção do agente, desencadear acções

(18)

diferentes. Uma terceira proposta baseia-se em agentes baseados em objectivos. O agente tem a informação sobre o estado do mundo e sobre os objectivos que pretende atingir e desta forma faz um estudo da melhor acção que pode executar em determinada situação. Outra arquitectura corresponde à de agentes baseados em utilidade, que utilizam uma medida de satisfação no cumprimento do seu objectivo. Um exemplo clássico desta arquitectura é o robô que tem de efectuar uma tarefa mas está a ficar sem bateria. Deve tentar efectuar a tarefa ou deve primeiro carregar a bateria? Consoante o conhecimento que tem, vai escolher a opção que lhe permite maior satisfação dos seus objectivos. Por fim, foram apresentados os agentes adaptativos, que aprendem e melhoram o seu desempenho com a experiência adquirida ao longo do tempo de forma a melhorarem o seu desempenho. Esse conhecimento é obtido através do feedback obtido pelas diferentes experiências que tem.

Novamente Wooldridge, voltou a apresentar uma nova arquitectura, desta feita, uma arquitectura em camadas [4]. Essa arquitectura é organizada em camadas dispostas hierarquicamente em que existe interacção entre as camadas e a entidade superior escolhe, consoante a informação disponibilizada pelas camadas inferiores que são compostas por exemplo por sensores, as acções que melhor se adaptam nesse instante.

Dentro das muitas arquitecturas que entretanto foram propostas, algumas delas mais complexas, é necessário também referir a arquitectura BDI (Belief-Desire-Intention) [9]. É uma arquitectura deliberativa que, tal como o nome indica, segue-se pelas crenças, desejos e intenções do agente, ou seja, pelo conhecimento do mundo que o agente tem, pelo seu desejo de executar um objectivo e pela intenção de executar tarefas que o levem a esse objectivo.

Este estudo de agentes é necessário na medida que os novos veículos a desenvolver, tal como os aviões já desenvolvidos, têm de tomar decisões e comunicar uns com os outros, sendo portanto importante perceber os princípios de funcionamento de veículos autónomos.

2.1.2 Simuladores de veículos terrestres e marítimos

A indústria dos jogos de computador, continua em expansão nos dias de hoje, gerando milhões de euros anualmente, havendo por isso uma grande diversidade de software, em diferentes plataformas e de diversos âmbitos.

Apesar de já se ter escolhido um software que servirá de base para a realização do trabalho – o Flight Simulator X – é importante estudar, na área específica deste trabalho, o que existe em termos de simulação de veículos terrestres e marítimos e perceber até que ponto representam a realidade.

Por exemplo, existe imenso software com veículos terrestres disponível no mercado. Exemplo desse software é o 3D Driving School, cujo aspecto gráfico pode ser verificado na Figura 1 [10], um simulador de trânsito, desenvolvido para aulas em escolas de condução, que a pessoa (o aluno) tem de conduzir, virtualmente, por um cenário virtual, respeitando as regras de trânsito (do mundo real) e coexistindo com trânsito gerado por veículos autónomos. Outro exemplo é o Euro Truck Simulator [11], um simulador de condução de camiões pelas estradas da Europa em que a pessoa tem de transportar uma carga de um local para outro pelas estradas da Europa, num ambiente simulado e com trânsito autónomo, tendo em atenção limitações como o combustível que tem disponível e as horas de condução que é possível um camionista trabalhar consecutivamente.

Na área de simuladores de veículos marítimos, o mais relevante é o Ship Simulator (ver Figura 2) [12-13], um simulador de veículos marítimos que pode ser adquirido para ser executada num computador pessoal mas que também tem uma versão profissional, que encontra-se disponível para ser vendida e construída à medida para um ambiente fidedigno de simulação naval, tendo como parceiros de referência a Royal Navi, entre outras, dado proporcionar um ambiente de treino simulado bastante real, com propriedades específicas como as ondas e força das marés, planos de navegação, eficiência de combustível, entre outros aspectos. A versão profissional é mesmo possível ser ligada a instrumentos físicos de um navio

(19)

para um ambiente de simulação fidedigno. Em termos gráficos são 3D de boa qualidade, tanto dos navios como do cenário.

Figura

Tanto os simuladores terrestres, 3D Driving School e Truck Simulator, como marítimos, Ship Simulator, aqui apresentados não possuem API’s públicas para desenvolvimento, ao contrário do FSX, tornando

no primeiro a simulação disponível é tal como a adquirimos, no Ship Simulator, é mesmo possível encomendar novas especificações à empresa proprietária do simulador além do mesmo já ter, por exemplo, ambiente de simulaçã

especificações são sempre resumidas a barcos.

É também conhecido que os construtores automóveis possuem os seus próprios simuladores. Seja para simular acidentes ou mesmo de estrada, onde são testados os componentes e a condução dos veículos num ambiente simulado

Os fabricantes automóveis desenvolvem alguns dos simuladores mais fiéis à realidade existentes no mercado, simuladores que não apenas simulam veículos num

transmitem também as reacções proporcionadas pelo ambiente.

Em termos académicos, este tipo de simulação é sobretudo usada para estudo comportamental das pessoas num ambiente controlado e seguro. Para os construtores são o ponto de partida para o desenvolvimento de novos produtos. Permite que estes antes de serem construídos fisicamente, ainda num estado precoce de estudo e desenvolvimento, sejam logo testados, afinados e corrigidos problemas de desenvolvimento que possam ser encontrado tornando o processo de desenvolvimento assim mais rápido e mais barato.

Por norma, estes sistemas representam fielmente os veículos que simulam fisicamente e em termos de desempenho, nomeadamente ao nível de pormenores como a resposta da direcção e da suspensão dos veículos, possuindo possibilidade de múltiplas configurações ao nível da

Figura

para um ambiente de simulação fidedigno. Em termos gráficos são 3D de boa qualidade, tanto dos navios como do cenário.

Figura 1 – Ambiente do simulador 3D Driving School

Tanto os simuladores terrestres, 3D Driving School e Truck Simulator, como marítimos, Ship Simulator, aqui apresentados não possuem API’s públicas para desenvolvimento, ao , tornando-se impossível de adaptar nestas plataformas veículos autónomos. Se no primeiro a simulação disponível é tal como a adquirimos, no Ship Simulator, é mesmo possível encomendar novas especificações à empresa proprietária do simulador além do mesmo já ter, por exemplo, ambiente de simulação em caso de salvamento. No entanto, essas especificações são sempre resumidas a barcos.

É também conhecido que os construtores automóveis possuem os seus próprios simuladores. Seja para simular acidentes ou mesmo de estrada, onde são testados os

mponentes e a condução dos veículos num ambiente simulado [14].

automóveis desenvolvem alguns dos simuladores mais fiéis à realidade existentes no mercado, simuladores que não apenas simulam veículos num

transmitem também as reacções proporcionadas pelo ambiente.

Em termos académicos, este tipo de simulação é sobretudo usada para estudo comportamental das pessoas num ambiente controlado e seguro. Para os construtores são o tida para o desenvolvimento de novos produtos. Permite que estes antes de serem construídos fisicamente, ainda num estado precoce de estudo e desenvolvimento, sejam logo testados, afinados e corrigidos problemas de desenvolvimento que possam ser encontrado tornando o processo de desenvolvimento assim mais rápido e mais barato.

Por norma, estes sistemas representam fielmente os veículos que simulam fisicamente e em , nomeadamente ao nível de pormenores como a resposta da direcção e uspensão dos veículos, possuindo possibilidade de múltiplas configurações ao nível da

Figura 2 - Imagens do simulador naval Ship Simulator 2008

para um ambiente de simulação fidedigno. Em termos gráficos são 3D de boa qualidade, tanto

Driving School

Tanto os simuladores terrestres, 3D Driving School e Truck Simulator, como marítimos, Ship Simulator, aqui apresentados não possuem API’s públicas para desenvolvimento, ao s plataformas veículos autónomos. Se no primeiro a simulação disponível é tal como a adquirimos, no Ship Simulator, é mesmo possível encomendar novas especificações à empresa proprietária do simulador além do mesmo o em caso de salvamento. No entanto, essas

É também conhecido que os construtores automóveis possuem os seus próprios simuladores. Seja para simular acidentes ou mesmo de estrada, onde são testados os automóveis desenvolvem alguns dos simuladores mais fiéis à realidade existentes no mercado, simuladores que não apenas simulam veículos num ambiente virtual mas Em termos académicos, este tipo de simulação é sobretudo usada para estudo comportamental das pessoas num ambiente controlado e seguro. Para os construtores são o tida para o desenvolvimento de novos produtos. Permite que estes antes de serem construídos fisicamente, ainda num estado precoce de estudo e desenvolvimento, sejam logo testados, afinados e corrigidos problemas de desenvolvimento que possam ser encontrados, Por norma, estes sistemas representam fielmente os veículos que simulam fisicamente e em , nomeadamente ao nível de pormenores como a resposta da direcção e uspensão dos veículos, possuindo possibilidade de múltiplas configurações ao nível da

(20)

simulação e possuindo um ambiente de simulação bastante envolvente. Este tipo de simulador, tipicamente possui ambientes gráficos detalhados além de uma interacção com o

bastante próxima do real, nomeadamente com sistemas com seis graus de liberdade.

Estes simuladores, devido à sua representação da realidade, são também usados para treino, seja de condutores que pretendem aprender a circular na estrada, seja de

competição que pretendem treinar.

Um exemplo, na alta competição, como na Fórmula 1, equipas como Williams e McLaren usam simuladores para os seus pilotos se adaptarem a novas alterações no monolugar, experimentarem novas afinações ou para

onde vão correr.

Nos automóveis, o primeiro simulador de condução surgiu nos anos setenta, com três graus de liberdade, pelas mãos da Volkswagen. Em comparação com os mais actuais, era um simulador limitado, nomeadamente em termos de interface gráfica mas deu o sinal de partida para muitos outros desenvolvimentos.

Surge posteriormente o Research Institute, enquanto desenvolvem os seus próprio

Em termos académicos, referência

simuladores da actualidade, com nove graus de li área de simulação, um dos últimos desenvolvidos

mais avançado simulador de condução existente cujo principal objectivo da sua construção centrou-se na análise das características dos condutores para desenvolvimento de tecnologia de segurança activa para os automóveis e, posteriormente, se verifi

desenvolvidas.

Alguns sistemas inteligentes, já estão mesmo integrados em carros de produção, como o sistema de parqueamento assistido, que reconhece o lugar de estacionamento e, autonomamente, estaciona o carro ou o cruise cont

velocidade a que circula consoante o tráfego na estrada

Mas uma das entidades que mais promove projectos de veículos autónomos, é da Defesa dos Estados Unidos. Um dos projectos mais conhecidos, o DARPA Grand Challenge (a Figura 3 mostra um dos veículo

diferentes edições teve como ambiente o deserto ou a cidade, é um exemplo do que é possível desenvolver com agentes, ao permitirem que, já no mundo real, seja possível aos veí circularem autonomamente. Nesse contexto, existem diversos estudos que analisam diversas técnicas de controlo autónomo de veículos terrestres em missões, que neste caso, consiste em efectuar um percurso que os leve até determinado ponto, num ambiente

No campo dos submarinos, existe um vasto estudo em robots controlados autonomamen como podemos verificar pela bibliografia, sendo que um exemplo é apresentado na Figura4 [21].

Figura 3 - Um dos veículos participantes no Darpa Grand Challenge

simulação e possuindo um ambiente de simulação bastante envolvente. Este tipo de simulador, tipicamente possui ambientes gráficos detalhados além de uma interacção com o

bastante próxima do real, nomeadamente com sistemas com seis graus de liberdade.

Estes simuladores, devido à sua representação da realidade, são também usados para treino, seja de condutores que pretendem aprender a circular na estrada, seja de

competição que pretendem treinar.

Um exemplo, na alta competição, como na Fórmula 1, equipas como Williams e McLaren usam simuladores para os seus pilotos se adaptarem a novas alterações no monolugar, experimentarem novas afinações ou para se adaptarem a uma pista do campeonato do mundo Nos automóveis, o primeiro simulador de condução surgiu nos anos setenta, com três graus de liberdade, pelas mãos da Volkswagen. Em comparação com os mais actuais, era um nomeadamente em termos de interface gráfica mas deu o sinal de partida para muitos outros desenvolvimentos.

Surge posteriormente o simulador VTI[15], desenvolvido para a Sewdish Road and Traffic , enquanto outros fabricantes automóveis seguem também a Volkswagen e

próprios simuladores como Daimler-Benz, Mazda[16] Em termos académicos, referência para o simulador NADS-1[17]

simuladores da actualidade, com nove graus de liberdade usado na University of Iowa um dos últimos desenvolvidos é pertencente à Toyota[18]

mais avançado simulador de condução existente cujo principal objectivo da sua construção se na análise das características dos condutores para desenvolvimento de tecnologia de segurança activa para os automóveis e, posteriormente, se verificar a eficácia das soluções Alguns sistemas inteligentes, já estão mesmo integrados em carros de produção, como o sistema de parqueamento assistido, que reconhece o lugar de estacionamento e, autonomamente, estaciona o carro ou o cruise control adaptativo que permite adaptar, autonomamente, a velocidade a que circula consoante o tráfego na estrada[19].

Mas uma das entidades que mais promove projectos de veículos autónomos, é da Defesa dos Estados Unidos. Um dos projectos mais conhecidos, o DARPA Grand Challenge (a Figura 3 mostra um dos veículos participantes) que teve a sua última edição em 2007, e que nas diferentes edições teve como ambiente o deserto ou a cidade, é um exemplo do que é possível

, ao permitirem que, já no mundo real, seja possível aos veí circularem autonomamente. Nesse contexto, existem diversos estudos que analisam diversas técnicas de controlo autónomo de veículos terrestres em missões, que neste caso, consiste em efectuar um percurso que os leve até determinado ponto, num ambiente real

No campo dos submarinos, existe um vasto estudo em robots controlados autonomamen como podemos verificar pela bibliografia, sendo que um exemplo é apresentado na Figura4

Um dos veículos participantes no Darpa Grand Challenge

simulação e possuindo um ambiente de simulação bastante envolvente. Este tipo de simulador, tipicamente possui ambientes gráficos detalhados além de uma interacção com o utilizador bastante próxima do real, nomeadamente com sistemas com seis graus de liberdade.

Estes simuladores, devido à sua representação da realidade, são também usados para treino, seja de condutores que pretendem aprender a circular na estrada, seja de pilotos de alta Um exemplo, na alta competição, como na Fórmula 1, equipas como Williams e McLaren usam simuladores para os seus pilotos se adaptarem a novas alterações no monolugar, se adaptarem a uma pista do campeonato do mundo Nos automóveis, o primeiro simulador de condução surgiu nos anos setenta, com três graus de liberdade, pelas mãos da Volkswagen. Em comparação com os mais actuais, era um nomeadamente em termos de interface gráfica mas deu o sinal de partida Sewdish Road and Traffic automóveis seguem também a Volkswagen e [16], Ford, entre outros.

[17], um dos maiores berdade usado na University of Iowa. Nesta [18] e é actualmente o mais avançado simulador de condução existente cujo principal objectivo da sua construção se na análise das características dos condutores para desenvolvimento de tecnologia de car a eficácia das soluções Alguns sistemas inteligentes, já estão mesmo integrados em carros de produção, como o sistema de parqueamento assistido, que reconhece o lugar de estacionamento e, autonomamente, rol adaptativo que permite adaptar, autonomamente, a Mas uma das entidades que mais promove projectos de veículos autónomos, é da Defesa dos Estados Unidos. Um dos projectos mais conhecidos, o DARPA Grand Challenge (a Figura s participantes) que teve a sua última edição em 2007, e que nas diferentes edições teve como ambiente o deserto ou a cidade, é um exemplo do que é possível , ao permitirem que, já no mundo real, seja possível aos veículos circularem autonomamente. Nesse contexto, existem diversos estudos que analisam diversas técnicas de controlo autónomo de veículos terrestres em missões, que neste caso, consiste em

real [20].

No campo dos submarinos, existe um vasto estudo em robots controlados autonomamente, como podemos verificar pela bibliografia, sendo que um exemplo é apresentado na Figura4

(21)

No campo de desenvolvimento de simuladores para simulação de veículos autónomos, é frequente estes serem desenvolvidos à medida consoante os aspectos que se pretendem desenvolver, ou seja, simula-se um ambiente e os veículos que necessitamos para testar novos algoritmos, novas estratégias.

Um exemplo desta abordagem é o caso do Ciber-Rato, um simulador de ambiente e de veículos[22]. Este surge no seguimento de um concurso, o Micro-Rato, que consiste no desenvolvimento de um robô que se encontra num labirinto e tem de encontrar a zona de chegada de um labirinto. Para tal, é necessário construir o hardware do robô e os algoritmos para a utilização do mesmo. Com o surgimento do Ciber-rato, deixa de ser necessário gastar tempo na construção do robô e os investigadores de veículos autónomos podem-se concentrar apenas no essencial do seu trabalho, ou seja, no desenvolvimento de algoritmos de controlo.

Neste caso, o Ciber-Rato simula o cenário em que se desenrola a acção e também os componentes de hardware dos robots. Os componentes de hardware dos robots simulados recolhem também eles informação, sendo que os agentes utilizam a informação gerada pelo simulador para operarem o veículo e atingirem os seus objectivos.

Existem muitos outros exemplos de simuladores construídos de raiz para responderem às necessidades específicas encontradas, sejam para veículos terrestres ou marítimos.

Mais recentemente, surgiram outras alternativas de construção de simuladores que respondem às necessidades dos investigadores. Com o crescente desenvolvimento efectuado nos motores de jogos comerciais, que actualmente conseguem efectuar simulação física e interacção com o ambiente de forma muito realista, além de interfaces de visualização de qualidade, surge uma tendência para modificar esse software de forma a, de uma forma relativamente barata, simples, muito mais rápida que a construção de simuladores de raiz e com grande fidelidade da descrição das propriedades dos veículos e do cenário, este se adapte aos veículos que pretendemos e, assim, se torne possível utilizar esses simuladores para desenvolver plataformas de estudo de veículos autónomos.

Esses simuladores devem ser de código aberto ou devem possuir uma API que possibilite a sua adaptação aos cenários que se pretendem desenvolver.

Um exemplo de um simulador deste tipo é o USARSim[23], baseado no motor do Unreal e desenvolvido essencialmente para missões de busca e salvamento efectuadas por veículos autónomos terrestres. Uma das suas principais utilizações acontece na competição RoboCup Rescue.

Um outro exemplo de simulador deste tipo é o Simbad[24], um simulador de código aberto com visualização 3D. No entanto, este simulador é utilizado em cenários em que a física não é muito relevante dado que não suporta cálculo de física, apenas colisões simples. É sobretudo indicado para testes simples de algoritmos de controlo de veículos.

A Microsoft dispõe de um simulador de raiz para este tipo de desenvolvimento, o Microsoft Robotics Studio[25] que possui um ambiente de simulação mas permite também efectuar o desenvolvimento de algoritmos para robôs reais, tornando a fronteira entre o controlo de veículos simulados e reais muito ténue. Em termos de física e visualização é dos que melhor desempenhos proporciona, além de ser possível adaptar-se de forma a melhor responder ao ambiente e veículos que se pretendem desenvolver.

O MissionLab[26] permite executar vários veículos simultaneamente e de vários tipos, sejam eles aéreos, terrestres e marítimos. No entanto, em termos de visualização não é exemplar além de não suportar qualquer simulação física.

Utilizando a ferramenta MATLAB/Simulink[27] é possível desenvolver ambientes multi-veículo, que podem funcionar em equipa. Existem vários casos de sucesso da utilização deste software para simular veículos terrestres, marítimos e submergíveis.

No âmbito da simulação exclusivamente submergível, existe o projecto SubSim[28], um projecto de código aberto assente numa arquitectura que permite estender ou alterar o simulador consoante as necessidades encontradas. Possuem uma visualização simplificada mas possui motor físico. Devido a isto, torna-se um simulador submergível bastante completo e eficaz.

(22)

Foram então apresentados vários tipos de simulação possíveis, desde exemplos de software fechado sem possibilidade de se efectuar desenvolvimento e investigação sobre a plataforma, passou-se pela análise de simuladores existentes que fazem representações muito próximas dos veículos reais e são instrumentos de desenvolvimento e teste e, finalmente, são analisadas algumas soluções comerciais que se podem adaptar às necessidades que o investigar necessita, sendo por isso mais simples que a construção de raiz de um ambiente simulação específica para um certo estudo. Neste último grupo de simuladores foram analisadas algumas das soluções existentes que suportam um ou vários tipos de veículos a desenvolver neste projecto, nomeadamente de veículos terrestres, marítimos e submergíveis. Este estudo, permitiu analisar o que existe feito na área da simulação, verificar o nível de realismo existente nos vários tipos de simuladores e perceber o quão importante é construir uma plataforma que represente os veículos de forma fidedigna assim como permitir perceber o funcionamento e comportamento dos vários tipos de veículos.

Figura 4 – Submarino Robótico

2.2 Análise de desempenho

Num mundo cada vez mais global, todo o mercado torna-se mais competitivo, obrigando as empresas a melhorarem a sua eficiência ao mesmo tempo que a população mais se preocupa com questões como a qualidade e preservação do ambiente. A mesma população que cada vez mais respeito tem pela vida e por isso tende a procurar soluções para substituir o Homem em funções que colocam a sua vida e integridade em perigo.

Estes são alguns dos exemplos que fazem com que, cada vez mais, se aposte na criação de agentes, simulados ou robóticos, de forma a ultrapassar esses desafios.

Como é natural, os agentes devem ser desenvolvidos e adaptados para cada funcionalidade que se pretende, seja ela negociar ou efectuar missões/objectivos e como é óbvio, é necessária verificar o desempenho que ele obtém no cumprimento das suas funções.

Na área de análise de desempenho de agentes, existem dois tipos que se podem destacar: a análise de desempenho de um sistema multi-agente ou o desempenho que os agentes têm na execução das tarefas para as quais foi pensado, implementado e executado.

No primeiro caso, essa medida é sobretudo executada para melhorar a computação dos agentes no sistema, o consumo de recursos computacionais dos agentes nas suas tarefas, nas suas transacções e o tempo de resposta[29].

Deve-se ter em atenção nestes casos de se fazer a distinção entre sistema multi-agentes homogéneos, em que todos os agentes têm as mesmas funcionalidades ou em sistema multi-agentes heterogéneos pois as necessidades dos segundos são variáveis de agente para agente.

Quanto aos parâmetros que este tipo de análise destaca na sua avaliação, encontra-se o número de agentes no sistema, o tempo computacional de cada agente, a memória utilizada, o estado do agente, a comunicação entre agentes e a dependência entre agentes[30-31], de forma a verificar em que ou quais os processos que estão a consumir mais recursos do sistema, podendo

(23)

proceder-se a uma optimização dos agentes ou então, criar perfis de execução para a melhorar o desempenho do sistema[30] [32-33].

Por outro lado, que é a análise mais importante para o trabalho a desenvolver na medida que se pretende medir o desempenho de agentes heterogéneos na execução de missões definidas, existe a avaliação da qualidade dos agentes ou avaliação das estratégias dos agentes nas suas missões, consoante o objectivo pretendido.

Este tipo de análise de desempenho permite então perceber qual a estratégia do agente que melhor se adapta a cada situação, consoante as condições do ambiente que se encontram. Um exemplo da aplicação deste tipo de análise, trata-se de verificar o desempenho dos agentes num ambiente simulado de uma cadeia de fornecimento [34] em que, consoante as variações do ambiente, verificam qual o sistema de agentes com melhor estratégia para atingir o objectivo. Sistemas esses, que tal como o sistema em estudo neste trabalho, são composto por um ambiente dinâmico, com propriedades que se vão alterando e com vários intervenientes que comunicam entre si de forma a chegarem a uma solução. Neste caso, consoante as alterações do ambiente de simulação, os agentes seleccionam o critério que acreditam ser o melhor para atingir o seu objectivo.

Verifica-se então que, consoante a escolha de determinados critérios de selecção, obtêm-se comportamentos diferentes por parte dos agentes e variações da eficácia de cada agente perante a situação, podendo então, para determinadas condições do ambiente, uma estratégia ser melhor que essa mesma estratégia num cenário com as condições de ambiente diferentes.

A estratégia é demarcada inicialmente e pretende-se assim saber qual a melhor metodologia para, em determinado ambiente, maximizar os ganhos ao atingir o seu objectivo.

No caso da cadeia de fornecimento, perante as condições de ambiente, para um dado parâmetro de análise, ordena-se qual o tipo de estratégia que melhor resultado proporcionou. No caso de haver vários parâmetros de análise, torna-se então importante definir qual a prioridade e qual a importância de cada um para o objectivo final dos agentes (porque para uma determinada missão que utiliza apenas um parâmetro, uma estratégia pode ser a mais adequada mas para outra pode ser completamente desadequada) e então, no final verifica-se qual a estratégia que, no conjunto, melhor resposta proporciona.

Significa então que, no caso de um sistema de simulação de agentes heterogéneos, num ambiente dinâmico, é possível avaliar o seu desempenho, efectuando uma avaliação multi-atributo [35], na medida em que existem vários parâmetros que influenciam o resultado final. Para a efectuar, utiliza-se então uma função de utilidade, com ponderações para cada parâmetro dependendo do tipo de missão que se queira avaliar. Para tal, e como já anteriormente foi referido [33, 36], são criados perfis de avaliação, cada um com uma função de utilidade baseada no tipo de missão a realizar, por exemplo, uma missão de salvamento, tem parâmetros de avaliação (rapidez de execução, distância, entre outros) e respectivas ponderações (importância relativa de cada parâmetro em análise) diferentes dos parâmetros de avaliação e respectivas ponderações do transporte de mercadorias.

2.3 Trabalho prévio

Sendo o trabalho de maior dimensão, no qual este trabalho está incorporado, o estudo da coordenação e cooperação entre agentes (veículos aéreos), sendo nesta fase desejável que o tipo de agentes disponíveis fosse alargado para veículos terrestres (carros e camiões) e veículos aquáticos (barcos e submarinos), e dado ser economicamente impossível a realização desse estudo em agentes robóticos (físicos) além de muito moroso em termos temporais, torna-se indispensável a escolha de um simulador para a realização do trabalho.

Existiam quatro critérios fundamentais para a escolha de um simulador para um trabalho científico deste tipo[37]. A capacidade do simulador representar fielmente o mundo, como o vento, chuva, temperatura além da representação fiel de características de veículos. Um segundo

(24)

atributo é a abertura do software, nomeadamente a existência ou não de uma API de forma a ser possível adaptar as propriedades dos veículos existentes, do ambiente e a forma de interacção entre os veículos. Um terceiro aspecto é a possibilidade de alterar especificações durante a simulação, como a criação de erros nos agentes para testes em caso de avaria e por último, e dado tratar-se um de trabalho científico, menos importante para o grande objectivo do trabalho, o aspecto gráfico do simulador.

Perante estas premissas, verificou-se qual a plataforma que melhor responde aos requisitos. Podem-se agrupar as plataformas em dois tipos: motores de jogo e simuladores. No primeiro, o mais importante é o aspecto visual da aplicação. Nos simuladores, o principal objectivo é o de simular, com o maior detalhe possível, o mundo que se retrata de forma à experiência de simulação ser o mais fiel possível ao mundo real e, portanto, esta será a melhor opção para um trabalho científico como o que se trata.

Neste campo, existiam principalmente quatro simuladores objecto de estudo. O Flight Simulator X, X-Plane, Flight Gear e Piccolo.

O Flight Simulator X, simulador de voo desenvolvido pela Microsoft, [38-39] tem um cenário razoável do mundo (como a Figura 5 o comprova) mas com a possibilidade de se instalar extensões que passam a representar ainda com maior detalhe certas áreas do globo (cidades, aeroportos, paisagens). O comportamento da simulação é determinado por um conjunto de tabelas que contém vários parâmetros. Tem uma boa documentação, em termos de quantidade e qualidade, uma API e acesso a muitas variáveis internas do simulador, o que permite o desenvolvimento de novas funcionalidades. Em termos de plataforma, é possível desenvolver na plataforma .NET da Microsoft, C/C++ e existe até algum desenvolvimento em JAVA [40].

O X-Plane [41] é bastante detalhado em termos gráficos (como se vê na Figura 6), tendo uma representação do mundo bastante completa. Em termos de variáveis de simulação é bastante completo, não sendo por acaso que é um simulador utilizado para treinos de voo reais.

Figura 5 – Flight Simulator X Figura 6 – Simulador X-Plane

Tal como o X-Plane, o Flight Gear [42] tem uma representação bastante extensa do mundo, como mostra a Figura 7. É bastante flexível em termos de protocolos e facilidade de aceder às variáveis internas de simulação. De qualquer maneira, tem a grande desvantagem de ter pouca documentação disponível.

O Piccolo [43] em termos gráficos é bastante elementar, sendo em 2D, como comprova a Figura 8. De qualquer maneira, é possível importar a informação gerada por ele para ser visualizada num simulador com mais qualidade gráfica como o Flight Simulator ou Flight Gear.

Em termos de falhas, tanto o Flight Simulator X como o X-Plane permitem a ocorrência de falhas no simulador.

Concluiu-se que não existe um simulador superior a todos os outros e que o simulador deve ser escolhido consoante o objectivo do trabalho.

(25)

Figura 7 – Simulador Flight Gear Figura 8 – Simulador 2D Piccolo

Neste caso, optou-se pelo Flight Simulator X dado que faz uma representação pormenorizada do mundo ao fazer uso de centenas de variáveis, tem disponível uma API e uma boa documentação, permite a ocorrência de falhas além de ter uma interface gráfica de qualidade. Para este projecto, essa escolha permitirá assim a criação de novos tipos de veículos autónomos (carros, barcos e submarinos) que podem, tal como os aviões, efectuar missões.

2.3 Resumo

Neste capítulo efectuou-se uma revisão bibliográfica sobre os desenvolvimentos efectuados nas áreas de desenvolvimento do projecto. Fez-se uma análise ao conceito de agentes, já que o objectivo final deste trabalho é que os veículos se movimentem e efectuem missões autonomamente, prosseguiu-se por uma análise aos desenvolvimentos na área de simulação de veículos terrestres e marítimos, as áreas a desenvolver na adaptação de novos veículos ao simulador e finalizou-se com uma análise bibliográfica sobre como efectuar avaliações de desempenho, para este trabalho, de desempenho dos agentes ao executar missões.

Por fim, demonstrou-se o porquê deste trabalho estar assente na plataforma de simulação Flight Simulator X.

(26)

3 – Integração no Projecto Global

Neste capítulo é analisada a arquitectura do projecto assim como é abordado o trabalho já efectuado no âmbito do projecto de maior dimensão sobre o qual assenta este trabalho.

3.1 Arquitectura

Este trabalho encontra-se inserido num outro projecto de maior dimensão e pretende-se construir um sistema com um ambiente de simulação composto por vários veículos autónomos, que se coordenam entre si de forma a realizarem missões de busca e salvamento, de detecção e combate a incêndios, entre outras.

Dessa maneira, é possível analisar, estudar e comparar metodologias de coordenação multi-agentes que sejam mais eficazes do que as disponíveis actualmente.

A arquitectura proposta para o trabalho global em que este trabalho se insere, encontra-se esquematizada na Figura 9.

No centro da arquitectura encontra-se a plataforma de simulação, o Flight Simulator X que pode ter 1 ou N agentes em execução, um ou mais agentes ATC, uma ferramenta de logs, um painel de controlo além de tudo isto poder ser monitorizado por um utilizador.

Os agentes, que podem ser aviões, carros, barcos ou submarinos, funcionam sobre a plataforma e podem comunicar e negociar entre si para executarem missões conjuntas.

O agente ATC, é o responsável por monitorizar a actividade de todos os outros agentes e assim, em caso de avaria com um desses agentes, informa os restantes do sucedido. Perante os aviões, tem uma funcionalidade adicional na medida que servirá de controlador aéreo, ou seja, vai coordenar os aviões nas operações de descolagem e aterragem. Adicionalmente, pode existir um agente com a funcionalidade de fazer também a gestão de tráfego marítimo num porto (entrada e saída de barcos e submarinos no porto de forma a não haver choques). Eventualmente, pode haver também um agente ATC para controlo de tráfego terrestre num terminal de veículos terrestres. Existe um agente ATC para cada aeroporto, porto e eventualmente, para cada base terrestre.

A ferramenta de log tem essencialmente duas funcionalidades. É responsável por guardar toda a informação gerada pela plataforma de simulação e pelos agentes (dos veículos e pelos agentes ATC), tornando com isso possível a repetição de missões e também a análise de dados para efectuar uma análise de desempenho.

Finalmente, o painel de controlo é a interface entre o sistema e o utilizador. A partir deste, é possível configurar agentes, cenário e monitorizar acontecimentos. A configuração de agentes

(27)

consiste na definição dos agentes e de seus atributos, como o tipo de agente, o nome, o modelo, os sensores que transporta entre outras características.

Figura 9 – Arquitectura do projecto, adaptada de [44]

Na Figura 9, encontram-se duas zonas sombreadas. Essas são as áreas que este trabalho vai intervir, na adaptação ou mesmo na criação de um módulo novo.

3.2 Adaptação de veículos

Sombreado na Figura 9 a vermelho, encontra-se a área responsável pelos agentes que são executados na plataforma e, como tal, é nessa área que se dá a adaptação dos novos veículos ao simulador. Nesse campo, já se encontra desenvolvido um agente para controlo de veículos aéreos (aviões) sendo que, a partir desse agente são executados os novos tipos de veículos, terrestres (carros), marítimos (barcos) e submergíveis (submarinos), como exemplificado na Figura 10.

Torna-se assim necessário efectuar a adaptação das propriedades dos novos veículos aos novos agentes.

Para o conseguir é necessário obedecer a um processo de desenvolvimento, exemplificado na Figura 11. Fez-se um estudo das características dos novos tipos de veículos a desenvolver, seguiu-se a análise e levantamento das características mais relevantes para mapear esses veículos, seja no FSX, seja em outro simulador/estudo. De seguida torna-se necessário o desenvolvimento do Painel de Controlo para os novos tipos de veículos e estruturas afectas a estes e, para finalizar, a adaptação destes novos veículos, a partir das características levantadas, no simulador FSX, passando este último a possuir novos tipos de veículos controláveis e aptos a executarem missões autónomas.

Em termos de modelos visuais para os novos tipos de veículos, são usados os modelos de veículos terrestres e marítimos que o simulador possui como cenário (veículos não controláveis do simulador que servem para preencher o mundo). De qualquer maneira, é possível

(28)

desenvolver nesta área novos modelos gráficos, dado que o simulador permite tal desenvolvimento ou então adquirir modelos já feitos por comunidades de utilizadores online do simulador FSX. Apesar dos modelos visuais não influenciarem de maneira nenhuma o desempenho dos veículos em simulação, é mais agradável a visualização de modelos idênticos aos que existem na realidade e não, por exemplo, simular um barco mas na imagem estar representado um avião.

Figura 10 – Representação dos novos tipos de veículos a incluir no simulador Seguidamente encontra-se, em traços gerais o desenvolvimento já efectuado no âmbito do projecto global e que, em alguns casos, servem de base para o desenvolvimento dos novos tipos de veículos. Primeiramente, é apresentada a estrutura desenvolvida para mapeamento das propriedades pertencentes aos veículos já desenvolvidos (aviões) - sejam essas propriedades utilizadas posteriormente para configuração do veículo no simulador FSX ou não, mas são propriedades consideradas uma mais-valia para compreender as especificações dos veículos ou úteis para futuros desenvolvimentos. Segue-se uma análise à aplicação já desenvolvida, nomeadamente ao nível de menus de configuração para aviões e os tipos de manobras que os aviões já podem executar.

Figura 11 – Plano de desenvolvimento da adaptação dos novos tipos de veículos Estudo dos veículos Levantamento de propriedades dos veículos Adaptação dos novos veículos no simulador Construção do painel de controlo

Imagem

Figura 3 - Um dos veículos participantes no Darpa Grand Challenge
Figura 7 – Simulador Flight Gear   Figura 8 – Simulador 2D Piccolo
Figura 9 – Arquitectura do projecto, adaptada de [44]
Figura 10 – Representação dos novos tipos de veículos a incluir no simulador  Seguidamente encontra-se, em traços gerais o desenvolvimento já efectuado no âmbito do  projecto global e que, em alguns casos, servem de base para o desenvolvimento dos novos ti
+7

Referências

Documentos relacionados

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

17 CORTE IDH. Caso Castañeda Gutman vs.. restrição ao lançamento de uma candidatura a cargo político pode demandar o enfrentamento de temas de ordem histórica, social e política

A Seqüência de Três Níveis oferece um quadro mais amplo de uma situação e pode ser útil para fazer perguntas a respeito da situação de pessoas que não estão fisicamente

novas artes da vida (e da morte): qualidade de vida, nova era, biomímese.. The

Para a realização da análise fatorial, utilizaram-se 37 variáveis (Tabela 1) produzidas para o estudo, o que inclui dados presentes no ambiente pedonal de três bairros da cidade

Com o objetivo de compreender como se efetivou a participação das educadoras - Maria Zuíla e Silva Moraes; Minerva Diaz de Sá Barreto - na criação dos diversos

A Psicologia, por sua vez, seguiu sua trajetória também modificando sua visão de homem e fugindo do paradigma da ciência clássica. Ampliou sua atuação para além da

a. Ao respeito dos direitos ou da reputação de outrem; b. À salvaguarda da segurança nacional, da ordem pública, da saúde e da moral públicas. Depreende-se disso que,