name=UAV-Simulator | version=1.0 | accountable= Bruno Olivieri | depdency= [[ClientLib Gateway Hakke]]
UAV simulator é um componente capaz de simular um UAV (Unmanned Aerial Vehicle) que é capaz das seguintes simulações:
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