# Implementation of Machine Learning Algorithms on Multi-Robot Coordination

^{*}

^{†}

## Abstract

**:**

## 1. Introduction

## 2. Materials and Methods

- 1
**Simultaneous Localization And Mapping (SLAM):**- The algorithm’s operating principle:
- 1.
- The proposed algorithm was observed to make better predictions in prolonged periods.
- 2.
- The objective was to test whether the proposed algorithm could provide more convenient navigation than the ordinary PSO.
- 3.
- It aimed to reach the destination in the most convenient way possible despite static obstacles.
- 4.
- As a result, the proposed algorithm kept the path length and reached the target within the time limit.

- Performance against uncertain and changing environmental conditions:
- 1.
- It is 6% more successful than methods such as genetics and fuzzy.

- Usage Areas:
- 1.
- It is used in driverless cars, unmanned aerial vehicles, autonomous underwater vehicles, planetary rovers, domestic robots and even inside the human body.

- 2
**Random Particle Swarm Optimization (RPSO):**- Its usage areas and formulation are the same as PSO.
- PSO is explained below.

- 3
**Particle Swarm Optimization (PSO):**- Understanding the hand gestures using an SVM (support vector machine) optimized with particle swarm algorithm:
- -
- The success rate was high, around 77–81%, but it decreased to 65% when a small population was selected for PSO.

- Proper path planning:
- -
- The collision avoidance rate was higher in short periods

- The ability to predict the leader robot’s position in robot swarms and continue to move:
- -
- Despite the interruption between seconds 10 and 20, followers continued to follow the leader.

- Movement of a moving robot in a multi-robot and moving-target environment:
- -
- The time to reach the target was recorded with a maximum of 6.9 s without hitting any obstacles.

- Motion test in a closed and unfamiliar environment:
- -
- Showed a good movement performance with less ambient knowledge.

- Usage Areas:
- -
- It is used in many fields such as function optimizations, training artificial neural network models, fuzzy logic systems and image processing.

- 4
**Genetic Algorithm (GA):**- Starting point:
- -
- An improved GA approach was proposed to find suitable paths in multiple moving robots.

- Uptime and path planning:
- -
- Compared with algorithms such as A-star, PSO, PRM, and B-RRT, the uptime and path planning performance were better than theirs.

- Usage Areas:
- -
- There are three application areas: classification systems, practical industrial applications, and optimization in experimental studies.

- 5
**Bat Algorithm (BA):**- Starting point:
- -
- Bats use echolocation to compute their distance from their prey and distinguish between prey/food and objects/obstacles.
- -
- Bats were observed to find their targets.

- Hybrid approach:
- -
- Performance efficiency was determined as 69.4% for GA, 74% for PSO, and 79.8% for GAPSO hybrid.
- -
- A hybrid approach including GA and PSO was offered to increase the performance of robots in industrial lines.

- Usage Areas:
- -
- It is successfully applied to solve problems in almost all optimization areas and appears to be very efficient.

- Stability Analysis:
- -
- Stability analysis was performed using the Lyapunov stability concept. Lyapunov stability analysis is based on the idea that if the total energy in the system continuously decreases, the system will asymptotically reach the zero energy state associated with the equilibrium point. The results reveal that the Lyapunov energy function decreases with time in the stability range of the algorithm’s parameters, and the particles’ trajectory shows the asymptotic stability of the particle dynamics [49].

#### 2.1. Robot Design

Algorithm 1 Robot distance algorithm |

ProcedureRequire:$speedOne\ge 0$Require:$speedTwo\ge 0$Ensure:$distanceOne\ne distanceTwo$ $speedOne\leftarrow 80$ $speedTwo\leftarrow 80$ if $distanceOne\le 40$ or $distanceTwo\le 40$ then $m1Speed\leftarrow 0$ $m2Speed\leftarrow 0$ else if $speedOne\ge 0$ then $randomNumberOne\leftarrow Random(-400,0)$ else $randomNumberOne\leftarrow Random(400,0)$ end ifif $speedTwo\ge 0$ then $randomNumberTwo\leftarrow Random(-400,0)$ else $randomNumberTwo\leftarrow Random(400,0)$ $m1Speed\leftarrow randomNumberOne$ $m2Speed\leftarrow randomNumberTwo$ end ifif $distanceThree\le 40$ or $distanceFour\le 40$ then $m1Speed\leftarrow 0$ $m2Speed\leftarrow 0$ else if $speedOne\ge 0$ then $randomNumberOne\leftarrow Random(-400,0)$ else $randomNumberOne\leftarrow Random(400,0)$ end ifif $speedTwo\ge 0$ then $randomNumberTwo\leftarrow Random(-400,0)$ else $randomNumberTwo\leftarrow Random(400,0)$ $m1Speed\leftarrow randomNumberOne$ $m2Speed\leftarrow randomNumberTwo$ end ifEnd Procedure |

- In the first iteration the following values are assigned; distance and distance2 60 and randNumber = −35 randNumber2 = 20. M1Speed and M2Speed values will change according to these values.
- In the second iteration the following values are measured after the robot’s movement; distance = 45, distance2 = 70 and randNumber = −10 randNumber2 = 40. M1Speed and M2Speed values will change according to these values.
- In the third iteration, the following values are measured; distance = 35, distance2 = 55. In this case, the first condition of the algorithm is met, and the motor speed becomes 0.
- In the fourth iteration, motor speeds are assigned as 50, and distance values are read as 65 and 75.
- In the fifth iteration, randNumbers are set as follows: randNumber = −5 randNumber2 = 55. Accordingly, M1Speed and M2Speed become 60 and 130.
- In the sixth iteration, distance = 5, distance2 =15. In this case, the motor speed reset.
- These processes continue until the robot scans the entire area.

#### 2.2. BIMRCA

Algorithm 2 Bat-Inspired Multi-Robot Coordination Algorithm |

Input:$robotSensorValueMatris,waveLength,frequency,loudness,pulse$Procedure: $envHeat\leftarrow robotSensorValueMatris\left[2\right]\left[1\right]$ $rigthUp\leftarrow robotSensorValueMatris\left[2\right]\left[2\right]$ $leftUp\leftarrow robotSensorValueMatris\left[2\right]\left[3\right]$ $rigthDown\leftarrow robotSensorValueMatris\left[2\right]\left[4\right]$ $leftDown\leftarrow robotSensorValueMatris\left[2\right]\left[5\right]$ $waveLength\leftarrow (randNumberOne+randNumberTwo)/2$ $loudness\leftarrow leftUp$ $frequency\leftarrow rigthUp+leftUp+rigthDown+leftDown$ while $Counter\le 5000$ doif $envHeat\ge 27$ and $envHeat\le 34$ then $bestLocalOne\leftarrow randNumberOne$ $bestLocalTwo\leftarrow randNumberTwo$ $pulse\leftarrow pulse+0.1$ $loudness\leftarrow loudness-1$ end ifif $envHeat\ge 35$ then $bestLocalOne\leftarrow randNumberOne$ $bestLocalTwo\leftarrow randNumberTwo$ $m1Speed\leftarrow 0$ $m2Speed\leftarrow 0$ $pulse\leftarrow 1$ $loudness\leftarrow 0$ end ifif $rightUp\le x2Best$ or $leftUp\le y2Best$ then $pulse\leftarrow pulse+0.1$ $loudness\leftarrow loudness-1$ $x2Best\leftarrow rightUp$ $y2Best\leftarrow leftUp$ end ifif $rightDown\le x2Best$ or $leftDown\le y2Best$ then $pulse\leftarrow pulse+0.1$ $loudness\leftarrow loudness-1$ $x2Best\leftarrow rightDown$ $y2Best\leftarrow leftDown$ end ifif $rightUp\ge x2Best$ or $leftUp\ge y2Best$ then $pulse\leftarrow pulse-0.1$ $loudness\leftarrow loudness+1$ end ifif $rightDown\ge x2Best$ or $leftDown\ge y2Best$ then $pulse\leftarrow pulse-0.1$ $loudness\leftarrow loudness-1$ end ifreturn $rightUp,rightDown,leftUp,leftDown$end whileEnd Procedure |

## 3. Findings

## 4. Results

## 5. Conclusions

## Author Contributions

## Funding

## Institutional Review Board Statement

## Informed Consent Statement

## Data Availability Statement

## Acknowledgments

## Conflicts of Interest

## References

- Berawi, M.A.; Siahaan, S.A.O.; Miraj, P.; Leviakangas, P. Determining the prioritized victim of earthquake disaster using fuzzy logic and decision tree approach. Evergreen
**2020**, 7, 246–252. [Google Scholar] [CrossRef] - Williams, A.; Sebastian, B.; Ben-Tzvi, P. Review and analysis of search, extraction, evacuation, and medical field treatment robots. J. Intell. Robot. Syst.
**2019**, 96, 401–418. [Google Scholar] [CrossRef] - Ranjan, A.; Sahu, H.B.; Misra, P. Wireless robotics networks for search and rescue in underground mines: Taxonomy and open issues. In Exploring Critical Approaches of Evolutionary Computation; IGI Global: Hershey, PA, USA, 2019; pp. 286–309. [Google Scholar]
- Alam, M.N.; Saiam, M.; Al Mamun, A.; Rahman, M.M.; Hany, U. A Prototype of Multi Functional Rescue Robot Using Wireless Communication. In Proceedings of the 2021 5th International Conference on Electrical Engineering and Information & Communication Technology (ICEEICT), Mirpur, Dhaka, 18–20 November 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 1–5. [Google Scholar]
- Zhou, J.; Li, L.; Zhang, X. Wireless Control System Design for Mine Rescue Robot. J. Phys. Conf. Ser.
**2019**, 1237, 042052. [Google Scholar] [CrossRef] - Sharmin, S.; Salim, S.I.; Sanim, K.R.I. A Low-Cost Urban Search and Rescue Robot for Developing Countries. In Proceedings of the 2019 IEEE International Conference on Robotics, Automation, Artificial-intelligence and Internet-of-Things (RAAICON), Dhaka, Bangladesh, 29 November–1 December 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 60–64. [Google Scholar]
- Plaza, P.; Sancristobal, E.; Carro, G.; Blazquez, M.; García-Loro, F.; Martin, S.; Perez, C.; Castro, M. Arduino as an educational tool to introduce robotics. In Proceedings of the 2018 IEEE International Conference on Teaching, Assessment, and Learning for Engineering (TALE), Wollongong, NSW, Australia, 4–7 December 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 1–8. [Google Scholar]
- Margolis, M. Make an Arduino-Controlled Robot; O’Reilly Media, Inc.: Newton, MA, USA, 2012. [Google Scholar]
- Babu, S.R.; Kumar, K.S.; Narayanan, G.S.; Raja, R.; Anbazhagan, K.; Sathab, H.Y. Design and conception of Arduino based quadruped robot. Mater. Today Proc.
**2021**, in press. [Google Scholar] - Nguyen, T.T.; Pan, J.S.; Dao, T.K. A compact bat algorithm for unequal clustering in wireless sensor networks. Appl. Sci.
**2019**, 9, 1973. [Google Scholar] [CrossRef] [Green Version] - Nosirov, K.; Begmatov, S.; Arabboev, M. Analog Sensing and Leap Motion Integrated Remote Controller for Search and Rescue Robot System. In Proceedings of the 2020 International Conference on Information Science and Communications Technologies (ICISCT), Tashkent, Uzbekistan, 4–6 November 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 1–5. [Google Scholar]
- Nosirov, K.K.; Shakhobiddinov, A.S.; Arabboev, M.; Begmatov, S.; Togaev, O.T. Specially Designed Multi-Functional Search And Rescue Robot. Bull. Tuit Manag. Commun. Technol.
**2020**, 2, 1–5. [Google Scholar] - Verma, J.K.; Ranga, V. Multi-robot coordination analysis, taxonomy, challenges and future scope. J. Intell. Robot. Syst.
**2021**, 102, 10. [Google Scholar] [CrossRef] - Jin, L.; Li, S.; La, H.M.; Zhang, X.; Hu, B. Dynamic task allocation in multi-robot coordination for moving target tracking: A distributed approach. Automatica
**2019**, 100, 75–81. [Google Scholar] [CrossRef] - Talebpour, Z.; Martinoli, A. Multi-robot coordination in dynamic environments shared with humans. In Proceedings of the 2018 IEEE International Conference on Robotics and Automation (ICRA), Brisbane, Australia, 21–25 May 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 4593–4600. [Google Scholar]
- Batinović, A.; Oršulić, J.; Petrović, T.; Bogdan, S. Decentralized strategy for cooperative multi-robot exploration and mapping. IFAC-PapersOnLine
**2020**, 53, 9682–9687. [Google Scholar] [CrossRef] - Huang, Y.C.; Lin, H.Y. Development and Implementation of a Multi-Robot System for Collaborative Exploration and Complete Coverage. In Proceedings of the 2018 14th International Conference on Signal-Image Technology & Internet-Based Systems (SITIS), Municipality of Las Palmas, Spain, 26–29 November 2018; IEEE: Piscataway, NJ, USA, 2018; pp. 472–479. [Google Scholar]
- Kandhasamy, S.; Kuppusamy, V.B.; Krishnan, S. Scalable decentralized multi-robot trajectory optimization in continuous-time. IEEE Access
**2020**, 8, 173308–173322. [Google Scholar] [CrossRef] - Tchuiev, V.; Indelman, V. Distributed consistent multi-robot semantic localization and mapping. IEEE Robot. Autom. Lett.
**2020**, 5, 4649–4656. [Google Scholar] [CrossRef] - Queralta, J.P.; Qingqing, L.; Schiano, F.; Westerlund, T. VIO-UWB-based collaborative localization and dense scene reconstruction within heterogeneous multi-robot systems. arXiv
**2020**, arXiv:2011.00830. [Google Scholar] - Alam, S.S.; Ahmed, T.; Islam, M.S.; Chowdhury, M.M.F. A Smart Approach for Human Rescue and Environment Monitoring Autonomous Robot. Int. J. Mech. Eng. Robot. Res.
**2021**, 10, 209–215. [Google Scholar] [CrossRef] - Bai, L.; Guan, J.; Chen, X.; Hou, J.; Duan, W. An optional passive/active transformable wheel-legged mobility concept for search and rescue robots. Robot. Auton. Syst.
**2018**, 107, 145–155. [Google Scholar] [CrossRef] - Joseph, J.; Berchmans, N.; Varghese, M.R.; Krishnan, M.; Arya, B.S.; Antony, M. Arduino based automatic human seeker robot for disaster management. In Proceedings of the 2019 2nd International Conference on Intelligent Computing, Instrumentation and Control Technologies (ICICICT), Kannur, India, 5–6 July 2019; IEEE: Piscataway, NJ, USA, 2019; Volume 1, pp. 770–773. [Google Scholar]
- Mae, N.; Yamaoka, K.; Mitsui, Y.; Matsumoto, M.; Makino, S.; Kitamura, D.; Ono, N.; Yamada, T.; Saruwatari, H. Ego noise reduction and sound localization adapted to human ears using hose-shaped rescue robot. In Proceedings of the International Workshop on Nonlinear Circuits, Communications and Signal Processing, Honolulu, HI, USA, 4–7 March 2018; pp. 371–374. [Google Scholar]
- Kiran, V.V.; Santhanalakshmi, S. Raspberry Pi based Remote Controlled Car using Smartphone Accelerometer. In Proceedings of the 2019 International Conference on Communication and Electronics Systems (ICCES), Coimbatore, India, 17–19 July 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 1536–1542. [Google Scholar]
- Buzduga, C.; Graur, A.; Ciufudean, C.; Vlad, V. System for the detection earthquake victims—Construction and principle of operation. In New Developments in Circuits, Systems, Signal Processing, Communications and Computers; Springer: Berlin/Heidelberg, Germany; pp. 110–115.
- Akkhar, S.A.; Sharma, P.; Jamali, M.F. Design and Development of a Search and Rescue Robot; DSpace Repository: Atlanta, GA, USA, 2019. [Google Scholar]
- Aouf, A.; Boussaid, L.; Sakly, A. TLBO-based adaptive neurofuzzy controller for mobile robot navigation in a strange environment. Comput. Intell. Neurosci.
**2018**, 2018, 3145436. [Google Scholar] [CrossRef] [PubMed] - Low, E.S.; Ong, P.; Cheah, K.C. Solving the optimal path planning of a mobile robot using improved Q-learning. Robot. Auton. Syst.
**2019**, 115, 143–161. [Google Scholar] [CrossRef] - Ajeil, F.H.; Ibraheem, I.K.; Azar, A.T.; Humaidi, A.J. Grid-based mobile robot path planning using aging-based ant colony optimization algorithm in static and dynamic environments. Sensors
**2020**, 20, 1880. [Google Scholar] [CrossRef] [Green Version] - Koreitem, K.; Shkurti, F.; Manderson, T.; Chang, W.D.; Higuera, J.C.G.; Dudek, G. One-shot informed robotic visual search in the wild. In Proceedings of the 2020 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 24 January 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 5800–5807. [Google Scholar]
- Muthukumaran, S.; Sivaramakrishnan, R. Optimal path planning for an autonomous mobile robot using dragonfly algorithm. Int. J. Simul. Model.
**2019**, 18, 397–407. [Google Scholar] [CrossRef] - Adam, Y.M.; Sariff, N.B.; Algeelani, N.A. E-puck Mobile Robot Obstacles Avoidance Controller Using the Fuzzy Logic Approach. In Proceedings of the 2021 2nd International Conference on Smart Computing and Electronic Enterprise (ICSCEE), Virtual, NJ, USA, 15–16 June 2021; IEEE: Piscataway, NJ, USA, 2021; pp. 107–112. [Google Scholar]
- Kumar, V.; Kumar, D. A systematic review on firefly algorithm: Past, present, and future. Arch. Comput. Methods Eng.
**2021**, 28, 3269–3291. [Google Scholar] [CrossRef] - Luque, A.; Carrasco, A.; Martín, A.; de Las Heras, A. The impact of class imbalance in classification performance metrics based on the binary confusion matrix. Pattern Recognit.
**2019**, 91, 216–231. [Google Scholar] [CrossRef] - Gürgüze, G.; Türkoğlu, İ. Robot Sistemlerinde Kullanılan Algoritmalar. TüRk DoğA Fen Derg.
**2019**, 8, 17–31. [Google Scholar] - Doğru, S.A.; Eren, T. Kablosuz Sensör Ağlarında Konum Belirlemede Parçacık Sürü Optimizasyonu, Yarasa Algoritması, Diferansiyel Gelişim Algoritması ve Ateşböceği Algoritması Yöntemlerinin Karşılaştırılması. Int. J. Eng. Res. Dev.
**2020**, 12, 52–64. [Google Scholar] - Lee, H.; Lee, S. Grid map merging with insufficient overlapping areas for efficient multi-robot systems with unknown initial correspondences. In Proceedings of the 2020 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Toronto, ON, Canada, 11–14 October 2020; IEEE: Piscataway, NJ, USA, 2020; pp. 1427–1432. [Google Scholar]
- Ramm, A.G.; Katsevich, A.I. The Radon Transform and Local Tomography; CRC Press: Boca Raton, FL, USA, 2020. [Google Scholar]
- Huang, S. A review of optimisation strategies used in simultaneous localisation and mapping. J. Control. Decis.
**2019**, 6, 61–74. [Google Scholar] [CrossRef] - Jain, N.K.; Nangia, U.; Jain, J. A review of particle swarm optimization. J. Inst. Eng. India Ser.
**2018**, 99, 407–411. [Google Scholar] [CrossRef] - Mirjalili, S. Genetic algorithm. In Evolutionary Algorithms and Neural Networks; Springer: Cham, Switzerland, 2019; pp. 43–55. [Google Scholar]
- Yang, X.S.; Slowik, A. Bat algorithm. In Swarm Intelligence Algorithms; CRC Press: Boca Raton, FL, USA, 2020; pp. 43–53. [Google Scholar]
- Moshayedi, A.J.; Roy, A.S.; Sambo, S.K.; Zhong, Y.; Liao, L. Review on: The Service Robot Mathematical Model. Eai Endorsed Trans. Robot.
**2022**, 1, 1–19. [Google Scholar] [CrossRef] - Moshayedi, A.J.; Roy, A.S.; Liao, L. PID Tuning Method on AGV (automated guided vehicle) Industrial Robot. J. Simul. Anal. Nov. Technol. Mech. Eng.
**2019**, 12, 53–66. [Google Scholar] - Moshayedi, A.J.; Roy, A.S.; Kolahdooz, A.; Shuxin, Y. Deep Learning Application Pros and Cons Over Algorithm. Eai Endorsed Trans. Robot.
**2022**, 1, 1–13. [Google Scholar] [CrossRef] - Moshayedi, A.J.; Roy, A.S.; Liao, L.; Li, S. Raspberry Pi SCADA Zonal based System for Agricultural Plant Monitoring. In Proceedings of the 2019 6th International Conference on Information Science and Control Engineering (ICISCE), Shanghai, China, 20–22 December 2019; IEEE: Piscataway, NJ, USA, 2019; pp. 427–433. [Google Scholar]
- Moshayedi, A.J.; Agda, A.M.; Arabzadeh, M. Designing and Implementation a Simple Algorithm Considering the Maximum Audio Frequency of Persian Vocabulary in Order to Robot Speech Control Based on Arduino. In Fundamental Research in Electrical Engineering; Springer: Singapore, 2019; pp. 331–346. [Google Scholar]
- Fozuni, S.M.; Nikanjam, A.; Aliyari, S.M. Stability analysis of the particle dynamics in bat algorithm: Standard and modified versions. Eng. Comput.
**2021**, 37, 2865–2876. [Google Scholar] [CrossRef] - Belge, E.; Altan, A.; Hacıoğlu, R. Metaheuristic Optimization-Based Path Planning and Tracking of Quadcopter for Payload Hold-Release Mission. Electronics
**2022**, 11, 1208. [Google Scholar] [CrossRef]

(x,y) | (x,y+1) | (x,y+2) |

(x+1,y) | (x+1,y+1) | (x+1,y+2) |

(x+2,y) | (x+2,y+1) | (x+2,y+2) |

S1U | S1A | SgU | SgA | W.length | Fre. | Loudness | Tempature | Pulse | |
---|---|---|---|---|---|---|---|---|---|

1.Iteration | 30 | 25 | 28 | 22 | 45 | 30 | 75 | 28 | 0.5 |

2.Iteration | 32 | 22 | 25 | 18 | 40 | 32 | 65 | 27 | 0.6 |

3.Iteration | 24 | 17 | 25 | 13 | 37 | 24 | 55 | 26 | 0.7 |

4.Iteration | 36 | 15 | 28 | 12 | 38 | 36 | 55 | 26 | 0.7 |

5.Iteration | 15 | 9 | 15 | 11 | 60 | 15 | 35 | 28 | 0.8 |

6.Iteration | 20 | 13 | 12 | 5 | 50 | 20 | 30 | 30 | 0.9 |

7.Iteration | 22 | 6 | 8 | 3 | 45 | 22 | 0 | 32 | 1 |

Complexity Matrix | Estimated Class | ||

Positive | Negative | ||

True Class | Positive | True Positive (TP) | False Negative (FN) |

Negative | False Positive (FP) | True Negative (TN) |

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

**MDPI and ACS Style**

Yiğit, T.; Çankaya, Ş.F.
Implementation of Machine Learning Algorithms on Multi-Robot Coordination. *Electronics* **2022**, *11*, 1786.
https://doi.org/10.3390/electronics11111786

**AMA Style**

Yiğit T, Çankaya ŞF.
Implementation of Machine Learning Algorithms on Multi-Robot Coordination. *Electronics*. 2022; 11(11):1786.
https://doi.org/10.3390/electronics11111786

**Chicago/Turabian Style**

Yiğit, Tuncay, and Şadi Fuat Çankaya.
2022. "Implementation of Machine Learning Algorithms on Multi-Robot Coordination" *Electronics* 11, no. 11: 1786.
https://doi.org/10.3390/electronics11111786