My Inspiration
I was inspired to make this project after repeatedly hearing about the lack of people and animals who could be rescued by first responders after natural disasters. Natural disasters are challenging events that are difficult to respond to due to lack of control of the environment. I aim to help reduce some of those challenges through RapidRegen.
How the Code Works
RapidRegen is an algorithm that allows robots to search for people or animals that need help by confining each robot to a certain section of the map. Robots are randomly assigned places on the map where they search in their designated home region. These home regions overlap, allowing robots to pass people and animals along a chain of other robots that lead to a safety zone. In a robot's radius, they search for a person, pick them up, and then drop them at the edge of their zone. This creates an assembly line affect that passes people and animals to the nearest safety zone. The robots fluctuate between three states: searching, homing, and returning. In the searching state, robots search for people and animalsthat need help, in the homing state, robots bring the people and animals to the edge of their search region or the safety zone, and in the returning state, robots return to their origin.
How I Wrote the Code
I took inspiration from the original bucket brigading algorithm, but adapted it to have multiple home regions and uneven distribution of people and animals. I started making the algorithm by deciding the states that I wanted the robots to be in and then built up from there. I decided the size of their searching zones, what the map would look like, and then added the specifics of how big the robots would be, and then decided on the amount of people and animals I would put in the environment, and decided on 300. After reviewing how the algorithm preformed, I revised it to account for robot interactions to reduce collision.
Challenges I Faced
I ran into the challenge of whether or not robots should be aware of each other's locations and whether there should be centralized control. I was hesitant of addressing these challenges due to the simplicity and dynamical nature I wanted the algorithm to have. I overcame these challenges by making the robots aware of where the safety zones are instead of where each other are. There was no immediate need for robots to be aware of each other's locations due to the overlapping of home regions. Allowing robots to know where the safety zones are increases the productivity of the algorithm and allows people to be rescued faster.
Accomplishments That I'm Proud Of
I am proud of the functionality of the program and how it is able to lead all three hundred people to safety zones in a short amount of time. I am also proud of the coding skills that I have learned throughout the process of this Hackathon.
What I learned
I learned how to code robots in simulations and assign them vision ranges and vision angles. I had not previously written code that simulates robots and enjoyed learning how to add realistic attributions to the robots.
What's next for RapidRegen
In future work, I hope to modify RapidRegen by allowing robots to adapt their search radius given the conditions of the environment. These adaptions would allow robots to autonomously adapt to the environment to work more productively. I would also like to add obstacles to the environment in the future to simulate real-world natural disaster relief to a greater extent.


Log in or sign up for Devpost to join the conversation.