paulopperman / cuuv

Agent-based model of a mine hunting UUV and counter UUV systems for evaluating system performance

Home Page:http://hdl.handle.net/10945/62736

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Threat UUV modeling

Repository for threat UUV models and simulation supporting the research published at http://hdl.handle.net/10945/62736.

Technology

Describe software, languages, and packages required to run the code.

  • NetLogo 6.0.4
  • Python 3.6
    • Jupyter - browser based tool for working with jupyter notebooks (*.ipynb files).
    • numpy - python mathematics library
    • matplotlib - python plotting library
    • pandas - data processing and analysis library
  • R 3.5.1 - statistical analysis language
    • IRkernel - Jupyer notebook kernel for the R language

Setup / Installation Instructions

Describe steps for how to execute the code.

NetLogo

Download and run the installation file for the desired version at https://ccl.northwestern.edu/netlogo/oldversions.shtml

To run full scale models, the memory cap for NetLogo will need to be adjusted. A 1000x1000 patch world requires over 6.5 GB of RAM.

In \app\NetLogo.cfg within the main NetLogo installation directory, change the value of the Xmx setting to a larger value, for example Xmx16384m. See documentation here.

Python

The recommended python setup uses anaconda.

  1. Download the anaconda installer for python 3.x from here.
  2. Install anaconda, following these installation instructions.
  3. Use Anaconda Navigator or the conda command line interface to create a Python 3 environment. The conda command to create the environment and install packages is conda create -n nps-env python=3.6 pandas jupyter numpy matplotlib

Repository Structure

UUV Model

The netlogo source files (*.nls) defining the UUV behavior are in the /model_source_files directory. The main UUV model is defined in threat-uuv-procedures.nls. Sensor and sensor processing code is in the sensor_functions.nls file.

Mission Plans and Environments

Mission plans are generated by jupyter notebooks in the /python_code directory, and kept in a directory /environments/<environment name>. The mission plan is a series of text datafiles, and mission waypoints are stored in the waypoints.txt file. A minefield layout is specified in the minefield.txt file within the directory, and obstacles are specified in the obstacles.txt file.

Simulations

Simulations are defined in *.nlogo files in the main directory. environment_setup.nls contains the code for loading and configuring the simulation environment. measurement_functions.nls contains metrics and objective functions for use in experiments. experiment_loader.nls is utility code for running advanced experiment designs, such as latin hypercube experiments, using Behaviorspace.

Behaviorspace and Design of Experiments

Behaviorspace runs basic parameter sweeps for factorial experiments. To run the simulation with alternative experiment designs, the experiment_loader.nls functions read parameter values from a file. python_code\generate_experiment_design.py is a script that creates a latin hypercube. It can be modified to generate any design, as long as the file format is consistent with experiment_loader.nls.

References

Cite applicable references for software or models

Barisic, Matko, Nikola Miskovic, and Zoran Vukic. 2009. Heuristic Parameter Tuning Procedures for a Virtual Potential Based AUV Trajectory Planner. IFAC Proceedings Volumes (IFAC-PapersOnline). Vol. 42. IFAC. https://doi.org/10.3182/20090916-3-BR-3001.0043.

Healey, A. 2006. “Guidance Laws, Obstacle Avoidance and Artificial Potential Functions.” In Advances in Unmanned Marine Vehicles, edited by G. N. Roberts and R. Sutton, 43–66. London: Institution of Engineering and Technology. https://doi.org/10.1049/PBCE069E_ch3.

Rimon, Elon, and Daniel E Koditschek. 1992. “Exact Robot Navigation Using Artificial Potential Functions.” IEEE Transactions on Robotics and Automation 8 (5): 501–18. http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=163777.

Wilenski, Uri. 1999. “NetLogo.” Evanston, IL: Center for Connected Learning and Computer-Based Modeling, Northwestern University. http://ccl.northwestern.edu/netlogo/.

About

Agent-based model of a mine hunting UUV and counter UUV systems for evaluating system performance

http://hdl.handle.net/10945/62736


Languages

Language:Jupyter Notebook 96.4%Language:NetLogo 3.3%Language:Python 0.3%