Automated Warehouse

Robots have been used to automate common warehouse operations in many industries. Businesses like Amazon have warehouses stocked with products which must be managed for inventory and order purposes. When an order for some products is received, they need to be moved to a location called a “picking station” to be packed and shipped by a human operator.

The Project

Using Anser Set Programming (ASP), I led a team of Masters students to fulfill orders in a simulated warehouse using clingo. Given a particular warehouse with a grid layout, worker robots and a sufficient supply of products stocked on shelves, our task was to minimize the number of steps necessary to satisfy customer orders by commanding the robots to move shelves and deliver items to specific locations.

For the given layout on the right, the goal is to find the minimum amount of time steps to fulfill some orders. A robot can take one action per time step, such as moving one space, picking up a shelf, or delivering products.

Results

There were 5 given test cases, and our team passed every test case successfully. Our program found the optimal actions for the robots to take to minimize the time to fulfill orders. In fear of academic dishonesty from other students stealing my work, I won't show any code or output so you'll have to trust me on this.

What I Learned

  1. Declarative Programming
  2. Clingo Syntax

A Real Automated Amazon Warehouse