Controle de Veículos Aéreos Não-Tripulados Utilizando Mensagens CPDLC

VN:RO [1.9.11_1134]
sexta-feira, 18 d novembro d 2011
Por Débora Setton Fernandes, Coop11

Este post descreve o projeto de formatura desenvolvido pelos alunos Bruno Pereira Bueno, Débora Setton Fernandes e Fernando A. R. F. da Costa, alunos da turma de 2011 do Curso Cooperativo de Engenharia de Computação, e orientado pelo Prof. Dr. João Batista Camargo Júnior (orientador) e pelo Dr. Mário Aparecido Corrêa (co-orientador), ambos membros do Grupo de Análise de Segurança da Poli.

Apesar de a ideia do nosso projeto ser bastante simples, o título do projeto ser um pouco obscuro para quem não está familiarizado com estes termos. Vamos começar explicando o título e as coisas ficarão mais claras.

Gôndola que é presa ao balão, com sensores e motores visíveis
O que é…

… Veículo aéreo não-tripulado?

Um Veículo Aéreo Não-Tripulado, também conhecido pela abreviação VANT, é qualquer tipo de aeronave (como aviões, balões, helicópteros) que não precise de um piloto para ser guiada. No nosso projeto, utilizamos um dirigível cheio de gás hélio para representar o VANT.

… Mensagem CPDLC?

O CPDLC (Controller Pilot Data Link Communications) é uma aplicação utilizada para a comunicação entre os controladores de voo, localizados nas torres de comando, e os pilotos, localizados na aeronave tripulada. Uma mensagem CPDLC é uma mensagem de texto que segue o formato definido na especificação da Organização Internacional de Aviação Civil (ICAO – International Civil Aviation Organization). O piloto recebe e envia mensagens CPDLC utilizando um dispositivo denominado MCDU.

… Controle?

No contexto do nosso projeto, controle significa o envio de comandos, que poderão ser aceitos ou recusados pela aeronave.

O projeto

Agora sim: o nosso projeto trata de controlar um balão a partir do envio de comandos, como virar à direita, subir ou descer e alterar a velocidade, utilizando um protocolo de comunicação já existente e já utilizado na Aeronáutica hoje. Comportando-se como um VANT autônomo, o balão deve tomar decisões sobre estes comandos recebidos, decidindo se pode ou não executá-los, com base em variáveis medidas de um conjunto de sensores embarcados.

Motivação

A ideia do nosso projeto é que ele sirva como uma prova de conceito, ou seja, que ele mostre que é possível, controlar um VANT à distância, apenas através da troca de mensagens CPDLC e que, ainda assim, o voo realizado seja tão ou mais seguro quanto ele seria se existisse um piloto a bordo.

Um dos motivos para isso é que existem diversas situações em que a presença do piloto restringe a duração do voo. Um exemplo disso são voos de monitoramento de áreas de fronteira. Estes voos normalmente são utilizados para coleta de imagens, e não existe uma carga sendo transportada ou um destino específico. É interessante, portanto, não depender de um piloto, que pode ficar exaurido fisica e psicologicamente em um voo muito longo.

Outro motivo é que existem muitos acidentes aéreos causados por falha humana. Um piloto, por ser um ser humano, naturalmente está sujeito a cometer erros, mais ainda se não tiver um treinamento adequado. Se for possível substituí-lo por um sistema computacional devidamente projetado, implementado e testado, o número de acidentes será reduzido, tornando o espaço aéreo um lugar mais seguro.

Implementação

O sistema pode ser dividido em três módulos, mostrados na figura abaixo:

Diagrama de blocos do sistema

Diagrama de blocos do sistema de controle implementado

ACARS

O ACARS (Aircraft Communications Addressing and Reporting System) é um simulador de código aberto que foi utilizado no projeto, nós fizemos apenas pequenas alterações no código-fonte. O simulador completo que foi utilizado é composto por dois submódulos. O primeiro é o servidor ATC, cuja função é centralizar a comunicação entre o controlador e o piloto, registrando aeronaves e transmitindo para o destinatário (controlador ou piloto) as mensagens que são recebidas. O segundo submódulo possui, entre outras coisas, uma interface, mostrada abaixo, que permite o envio de mensagens CPDLC para as aeronaves – no nosso caso, o balão.

Interface do ACARS para criação de mensagens no padrão CPDLC

Interface para criação de mensagens no padrão CPDLC

Módulo Python

Idealmente, as mensagens CPDLC seriam enviadas diretamente do servidor do ACARS para o balão. Contudo, o microcontrolador utilizado no projeto (Atmega128 usado no Arduino Uno) possui severas restrições de processamento, tendo apenas 32KB disponíveis para o código-fonte e 1KB para a área de dados. Assim, foi introduzido um módulo que representa parte do sistema que normalmente ficaria na aeronave, mas que roda em um computador em terra. Este subsistema é responsável por receber mensagens CPDLC, traduzi-las para mensagens MBCP (My Blimp Control Protocol) e então transmiti-las ao balão. O MBCP é um protocolo bastante simples desenvolvido especificamente para o projeto.

Abaixo é mostrada a interface que foi desenvolvida para este módulo: ela imita a aparência de um MCDU, mostrando mensagens recebidas pela aeronave (denominadas de uplink, em laranja) e enviadas (de downlink, em verde).

Interface do módulo Python, emulando um MCDU

Interface do módulo Python, emulando um MCDU

Módulo embarcado

Finalmente, temos o módulo embarcado. Este é composto pelo programa que roda no Arduino assim como pelos circuitos eletrônicos auxiliares que permitem a leitura dos sensores, o controle dos motores e o envio/recebimento de mensagens MBCP via rádio. Utilizando as leituras dos sensores, o balão consegue inferir qual o seu estado com relação ao ambiente em que se encontra, tomando decisões sobre a possibilidade de execução de um comando, e rejeitando aqueles que puderem colocá-lo em uma situação de risco.

A figura abaixo mostra a gôndola que é presa ao balão, com os três motores à mostra, assim como os três sensores infravermelhos, utilizados para detectar a distância de obstáculos frontais e laterais.

 

Gôndola que é presa ao balão, com sensores e motores visíveis

Gôndola que é presa ao balão, com sensores e motores visíveis

Dentro desta gôndola ficam os circuitos descritos acima, e mostrados na figura abaixo. Da esquerda para a direita, temos:

  • Arduino: contém o microcontrolador que permite a execução da lógica de controle do balão.
  • Placa de cirtuito impresso: projetada e desenvolvida especialmente para o projeto. As três placas menores (duas vermelhas e uma verde) são sensores inerciais – uma IMU (Inertial Movement Unit), um acelerômetro e uma bússola digital.
  • Transceptor: permite envio e recebimento de mensagens de rádio.
Circuitos eletrônicos embarcados no balão

Circuitos eletrônicos embarcados no balão

Esta foi uma brevíssima descrição do projeto. Quem estiver interessado em conhecer os detalhes pode entrar em contato ou fazer o download da monografia, que em breve estará disponível.

E não percam a demonstração prática, que acontecerá no dia 14 de dezembro, no Galpão da Administração da Poli!

VN:F [1.9.11_1134]
Rating: 5.0/5 (6 votes cast)
Controle de Veículos Aéreos Não-Tripulados Utilizando Mensagens CPDLC, 5.0 out of 5 based on 6 ratings
Related Posts with Thumbnails

4 Comentários para “Controle de Veículos Aéreos Não-Tripulados Utilizando Mensagens CPDLC”

  1. Marcio Massaki Horoiwa

    Parabéns pelo projeto!
    Quero ver isso tudo funcionando, hem!

    VN:F [1.9.11_1134]
    Rating: +1 (from 1 vote)
    #680
  2. Joao

    Ficou pronto?
    Vc utilizou PIC?

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #1158
  3. Wanderlei Garcia

    Gostaria de conhecer mais este projeto e a possibilidade de produzir em escala industrial…caso tenha viabilidade…tenho interesse…entrar em contato…

    Att:

    Wanderlei Garcia.:

    VA:F [1.9.11_1134]
    Rating: 0 (from 0 votes)
    #1177

Deixe um Comentário

Spam Protection by WP-SpamFree

Get Adobe Flash playerPlugin by wpburn.com wordpress themes