This was a project made by my partners and I in CSCI 3081W (Program Design and Development) at the University of Minnesota. During this class we were given a baseline and instructed to implement a drone simulation that would go around the virtual UMN campus and deliver packages to customers. Once a basic beeline delivery was implemented, we had to make the drone have the ability to deliver using a parabolic route and using a 'smart' route (using streets). Lastly, we added some physics components (Drone will move slower proportionally to how much weight it is carrying), and the ability to have multiple drones deliver to multiple customers. Because we added multiple drones, we also added the ability for a drone to pick up a different drones package in the event that it runs out of battery before making a delivery.
In the run shell script (project/bin/run.sh) you will see that there is a 'SCENE' variable that is set. This variable determines what simulation will run. You can choose any of the 4 listed in the file, or you can choose from many more in the project/web/scenes folder. All scenes should be working and can show off the different abilities of our simulation!
To run the simulation, you must use docker and follow the instructions below:
-
Build docker image
bin/build-env.sh
-
Run docker image
#Usage bin/run-env.sh <port - optional(default 8081)> bin/run-env.sh
-
Build project web server (inside docker image) NOTE: You won't be able to
cd
here yet because the project directory does not exist. If you were able to launch the above commands you should now be inside the docker image. You can exit it with CTRL+D now.# Inside docker image cd /home/user/repo/project make
-
Run web server (inside docker image)
# MUST be within project/ directory inside docker image cd /home/user/repo/project ./bin/run.sh
-
Open up any brower and go to https://127.0.0.1:8081/