Planning and Control
The goal of this project was to implement planning and control algorithms to guide a simulated delivery robot through a warehouse.
The warehouse layout is described with an ASCII file where #
symbols represent walls, numbers represent packages that need to be retrieved, A
represents the starting position, .
s represent traversable space and the @
symbol represents the drop zone.
For example, the warehouse layout for the images in this post would be given as:
.0#.. ..... ..#1. ..... A...@
The general restrictions for movement are as follows:
-
Packages must be picked up and dropped off in order
-
The robot cannot come within a certain distance of the walls or the drop-off location
-
There are limits on the amount the robot can rotate in each time step
-
More efficient routes are preferred
The challenge is that packages are located in fractional -- not integer -- locations.
My research into planning and control solved this through discretization of the provided warehouse layout file and precise calculation of the robot heading.
The two featured images show the layout of a simple warehouse with two packages. A brief overview for picking up and delivering one of the packages is shown in the second image. The green arrows show where the pickup and drop off events took place.
The featured video shows the completion of a more complex warehouse layout.