An Online Task-Planning Framework Using Mixed Integer Programming for Multiple Cooking Tasks Using a Dual-Arm Robot
Abstract
:1. Introduction
2. Problem Description
2.1. Problem Description
- Optimization of the order of cooking tasks so that the total time for all tasks (makespan) can be minimized;
- Assignment of the corresponding arms of a dual-arm cooking robot for each task based on the output of the first problem so that the robot can finish cooking with minimal movements.
Algorithm 1: Optimal task planner. |
|
2.2. Comparison with Other Work
2.3. Optimization Constraints
2.3.1. Task-Dependency Constraint
2.3.2. Kinematic Constraint
3. Task Scheduling with Mixed-Integer Programming
3.1. Task Scheduling with the Kinematic Constraints
Algorithm 2: Optimization solver. |
|
3.2. Assigning Arm to the Tasks
3.3. Subproblem Optimization Strategy
Algorithm 3: Subproblem optimization strategy. |
|
4. Experiment
4.1. Task Scheduling and Assigning Arm
4.2. Comparison with Conventional Algorithm
4.3. Subproblem Optimization Strategy
5. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Conflicts of Interest
References
- Caldwell, D.G. Robotics and Automation in the Food Industry: Current and Future Technologies; Elsevier: Amsterdam, The Netherlands, 2012. [Google Scholar]
- Kuo, C.F.; Nelson, D.C. A simulation study of production task scheduling for a university cafeteria. Cornell Hosp. Q. 2009, 50, 540–552. [Google Scholar] [CrossRef]
- Watanabe, Y.; Nagahama, K.; Yamazaki, K.; Okada, K.; Inaba, M. Cooking behavior with handling general cooking tools based on a system integration for a life-sized humanoid robot. Paladyn, J. Behav. Robot. 2013, 4, 63–72. [Google Scholar] [CrossRef]
- Bollini, M.; Tellex, S.; Thompson, T.; Roy, N.; Rus, D. Interpreting and Executing Recipes with a Cooking Robot; Experimental Robotics; Springer: Berlin/Heidelberg, Germany, 2013; pp. 481–495. [Google Scholar]
- Wang, H.; Zhao, W.; Li, B.; Lin, X.; Zhang, D. Dynamic analysis and robust reliability design of pan mechanism for a cooking robot. In Proceedings of the 2009 IEEE International Conference on Robotics and Biomimetics (ROBIO), Guilin, Guangxi, 13–19 December 2009; pp. 1996–2001. [Google Scholar]
- Beetz, M.; Klank, U.; Kresse, I.; Maldonado, A.; Mösenlechner, L.; Pangercic, D.; Rühr, T.; Tenorth, M. Robotic roommates making pancakes. In Proceedings of the 2011 11th IEEE-RAS International Conference on Humanoid Robots, Bled, Slovenia, 26–28 October 2011; pp. 529–536. [Google Scholar]
- Inagawa, M.; Takei, T.; Imanishi, E. Japanese Recipe Interpretation for Motion Process Generation of Cooking Robot. In Proceedings of the 2020 IEEE/SICE International Symposium on System Integration (SII), Honolulu, HI, USA, 12–15 January 2020; pp. 1394–1399. [Google Scholar]
- (ENG) ‘CLOi’s Table Zone’, Futuristic Restaurant at CES. 2020. YouTube. 2022. Available online: https://www.youtube.com/watch?v=vsZ_HUAPXL8 (accessed on 14 March 2022).
- Samsung Bot Chef at CES 2020. YouTube. 2022. Available online: https://www.youtube.com/watch?v=OwA6-b1Z7aQ (accessed on 14 March 2022).
- Aeronautiques, C.; Howe, A.; Knoblock, C.; McDermott, I.D.; Ram, A.; Veloso, M.; Weld, D.; SRI, D.W.; Barrett, A.; Christianson, D.; et al. PDDL|The Planning Domain Definition Language. Tech. Rep. 1998. [Google Scholar]
- Jeon, J.; Jung, H.r.; Yumbla, F.; Luong, T.A.; Moon, H. Primitive Action Based Combined Task and Motion Planning for the Service Robot. Front. Robot. AI 2022, 9, 713470. [Google Scholar] [CrossRef] [PubMed]
- Jiang, Y.q.; Zhang, S.q.; Khandelwal, P.; Stone, P. Task planning in robotics: An empirical comparison of PDDL-and ASP-based systems. Front. Inf. Technol. Electron. Eng. 2019, 20, 363–373. [Google Scholar] [CrossRef]
- Manso, L.J.; Bustos, P.; Alami, R.; Milliez, G.; Núnez, P. Planning human–robot interaction tasks using graph models. In Proceedings of the International Workshop on Recognition and Action for Scene Understanding (REACTS 2015), Malta, Malta, 5 September 2015; pp. 15–27. [Google Scholar]
- Ayunts, E.; Panov, A.I. Task planning in “Block World” with deep reinforcement learning. In First International Early Research Career Enhancement School on Biologically Inspired Cognitive Architectures; Springer: Berlin/Heidelberg, Germany, 2017; pp. 3–9. [Google Scholar]
- Lee, H. Learning Representations and Models of the World for Solving Complex Tasks; NVIDIA: Santa Clara, CA, USA, 2021. [Google Scholar]
- Bengio, Y.; Lodi, A.; Prouvost, A. Machine learning for combinatorial optimization: A methodological tour d’horizon. Eur. J. Oper. Res. 2021, 290, 405–421. [Google Scholar] [CrossRef]
- Kleinert, T.; Labbé, M.; Ljubić, I.; Schmidt, M. A survey on mixed-integer programming techniques in bilevel optimization. EURO J. Comput. Optim. 2021, 9, 100007. [Google Scholar] [CrossRef]
- Leal, M.; Ponce, D.; Puerto, J. Portfolio problems with two levels decision-makers: Optimal portfolio selection with pricing decisions on transaction costs. Eur. J. Oper. Res. 2020, 284, 712–727. [Google Scholar] [CrossRef]
- Bastos, L.S.; Marchesi, J.F.; Hamacher, S.; Fleck, J.L. A mixed integer programming approach to the patient admission scheduling problem. Eur. J. Oper. Res. 2019, 273, 831–840. [Google Scholar] [CrossRef]
- Yanıkoğlu, I.; Kuhn, D. Decision rule bounds for two-stage stochastic bilevel programs. SIAM J. Optim. 2018, 28, 198–222. [Google Scholar] [CrossRef]
- Lima, R.M.; Grossmann, I.E. Computational Advances in Solving Mixed Integer Linear Programming Problems; AIDAC: Rome, Italy, 2011. [Google Scholar]
- Leung, J.M.; Zhang, G.; Yang, X.; Mak, R.; Lam, K. Optimal cyclic multi-hoist scheduling: A mixed integer programming approach. Oper. Res. 2004, 52, 965–976. [Google Scholar] [CrossRef]
- Sawik, T. Batch versus cyclic scheduling of flexible flow shops by mixed-integer programming. Int. J. Prod. Res. 2012, 50, 5017–5034. [Google Scholar] [CrossRef]
- Che, A.; Lei, W.; Feng, J.; Chu, C. An improved mixed integer programming approach for multi-hoist cyclic scheduling problem. IEEE Trans. Autom. Sci. Eng. 2013, 11, 302–309. [Google Scholar] [CrossRef]
- Yi, J.S.; Ahn, M.S.; Chae, H.; Nam, H.; Noh, D.; Hong, D.; Moon, H. Task Planning with Mixed-Integer Programming for Multiple Cooking Task Using dual-arm Robot. In Proceedings of the 2020 17th International Conference on Ubiquitous Robots (UR), Kyoto, Japan, 22–26 June 2020; pp. 29–35. [Google Scholar]
- Huang, K.L.; Liao, C.J. Ant colony optimization combined with taboo search for the job shop scheduling problem. Comput. Oper. Res. 2008, 35, 1030–1046. [Google Scholar] [CrossRef]
- Zhang, R.; Song, S.; Wu, C. A hybrid artificial bee colony algorithm for the job shop scheduling problem. Int. J. Prod. Econ. 2013, 141, 167–178. [Google Scholar] [CrossRef]
- Wang, L.; Zhou, G.; Xu, Y.; Wang, S.; Liu, M. An effective artificial bee colony algorithm for the flexible job-shop scheduling problem. Int. J. Adv. Manuf. Technol. 2012, 60, 303–315. [Google Scholar] [CrossRef]
- Nakano, R.; Yamada, T. Conventional genetic algorithm for job shop problems. ICGA 1991, 91, 474–479. [Google Scholar]
- Della Croce, F.; Tadei, R.; Volta, G. A genetic algorithm for the job shop problem. Comput. Oper. Res. 1995, 22, 15–24. [Google Scholar] [CrossRef]
- Sha, D.; Hsu, C.Y. A hybrid particle swarm optimization for job shop scheduling problem. Comput. Ind. Eng. 2006, 51, 791–808. [Google Scholar] [CrossRef]
- Lin, T.L.; Horng, S.J.; Kao, T.W.; Chen, Y.H.; Run, R.S.; Chen, R.J.; Lai, J.L.; Kuo, I.H. An efficient job-shop scheduling algorithm based on particle swarm optimization. Expert Syst. Appl. 2010, 37, 2629–2636. [Google Scholar] [CrossRef]
- Yazdani, M.; Amiri, M.; Zandieh, M. Flexible job-shop scheduling with parallel variable neighborhood search algorithm. Expert Syst. Appl. 2010, 37, 678–687. [Google Scholar] [CrossRef]
- Adibi, M.; Zandieh, M.; Amiri, M. Multi-objective scheduling of dynamic job shop using variable neighborhood search. Expert Syst. Appl. 2010, 37, 282–287. [Google Scholar] [CrossRef]
- Adams, J.; Balas, E.; Zawack, D. The shifting bottleneck procedure for job shop scheduling. Manag. Sci. 1988, 34, 391–401. [Google Scholar] [CrossRef]
- Beck, J.C. Solution-guided multi-point constructive search for job shop scheduling. J. Artif. Intell. Res. 2007, 29, 49–77. [Google Scholar] [CrossRef]
- Beck, J.C.; Feng, T.; Watson, J.P. Combining constraint programming and local search for job-shop scheduling. INFORMS J. Comput. 2011, 23, 1–14. [Google Scholar] [CrossRef] [Green Version]
- Gromicho, J.A.; Van Hoorn, J.J.; Saldanha-da Gama, F.; Timmer, G.T. Solving the job-shop scheduling problem optimally by dynamic programming. Comput. Oper. Res. 2012, 39, 2968–2977. [Google Scholar] [CrossRef]
- Meng, L.; Zhang, C.; Ren, Y.; Zhang, B.; Lv, C. Mixed-integer linear programming and constraint programming formulations for solving distributed flexible job shop scheduling problem. Comput. Ind. Eng. 2020, 142, 106347. [Google Scholar] [CrossRef]
- Ku, W.Y.; Beck, J.C. Mixed integer programming models for job shop scheduling: A computational analysis. Comput. Oper. Res. 2016, 73, 165–173. [Google Scholar] [CrossRef] [Green Version]
- Pan, J.C.H.; Chen, J.S. Mixed binary integer programming formulations for the reentrant job shop scheduling problem. Comput. Oper. Res. 2005, 32, 1197–1212. [Google Scholar] [CrossRef]
- Van Hulle, M.M. A goal programming network for mixed integer linear programming: A case study for the job-shop scheduling problem. Int. J. Neural Syst. 1991, 2, 201–209. [Google Scholar] [CrossRef]
- Liao, C.J.; You, C.T. An improved formulation for the job-shop scheduling problem. J. Oper. Res. Soc. 1992, 43, 1047–1054. [Google Scholar] [CrossRef]
- our over Coffee Drip Brewing Guide—How to Make Pour over Coffee. Blue Bottle Coffee. 2022. Available online: https://bluebottlecoffee.com/brew-guides/pour-over (accessed on 14 March 2022).
- Chinese Chicken Salad. The Cheesecake Factory. 2022. Available online: https://www.thecheesecakefactory.com/recipes/chinese-chicken-salad (accessed on 14 March 2022).
- Zacharias, F.; Borst, C.; Hirzinger, G. Capturing robot workspace structure: Representing robot capabilities. In Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, 29 October–2 November 2007; pp. 3229–3236. [Google Scholar]
- Jang, K.; Kim, S.; Park, J. Reactive Self-Collision Avoidance for a Differentially Driven Mobile Manipulator. Sensors 2021, 21, 890. [Google Scholar] [CrossRef] [PubMed]
- Wolsey, L.A.; Nemhauser, G.L. Integer and Combinatorial Optimization; John Wiley & Sons: Hoboken, NJ, USA, 1999; Volume 55. [Google Scholar]
- Peng, J.; Akella, S. Coordinating multiple robots with kinodynamic constraints along specified paths. Int. J. Robot. Res. 2005, 24, 295–310. [Google Scholar] [CrossRef]
- Andersen, E.D.; Andersen, K.D. The MOSEK interior point optimizer for linear programming: An implementation of the homogeneous algorithm. In High Performance Optimization; Springer: Berlin/Heidelberg, Germany, 2000; pp. 197–232. [Google Scholar]
- Noh, D.; Liu, Y.; Rafeedi, F.; Nam, H.; Gillespie, K.; Yi, J.S.; Zhu, T.; Xu, Q.; Hong, D. Minimal Degree of Freedom Dual-Arm Manipulation Platform with Coupling Body Joint for Diverse Cooking Tasks. In Proceedings of the 2020 17th International Conference on Ubiquitous Robots (UR), Kyoto, Japan, 22–26 June 2020; pp. 225–232. [Google Scholar]
- Paek, J.H.; Lee, T.E. Optimal scheduling of dual-armed cluster tools without swap restriction. In Proceedings of the 2008 IEEE International Conference on Automation Science and Engineering, Washington, DC, USA, 23–26 August 2008; pp. 103–108. [Google Scholar]
No. | c | ||||||
---|---|---|---|---|---|---|---|
1 | 1 | Add 400ml of milk to the pancake mix bottle | 10 | 11 | 6 | 1 | 0 |
2 | Put the milk back | 10 | 6 | 11 | 1 | 0 | |
3 | Close the cap of the pancake mix bottle | 10 | 6 | 6 | 2 | 0 | |
4 | Shake the bottle with the head facing down | 60 | 6 | 6 | 1 | 0 | |
5 | Put the pancake mix bottle down | 10 | 6 | 6 | 1 | 1 | |
6 | Sit the pancake mix | 120 | 6 | 6 | 0 | 1 | |
7 | Shake the pancake mix again | 30 | 6 | 6 | 1 | 0 | |
8 | Open the cap of the pancake mix bottle | 10 | 6 | 6 | 2 | 0 | |
9 | Pour the mix into the frying pan | 10 | 6 | 3 | 1 | 1 | |
10 | Put the pancake mix bottle back | 10 | 3 | 6 | 1 | 1 | |
11 | Wait for 3 min | 180 | 3 | 3 | 0 | 1 | |
12 | Flip the pancake | 20 | 3 | 3 | 2 | 1 | |
13 | Wait until all pancakes are baked | 180 | 3 | 3 | 0 | 0 | |
14 | Plate the food | 15 | 3 | 10 | 2 | 0 | |
15 | Bring the pan to the wash station | 10 | 10 | 15 | 1 | 0 | |
2 | 16 | Put the coffee bean powder in the coffee dripper | 10 | 6 | 1 | 1 | 0 |
17 | Wait until the water boils | 90 | 2 | 2 | 0 | 1 | |
18 | Pour the water slowly | 60 | 2 | 1 | 1 | 0 | |
19 | Put the pot back | 10 | 1 | 2 | 1 | 0 | |
20 | Wait until the drip finishes | 60 | 1 | 1 | 0 | 1 | |
21 | Pour the coffee | 15 | 1 | 10 | 1 | 0 | |
22 | Bring the dripper to the wash station | 10 | 10 | 15 | 1 | 0 | |
3 | 23 | Place all of the ingredients into a mixing bowl | 10 | 8 | 9 | 1 | 0 |
24 | Put the ingredient bowl back | 10 | 9 | 8 | 1 | 0 | |
25 | Toss the ingredients together until evenly combined | 45 | 9 | 9 | 2 | 0 | |
26 | Mound the ingredients into a large serving bowls | 10 | 9 | 10 | 1 | 0 | |
27 | Put the mixing bowl back | 10 | 10 | 9 | 1 | 0 | |
28 | Place the mandarin orange segments around the salad | 45 | 8 | 10 | 1 | 0 | |
29 | Put the ingredient bowl back | 10 | 10 | 8 | 1 | 0 | |
30 | Sprinkle the almonds and sesame seeds over the salad | 45 | 8 | 10 | 1 | 0 | |
31 | Put the ingredient bowl back | 10 | 10 | 8 | 1 | 0 | |
32 | Garnish the salad with some thinly sliced snow peas | 10 | 8 | 10 | 1 | 0 |
Problem | Disjunctive [40] | Our Method | ||||
---|---|---|---|---|---|---|
Makespan(s) | Run-Time(s) | Opt | Makespan(s) | Run-Time(s) | Opt | |
347.9 | 0.50 | 10 | 347.9 | 0.80 | 10 | |
361.8 | 1.18 | 10 | 320.8 | 1.24 | 10 | |
420.8 | 9.03 | 10 | 405 | 13.78 | 10 | |
280 | 2.93 | 10 | 272.6 | 3.09 | 10 | |
351.7 | 1.06 | 10 | 351.7 | 1.04 | 10 | |
363.5 | 2.18 | 10 | 306.5 | 1.65 | 10 | |
329.9 | 8.30 | 10 | 309 | 8.00 | 10 | |
303.8 | 8.55 | 10 | 302.8 | 11.79 | 10 | |
349.5 | 1.04 | 10 | 349.5 | 1.04 | 10 | |
338.5 | 2.42 | 10 | 305.4 | 1.66 | 10 | |
346.2 | 4.60 | 10 | 323.9 | 3.89 | 10 | |
337.4 | 28.27 | 10 | 333 | 28.01 | 10 |
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
Yi, J.-s.; Luong, T.A.; Chae, H.; Ahn, M.S.; Noh, D.; Tran, H.N.; Doh, M.; Auh, E.; Pico, N.; Yumbla, F.; et al. An Online Task-Planning Framework Using Mixed Integer Programming for Multiple Cooking Tasks Using a Dual-Arm Robot. Appl. Sci. 2022, 12, 4018. https://doi.org/10.3390/app12084018
Yi J-s, Luong TA, Chae H, Ahn MS, Noh D, Tran HN, Doh M, Auh E, Pico N, Yumbla F, et al. An Online Task-Planning Framework Using Mixed Integer Programming for Multiple Cooking Tasks Using a Dual-Arm Robot. Applied Sciences. 2022; 12(8):4018. https://doi.org/10.3390/app12084018
Chicago/Turabian StyleYi, June-sup, Tuan Anh Luong, Hosik Chae, Min Sung Ahn, Donghun Noh, Huy Nguyen Tran, Myeongyun Doh, Eugene Auh, Nabih Pico, Francisco Yumbla, and et al. 2022. "An Online Task-Planning Framework Using Mixed Integer Programming for Multiple Cooking Tasks Using a Dual-Arm Robot" Applied Sciences 12, no. 8: 4018. https://doi.org/10.3390/app12084018
APA StyleYi, J. -s., Luong, T. A., Chae, H., Ahn, M. S., Noh, D., Tran, H. N., Doh, M., Auh, E., Pico, N., Yumbla, F., Hong, D., & Moon, H. (2022). An Online Task-Planning Framework Using Mixed Integer Programming for Multiple Cooking Tasks Using a Dual-Arm Robot. Applied Sciences, 12(8), 4018. https://doi.org/10.3390/app12084018