top of page

Nanobot Swarming Simulator

Description

          This project was for my Advanced Programming in MATLAB course, in which we learned about Object Oriented Programming, data structures, interrupts (events), and GUI programming. The goal of the project was to make a program to simulate nanobots working under swarming control.

         

          The collective goal of the nanobots is to autonomously clean up a pile of garbage and return it to the home base or nest. The simulation environment includes a nanobot nest, piles of garbage, static obstacles, searching nanobots, returning nanobots, as well as dynamic predators. A detailed GUI allows the user to fully customize quantities and sizes of various simulation parameters. Also, a display window relays real-time data during simulation.

         

          The autonomous control of the nanobots is done via a simple implementation of Markov Chains, in which the nanobots transition from state to state based on a probability matrix. The probability of each move only depends on the previous state, and thus the control is memoryless. Interrupts (events) serve as the means of communication between nanobots and can bias probability matrices for the next move. For example, probability matrices will be positively biased if a garbage pile and negatively biased if an obstacle is found.

Gallery
Personal Contribution

My main contributions included:

  • Design of overall code scheme and flow

  • Programming of individual object classes (Static, Dynamic, Bot, Obstacle, etc.)

  • Programming of interrupts (events)

  • General code integration and testing

Technical Development

The technical skills that I developed included:

  • Object Oriented Programming in MATLAB

  • GUI Programming

  • Implementation of simple Markov Chain control

Documentation
Video
Simulation Scenario

© 2023 by Name of Site. Proudly created with Wix.com

  • Facebook Social Icon
  • Twitter Social Icon
  • Google+ Social Icon
bottom of page