Smart Storage Robot

'TheoStore' is a smart storage system I developed with group of 7 others for a systems design course at university. Although the robot itself was just in a simulation environment, the physics of the actual trays in the shelf were simulated, and the robot was designed appropriately to move these. An Android app communicates with the simulation in real time - via http requests to a web server on the simulation's host computer.

Features:
  • Objects are stored in these trays (shown in the picture), and the robot moves them to / from an access point.
  • One can remotely control the robot from an Android app - via the user interface or using voice control.
  • Trays are identified by barcode strips - multiple trays can be taken out at once and returned in any order.
  • Returning a tray documents a photo of the contents, which can be viewed in the app. The remaining capacity of the tray is also estimated from the photo.
  • Using the Google Vision API, object recognition and text recognition detects and stores any useful information on the tray contents.
  • One can then search for specific items / text in the app, and the appropriate tray is displayed.

The theme of this semester long project was 'accessibility' - and we argued that this helps accessibility since you don't even need to be in the same room to find out / manage what's being stored. It could be helpful for people struggling to keep track of items.

I played a role in most of the development of actual app functionality and communication with the robot's hosted web server. I took charge of smart functionalities such as the voice control and cataloging tray information using the Google Vision API.

I wasn't involved in creating the actual 'physical' design / working in the Webots robot simulation environment. I didn't design the specific user interface / style, but I was largely involved in specifiying the structure of the app, options availble and how they're accessed.

Code can be viewed here: