Git Product home page Git Product logo

mastnu-disaster-response-project's Introduction

READ ME: mastnu-disaster-response-project

16.412 Cognitive Robotics Final Project

Ariba Khan, Carter Godin, Shahsank Swaminathan


INSTRUCTIONS FOR USE

It is assumed that the user has a basic understanding of the use of python and pip via command line, and the setup of a pyton virtual environment.

  1. Clone the repository to your directory of choice, open with your chosen IDE (testing done in PyCharm, cannot guarantee functionality for others)\
  2. Open a python terminal and (if necessary) navigate to your new project directory
  3. Configure your python virtual environment and activate it in the terminal window
  4. Once your venv is active and you are in the proper directory, use the command, "pip install -r requirements.txt". This command will install all required dependencies for the code from the requirements file via pip.
  5. Once the dependencies are installed, the 'main.py' script may be run as-is. no environment variables or parameters need to be further specified.

SUMMARY OF CODE FUNCTIONALITY

The code is broken into 3 primary files and one dir, each handling a distinct element of the implementation's functionality.

  1. viz.py: Contains the code used for visualizations and eval graphs.

  2. scheduling (dir): Contains the implementation of the MaSTNU framework, and all the code responsible for scheduling a given test and handing back a response.

  3. objects.py: Contains the object classes created for code

    1. TestObject: Contains info about Locations involved, whether the test succeeded, and other parameters of the test such as map size and the time taken to run
    2. Location: Defines a 'location' on the disaster relief map. Represents a location, its coordinates on the map, and the activities to be done there (ie debris removal, rescue, etc), as well as the distances between this location and all others
    3. Activity: Contains an Enum to describe the type of activity, fields to store each the type and duration of the activity, and a method to randomly generate the activity's duration based on its type
  4. main.py: Contains the bulk of the connective code for the project. Specifically, responsible for generating tests, calling the scheduler, assessing results, and generating plots.


RUNNING WITH A SIMPLE EXAMPLE

The current main.py file is configured to run a simple example. However due to the randomness of the generation, if for some reason the solver is not able to find a solution, you can increased the upper range for the variables m_nums_locations and m_map_sizes. Note: larger ranges causes increased run time.

mastnu-disaster-response-project's People

Contributors

ce1estia1teapot avatar ariba-k avatar godincarter17 avatar

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.