Company: Symbotic, Wilmington MA, USA
Field: Manufacturing of Autonomous Robots in the Warehouse Industry
Role: Robotics Research and Development Coop
Duration: July 2014 – December 2014
Overview: Symbotic works in developing pick and place autonomous robots for the warehouse industry. At my time of employment, the company was developing higher efficiency, next generation robots, that were to be implemented in storage warehouses with multiple shelf-stacking capabilities. My project focused on creating a simulation model of these next generation robots in order to analyze their performance, and measure key statistics of the system. I was also given the task of reducing the robot idle time by optimizing their routing and scheduling with different components in the overall system, and I had to quantify how many robots were needed per level of storage based on their performance.
Details: The system consisted of several components working in consensus with each other, them being; the inbound cells which brought in cases from a delivery truck, the inbound lifts which took these cases to their respective levels of storage, the autonomous robots which had to handle these cases, the outbound lifts which brought cases from different levels of storage to a conveyor going out of the warehouse, and the outbound cells which packaged outgoing cases on a pallet. The simulation model I designed was from scratch in an agent based modeling software called AnyLogic, and I modeled each of these components of the system into it. The simulation was then able to monitor the progression of the robots in real-time during its interactions, and gave results such as the amount of time the robots were carrying out transactions as opposed to waiting in a queue.
I optimized the robot routing by studying and researching how airplanes are routed on a busy runway. Since there were approximately 10 – 15 robots per level of storage, and only 2 tracks for them to interact with the lifts, I replicated how airports have transfer routes (to navigate one airplane past another) onto the simulation. The following image shows the transfer deck concept which I further explored into the robot routing.

Logic Used for Robot Routing and Interactions with Lifts
I am not able to discuss the specifics of the logic used due to company confidentiality, however the logic and transfer deck allowed the robots to move past each other without collisions. The following image is a sample of real-time data that was being collected from the model once my optimized routing was put in place (it is a snap shot of the data).

State Diagram of Robot Over Time
As can be seen from the image, there is no “red” state (Idle state), which indicated my proposed bot-routing resulted in 0% idle time.
I obtained similar state diagrams for all the aforementioned system components. From my simulation, potential bottlenecks in the system were also addressed and resolved. This was mimicked in the hardware of the system as well. The following image shows an overview of the coding governing each agent in the simulation model that I created.

Background Processes that Governed the Model
As can be seen from above, a high level of coding and flow diagrams dictated the action that each agent would perform in any given scenario in the simulation, and this is how their states were monitored.
From the simulation, I determines the total number of robots required per level of storage based on their individual state performances. The ideal balance was to reduce idle time in most components in the system, and this was achieved by optimizing routing and scheduling of events. I successfully reduced the required number of bots per level of storage by 1 (as compared to the previous generation). Lastly, I also made a visual java application of the model that ran in real-time during meetings with clients and stakeholders. The following image is a screenshot of the visual model:

Visual Model of Simulation
Skills Gained:
- I learned how to code in Javascript, and gained an immense amount of experience in creating agent based simulations. Upon the start of my coop, I had no experience in coding, and hence had to learn Javascript within a few weeks and apply it from thereon after.
- I gained system analysis and optimization skills, and applied researched logic to the system. The simulation also taught me how to perform iterative optimization, as I continuously optimized certain aspects of the system after conducting research.
- I implemented my logic to the system hardware, and noted that I was able to successfully reduce the robot idle time on average to less than 2%.
- I created a visual model of my simulation that was frequently used in client proposals and stakeholder meetings to visualize how the robots performed in the warehouse.