Update #1: Project Introduction

Motivation

Since the COVID-19 pandemic, there has been an eminently increased need for frequent sanitization of not only hands but also the air and surfaces. This need particularly increases in crowded indoor areas like malls and shopping centers. Stemming from the fact that this task would need to be routinely carried out, it becomes much more convenient, and even safer, to rely on robots than on human beings in performing this regular sanitization. In addition, since the mission of sanitizing the different mall stores is distributive in nature, it is beyond doubt that using a multi-agent robot system (MARS) would definitely be much faster than depending on a single robot. Additionally, this will render the system more robust since there will still be several robots to complete the mission if a few others were out-of-service for any reason.

Consequently, we propose a MARS for optimally handling real-time sanitization requests from the different stores in a mall setting. Unlike most of the work in the literature and all the commercial products out there, our focus is not on the sanitization technique itself. Instead, we are concerned with the means by which our MARS is able to arrive at the optimal fulfillment of the sanitization requests; how will the requests be optimally assigned to the different robots in our system.

Proposed System

We propose to test our system using a small-scale version of the mall setting with only 5 stores and 2 robots. Although this small number of robots would limit the speed and efficiency of completing the sanitization requests, our developed methodology can easily be scaled to utilize more robots. Similarly, it is scalable to receiving requests from a larger number of stores, as would be the case in a real-life scenario. We briefly describe below the different components that make up our proposed system.

MARS Modelling

Our MARS is modelled as a centralized system with explicit communication between homogenous agents. Our problem at hand is a multi-robot task allocation (MRTA) problem, where we are concerned with determining the best task-to-robot assignment that guarantees optimal system performance under all appropriate constraints. Each of our stores (tasks) needs only a single robot to sanitize it, and each robot can sanitize more than one store but not more than one at the same time. Sanitization tasks are handled and assigned to robots in waves where each wave can have any number of tasks, as dictated by the real-time sanitization requests from stores. When the robots successfully complete the tasks of the current wave, they get assigned the new tasks (from the next wave), start executing them, and so on.

For an optimal operation, we want each of the sanitization tasks to be allocated to exactly one of our robots such that the total time taken for all stores to be visited and sanitized is minimum. Consequently, we chose to model our problem as a multiple travelling salesman problem (mTSP). It is basically a generalization of the travelling salesman problem (TSP) where there is more than one salesman; salesmen = robots & cities = stores.

MATLAB GUI

Users, or basically store owners, will be able to use MATLAB to request sanitization services through a MATLAB GUI. The GUI will also display the location of all robots and stores. Store owners will also be able to see the requests currently in the system and the estimated wait time.

OMC for Sensing & Localization

We will use10 Optical Marker Cameras (OMCs) will be used to track the position of the 2 mobile robots at all times as shown in the figure below. The motion capture system will tell us where the position of each robot (A & B) is relative to the store(s) whose sanitization is currently requested. These positions will act as inputs to our MRTA algorithm.

OMCs surrounding our small-scale mall version & our 2 robots (A & B)

2-DOF Mobile Robots

We will use 2 mobile robots, modeled as 2-DOF ground robots, to mimic the sanitization robots. Each robot will be equipped with an Single Board Computer (SBC) to facilitate the communication through the Robot Operating System and drive the robots’ motors.

ROS Interface

The Robot Operating System (ROS) will be used as a communication environment to incorporate all the discussed components together and actuate the robots through the SBCs. The figure below depicts our overall system.

Our System Architecture using ROS

Experimental Setup

The experimental setup will include our 2 robots initially parked in our small-scale mall. Store owners will place random store sanitization requests through the MATLAB GUI, and the the motion of both robots will be observed. Different combinations of sanitization requests will be tested, and the routes chosen by our task allocation algorithm for each of the robots will be analyzed. The operating robots will be video graphed and, synchronously, screen recordings of the designed MATLAB GUI will be saved for the sake of a complete working presentation.

Leave a comment