This summer we were given the opportunity to be interns at Amazon Robotics. Due to COVID-19, we spent the summer working virtually on an independent project. Over the past few months we have been able to learn python, a new coding language, and help Amazon Robotics with a real business problem.
The goal of our project was to create a virtual model for a sorting method where packages are arranged and stored via “totes”. In order to accomplish this, we were tasked with creating a python program that would simulate the random assortment of packages. This program would then have to calculate the probability of “pile on” of a given tote (the chance that two packages in the same tote are being shipped to the same place). By finding the pile on percent, we could modify the variables in our program (tote size, number of packages, etc) in order to observe how each component affects the overall effectiveness of the sorting method.
We met with Mr Brady weekly in order to show him our progress on our program, as well as to get his input and advice for how to move forward. Balancing learning python along with creating this database was challenging, but it did give us the opportunity to test our new python knowledge in a practical fashion. With us working remotely, we would FaceTime each other each week so we could work on the steps together. Besides that, we would also decide tasks for us to work on individually, such as debugging the code or rerunning the program with new variables.
Our first step was to create the database of packages which we would then perform the calculations on. Each package in the database had a wave number (what time they are scheduled to be shipped out), a package ID, and a package size.
Once we had our database sorted out, where every single package was sorted into a tote, we began work to find the probability. To do this, we had to scan our database and keep track of packages that share the same wave number and tote ID. These packages were used to compute the probability, and we would run the program numerous times in order to find an average probability for the pile on of the database. This average was recorded.
We would repeat this process of finding the average probability numerous times, but with different variables: how would the tote size of the package after the pile on? How would the number of waves affect it? We compiled all of the averages into google sheets so we could easily keep track and graph them.
In the end, we had three main graphs. Each compares the average pile on probability to either, tote size, number of waves, or number of packages. By graphing this data is it clear to see the correlations between pile on and each of these different variables. These graphs, along with our code and a report we created will be shared with Mr. Brady and his colleagues to explain our findings this summer.
We want to thank Mr. Schlenker for making this internship possible, providing us with resources to learn PYTHON, and checking in with us along the way. We also want to thank Mr. Brady for meeting with us weekly and giving us detailed feedback to help us complete this project, and for teaching us about both coding and more about what it is like to work in computer science. We are both really grateful for this opportunity and this project has been such a great experience for us to explore our potential career paths.