A Routing and Task-Allocation Algorithm for Robotic Groups in Warehouse Environments
Abstract
:1. Introduction
- The energy consumption factor usually coincides with the traveling distance of a robot, not considering other realistic factors such as losses, inclination, etc.
- The role of the charging stations is not discussed, and it is not explained how to maximize their performance.
- The visualization tools lack many features, both in exporting experimental results and in situations where a warehouse user operates them.
2. Elements of the Smart-Warehouse Algorithm
2.1. Routing Algorithms
2.2. Task-Allocation Algorithms
- Step 1: Subtract row minima.
- Step 2: Subtract column minima.
- Step 3: Cover all zeros with a minimum number of lines. Cover all zeros in the resulting matrix using a minimum number of horizontal and vertical lines. If n lines are required, an optimal assignment exists among the zeros. The algorithm stops. If less than n lines are required, continue with Step 4.
- Step 4: Create additional zeros. Find the smallest element that is not covered by a line in Step 3. Subtract it from all uncovered elements, and add it to all elements that are covered twice.
2.3. Energy Consumption Optimization
3. Visualization Software
- Shelf: Shelves are divided into cells, and each cell can store a product. There is the capability to separate the shelves into groups and the representation of each group will be done with a different color.
- Product: The product entities represent the load that robots handle. The products can be picked by the robots at the replenishment station and placed in a shelf’s cell or collected from a shelf by the robots and deposited at the delivery station. The products can also be categorized in groups using colors.
- Robot: Moving at the warehouse environment, the robots are the entities that execute specific actions. They handle products and head to the three stations: Replenishment, delivery, or charging, depending on the actions they receive from the central system. On each robot, the battery level is displayed at a specific time using a colored box (green, orange, red).
- Replenishment Station (R.S.): The station that provides the products for the robots to collect and distribute to the shelves. We can have multiple replenishment stations represented with different colors (e.g., we can have different R.S. based on the type of products they provide). The cells that each R.S. occupies will be defined by their size.
- Delivery Station (D.S.): The station where the robots place the products. They share the same characteristics with the replenishment stations as there can be many of them, each occupying many cells.
- Charging Station (C.S.): When the indicator shows a low battery level, robots head to the charging stations to recharge it. Each C.S. can be compatible with every robot on the map or with specific ones. In the second case, the robot’s color is shown on the charging station.
- Movement Path: The tool visualizes the paths so the user can see each robot’s movement in the warehouse. Each robot executes a routing algorithm, which exports a path for the emulator. The color of the path matches its robot’s color.
4. Methodology and Results
- Our emulation has m number of robots that must execute n number of tasks. The positions of these entities are stored in a table.
- The cost of every robot-task pair is calculated using Dijkstra’s algorithm.
- Each distance is stored in an m*n matrix.
- The Kuhn–Munkers algorithm is executed on this matrix. Each task is assigned to a robot in the most optimal way.
- If a path is not feasible energy-wise, the match is discarded, the nearest charging station of the robot is assigned to the robot, and Step 4 is executed on the same matrix without the robot that must charge.
- Dijkstra’s path result for each robot-task is sent to our visualization tool in a JSON-encoded type.
- The values of the position table are updated with the new ones.
- New tasks are generated, and the algorithm repeats until no other tasks are generated.
Algorithm 1: Routing and Task Allocation (RATA) |
1. function RATA(Robots, Tasks, Grid): 2. while Tasks is not empty: 3. for each robot r in Robots: 4. for each task t in Tasks: 5. matrix[r, t], path[r, t] 🡨 Dijkstra(r, t) 6. create tuple set matches 7. do 8. not_feasible 🡨 false 9. matches 🡨 Hungarian(matrix) 10. for each r, t in matches: 11. if matches[r, t] not feasible: 12. remove r from matches, matrix 13. path[r, t] 🡨 FindNearestStation® 14. not_feasible 🡨 True 15. while not_feasible 16. for each r, t in path: 17. Visualize(path[r, t]) 18. Robots[r] 🡨 Task[t] 19. Tasks[t] 🡨 GenerateNewTasks() |
5. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Conflicts of Interest
References
- Ben-Ari, M.; Mondada, F. Elements of Robotics; Springer: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
- Belanche, D.; Casaló, L.V.; Flavián, C.; Schepers, J. Service Robot Implementation: A Theoretical Framework and Research Agenda. Serv. Ind. J. 2020, 40, 203–225. [Google Scholar] [CrossRef] [Green Version]
- Bogue, R. Growth in E-Commerce Boosts Innovation in the Warehouse Robot Market. Ind. Robot. 2016, 43, 583–587. [Google Scholar] [CrossRef]
- Zhou, L.; Liu, J.; Fan, X.; Zhu, D.; Wu, P.; Cao, N. Design of V-Type Warehouse Layout and Picking Path Model Based on Internet of Things. IEEE Access 2019, 7, 58419–58428. [Google Scholar] [CrossRef]
- de Koster, R.; Le-Duc, T.; Jan Roodbergen, K.; Koster, D. Design and Control of Warehouse Order Picking: A Literature Review. Eur. J. Oper. Res. 2007, 182, 481–501. [Google Scholar] [CrossRef]
- Lavalle, S.M. Planning Algorithms; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
- Grünewald, M.; Rückert, U.; Schindelhauer, C.; Volbert, K. Directed Power-Variable Infrared Ommunication for the Mini Robot Khepera. In Proceedings of the 2nd International Conference on Autonomous Minirobots for Research and Edutainment, Brisbane, Australia, 18–20 February 2003. [Google Scholar]
- Wang, J.; Hu, M.; Cai, C.; Lin, Z.; Li, L.; Fang, Z. Optimization Design of Wireless Charging System for Autonomous Robots Based on Magnetic Resonance Coupling. AIP Adv. 2018, 8, 055004. [Google Scholar] [CrossRef] [Green Version]
- Sifa, R.; Bauckhage, C.; Drachen, A. The Playtime Principle: Large-Scale Cross-Games Interest Modeling. In Proceedings of the IEEE Conference on Computatonal Intelligence and Games, CIG, Dortmund, Germany, 26–29 August 2014. [Google Scholar]
- Bolu, A.; Korcak, O. Adaptive Task Planning for Multi-Robot Smart Warehouse. IEEE Access 2021, 9, 27346–27358. [Google Scholar] [CrossRef]
- Xue, F.; Tang, H.; Su, Q.; Li, T. Task Allocation of Intelligent Warehouse Picking System Based on Multi-Robot Coalition. KSII Trans. Internet Inf. Syst. 2019, 13, 3566–3582. [Google Scholar] [CrossRef] [Green Version]
- Pinkam, N.; Bonnet, F.; Chong, N.Y. Robot Collaboration in Warehouse. In Proceedings of the International Conference on Control, Automation and Systems, Gyeongju, Korea, 16–19 October 2016; pp. 269–272. [Google Scholar]
- Wei, C.; Hindriks, K.V.; Jonker, C.M. Dynamic Task Allocation for Multi-Robot Search and Retrieval Tasks. Appl. Intell. 2016, 45, 383–401. [Google Scholar] [CrossRef]
- Stefek, A.; van Pham, T.; Krivanek, V.; Pham, K.L. Energy Comparison of Controllers Used for a Differential Drive Wheeled Mobile Robot. IEEE Access 2020, 8, 170915–170927. [Google Scholar] [CrossRef]
- Berggren, M.; Vester, S.; Villadsen, J. LNAI 7217—Implementing a Multi-Agent System in Python with an Auction-Based Agreement Approach. In International Workshop on Programming Multi-Agent Systems; Springer: Berlin/Heidelberg, Germany, 2011. [Google Scholar]
- Alberto, M.; Ruiz, A. An Innovative System for Electrical Vehicular Charging in Urban Zone: Conception, Dimensioning, and Performance Evaluation. Doctoral Dissertation, Télécom ParisTech, Palaiseau, France, 2015. [Google Scholar]
- Kosmanos, D.; Maglaras, L.A.; Mavrovouniotis, M.; Moschoyiannis, S.; Argyriou, A.; Maglaras, A.; Janicke, H. Route Optimization of Electric Vehicles Based on Dynamic Wireless Charging. IEEE Access 2018, 6, 42551–42565. [Google Scholar] [CrossRef]
Task 1 | Task 2 | Task 3 | Task 4 | |
---|---|---|---|---|
Worker 1 | n11 | n12 | n13 | n14 |
Worker 2 | n21 | n22 | n23 | n24 |
Worker 3 | n31 | n32 | n33 | n34 |
Worker 4 | n41 | n42 | n43 | n44 |
T1 | T2 | T3 | T4 | T5 | T6 | |
---|---|---|---|---|---|---|
r1 | 501 | 301 | 661 | 903 | 966 | 1070 |
r2 | 1103 | 389 | 472 | 127 | 319 | 794 |
r3 | 795 | 369 | 522 | 1258 | 782 | 823 |
r4 | 951 | 515 | 478 | 317 | 197 | 556 |
r5 | 1054 | 487 | 755 | 1606 | 609 | 562 |
r6 | 556 | 739 | 658 | 695 | 208 | 625 |
Robot | Position | Task | Position |
---|---|---|---|
r1 | (8,1) | T1 | (7,13) |
r2 | (13,40) | T2 | (14,25) |
r3 | (18,1) | T3 | (17,25) |
r4 | (23,40) | T4 | (19,37) |
r5 | (28,1) | T5 | (27,28) |
r6 | (33,40) | T6 | (29,18) |
T1 | T2 | T3 | T4 | T5 | T6 | |
---|---|---|---|---|---|---|
r1 | 130 | 264 | 257 | 374 | 343 | 275 |
r2 | 255 | 126 | 149 | 101 | 201 | 262 |
r3 | 177 | 240 | 213 | 319 | 259 | 191 |
r4 | 323 | 195 | 162 | 68 | 128 | 189 |
r5 | 224 | 284 | 250 | 334 | 202 | 133 |
r6 | 373 | 283 | 234 | 179 | 124 | 180 |
Robot | Position | Task | Position |
---|---|---|---|
r1 | (7,13) | ST1 | (2,10) |
r2 | (14,25) | ST2 | (2,11) |
r3 | (17,25) | ST3 | (2,12) |
r4 | (19,37) | ST4 | (39,29) |
r5 | (29,18) | ST5 | (39,30) |
r6 | (27,28) | ST6 | (39,31) |
ST1 | ST2 | ST3 | ST4 | ST5 | ST6 | |
---|---|---|---|---|---|---|
r1 | 54 | 56 | 58 | 350 | 339 | 351 |
r2 | 201 | 191 | 189 | 270 | 257 | 269 |
r3 | 208 | 198 | 196 | 233 | 220 | 232 |
r4 | 285 | 274 | 272 | 229 | 216 | 228 |
r5 | 232 | 234 | 236 | 141 | 143 | 155 |
r6 | 288 | 290 | 289 | 109 | 96 | 108 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Chatzisavvas, A.; Chatzitoulousis, P.; Ziouzios, D.; Dasygenis, M. A Routing and Task-Allocation Algorithm for Robotic Groups in Warehouse Environments. Information 2022, 13, 288. https://doi.org/10.3390/info13060288
Chatzisavvas A, Chatzitoulousis P, Ziouzios D, Dasygenis M. A Routing and Task-Allocation Algorithm for Robotic Groups in Warehouse Environments. Information. 2022; 13(6):288. https://doi.org/10.3390/info13060288
Chicago/Turabian StyleChatzisavvas, Antonios, Petros Chatzitoulousis, Dimitris Ziouzios, and Minas Dasygenis. 2022. "A Routing and Task-Allocation Algorithm for Robotic Groups in Warehouse Environments" Information 13, no. 6: 288. https://doi.org/10.3390/info13060288
APA StyleChatzisavvas, A., Chatzitoulousis, P., Ziouzios, D., & Dasygenis, M. (2022). A Routing and Task-Allocation Algorithm for Robotic Groups in Warehouse Environments. Information, 13(6), 288. https://doi.org/10.3390/info13060288