
This project is a detailed simulation of the University of Minnesota campus, incorporating a dynamic drone package delivery system. Users interact with the simulation by choosing two points on the campus map: one for picking up a package and the other for delivery. The simulation allows for multiple path-planning strategies, creating more realistic delivery scenarios.
In addition to drones, the simulation includes other interactive entities like human figures walking the campus and a helicopter flying overhead. These elements add to the complexity and engagement of the environment. Over the course of the semester in CSCI 3081W: Program Design and Development, new features were introduced weekly, demonstrating various software development concepts such as design patterns, UI enhancements, and backend optimizations.
make -j
make run # Default port is 8081
Run the container:
docker run –rm -it -p 8083:8083 adeilmo226/3081_finalproject
Build the image:
docker build -t adeilmo226/3081_finalproject
The simulation recreates various challenges and operational scenarios in a virtual campus setting. It models the movement and interaction of several entities, including drones, humans, robots, porch pirates, and even weather-based elements like clouds. Each entity follows a unique behavior pattern, simulating real-world interactions and challenges. This provides a solid framework for experimenting with algorithms and design patterns in a realistic setting.
The porch pirate extension simulates a race between a robot and roaming porch pirates to retrieve a package. The robot starts at Keller Hall and navigates toward the package using the A* algorithm, while porch pirates wander the map randomly. If a porch pirate reaches the package first, it is considered stolen, and both the package and robot are removed from the simulation.
This extension models the real-world issue of package theft, commonly known as “porch pirating.” It provides insight into how delivery systems can combat theft through automation and robotics. The simulation can help:
The porch pirate extension introduces unpredictability by adding competitive entities (the porch pirates). This adds complexity and realism to the delivery system, making the simulation more relevant for studying automated deliveries and security systems.
The weather extension controls dynamic weather conditions—rain, snow, and sunshine—which affect the speed of every entity in the simulation. Drones, robots, and even porch pirates will adjust their speeds based on the current weather conditions.
This feature simulates the real-world impact of weather on delivery systems. It provides valuable insight into how different environmental factors can affect automated systems, such as delivery drones or robots, and helps test their resilience in various conditions.
The weather extension adds another layer of complexity by simulating how weather affects entity behavior. It makes the simulation more realistic for testing delivery systems under different environmental conditions, relevant to automated delivery research.