Skip to content

Latest commit

 

History

History
153 lines (101 loc) · 3.75 KB

README.md

File metadata and controls

153 lines (101 loc) · 3.75 KB

Build Status Codacy Badge codecov

Heterogeneous Multi-Robots Mission Control

Overview

Heterogeneous Multi-Robots Mission Control is an architecture for the development of applications, capable of coordinating multi-robot missions subject to uncertainty in properties of the available robots in the Software Engineering Lab (LES) at University of Brasilia.

Keywords: Software architecture, cooperative heterogeneous robots, multi-robots systems, Cyber-physical systems

License

The source code is released under a MIT license.

Authors: Gabriel Rodrigues, Vicente Moraes and Gabriel F P Araujo
Affiliation: LES
Maintainers: Gabriel Rodrigues, Vicente Moraes,Gabriel F P Araujo

Heterogeneous Multi-Robots Mission Control is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

@article{rodrigues_architecture_2022,
  title = {An Architecture for Mission Coordination of Heterogeneous Robots},
  author = {Rodrigues, Gabriel and Caldas, Ricardo and Araujo, Gabriel and {de Moraes}, Vicente and Rodrigues, Gena{\'i}na and Pelliccione, Patrizio},
  year = {2022},
  month = sep,
  journal = {Journal of Systems and Software},
  volume = {191},
  pages = {111363},
  issn = {01641212},
  doi = {10.1016/j.jss.2022.111363},
  langid = {english}
}

Using as a lib

In your environment:

$ pip install hmrs-mission-control

Setup Development Envrionment

Environment dependencies

python 3, pip

Used IDE: vscode, plugin python

macOS aditional dependencies brew install libmagic

Development

Install poetry

poetry easy the process of managing python dependencies

PIP

$ pip install poetry

Alternatively, macOS brew

$ brew install poetry 

Install dependencies

Inside the project folder (after clone)

$ poetry install
$ poetry shell

Run a Controlled Experiment

Inside poetry environment (after poetry shell)

 python evaluation/experiment_gen_lab_samples/experiment_gen.py

Test

Tests should be put on /tests folder and are executed with the following command.

 $ poetry run pytest -v --cov .

Linter

 $ flake8 --statistics

Run

Select the exec shell

$ poetry shell

Then, Execute Simulation

$ python ./run.py

Dependency

Add New Dependency

To add new dependencies use the following command.

$ poetry install [name]

This command will add the dependency to the Pipfile and poetry.lock assuring that the execution can be reproduced in another environment (after dependencies are updated with poetry install command )

Add New Dev Dependency

Same as previous dependencies, but for development libraries such as the ones used for test.

$ poetry install [name] --dev

Note that other systems after pulling updates will need a reexecution of poetry install --dev