• Nenhum resultado encontrado

Modelo Conceitual de Arquitetura para o Dirigível

+Superfície de

5. ARQUITETURA DE SOFTWARE ROBÓTICO PARA O DIRIGÍVEL

5.5 Modelo Conceitual de Arquitetura para o Dirigível

Aborda-se nesta seção o modelo conceitual elaborado para a arquitetura de software robótico do dirigível.

A Figura 5.2 apresenta o conceito da ASR do dirigível estabelecido com base na arquitetura utilizada no projeto DIRA, detalhada em SIMMONS (2000), que explora o paradigma de multi-agentes aplicados a ASR híbridas. A ASR do dirigível é híbrida e constituída de dois agentes, o Agente em Terra (AT) e o Agente Embarcado (AE), que trocam informações por meio do sistema de comunicação, neste caso o rádio-modem, sendo implementados nas estruturas de hardware e software embarcadas e em terra

descritas no Anexo 1. Executivo Embarcado Planejador Principal Comportamentos Embarcados Rádio Modem Executivo em Terra Agente em Terra Agente Embarcado Planejador Tratamento de Contingências Comportamentos em Terra

Figura 5.2: Visão geral da ASR para o dirigível robótico

O AT é responsável pela interação com o usuário / operador do dirigível com os equipamentos da Estação de Terra, enquanto que o AE é responsável pela interação com o sistema embarcado, abrangendo os sensores e atuadores bem como as funções de controle e navegação durante um vôo do dirigível. A parte deliberativa é realizada inicialmente pelo AT, que estabelece um plano inicial. Durante a execução deste plano, o encadeamento das tarefas e seu controle é realizado pelo AE.

Com relação à parte reativa da arquitetura, há basicamente dois tipos de contingências a serem tratadas: internas e externas. As internas são devidas ao funcionamento inadequado de qualquer componente das estações Embarcada ou de Terra, enquanto que as contingências externas são tipicamente geradas por perturbações vindas do ambiente onde se está voando, como o vento ou condições meteorológicas. Elas são detectadas pelo exame dos dados de telemetria gerados pelo sistema embarcado e transmitidos para a estação de terra ou por dados detectados em terra. As contingências também variam no grau de seriedade, originando, consequentemente, diferentes ações de recuperação com distintos níveis de complexidade.

5.5.1 Agente em Terra - AT

Como mostrado na Figura 5.2, o Agente em Terra é composto pelo Planejador Principal (PP), pelo Executivo em Terra (ET) e pelos Comportamentos em Terra (CT). Planejador Principal –PP

Previamente ao vôo, o Planejador Principal realiza um plano a-priori da missão que objetiva definir o comportamento deliberativo da aplicação. Ele recebe uma requisição do

usuário referente a uma missão definida e a transforma num script de vôo, expresso em termos de primitivas de navegação para o dirigível robótico; exemplos de primitivas são: decolar contra o vento até alcançar um altitude especificada, executar uma determinada trajetória (retas, círculos, etc.) da posição atual para outra posição a uma certa altitude, pairar a determinada posição e altitude sobre uma área de interesse, executar uma trajetória ditada por algum parâmetro de interesse a ser observado pelo dirigível, ir a um determinado local e aterrissar, etc. O plano, na forma deste script de vôo, é enviado ao executivo de terra e então ao sistema embarcado, onde será executado.

Ressalta-se ainda que, durante o vôo do dirigível, em caso de contingência importante, o PP pode ser acionado novamente para gerar um plano alternativo, a-

posteriori. O PP é portanto capaz de uma ação deliberativa (planejamento a-priori),

seguida por novas deliberações em reação a contingências (planejamento a-posteriori). O PP está escrito numa linguagem de alto nível, no caso “C”, e é executado ao nível de usuário, com uma prioridade de execução inferior quando comparada ao sistema operacional ou aos módulos de tempo real.

Executivo em Terra – ET

A primeira função do ET, antes de iniciar um vôo, é receber o plano de navegação estabelecido pelo PP e enviá-lo ao executivo embarcado. Posteriormente, durante o vôo do dirigível, o ET monitora a execução do plano, com o objetivo de detectar diferenças entre o planejado e o status atual do veículo. No caso de uma diferença significativa, o ET disparará a geração de um plano alternativo para se adequar à nova situação. Por outro lado, o ET também monitora a diferença entre a situação ambiental prevista para o vôo e a situação atual: se há uma diferença significativa, indicando a mudança das condições de vôo, ele pode solicitar ao PP a realização de um replanejamento considerando a nova situação. O ET está escrito em TDL.

Comportamentos em Terra – CT

A principal função dos Comportamentos em Terra é interagir com a interface homem-máquina, com os sensores da estação de terra e com o sistema de comunicação, fazendo-os operar adequadamente. Mesmo se a finalidade dos CT é de fornecer suporte, eles também podem apresentar ações reativas para tratar contingências de baixo nível que

aparecem neste contexto. Os CT estão escritos em RTLinux e são executados como módulos de kernel, para satisfazer restrições de tempo real.

5.5.2 Agente Embarcado - AE

O agente embarcado (ver Figura 5.2) é composto pelo Planejador de Tratamento de Contingências (PTC), o Executivo Embarcado (EE) e os Comportamentos Embarcados (CE).

Planejador de Tratamento de Contingências – PTC

As contingências em vôo, quando o replanejamento é necessário, normalmente são tratadas pelo Planejador Principal em terra. Entretanto, se uma contingência séria acontece e, por alguma razão, há uma falha de comunicação entre a Estação Embarcada e a de Terra, o AT e o AE não serão capazes de compartilhar informações e, consequentemente, de estabelecer a solução necessária. Para tornar o AE capaz de tratar estas situações de emergência, uma versão simplificada do Planejador Principal é introduzida no AE. Esta versão simplificada é justamente o PTC, compatível com as limitações do sistema embarcado em termos de capacidade de processamento e memória. Da mesma forma que o PP, o PTC está escrito numa linguagem de computador de alto nível, no caso “C e é executado o nível de usuário.

Executivo Embarcado –EE

O Executivo Embarcado recebe inicialmente um script da missão do Agente de Terra e o mapea num conjunto de comportamentos de suporte e de controle e navegação que têm que ser disparados, como algoritmos de controle de velocidade, de altitude e de trajetória, e coordenadas dos sucessivos pontos de trajetória. O EE acompanha então a execução do movimento comandado e, ocorrendo alguma contingência séria, dependendo do estado de comunicação com a terra, poderá disparar o PTC com o objetivo de gerar um plano alternativo de emergência. Da mesma forma que o ET, o EE é escrito em TDL

Comportamentos embarcados –CE

Os Comportamentos Embarcados são divididos em dois grupos:

• O primeiro assegura a interação com os sensores embarcados e os atuadores do dirigível (GPS, sensores inerciais, bússola, sonda de vento, motores, vetorização

e superfícies aerodinâmicas) sendo também responsável pelas ações reativas básicas para tratar as contingências de baixo nível associadas a problemas de funcionamento dos sensores e atuadores;

• O segundo grupo engloba os comportamentos diretamente associados ao controle e navegação do dirigível.

Eles constituem um conjunto de movimento básicos – primitivas de vôo tais como: decolar, aterrissar, pairar, voar cruzeiro a uma certa velocidade / altitude, cuja combinação sucessiva deve resultar na execução da missão planejada. Tais comportamentos são executados sob o ambiente RTLinux para satisfazer requisitos de tempo real e têm ligação direta com o sistema de controle e navegação do dirigível apresentado no Capítulo 4.

5.6 Conclusões

Este capítulo abordou o estabelecimento de um modelo conceitual para a Arquitetura de Software Robótico do Dirigível.

Inicialmente se apresentou um panorama relacionado ao desenvolvimento de sistemas de controle de robôs inteligentes, com sua classificação quanto a sua capacidade de autonomia e adaptação a variações do seu ambiente de operação; posteriormente caracterizou-se os componentes genéricos de um sistema robótico, enfatizando-se a necessidade das arquiteturas de software robótico. Na seqüência apresentou-se um panorama das arquiteturas de sofware robótico, mostrando os motivos que levaram as arquiteturas hibridas a serem padrão de fato nos sistemas robóticos, com a caracterização dos principais componentes dessa arquitetura. Apresentou-se também a linguagem de programação TDL, utilizado como linguagem para se escrever o executivo da ASR do dirigível e uma proposta de extensão da arquitetura híbrida para um sistema multi-agente, utilizada como referência para a ASR do dirigível.

Por fim, descreveu-se o modelo conceitual concebido para a ASR do dirigível que utiliza a linguagem TDL, com arquitetura híbrida, estruturada em três camadas, usando o paradigma multi-agente. Foram descritos os componentes dos Agentes Embarcado e em Terra que compõem a base da ASR do dirigível.

6. SIMULADORES DE DIRIGÍVEL