Discipline: Technology and Engineering
Subcategory: Electrical Engineering
Session: 1
Room: Exhibit Hall A
Chuong Le - University of Oklahoma
Co-Author(s): Hung Manh La, University of Nevada, Reno; Anh Pham, Duy Tan University, Da Nang, Vietnam; David Feil-Seifer, University of Nevada, Reno
An industrial environment usually has a lot of waste that could cause harmful effects to both the products and the workers resulting in product defects, itchy eyes or chronic obstructive pulmonary disease, etc. While automatic cleaning robots could be used, the environment is often too large for one robot to clean alone in addition to the fact that it does not have adequate stored dirt capacity. We present a multi-robotic dirt cleaning system algorithm for coordinating multiple iRobot-Creates as a team to efficiently clean an environment. Often, since some spaces in the environment are clean while others are dirty, our multi-robotic system possesses a path planning algorithm to allow the robot team to clean efficiently by increasing vacuum motor power on the area with higher dirt level. In this project, we will be using multiple iRobot Create 2 to assemble a multi-robotic cleaning team. We mounted a hokuyo laser scanner and an IMU on top of each iRobot for localization purpose. In addition, we also used the dirt sensor that is already equipped in the iRobot Create 2 to create a dirt map of the environment. To build a map, we used the mounted hokuyo laser to scan the environment and implemented SLAM Gmapping to convert the laser data into a 2D map. Once the environment map is completely built, we saved it and its data to send to the other two iRobots. After each robot received the map, they will localize themselves by using the Adaptive Monte Carlos Localization (AMCL) so they will know their positioning in the environment. For mapping the dirt level, we divided the environment into small square cells and have the iRobots clean the environment several times so that the dirt sensor can collect enough dirt data. Then to predict the dirt level of each cell, we use the homogeneous Poisson process used by Hess et al. After completing the dirt map, we present our own grid dividing algorithm to divide it into separate cleaning space for each iRobot. To make the cleaning time of each iRobot relatively close, we tried to make the grids have even (or close to even) number of grids. After assigning each iRobot to their respective cleaning grid map, we created a path planning algorithm that utilize the A* Search Algorithm for each for each robot. We used the A* because of its ability to find the shortest path possible as well as the fact that it also includes obstacle avoidance. Due to each cells have different dirt level, the higher the dirt level, the more power the vacuum motor uses. To connect the iRobots together, we connected all machines to the same router through local area network and implemented the MultipleMachines in Robotic Operating System (ROS) to configure multiple machines to use a single master using hostnames and IP addresses of the Intel NUCs on each iRobot. The master machine will be a laptop that we used to receive data from the iRobots and send directions to it. In our experiment, we are testing our multi-robotic system against the iRobot Create’s cleaning system and evaluate the performance of cleaning time, total battery usage. First, we timed the iRobot Create’s cleaning process until it is finished and returned it its home-base. Then we check the battery usage percentage and recorded it. Then, we implemented our multi-robotic system and timed its cleaning process. When all iRobots stop, we also measure each of its battery usage percentage, added all three together and recorded it. We repeat the process ten times and took the average time and total battery usage. Overall, there were no outliers in either categories – duration and total battery usage – and the spread was relatively small. For cleaning efficiency, each time it finished cleaning, we decided to observe the environment and decided that the result is very satisfactory. The result was that while the battery usage of our multi-robotic system was close, its cleaning duration was approximately twice as fast as the single iRobot cleaning system. In the future, we plan to make our system viable for non-static environment such as when the map changes as well as collecting more data to update the new areas in the dirt model. In addition, we aim to have each of our iRobot be able to do re-planning the path in case of a moving obstacle and avoiding trapped by convex shaped obstacles by using a combination of rotational force field and repulsive artificial potential force field.
Funder Acknowledgement(s): This material is based upon work supported by the National Science Foundation (NSF) IIS-1757929. The views, opinions, findings and conclusions reflected in this publication are solely those of the authors and do not represent the official policy or position of the NSF.
Faculty Advisor: Hung La, chuongl@Ou.edu
Role: I set up the environment using cardboards. I first had one robot map the environment. Then, to create the dirt map, I divided the environment into grid cell map and cleaned the environment 20 times to collect dirt data for each cell. To connect all iRobots, I used the multimachine in Robotic Operating System, I localize all iRobot Creates. For the localization to be accurate I also fuse the IMU data with the iRobot odometry data. I also created and implemented the algorithm that divided the dirt map into separate cleaning cells for each iRobot and the algorithm that path planned the most efficient way for each iRobot to clean. Moreover, I did the experiment and timed the cleaning duration and battery usage of each cleaning process 10 times and took the average of it for the result.