Giter Club home page Giter Club logo

masire's Introduction

MASiRe — MAS in Response

This is the source code of a Multi-agent System simulator designed for coping with disaster response episodes. This simulator is inspired by the Multi-Agent Programming Contest (MAPC) and was initially developed by a team of students of AGES at PUCRS. For more information about this project we refer to our wiki.

MASiRe Screenshot

Prepare the Environment

In order to execute our simulator you need to have Python 3.6 installed on your machine and a configuration file like the one on the files folder (one can use that for tests).

# Clone this repository
$ git clone https://github.com/smart-pucrs/MASiRe.git

# Access the project folder in the terminal/cmd
$ cd MASiRe

# Install the dependencies
$ pip3 install -r requirements.txt

Run the Disaster Simulator

After having the environment configured, you can run the simulation in a terminal at the root of this project directory, just type the following command in the terminal:

python3 start_system.py <configuration-file>.json

Note: Do not use the "<" or ">", it was just to highlight that it is the desired configuration file. Also, the path to the configuration file is considered to be from the root of the project, so if one wants to use the configuration file inside the files folder, one should pass to the simulation "files/config.json". If you want, you can use the default configuration, in this case just pass "config/default_config.json".

Testing

If you want to check if everything is working you can use the pytest framework. If you have Visual Studio Code you can do this via the test option in the left menu. But if you are coding in another text editor, you need to type the following comand in the terminal/cmd:

python3 -m pytest src/tests/unity

Contributing to this Project

João Gabriel Dourado Cervo

João Vitor Bernardi Severo

Tabajara Krausburg Rodrigues

Vinicius Chrisosthemos Teixeira

Rafael H. Bordini

masire's People

Contributors

jojo0severo avatar viniciuschrisosthemos avatar tabajarakrausburg avatar gabriel-cervo avatar henriquekops avatar brunomazzardo avatar viniciusct avatar frankemax avatar lucas-schell avatar gpaulbr avatar felipetasoniero avatar dudupqv avatar marlonps avatar

Stargazers

Ammar HDAIFEH avatar Luca CPZ avatar

Watchers

James Cloos avatar Rafael Cauê Cardoso avatar Rafael H. Bordini avatar  avatar  avatar

Forkers

carloj123

masire's Issues

Bug na ação pass

Investigar o que ocorre no simulador quando todos os agentes enviam a ação 'pass'.

OSM Files

Precisamos deixar no git os arquivos .osm que estamos usando para eu conseguir rodar o simulador.

Outra coisa, o quê são os arquivos da pasta 2019/October? era para essa pasta realmente estar ali?

Rescue Victim

Oi Vinicius,

Depois da uma olhada na acao de rescue victim.

Estou com a impressao que ela nao atribui a vitima ao agente na primeira tentativa, ou a crenca do physical_storage_vector nao esta sendo enviada.

Add versions to config files

Useful to keep track of which config file generated what events.

Also, it can avoid execution of an old config file by the simulator (which can mean breaks in code).

Implementar eventos genéricos

Permitir o usuário configurar o evento para diferentes dipos de desastres.

Características dos eventos:

  • Prograpação;
  • Movimentação;
  • Area afetada;

Bug Movimentacao Drone

Oi Vinicius,
Um bug apareceu na movimentacao dos drones. No meio da simulacao o drone tenta retornar para a central de comando:
move(-20.1431,-44.1603)
Mas ele nao se move. Na BB fica assim:

centerLat(-20.1431) 
centerLon(-44.1603)
last_action(move)
last_action_result(success)
location(-20.1431,-44.16237399999999)

Last Action Result

Oi Vinicius,

Precisamos alterar o last_action_result enviado pelo simulador. A resposta não pode ser um valor booleano, mas sim um atomo que indica o que aconteceu.

Exemplo:

  • Em caso positivo: last_action_result(success)
  • Em caso negativo: last_action_result(MotivoFalha)

Sprint 1

TODO:

  • Definir uma unidade para os passos da simulação;
  • Refatoração da movimentação dos agentes;
    • Utilizar a escala do mapa para definir a distância percorrida;
    • Calcular a rota especial para os agentes terrestres/aquáticos.
  • Adicionar caixa de informações dos agentes no monitor;
  • Criar mecanismo de leitura e reprodução de simulações;
  • Retirar o vinculo dos ativos sociais com os eventos;
  • Adicionar um serviço de calculo de rota independente do Simulador;
  • Investigar o bug da ação pass;
  • Retirar logs do monitor;
  • Implementar o padrão RESTful para o monitor;
  • Migrar a biblioteca PyRoute para Rana;
  • Implementar a configuração mais precisa do eventos, permitindo o simulador criar ambiente de desastres genéricos;

DOING:

  • ITEM FIXO.

DONE:

  • ITEM FIXO.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.