uav-simulator

name=UAV-Simulator | version=1.0 | accountable= Bruno Olivieri | depdency= [[ClientLib Gateway Hakke]]

UAV-Simulator

UAV simulator é um componente capaz de simular um UAV (Unmanned Aerial Vehicle) que é capaz das seguintes simulações:

  • Simular voos sobre um itinerário lido de um arquivo texto de coordenadas;
  • Receber mensagens com comandos remotos;
  • Interagir com o Hakke para visualização da simulação.

Este projeto prove uma pool the threads cada qual é responsável por uma simulação de um UAV. Podem ser simulados tantos UAV quanto desejado. Cada UAV é capaz de voar por uma série de pontos pré-determinados em um arquivo texto como também receber mensagens com novos pontos os quais eles irão seguir.

É importante ter em mente que cada UAV é considerado um cliente conectado ao domínio do SDDL. As integrações entre componentes externos e internos são como apresentadas na imagem abaixo:

As velocidades e demais grandezas físicas são respeitadas e configuráveis com exceção do tempo.

Para executar este simulador, é necessário executar o SDDL gateway e o Hakke. Após este passo, importe o projeto diretamente no eclipse e execute a classe launch_demo().java.

A classe launch_demo().java irá executar alguns UAV em apresentar cada tipo de trajetória que eles são capazes de executar. Cada UAV irá enviar ao Hakke a sua posição através de um JSON e aguardar por mensagens via SDDL.

Este componente executa um pool de threads nas quais cada thread é um UAV simulado. Cada UAV envia mensagens para o SDDL core, formatadas em um JSON que será remontado pelo Hakke. Cada nó pode ainda receber mensagens de comandos remotos.

Sem uma instância de um gateway e de um Hakke rodando perfeitamente, o simulador não irá funcionar.

A seguir seguem todos os packages e suas atribuições.

  • main: Simulador propriamente dito do UAV na classe UAV.java. Pura e simplesmente com essa classe já há a simulação de um UAV e diversos comandos. As demais classes proveem mecanismos para a configuração e execução de enxames de UAVs;
  • runners: Dois exemplos de como executar uma simulação. A classe launcher_DEMO()é o caminho mais rápido e fácil para entender o funcionamento de cada possibilidade de movimento;
  • remoteStuff: Conjunto de classes para o controle remoto dos UAVs e tipos de comandos;
  • utils: Classes para lidas com coordenadas geográficas e leitura de path a partir de arquivos;
  • groupDefiner: Exemplo de uso do GroupDefiner, classificando UAV em grupos por seus IDs;
  • Configs: Configurações específicas para testes de enxames;
  • ComplexEventProcessing: Exemplo prático de aferição de movimentação via CEP. Este exemplo recebe cada movimento de cada UAV e compara segundo uma posição fictícia esperada.

Para efetuar o download do projeto completo clique neste link: http://www.lac.inf.puc-rio.br/dokuwiki/lib/exe/fetch.php?media=uavsim_2014.zip

Este projeto foi alterado pela última vez em 2014.2.

Link do bitbucket: https://bitbucket.org/endler/app-uavsimulator

  • uav-simulator.txt
  • Last modified: 2018/05/24 14:54
  • by vitor